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

constructor(address _owner) public
Parameters:
Name
Type
Description
_owner
address
Address of the token factory owner

Token

createToken

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

Owner

transferOwner

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

acceptOwner

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

Code

setRootCode

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

setWalletCode

function setWalletCode(TvmCell _walletCode) public onlyOwner
Same as root.
Parameters:
Name
Type
Description
_walletCode
TvmCell
New wallet code

setWalletPlatformCode

function setWalletPlatformCode(TvmCell _walletPlatformCode) public onlyOwner
Same as root.
Parameters:
Name
Type
Description
_walletPlatformCode
TvmCell
New platform code for wallet

Upgrade

upgrade

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

Key Events

TokenCreated

TokenCreated(address tokenRoot);
Last modified 2mo ago
Copy link
Outline
constructor
Token
createToken
Owner
transferOwner
acceptOwner
Code
setRootCode
setWalletCode
setWalletPlatformCode
Upgrade
upgrade
Key Events
TokenCreated