IWLSETHV1

Kiln

Wrapped LsETH Interface (v1)

This interface exposes methods to wrap the LsETH token into a rebase token.

Methods

allowance

function allowance(address _owner, address _spender) external view returns (uint256)

Retrieves the token allowance given from one address to another

Parameters

NameTypeDescription

_owner

address

Owner that gave the allowance

_spender

address

Spender that received the allowance

Returns

NameTypeDescription

_0

uint256

The allowance of the owner to the spender

approve

function approve(address _spender, uint256 _value) external nonpayable returns (bool)

Approves another account to transfer tokens

Parameters

NameTypeDescription

_spender

address

Spender that receives the allowance

_value

uint256

Amount to allow

Returns

NameTypeDescription

_0

bool

True if success

balanceOf

function balanceOf(address _owner) external view returns (uint256)

Retrieves the token balance of the specified user

Parameters

NameTypeDescription

_owner

address

Owner to check the balance

Returns

NameTypeDescription

_0

uint256

The balance of the owner

burn

function burn(address _recipient, uint256 _shares) external nonpayable

Burn tokens and retrieve underlying LsETH tokens

The message sender burns shares from its balance for the LsETH equivalent valueThe message sender doesn't need to approve the contract to burn the sharesThe freed LsETH is sent to the specified recipient

Parameters

NameTypeDescription

_recipient

address

The account receiving the underlying LsETH tokens after shares are burned

_shares

uint256

Amount of LsETH to free by burning wrapped LsETH

decimals

function decimals() external pure returns (uint8)

Retrieves the token decimal count

Returns

NameTypeDescription

_0

uint8

The decimal count

decreaseAllowance

function decreaseAllowance(address _spender, uint256 _subtractableValue) external nonpayable returns (bool)

Decrease allowance to another account

Parameters

NameTypeDescription

_spender

address

Spender that receives the allowance

_subtractableValue

uint256

Amount to subtract

Returns

NameTypeDescription

_0

bool

True if success

increaseAllowance

function increaseAllowance(address _spender, uint256 _additionalValue) external nonpayable returns (bool)

Increase allowance to another account

Parameters

NameTypeDescription

_spender

address

Spender that receives the allowance

_additionalValue

uint256

Amount to add

Returns

NameTypeDescription

_0

bool

True if success

initWLSETHV1

function initWLSETHV1(address _river) external nonpayable

Initializes the wrapped token contract

Parameters

NameTypeDescription

_river

address

Address of the River contract

mint

function mint(address _recipient, uint256 _shares) external nonpayable

Mint tokens by providing LsETH tokens

The message sender locks LsETH tokens and received wrapped LsETH tokens in exchangeThe message sender needs to approve the contract to mint the wrapped tokensThe minted wrapped LsETH is sent to the specified recipient

Parameters

NameTypeDescription

_recipient

address

The account receiving the new minted wrapped LsETH

_shares

uint256

The amount of LsETH to wrap

name

function name() external pure returns (string)

Retrieves the token full name

Returns

NameTypeDescription

_0

string

The name of the token

sharesOf

function sharesOf(address _owner) external view returns (uint256)

Retrieves the raw shares count of the user

Parameters

NameTypeDescription

_owner

address

Owner to check the shares balance

Returns

NameTypeDescription

_0

uint256

The shares of the owner

symbol

function symbol() external pure returns (string)

Retrieves the token symbol

Returns

NameTypeDescription

_0

string

The symbol of the token

totalSupply

function totalSupply() external view returns (uint256)

Retrieves the token total supply

Returns

NameTypeDescription

_0

uint256

The total supply

transfer

function transfer(address _to, uint256 _value) external nonpayable returns (bool)

Transfers tokens between the message sender and a recipient

Parameters

NameTypeDescription

_to

address

Recipient of the transfer

_value

uint256

Amount to transfer

Returns

NameTypeDescription

_0

bool

True if success

transferFrom

function transferFrom(address _from, address _to, uint256 _value) external nonpayable returns (bool)

Transfers tokens between two accounts

It is expected that _from has given at least _value allowance to msg.sender

Parameters

NameTypeDescription

_from

address

Sender account

_to

address

Recipient of the transfer

_value

uint256

Amount to transfer

Returns

NameTypeDescription

_0

bool

True if success

Events

Approval

event Approval(address indexed owner, address indexed spender, uint256 value)

An approval has been made

Parameters

NameTypeDescription

owner indexed

address

The token owner

spender indexed

address

The account allowed by the owner

value

uint256

The amount allowed

Burn

event Burn(address indexed recipient, uint256 shares)

Tokens have been burned

Parameters

NameTypeDescription

recipient indexed

address

The account that receive the underlying LsETH

shares

uint256

The amount of LsETH that got sent back

Mint

event Mint(address indexed recipient, uint256 shares)

Tokens have been minted

Parameters

NameTypeDescription

recipient indexed

address

The account receiving the new tokens

shares

uint256

The amount of LsETH provided

SetRiver

event SetRiver(address indexed river)

The stored value of river has been changed

Parameters

NameTypeDescription

river indexed

address

The new address of river

Transfer

event Transfer(address indexed from, address indexed to, uint256 value)

A transfer has been made

Parameters

NameTypeDescription

from indexed

address

The transfer sender

to indexed

address

The transfer recipient

value

uint256

The amount transfered

Errors

AllowanceTooLow

error AllowanceTooLow(address _from, address _operator, uint256 _allowance, uint256 _value)

Allowance too low to perform operation

Parameters

NameTypeDescription

_from

address

Account where funds are sent from

_operator

address

Account attempting the transfer

_allowance

uint256

Current allowance

_value

uint256

Requested transfer value

BalanceTooLow

error BalanceTooLow()

Balance too low to perform operation

NullTransfer

error NullTransfer()

Invalid empty transfer

TokenTransferError

error TokenTransferError()

The token transfer failed during the minting or burning process

UnauthorizedTransfer

error UnauthorizedTransfer(address _from, address _to)

Invalid transfer recipients

Parameters

NameTypeDescription

_from

address

Account sending the funds in the invalid transfer

_to

address

Account receiving the funds in the invalid transfer

Last updated