AriaIPRWAVaultFactory
Inherits: IAriaIPRWAVaultFactory, UUPSUpgradeable, AccessControl
This contract is used to deploy new AriaIPRWAVault instances
State Variables
AriaIPRWAVaultFactoryStorageLocation
bytes32 public constant AriaIPRWAVaultFactoryStorageLocation =
0x7921dd9d2a27003607aeccbdc5d8b1cb6480ee25e74a8450b0073a735a571f00;Functions
constructor
Note: oz-upgrades-unsafe-allow: constructor
constructor();initialize
Initializes the factory
function initialize(StoryAddrs memory storyAddrs, address admin_, address vaultTemplate_) external initializer;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
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
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
Parameters
newVault
address
The address of the new vault template
isAdmin
Returns
<none>
bool
True if the caller is the admin
getStoryAddrs
getVaultTemplate
Returns the address of the vault template
Returns
<none>
address
vaultTemplate The address of the vault template
_authorizeUpgrade
Hook to authorize the upgrade according to UUPSUpgradeable
Enforced to be only callable by the protocol admin in governance.
Parameters
newImplementation
address
The address of the new implementation
_deployInitProxy
_getAriaIPRWAVaultFactoryStorage
Returns the storage struct of AriaIPRWAVaultFactory.
Events
VaultTemplateUpdated
Structs
AriaIPRWAVaultFactoryStorage
Storage structure for the AriaIPRWAVaultFactory
Note: storage-location: erc7201:aria-protocol.AriaIPRWAVaultFactory