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

WrapperEver contract interface. More...

#include <WrapperEver.hpp>

Public Member Functions

bool init (uint128 reserve_wallet_evers, cell internal_wallet_code)
 Additional initialization on deploy. More...
 
address deployEmptyWallet (uint256 pubkey, address_opt owner, uint128 evers)
 Deploy empty wallet. More...
 
void onEverTransfer (uint128 tokens, FlexDeployWalletArgs args)
 Implements ITONTokenWalletNotify::onEverTransfer(). Notification about incoming tokens from user wallet. More...
 
void burn (uint128 tokens, address answer_addr, uint256 sender_pubkey, address_opt sender_owner, uint256 out_pubkey, address_opt out_owner, opt< cell > notify)
 Burn internal tokens. More...
 
void transferFromReserveWallet (address_opt answer_addr, address to, uint128 tokens)
 Transfer gathered fees from reserve wallet to other wallet. Request allowed only from Flex root. More...
 
uint128 requestTotalGranted ()
 Request total granted tokens.
 
std::pair< address_opt, uint256 > cloned ()
 Request cloned wrapper address.
 
void setCloned (address_opt cloned, uint256 cloned_pubkey, address wrappers_cfg, uint256 wrappers_cfg_code_hash, uint16 wrappers_cfg_code_depth)
 Set cloned wrapper address. More...
 
wrapper_details_info getDetails ()
 Get info about contract state details.
 
Tip3Config getTip3Config ()
 Get Tip3 configuration.
 
bool hasInternalWalletCode ()
 If internal wallet code was set up.
 
address getWalletAddress (uint256 pubkey, address_opt owner)
 Calculate flex tip3 wallet address. More...
 
address getReserveWallet ()
 Get reserve token wallet address for this Wrapper.
 

Detailed Description

WrapperEver contract interface.

Member Function Documentation

◆ burn()

void burn ( uint128  tokens,
address  answer_addr,
uint256  sender_pubkey,
address_opt  sender_owner,
uint256  out_pubkey,
address_opt  out_owner,
opt< cell >  notify 
)

Burn internal tokens.

Flex wallet will call this method when self destruct and wants to convert internal tokens to native Evers. WrapperEver will check that sender is a correct flex wallet and will transfer the same amount of tokens from its wallet to (out_pubkey, out_owner) user wallet

Parameters
tokensAmount of tokens (balance of flex wallet on burn).
answer_addrAnswer address.
sender_pubkeySender wallet pubkey.
sender_ownerSender wallet internal owner.
out_pubkeyPubkey of external (wrapped) tip3 wallet. Where to return external tip3 tokens.
out_ownerInternal owner (contract) of external (wrapped) tip3 wallet. Where to return external tip3 tokens.
notifyNotification payload to the destination wallet's owner

◆ deployEmptyWallet()

address deployEmptyWallet ( uint256  pubkey,
address_opt  owner,
uint128  evers 
)

Deploy empty wallet.

Parameters
pubkeyNew wallet's public key.
ownerNew wallet's internal owner address.
eversEvers to be sent to the deployable wallet.

◆ getWalletAddress()

address getWalletAddress ( uint256  pubkey,
address_opt  owner 
)

Calculate flex tip3 wallet address.

Parameters
pubkeyPublic key of the wallet.
ownerInternal owner address of the wallet.

◆ init()

bool init ( uint128  reserve_wallet_evers,
cell  internal_wallet_code 
)

Additional initialization on deploy.

Parameters
reserve_wallet_eversEvers to send in deploy message for reserve wallet
internal_wallet_codeFlexWallet (internal wallet) code

◆ onEverTransfer()

void onEverTransfer ( uint128  tokens,
FlexDeployWalletArgs  args 
)

Implements ITONTokenWalletNotify::onEverTransfer(). Notification about incoming tokens from user wallet.

Parameters
tokensAmount of tokens received in transfer.
argsPayload. Must be FlexDeployWalletArgs.

◆ setCloned()

void setCloned ( address_opt  cloned,
uint256  cloned_pubkey,
address  wrappers_cfg,
uint256  wrappers_cfg_code_hash,
uint16  wrappers_cfg_code_depth 
)

Set cloned wrapper address.

Parameters
clonedCloned Wrapper of this
cloned_pubkeyCloned Wrapper's pubkey
wrappers_cfgWrappersConfig address
wrappers_cfg_code_hashWrappersConfig salted code hash (for recognition of the next WrappersConfig)
wrappers_cfg_code_depthWrappersConfig salted code depth (for recognition of the next WrappersConfig)

◆ transferFromReserveWallet()

void transferFromReserveWallet ( address_opt  answer_addr,
address  to,
uint128  tokens 
)

Transfer gathered fees from reserve wallet to other wallet. Request allowed only from Flex root.

Parameters
answer_addrAnswer address (where to return unspent native evers). If empty, sender will be used.
toDestination tip3 wallet address.
tokensAmount of tokens (balance of flex wallet on burn).

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