IFrictionlessTokensFactory
Author: DEFYCA Labs S.à.r.l
Copyright © 2023 DEFYCA Labs S.à.r.l Permission is hereby granted, free of charge, to any person obtaining a copy of the Frictionless protocol smart contracts (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL DEFYCA LABS S.à.r.l BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Interface defining the token factory for all tokens in the Frictionless protocol.
Functions
setTreasuryManager
Sets the Treasury Manager to be the specified address.
Parameters
Name | Type | Description |
---|---|---|
|
| the addresses of the treasury manager to set throws |
deployFundDepositToken
Deploys the FrictionlessFundDepositToken
contract as a proxy
Parameters
Name | Type | Description |
---|---|---|
|
| The owner of the deployed contract |
|
| the base contract data to deploy a Frictionless token contract |
|
| the immutable data for the |
Returns
Name | Type | Description |
---|---|---|
|
| the address of the deployed token contract |
deployDigitalSecurityToken
Deploys the FrictionlessDigitalSecurityToken
contract as a proxy
Parameters
Name | Type | Description |
---|---|---|
|
| The owner of the deployed contract |
|
| the base contract data to deploy a Frictionless token contract |
|
| the immutable data for the |
|
| the mutable data for the |
Returns
Name | Type | Description |
---|---|---|
|
| the address of the deployed token contract |
deployOnChainAssetToken
Deploys the FrictionlessOnChainAssetToken
contract as a proxy
Parameters
Name | Type | Description |
---|---|---|
|
| The owner of the deployed contract |
|
| the base contract data to deploy a Frictionless token contract |
|
| the immutable specification data for the |
|
| the immutable issuance data for the |
|
| the mutable update data for the |
Returns
Name | Type | Description |
---|---|---|
|
| the address of the deployed token contract |
treasuryManager
returns the address of the treasuryManager
Returns
Name | Type | Description |
---|---|---|
|
| the address of the treasuryManager |
existingFrictionlessTokens
Checks whether a given token address is an existing frictionless token
Parameters
Name | Type | Description |
---|---|---|
|
| the address of the token to check |
Returns
Name | Type | Description |
---|---|---|
|
| A boolean indicating whether the token is an existing frictionless token |
Events
FrictionlessTokenDeployed
Event emitted upon successful deployment of a compliance contract.
Errors
FrictionlessTokensFactoryZeroAddress
error thrown if an attempt to set a zero address contract during function setTreasuryManager
FrictionlessTokensFactoryNotATreasuryManager
error thrown if the msg.sender
is not the treasury manager during the functions deployFundDepositToken
, deployDigitalSecurityToken
, or deployOnChainAssetToken
Structs
BaseTokenInitParams
Struct to represent the base contract data to deploy a Frictionless token contract.