LpAccount (v2)

Contrato LpAccount v2 de STON.fi: gestión mejorada de posiciones LP con integración de vault

Métodos get fuera de la cadena

get_lp_account_data

Devuelve el estado actual de la LpAccount.

(slice, slice, int, int) get_lp_account_data() method_id;

Argumentos

Ninguno

Resultado

Devuelve LpAccountData estructura que contiene el estado actual de la cuenta lp.

LpAccountData estructura

Clave
Tipo
Índice
Descripción

user_address

dirección

0

Dirección del propietario

pool_address

dirección

1

Dirección del pool

amount0

coins

2

Saldo del primer token Jetton (en unidades básicas del token)

amount1

coins

3

Saldo del segundo token Jetton (en unidades básicas del token)

Consultas en la cadena

Contrapartes en la cadena de los métodos getter.

Tabla de operaciones

Nombre
Valor
Descripción

getter_lp_account_data

0x24cfc100

Envía un mensaje con el estado actual del pool

getter_lp_account_data (0x24cfc100)

Envía un mensaje con el estado actual de la cuenta lp. Equivalente en la cadena de get_lp_account_data.

TL-B

Cuerpo del mensaje

Ninguno

Mensajes salientes

Envía un mensaje con el estado actual de la cuenta lp a sender_address

Cuerpo del mensaje de respuesta

Nombre
Tipo
Descripción

op

uint32

Código de operación igual a getter_lp_account_data

query_id

uint64

ID de consulta

user_address

dirección

Dirección del propietario

pool_address

dirección

Dirección del pool

amount0

coins

Saldo del primer token Jetton (en unidades básicas del token)

amount1

coins

Saldo del segundo token Jetton (en unidades básicas del token)

Manejadores de mensajes del pool

Gestiona los mensajes entrantes de un pool

Tabla de operaciones

Nombre
Valor
Descripción

add_liquidity

0x50c6a654

Añadir liquidez

add_liquidity (0x50c6a654)

Almacena la cantidad de tokens enviada por el usuario para añadirla como nueva liquidez. Al recibir una cantidad apropiada de ambos tokens, envía un mensaje con esas cantidades a un pool para que se añadan como nueva liquidez. La adición automática de liquidez solo ocurre si la cantidad de ambos tokens es mayor que 1000 y distinta de cero min_lp_out se especificó, de lo contrario el usuario puede seguir aumentando la cantidad de tokens almacenados.

TL-B

Cuerpo del mensaje

Nombre
Tipo
Descripción

new_amount0

coins

Cantidad de los primeros tokens Jetton añadidos (en unidades básicas del token)

new_amount1

coins

Cantidad de los segundos tokens Jetton añadidos (en unidades básicas del token)

min_lp_out

coins

Cantidad mínima requerida de nuevos tokens de liquidez recibidos (en unidades básicas del token)

fwd_amount

coins

Cantidad de envío utilizada para enviar custom_payload (si está presente) en transfer_notification

both_positive

uint1

Desencadena el depósito de liquidez solo si ambas cantidades de tokens son distintas de cero

to_address

dirección

Propietario de los nuevos tokens de liquidez

custom_payload

maybe_ref

Carga útil enviada en transfer_notification al recibir tokens

additional_fields

ref

Ver la tabla a continuación

additional_fields

Nombre
Tipo
Descripción

refund_address

dirección

Dirección del propietario de LpAccount donde se reembolsarán los tokens si la acuñación de liquidez no fue exitosa

excess_address

dirección

Dirección donde se enviarán todos los excesos de TON

Notas:

  • la adición de liquidez fallará si un usuario debe recibir menos de min_lp_out tokens LP como resultado

Mensajes salientes

Envía un mensaje al pool con cb_add_liquidity op

Cuerpo del mensaje de respuesta

Nombre
Tipo
Descripción

op

uint32

Código de operación, igual a cb_add_liquidity

query_id

uint64

ID de consulta

amount0

coins

Cantidad de los primeros tokens Jetton añadidos (en unidades básicas del token)

amount1

coins

Cantidad de los segundos tokens Jetton añadidos (en unidades básicas del token)

user_address

dirección

Dirección del propietario

min_lp_out

coins

Cantidad mínima de tokens de liquidez recibidos (en unidades básicas del token)

fwd_amount

coins

Cantidad de envío utilizada para enviar custom_payload (si está presente) en transfer_notification

custom_payload

maybe_ref

Carga útil enviada en transfer_notification al recibir tokens

additional_data

ref

Ver la tabla a continuación

additional_data

Nombre
Tipo
Descripción

to_address

dirección

Propietario de los nuevos tokens de liquidez

refund_address

dirección

Dirección del propietario de LpAccount donde se reembolsarán los tokens si la acuñación de liquidez no fue exitosa

excess_address

dirección

Dirección donde se enviarán todos los excesos de TON

Notas:

  • la adición de liquidez fallará si un usuario debe recibir menos de min_lp_out tokens LP como resultado

  • LpAccount se elimina al enviar este mensaje (Pool siempre envía msgs con state_init)

Manejadores de mensajes del usuario

Gestiona los mensajes entrantes de un usuario

Tabla de operaciones

Nombre
Valor
Descripción

refund_me

0x132b9a2c

Devuelve al usuario los tokens enviados previamente

direct_add_liquidity

0x0ff8bfc6

Añade liquidez directamente con una cantidad especificada de tokens y una cantidad mínima de tokens de liquidez recibidos

reset_gas

0x29d22935

Reiniciar gas

refund_me (0x132b9a2c)

Inicia un reembolso de los tokens almacenados por add_liquidity si el usuario decide cancelar la adición de nueva liquidez. La cantidad de tokens almacenados se enviará al pool, que iniciará una transferencia de vuelta al usuario.

TL-B

Cuerpo del mensaje

Ninguno

Mensajes salientes

Envía un mensaje con cb_refund_me código op y la cantidad de tokens almacenados a un pool. El pool enviará un mensaje para reembolsar esos tokens al usuario.

Cuerpo del mensaje de respuesta

Nombre
Tipo
Descripción

op

uint32

Código de operación

query_id

uint64

ID de consulta

amount0

coins

Cantidad de tokens Jetton del primer token (en unidades básicas del token)

amount1

coins

Cantidad de tokens Jetton del segundo token (en unidades básicas del token)

user_address

dirección

Dirección del propietario

payload_0

maybe_ref

Carga útil usada para amount0; puede ser cross_swap

payload_1

maybe_ref

Carga útil usada para amount1; puede ser cross_swap

direct_add_liquidity (0x0ff8bfc6)

Inicia una adición de nueva liquidez a un pool con una cantidad especificada de ambos tokens y una cantidad mínima de liquidez recibida. La operación solo tiene éxito si hay una cantidad igual o mayor de ambos tokens almacenada en la cuenta (la cantidad de ambos tokens debe ser mayor que 1000). Este método es útil si no se ha desencadenado una adición automática de liquidez al depositar tokens.

TL-B

Cuerpo del mensaje

Nombre
Tipo
Descripción

amount0

coins

Cantidad de tokens Jetton del primer token (en unidades básicas del token)

amount1

coins

Cantidad de tokens Jetton del segundo token (en unidades básicas del token)

min_lp_out

coins

Cantidad mínima de tokens de liquidez recibidos (en unidades básicas del token)

fwd_amount

coins

Cantidad de envío utilizada para enviar custom_payload (si está presente) en transfer_notification

to_address

dirección

Propietario de los nuevos tokens de liquidez

custom_payload

maybe_ref

Carga útil enviada en transfer_notification al recibir tokens

additional_fields

ref

Ver la tabla a continuación

additional_data

Nombre
Tipo
Descripción

refund_address

dirección

Dirección del propietario de LpAccount donde se reembolsarán los tokens si la acuñación de liquidez no fue exitosa

excess_address

dirección

Dirección donde se enviarán todos los excesos de TON

Notas:

  • la adición de liquidez fallará si un usuario debe recibir menos de min_lp_out tokens LP como resultado

  • min_lp_out el valor debe ser mayor que cero para que esta operación continúe

Mensajes salientes

Envía un mensaje con cb_add_liquidity código op y cantidad de ambos tokens que se añadirán como nueva liquidez.

reset_gas (0x29d22935)

Actualiza la cantidad de TON (en nanoTons) en la cuenta lp a storage_fee::lp_account (10000000) de la cuenta. El TON restante se enviará de vuelta a la user_address

TL-B

Cuerpo del mensaje

Ninguno

Mensajes salientes

Envía un mensaje vacío de vuelta al usuario con el TON restante

Constantes

Nombre
Valor
Descripción

storage_fee::lp_account

1000000

Cantidad de TON (en nanoTons) que se dejará en el contrato de la cuenta lp como gas

Última actualización