TokenFactory
The TokenFactory smart contract is used for deploying tokens, sets wallet, root, platform codes and managing ownership.
Smart contract responsible for deploying tokens, sets wallet, root, platform codes and managing ownership.
Derives following classes and interfaces: ITokenFactory, IUpgradable.
constructor(address _owner) public
Parameters:
Name | Type | Description |
---|---|---|
_owner | address | Address of the token factory owner |
function createToken(uint32 callId, string name, string symbol, uint8 decimals, address initialSupplyTo, uint128 initialSupply, uint128 deployWalletValue, bool mintDisabled, bool burnByRootDisabled, bool burnPaused, address remainingGasTo) public override
Fills the token data taken from function params, creates token root address calling
TokenRootUpgradable
, emits TokenCreated
event and onTokenRootDeployed
callback.Parameters:
Name | Type | Description |
---|---|---|
callId | uint32 | ID of the operation call |
name | string | Token name |
symbol | string | Token symbol |
decimals | uint8 | Number of decimals |
initialSupplyTo | address | Address which will hold initial supply of newly created token |
initialSupply | uint128 | Number of tokens initially available |
deployWalletValue | uint128 | Value necessary for deploying new token’s wallet |
mintDisabled | bool | True if minting is disabled, false if not |
burnByRootDisabled | bool | True if burn is disabled, false if not |
burnPaused | bool | True if burn is paused, false if not |
remainingGasTo | address | Address where to store remaining gas after creating token root |
function transferOwner(address newOwner) external responsible onlyOwner returns(address)
Takes new owner address, delegate it to the
pendingOwner
and returns pendingOwner
(new owner address).Parameters:
Name | Type | Description |
---|---|---|
newOwner | address | Address of a new owner |
Return Value:
Type | Description |
---|---|
address | Pending owner’s address |
function acceptOwner() external responsible returns(address)
If sender is pending owner, owner takes
pendingOwner
address and returns it, meaning the new owner is accepted.Return Value:
Type | Description |
---|---|
address | Address of the new owner |
function setRootCode(TvmCell _rootCode) public onlyOwner
Takes
_rootCode
from function params, delegates it to rootCode
and returns it.Parameters:
Name | Type | Description |
---|---|---|
_rootCode | TvmCell | New token root code |
function setWalletCode(TvmCell _walletCode) public onlyOwner
Same as root.
Parameters:
Name | Type | Description |
---|---|---|
_walletCode | TvmCell | New wallet code |
function setWalletPlatformCode(TvmCell _walletPlatformCode) public onlyOwner
Same as root.
Parameters:
Name | Type | Description |
---|---|---|
_walletPlatformCode | TvmCell | New platform code for wallet |
function upgrade(TvmCell code) public override onlyOwner
upgrades token to a new version with a new code taken from params.
Parameters:
Name | Type | Description |
---|---|---|
code | TvmCell | New version code used for upgrading token |
TokenCreated(address tokenRoot);
Last modified 7mo ago