IAriaIPRWAVaultFactory
Interface for the AriaIPRWAVaultFactory contract
Functions
initialize
Initializes the factory
function initialize(StoryAddrs memory storyAddrs, address admin_, address vaultTemplate_) external;
Parameters
storyAddrs
StoryAddrs
The story addresses
admin_
address
The address of the admin
vaultTemplate_
address
The address of AriaIPRWAVault
deployFundraiseIpVault
Deploys a new fundraise IP vault
zero address checks skipped: they are checked in the AriaIPRWAVault initializer
function deployFundraiseIpVault(
address admin,
AriaIPRWAVaultStorage.FractionalTokenDetails memory tokenDetails,
VaultFundraiseStorage.Setup memory fundraiseSetup,
uint48 withdrawalTimelockDuration,
uint256 claimDeadline,
address legal
) external returns (address ipVault);
Parameters
admin
address
The address of the admin
tokenDetails
AriaIPRWAVaultStorage.FractionalTokenDetails
The details of the fractional token
fundraiseSetup
VaultFundraiseStorage.Setup
The setup of the fundraise
withdrawalTimelockDuration
uint48
The timelock duration (in seconds) for admin fractional token withdrawals.
claimDeadline
uint256
The deadline for the users to claim the fractional token.
legal
address
The address of the legal contract that checks blacklist and license.
Returns
ipVault
address
The address of the deployed IP Vault
deployWhitelistIpVault
Deploys a new whitelist IP vault
zero address checks skipped: they are checked in the AriaIPRWAVault initializer
function deployWhitelistIpVault(
address admin,
AriaIPRWAVaultStorage.FractionalTokenDetails memory tokenDetails,
bytes32 merkleRoot,
uint48 withdrawalTimelockDuration,
uint256 claimDeadline,
address legal
) external returns (address ipVault);
Parameters
admin
address
The address of the admin
tokenDetails
AriaIPRWAVaultStorage.FractionalTokenDetails
The details of the fractional token
merkleRoot
bytes32
The merkle root of the whitelist
withdrawalTimelockDuration
uint48
The timelock duration (in seconds) for admin fractional token withdrawals.
claimDeadline
uint256
The deadline for the users to claim the fractional token.
legal
address
The address of the legal contract that checks blacklist and license.
Returns
ipVault
address
The address of the deployed IP Vault
setVaultTemplate
Sets the vault template
function setVaultTemplate(address newVault) external;
Parameters
newVault
address
The address of the new vault template
isAdmin
function isAdmin(address account) external view returns (bool);
Returns
<none>
bool
True if the caller is the admin
getStoryAddrs
Returns the story addresses
function getStoryAddrs() external view returns (StoryAddrs memory);
Returns
<none>
StoryAddrs
storyAddrs The story addresses
getVaultTemplate
Returns the address of the vault template
function getVaultTemplate() external view returns (address);
Returns
<none>
address
vaultTemplate The address of the vault template
Events
FundraiseIpVaultDeployed
Emitted when a new fundraise IP vault is deployed
event FundraiseIpVaultDeployed(address indexed ipVault);
Parameters
ipVault
address
The address of the new IP vault
WhitelistIpVaultDeployed
Emitted when a new whitelist IP vault is deployed
event WhitelistIpVaultDeployed(address indexed ipVault);
Parameters
ipVault
address
The address of the new IP vault