Flex
Flex exchange system
Public Member Functions | List of all members
ISuperRootOwner Interface Reference

SuperRootOwner contract interface. SuperRootOwner is an owning contract for SuperRoot. First version just proxying external pubkey access into internal command messages to the SuperRoot. More...

#include <SuperRootOwner.hpp>

Public Member Functions

void constructor (uint256 pubkey)
 Constructor of SuperRootOwner. More...
 
void setCode (uint8 type, cell code)
 Set code of specific sub-component. More...
 
address deploySuperRoot (uint128 evers, address_opt prev_super_root)
 Deploy SuperRoot. More...
 
void update (uint128 main_evers, uint128 cfg_deploy_evers, uint128 cfg_keep_evers, FlexVersion version, address wrappers_cfg, address flex, address user_cfg, string description)
 
void release (uint128 main_evers)
 Convert beta-version into release. More...
 
void addWrapperType (uint128 main_evers, uint128 wrappers_cfg_keep_evers, address wrappers_cfg, uint8 type, address wrapper_deployer)
 Add wrapper type. Will fail if the update procedure started. More...
 
void addWrapper (uint128 main_evers, uint128 wrappers_cfg_keep_evers, address wrappers_cfg, WICCloneEvers evers, string symbol, uint8 type, cell init_args)
 Add wrapper to list a new token. Will fail if the update procedure started. More...
 
void addXchgPair (uint128 main_evers, address flex, PairCloneEvers evers, Tip3Config major_tip3cfg, Tip3Config minor_tip3cfg, uint128 min_amount, uint128 minmove, uint128 price_denum, address notify_addr)
 Add XchgPair to list a new trading pair. Will fail if the update procedure started. More...
 
void unlistWrapper (uint128 main_evers, address wrappers_cfg, address wic)
 Unlist Wrapper. More...
 
void unlistXchgPair (uint128 main_evers, address flex, address pair)
 Unlist XchgPair. More...
 
void upgradeBroxusWrapperWallet (uint128 main_evers, address wrapper)
 Upgrade WrapperBroxus's wallet. More...
 
resumable< address > deployWrappersConfig (uint128 main_evers, uint128 deploy_evers, uint128 wrappers_cfg_keep_evers, uint32 token_version)
 Deploy WrappersConfig contract. More...
 
resumable< address > deployFlex (uint128 main_evers, uint128 deploy_evers, uint128 keep_evers, PairCloneEvers evers, address_opt old_flex, uint32 exchange_version, EversConfig ev_cfg, uint8 deals_limit)
 Deploy Flex contract. More...
 
resumable< address > deployUserDataConfig (uint128 main_evers, uint128 deploy_evers, FlexVersion triplet, address flex)
 Deploy UserDataConfig contract. More...
 
resumable< address > cloneWrappersConfig (uint128 main_evers, address wrappers_cfg, uint128 wrapper_cfg_keep_evers, uint128 clone_deploy_evers, WICCloneEvers wic_evers, uint32 new_token_version, dict_array< address > wrapper_deployers)
 Clone WrappersConfig to the new version. More...
 
void setFlags (uint128 main_evers, opt< bool > stop_trade, opt< bool > abandon_ship, opt< bool > update_started)
 Set flags. If optional is not set, flag will not be changed. More...
 
void transfer (uint128 main_evers, address to, uint128 evers)
 Transfer native evers from super root. Not allowed for the update team. More...
 
void transferReserveTokens (uint128 main_evers, address wrapper, uint128 tokens, address to)
 Transfer flex tip3 tokens from a reserve wallet. Not allowed for the update team. More...
 
void setOwner (uint128 main_evers, address owner)
 Set new owner contract. This owner contract will loose ownership access. More...
 
void setUpdateTeam (uint128 main_evers, address_opt team)
 Set update team address. Update team is allowed to deploy beta versions and related contracts. More...
 
void setNextSuperRoot (uint128 main_evers, address next_super_root)
 Set next (updated) super root. More...
 
SuperRootOwnerDetails getDetails ()
 Get contract details.
 

Detailed Description

SuperRootOwner contract interface. SuperRootOwner is an owning contract for SuperRoot. First version just proxying external pubkey access into internal command messages to the SuperRoot.

Member Function Documentation

◆ addWrapper()

void addWrapper ( uint128  main_evers,
uint128  wrappers_cfg_keep_evers,
address  wrappers_cfg,
WICCloneEvers  evers,
string  symbol,
uint8  type,
cell  init_args 
)

Add wrapper to list a new token. Will fail if the update procedure started.

Parameters
main_eversMain call evers
wrappers_cfg_keep_eversEvers to keep in WrappersConfig before returning the rest back
wrappers_cfgWrappersConfig address
eversEvers configuration
symbolToken symbol
typeWrapper type number
init_argsInitial wrapper args for deployer

◆ addWrapperType()

void addWrapperType ( uint128  main_evers,
uint128  wrappers_cfg_keep_evers,
address  wrappers_cfg,
uint8  type,
address  wrapper_deployer 
)

Add wrapper type. Will fail if the update procedure started.

Parameters
main_eversMain call evers
wrappers_cfg_keep_eversEvers to keep in WrappersConfig before returning the rest back
wrappers_cfgWrappersConfig address
typeNew Wrapper type number, must be equal to wrapper_deployers_.size()
wrapper_deployerWrapper deployer contract

◆ addXchgPair()

void addXchgPair ( uint128  main_evers,
address  flex,
PairCloneEvers  evers,
Tip3Config  major_tip3cfg,
Tip3Config  minor_tip3cfg,
uint128  min_amount,
uint128  minmove,
uint128  price_denum,
address  notify_addr 
)

Add XchgPair to list a new trading pair. Will fail if the update procedure started.

Parameters
main_eversMain call evers
flexFlex address
eversEvers configuration for cloning procedure
major_tip3cfgMajor tip3 configuration
minor_tip3cfgMinor tip3 configuration
min_amountMinimum amount of major tokens for a deal or an order
minmoveMinimum move for price
price_denumPrice denominator for the pair
notify_addrNotification address (AMM)

◆ cloneWrappersConfig()

resumable<address> cloneWrappersConfig ( uint128  main_evers,
address  wrappers_cfg,
uint128  wrapper_cfg_keep_evers,
uint128  clone_deploy_evers,
WICCloneEvers  wic_evers,
uint32  new_token_version,
dict_array< address >  wrapper_deployers 
)

Clone WrappersConfig to the new version.

Parameters
main_eversMain call evers
wrappers_cfgWrappersConfig address
wrapper_cfg_keep_eversEvers to keep in WrappersConfig before returning the rest back
clone_deploy_eversEvers to send in WrappersConfig clone deploy
wic_eversEvers configuration (for each WIC clone)
new_token_versionNew token update group version
wrapper_deployersWrapper deployers for different types of Wrappers

◆ constructor()

void constructor ( uint256  pubkey)

Constructor of SuperRootOwner.

Parameters
pubkeyOwner's public key.

◆ deployFlex()

resumable<address> deployFlex ( uint128  main_evers,
uint128  deploy_evers,
uint128  keep_evers,
PairCloneEvers  evers,
address_opt  old_flex,
uint32  exchange_version,
EversConfig  ev_cfg,
uint8  deals_limit 
)

Deploy Flex contract.

Parameters
main_eversMain call evers
deploy_eversEvers for deploy Flex contract
keep_eversEvers to keep in Flex contract
eversEvers configuration for each pair cloning procedure
old_flexOld Flex to clone pairs from
exchange_versionExchange update group version
ev_cfgProcessing costs configuration of Flex in native funds (evers)
deals_limitLimit for processed deals in one request

◆ deploySuperRoot()

address deploySuperRoot ( uint128  evers,
address_opt  prev_super_root 
)

Deploy SuperRoot.

Parameters
eversEvers for processing
prev_super_rootPrevious super root (if any)

◆ deployUserDataConfig()

resumable<address> deployUserDataConfig ( uint128  main_evers,
uint128  deploy_evers,
FlexVersion  triplet,
address  flex 
)

Deploy UserDataConfig contract.

Parameters
main_eversMain call evers
deploy_eversEvers for deploy contract
tripletFlex version
flexFlex address

◆ deployWrappersConfig()

resumable<address> deployWrappersConfig ( uint128  main_evers,
uint128  deploy_evers,
uint128  wrappers_cfg_keep_evers,
uint32  token_version 
)

Deploy WrappersConfig contract.

Parameters
main_eversMain call evers
deploy_eversEvers for deploy contract
wrappers_cfg_keep_eversEvers to keep in WrappersConfig contract
token_versionToken update group version

◆ release()

void release ( uint128  main_evers)

Convert beta-version into release.

Parameters
main_eversMain call evers

◆ setCode()

void setCode ( uint8  type,
cell  code 
)

Set code of specific sub-component.

Parameters
typeMust be `sroot_code_type` enum
codeSub-component code

◆ setFlags()

void setFlags ( uint128  main_evers,
opt< bool >  stop_trade,
opt< bool >  abandon_ship,
opt< bool >  update_started 
)

Set flags. If optional is not set, flag will not be changed.

Parameters
main_eversMain call evers
stop_tradeRecommendation to stop trading (in case if problem found in trading algorithms)
abandon_shipRecommendation to cancel all orders and withdraw funds (in case if critical problem found)
update_startedUpdate procedures started (Wrappers/Flex/UI cloning started)

◆ setNextSuperRoot()

void setNextSuperRoot ( uint128  main_evers,
address  next_super_root 
)

Set next (updated) super root.

Parameters
main_eversMain call evers
next_super_rootNext super root

◆ setOwner()

void setOwner ( uint128  main_evers,
address  owner 
)

Set new owner contract. This owner contract will loose ownership access.

Parameters
main_eversMain call evers
ownerNew owner contract

◆ setUpdateTeam()

void setUpdateTeam ( uint128  main_evers,
address_opt  team 
)

Set update team address. Update team is allowed to deploy beta versions and related contracts.

Parameters
main_eversMain call evers
teamUpdate team address. Empty means revoke access.

◆ transfer()

void transfer ( uint128  main_evers,
address  to,
uint128  evers 
)

Transfer native evers from super root. Not allowed for the update team.

Parameters
main_eversMain call evers
toDestination address
eversEvers to transfer

◆ transferReserveTokens()

void transferReserveTokens ( uint128  main_evers,
address  wrapper,
uint128  tokens,
address  to 
)

Transfer flex tip3 tokens from a reserve wallet. Not allowed for the update team.

Parameters
main_eversMain call evers
wrapperWrapper address
tokensTokens to transfer
toDestination address (must be flex tip3 wallet)

◆ unlistWrapper()

void unlistWrapper ( uint128  main_evers,
address  wrappers_cfg,
address  wic 
)

Unlist Wrapper.

Parameters
main_eversMain call evers
wrappers_cfgWrappersConfig address
wicWIC (WrapperIndexContract) address

◆ unlistXchgPair()

void unlistXchgPair ( uint128  main_evers,
address  flex,
address  pair 
)

Unlist XchgPair.

Parameters
main_eversMain call evers
flexFlex address
pairXchgPair address

◆ update()

void update ( uint128  main_evers,
uint128  cfg_deploy_evers,
uint128  cfg_keep_evers,
FlexVersion  version,
address  wrappers_cfg,
address  flex,
address  user_cfg,
string  description 
)

Update Flex to the new beta version. The current release version will remain working. Flex will send deploy message with new GlobalConfig. release method should be called also to convert beta into current release.

Parameters
main_eversMain call evers
cfg_deploy_eversEvers to send in GlobalConfig deploy message
cfg_keep_eversEvers to keep in GlobalConfig contract
versionNew Flex version
wrappers_cfgWrappersConfig
flexNew Flex root address
user_cfgNew user contracts configuration
descriptionUpdate description

◆ upgradeBroxusWrapperWallet()

void upgradeBroxusWrapperWallet ( uint128  main_evers,
address  wrapper 
)

Upgrade WrapperBroxus's wallet.

Parameters
main_eversMain call evers
wrapperWrapperBroxus address

The documentation for this interface was generated from the following file: