Skip to main content

TradeAccount

@bidask-protocol/sdk


@bidask-protocol/sdk / TradeAccount

Class: TradeAccount

Internal

Implements

  • Contract

Constructors

Constructor

new TradeAccount(address, init?): TradeAccount

Parameters

address

Address

init?
code

Cell

data

Cell

Returns

TradeAccount

Properties

address

readonly address: Address

Implementation of

Contract.address


init?

readonly optional init: object

code

code: Cell

data

data: Cell

Implementation of

Contract.init


Opcodes

readonly static Opcodes: object

CancelLimitOrder

CancelLimitOrder: number = 0x30a1507b

ChangePublicKey

ChangePublicKey: number = 0xf0cf70b3

DepositOnAccount

DepositOnAccount: number = 0xd8e04bf6

LimitOrder

LimitOrder: number = 0x1111684f

ProvideLiquidity

ProvideLiquidity: number = 0x70ad4947

Swap

Swap: number = 0xefbbd1b8

Withdraw

Withdraw: number = 0xa3dbaae5

WithdrawAllLiquidity

WithdrawAllLiquidity: number = 0x6866a085

WithdrawLiquidity

WithdrawLiquidity: number = 0x9f7a49dd

Methods

getDepositBalance()

getDepositBalance(provider): Promise<{ token0Amount: bigint; token1Amount: bigint; }>

Parameters

provider

ContractProvider

Returns

Promise<{ token0Amount: bigint; token1Amount: bigint; }>


getPoolAddress()

getPoolAddress(provider): Promise<Address>

Parameters

provider

ContractProvider

Returns

Promise<Address>


getSeqno()

getSeqno(provider): Promise<number>

Parameters

provider

ContractProvider

Returns

Promise<number>


getSeqnoByNumber()

getSeqnoByNumber(provider, seqnoNumber): Promise<number>

Parameters

provider

ContractProvider

seqnoNumber

number

Returns

Promise<number>


getSeqnoSlice()

getSeqnoSlice(provider): Promise<number[]>

Parameters

provider

ContractProvider

Returns

Promise<number[]>


sendDeploy()

sendDeploy(provider, via, value): Promise<void>

Parameters

provider

ContractProvider

via

Sender

value

bigint

Returns

Promise<void>


sendDeposit()

sendDeposit(provider, via, opts, value): Promise<void>

Parameters

provider

ContractProvider

via

Sender

opts
amount1

bigint

amount2

bigint

newCode?

Cell

queryId?

bigint

value

bigint = ...

Returns

Promise<void>


sendExternalChangePublicKey()

sendExternalChangePublicKey(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Change public key of trade account

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair

validUntil

number

Valid until

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Seqno

poolAddress

Address

Pool address

seedCell

Cell

Seed

params

Options

newPublicKey

Buffer

New public key (32 bytes)

queryId?

bigint

Query ID (default: random)

Returns

Promise<void>


sendExternalProvideLiquidity()

sendExternalProvideLiquidity(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Provide liquidity from trading account using external messages Based on createProvideLiquidityTxParams logic with batching support and trading account specific cell structure Automatically fetches initialized ranges from the pool contract

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair for signing

validUntil

number

Valid until timestamp

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Starting sequence number (will increment for each batch)

poolAddress

Address

Pool address

seedCell

Cell

Seed cell

params

Liquidity provision parameters

amount

bigint

Message amount (gas)

binsToProvide

LiquidityProvideBins

Bins with amounts to provide liquidity for

forwardPayload?

Cell

Forward payload (sent after mint_notification from multitoken)

mode

SendMode

Send mode

queryId?

bigint

Query ID (default: random)

rangeStatus

RangeStatus

rejectPayload?

Cell

Reject payload (sent on refund with deposit from pool)

Returns

Promise<void>

Promise that resolves when all batches are sent


sendExternalRemoveAllLiquidity()

sendExternalRemoveAllLiquidity(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Withdraw all liquidity from liquidity pool using external message Based on createBurnAllTxParams logic with trading account specific cell structure

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair for signing

validUntil

number

Valid until timestamp

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Sequence number

poolAddress

Address

Pool address

seedCell

Cell

Seed cell

params

Parameters for withdrawing all liquidity

amount

bigint

Message amount (gas)

forwardPayload?

Cell

Forward payload (sent on successful burn)

lpMultitokenAddress

Address

LP multitoken contract address

mode

SendMode

Send mode

queryId?

bigint

Query ID (default: random)

Returns

Promise<void>


sendExternalRemoveLiquidity()

sendExternalRemoveLiquidity(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Burn specific liquidity bins from liquidity pool using external messages Based on createBurnTxParams logic with batching support and trading account specific cell structure

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair for signing

validUntil

number

Valid until timestamp

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Starting sequence number (will increment for each batch)

poolAddress

Address

Pool address

seedCell

Cell

Seed cell

params

Liquidity withdrawal parameters

amount

bigint

Message amount (gas)

binsToBurn

LiquidityRemoveBins

Bins to burn with LP token amounts

forwardPayload?

Cell

Forward payload (sent on successful burn)

lpMultitokenAddress

Address

LP multitoken contract address

mode

SendMode

Send mode

queryId?

bigint

Query ID (default: random)

rejectPayload?

Cell

Reject payload (sent on burn failure)

Returns

Promise<void>

Promise that resolves when all batches are sent


sendExternalSignedMessage()

sendExternalSignedMessage(provider, body): Promise<void>

Parameters

provider

ContractProvider

body

Cell

Returns

Promise<void>


sendExternalSwap()

sendExternalSwap(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Send swap

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair

validUntil

number

Valid until

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Seqno

poolAddress

Address

Pool address

seedCell

Cell

Seed

params

object & SwapPartialExecutionParams

Options

Returns

Promise<void>


sendExternalWithdraw()

sendExternalWithdraw(provider, keypair, validUntil, seqnoNumber, seqno, poolAddress, seedCell, params): Promise<void>

Withdraw tokens from trading account

Parameters

provider

ContractProvider

Contract provider

keypair

KeyPair

Key pair

validUntil

number

Valid until

seqnoNumber

number = 0

Number of seqno (0 - 15) (default: 0)

seqno

number

Seqno

poolAddress

Address

Pool address

seedCell

Cell

Seed

params

Options

amount?

bigint

Amount (default: 0.3 TON)

forwardPayload?

Cell

Forward payload (attached to tokens sent to receiver)

mode

SendMode

SendMode (default: CARRY_ALL_REMAINING_BALANCE)

queryId?

bigint

Query ID (default: random)

receiverAddress

Address

Receiver address

token0Amount

bigint

Token0 amount

token1Amount

bigint

Token1 amount

Returns

Promise<void>


createFromAddress()

static createFromAddress(address): TradeAccount

Parameters

address

Address

Returns

TradeAccount


createFromConfig()

static createFromConfig(config, workchain): TradeAccount

Parameters

config

TradeAccountConfig

workchain

number = 0

Returns

TradeAccount