Skip to main content

Pair

Table of contents​

Functions​

Functions​

balanceOf​

▸ balanceOf(bs): StaticArray<u8>

Returns the amount of tokens of type id owned by _account

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

The amount of tokens of type id owned by _account

Defined in​

assembly/contracts/Pair.ts:1478


balanceOfBatch​

▸ balanceOfBatch(bs): StaticArray<u8>

Return the balance of multiple (account/id) pairs

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

batchBalances The balance for each (account, id) pair

Defined in​

assembly/contracts/Pair.ts:1493


burn​

▸ burn(bs): StaticArray<u8>

Burns LB tokens and sends the corresponding amounts of tokens to _to. The amount of tokens sent is determined by the ratio of the amount of LB tokens burned to the total supply of LB tokens in the bin. This function will not transfer the LB Tokens from the caller, it is expected that the tokens have already been transferred to this contract through another contract. That is why this function shouldn't be called directly, but through one of the remove liquidity functions of the router that will also perform safety checks.

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:669


collectFees​

▸ collectFees(bs): StaticArray<u8>

Collect the fees accumulated by a user.

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:769


collectProtocolFees​

▸ collectProtocolFees(_): StaticArray<u8>

Collect the protocol fees and send them to the fee recipient. The protocol fees are not set to zero to save gas by not resetting the storage slot.

Parameters​

NameType
_StaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:851


constructor​

▸ constructor(bs): void

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

void

Notice

Constructor

Defined in​

assembly/contracts/Pair.ts:106


findFirstNonEmptyBinId​

▸ findFirstNonEmptyBinId(bs): StaticArray<u8>

View function to get the first bin that isn't empty, will not be _id itself

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:1092


flashLoan​

▸ flashLoan(bs): void

Perform a flashloan on one of the tokens of the pair. The flashloan will call the _receiver contract to perform the desired operations. The _receiver contract is expected to transfer the amount + fee of the token to this contract.

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

void

Defined in​

assembly/contracts/Pair.ts:296


forceDecay​

▸ forceDecay(_): void

Force the decaying of the references for volatility and index

Parameters​

NameTypeDescription
_StaticArray<u8>unused

Returns​

void

Dev

Only callable by the factory

Defined in​

assembly/contracts/Pair.ts:1072


getBin​

▸ getBin(bs): StaticArray<u8>

Get the reserves of tokens for every bin. This is the amount of tokenY if id < _pairInformation.activeId; of tokenX if id > _pairInformation.activeId and a mix of both if id == _pairInformation.activeId

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:1172


getGlobalFees​

▸ getGlobalFees(_): StaticArray<u8>

View function to get the total fees and the protocol fees of each tokens

Parameters​

NameTypeDescription
_StaticArray<u8>unused

Returns​

StaticArray<u8>

staticArray<u8> containing :

  • feesX.total The total fees of tokenX
  • feesY.total The total fees of tokenY
  • feesX.protocol The protocol fees of tokenX
  • feesY.protocol The protocol fees of tokenY

Defined in​

assembly/contracts/Pair.ts:1204


getOracleParameters​

▸ getOracleParameters(_): StaticArray<u8>

View function to get the oracle parameters

Parameters​

NameType
_StaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:1279


getOracleSampleFrom​

▸ getOracleSampleFrom(bs): StaticArray<u8>

View function to get the oracle's sample at _timeDelta seconds

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

Dev

Return a linearized sample, the weighted average of 2 neighboring samples

Defined in​

assembly/contracts/Pair.ts:1295


getPairInformation​

▸ getPairInformation(_): StaticArray<u8>

Get the pair information that is used to track reserves, active ids, fees and oracle parameters

Parameters​

NameType
_StaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:1136


getUserBins​

▸ getUserBins(bs): StaticArray<u8>

Get the deposited bins of an account

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:1112


increaseOracleLength​

▸ increaseOracleLength(bs): void

Increases the length of the oracle to the given _newLength by adding empty samples to the end of the oracle. The samples are however initialized to reduce the gas cost of the updates during a swap.

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Defined in​

assembly/contracts/Pair.ts:946


isApprovedForAll​

▸ isApprovedForAll(bs): StaticArray<u8>

Returns true if spender is approved to transfer _account's tokens

Parameters​

NameType
bsStaticArray<u8>

Returns​

StaticArray<u8>

True if spender is approved to transfer _account's tokens

Defined in​

assembly/contracts/Pair.ts:1517


mint​

▸ mint(bs): StaticArray<u8>

Mint new LB tokens for each bins where the user adds liquidity. This function will not transfer the tokens from the caller, it is expected that the tokens have already been transferred to this contract through another contract. That is why this function shouldn't be called directly, but through one of the add liquidity functions of the router that will also perform safety checks.

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:405


name​

▸ name(_): StaticArray<u8>

Parameters​

NameType
_StaticArray<u8>

Returns​

StaticArray<u8>

The name of the token

Defined in​

assembly/contracts/Pair.ts:1448


pendingFees​

▸ pendingFees(bs): StaticArray<u8>

View function to get the pending fees of a user The array must be strictly increasing to ensure uniqueness

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:906


receiveCoins​

▸ receiveCoins(_): void

Parameters​

NameTypeDescription
_StaticArray<u8>unused

Returns​

void

Notice

Function used by an SC to receive Massa coins

Defined in​

assembly/contracts/Pair.ts:1899


safeBatchTransferFrom​

▸ safeBatchTransferFrom(bs): void

Batch transfers _amount tokens of type _id from _from to _to

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Defined in​

assembly/contracts/Pair.ts:1580


safeTransferFrom​

▸ safeTransferFrom(bs): void

Transfers _amount token of type _id from _from to _to

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Defined in​

assembly/contracts/Pair.ts:1552


setApprovalForAll​

▸ setApprovalForAll(bs): void

Grants or revokes permission to spender to transfer the caller's tokens, according to approved

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Defined in​

assembly/contracts/Pair.ts:1531


setFeesParameters​

▸ setFeesParameters(bs): void

Set the fees parameters

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Dev

Needs to be called by the factory that will validate the values The bin step will not change Only callable by the factory

Defined in​

assembly/contracts/Pair.ts:1363


setHooksParameters​

▸ setHooksParameters(bs): void

Parameters​

NameType
bsStaticArray<u8>

Returns​

void

Notice

Sets the hooks parameter of the pool

Dev

Can only be called by the factory

Defined in​

assembly/contracts/Pair.ts:1396


swap​

▸ swap(bs): StaticArray<u8>

Swap tokens iterating over the bins until the entire amount is swapped. Will swap token X for token Y if _swapForY is true, and token Y for token X if _swapForY is false. This function will not transfer the tokens from the caller, it is expected that the tokens have already been transferred to this contract through another contract. That is why this function shouldn't be called directly, but through one of the swap functions of the router that will also perform safety checks.

Parameters​

NameTypeDescription
bsStaticArray<u8>Byte string

Returns​

StaticArray<u8>

Defined in​

assembly/contracts/Pair.ts:161


symbol​

▸ symbol(_): StaticArray<u8>

Parameters​

NameType
_StaticArray<u8>

Returns​

StaticArray<u8>

The symbol of the token

Defined in​

assembly/contracts/Pair.ts:1455


totalSupply​

▸ totalSupply(bs): StaticArray<u8>

Returns the total supply of token of type id

Parameters​

NameTypeDescription
bsStaticArray<u8>the token id (serialized)

Returns​

StaticArray<u8>

Dev

This is the amount of token of type id minted minus the amount burned

Defined in​

assembly/contracts/Pair.ts:1464