Skip to content

Solidity API

TokenExchangeFactory

_Factory contract for deploying TokenExchange contract using CREATE2.

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

The caller of deployTokenExchangeFromFactory is set as the depositor in the newly deployed token exchange contract._

TokenExchangeCreated

solidity
event TokenExchangeCreated(address deployedAddress, bytes32 salt)

Emitted when a new TokenExchange contract is created.

Parameters

NameTypeDescription
\deployedAddressaddressThe address of the newly deployed TokenExchange contract
\saltbytes32The salt value used in CREATE2 deployment

TokenExchangeCreate2DeploymentFailed

solidity
error TokenExchangeCreate2DeploymentFailed(bytes32 salt)

Error thrown when the CREATE2 deployment fails

deployTokenExchangeFromFactory

solidity
function deployTokenExchangeFromFactory(address _initialOwner, string _erc1155uri, bytes32 salt) public returns (address)

_Deploys a new TokenExchange contract using CREATE2.

This function creates a new TokenExchange 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
_initialOwneraddressThe address of initial owner of the contract
_erc1155uristringThe uri to be set for the undlying erc-1155 contract of token exchange contract
\saltbytes32A unique value used to determine the contract address

Return Values

NameTypeDescription
[0]addressdeployedAddress The address of the newly deployed TokenExchange contract