Skip to content

Solidity API

SalesOrderFactory

_Factory contract for deploying SalesOrder contract using CREATE2.

This implementation provides a way to deterministically deploy SalesOrder contract using the CREATE2 opcode.

The caller of deploySalesOrderFromFactory is set as the depositor in the newly deployed sales order contract._

SalesOrderCreated

solidity
event SalesOrderCreated(address Address, bytes32 salt)

Emitted when a new SalesOrder contract is created.

Parameters

NameTypeDescription
AddressaddressThe address of the newly deployed SalesOrder contract
saltbytes32The salt value used in CREATE2 deployment

Create2Failed

solidity
error Create2Failed()

Error thrown when the CREATE2 deployment fails

deploySalesOrderFromFactory

solidity
function deploySalesOrderFromFactory(address _committer, string _erc1155uri, bytes32 salt) public returns (address)

_Deploys a new SalesOrder contract using CREATE2.

This function creates a new SalesOrder contract with the specified parameters. The address of the deployed contract is deterministic and depends on the salt value.

Requirements:

  • The deployment must not fail
  • The salt value must not have been used before_

Parameters

NameTypeDescription
_committeraddressThe address of account committing payment to committee
_erc1155uristringThe uri to be set for the undlying erc-1155 contract of sales order contract
saltbytes32A unique value used to determine the contract address

Return Values

NameTypeDescription
[0]addressAddress The address of the newly deployed SalesOrder contract