EverWeverToTip3

The EverWeverToTip3 defines the logic for swapping EVERs in combination with WEVERs to Tip3 tokens.

Smart contract responsible for swapping EVERs in combination with WEVERs to Tip3 tokens.

Derives following classes and interfaces: IAcceptTokensTransferCallback, IAcceptTokensBurnCallback.

constructor

constructor() public

Deploy EverToTip3Gas empty wallet.

buildExchangePayload

function buildExchangePayload(uint64 id, uint128 amount, address pair, uint128 expectedAmount, uint128 deployWalletValue) external pure returns (TvmCell)

Builds payload by filling the TVM builder instance with data derived from function params, returns builder converted to cell.

Parameters:

NameTypeDescription

id

uint64

Operation id

amount

uint128

Amount of tokens to exchange

pair

address

Address of the exchange pair

expectedAmount

uint128

Expected amount of tokens after exchange

deployWalletValue

uint128

Deploy value

Return Value:

TypeDescription

TvmCell

Exchange payload in cell format

Callbacks

onWeverWallet

function onWeverWallet(address _weverWallet) external

Deploys Wever wallet for the contract using _weverWallet address from the function params.

Parameters:

NameTypeDescription

_weverWallet

address

Address used to initialize wever wallet

onAcceptTokensTransfer

function onAcceptTokensTransfer(address /*tokenRoot*/, uint128 amount, address /*sender*/, address /*senderWallet*/, address user, TvmCell payload) override external

Callback if swap between ever and tip 3 is successful. Calls onSwapEverToTip3Success callback to the user, SwapEverToTip3SuccessTransfer event is emitted and tip 3 tokens are sent to a user wallet by calling TokenWallet’s transfer method. If conditions are not fulfilled swap is canceled and tokens are returned to sender’s wallet.

Parameters:

NameTypeDescription

tokenRoot

address

Address of token root (optional)

amount

uint128

Amount of tokens to transfer

sender

address

Address of tokens sender (optional)

senderWallet

address

Tokens sender’s wallet address (optional)

user

address

User’s address for receiving tip3 tokens

payload

TvmCell

Transfer payload data

onAcceptTokensBurn

function onAcceptTokensBurn( uint128 /*amount*/, address /*walletOwner*/, address /*wallet*/, address user, TvmCell payload) override external

If result of swap was canceled call this callback, it emits SwapEverToTip3CancelTransfer event and calls onSwapEversToTip3Cancel callback.

Parameters:

NameTypeDescription

amount

uint128

Amount of tokens to burn (optional)

walletOwner

address

Address of wallet owner (optional)

wallet

address

Wallet address (optional)

user

address

User’s address that canceled exchange

payload

TvmCell

Burn tokens payload data

Key Events

SwapEverWeverToTip3Unwrap

SwapEverWeverToTip3Unwrap(address user, uint64 id);

Last updated