params of yAssetParams -> (list(op), storage upd)

Return amount of debt, in underlying token of yToken token by tokenId.

Underlying token must be approved before calling this operation for an amount.

If amount is 0n than all user borrow set as repay value.

The yToken contract expects that underlying token info of tokenId and all borrowed by user before tokenIds are updated by calling PriceFeed.getPrice and updateInterest in the same block before this contract method


type yAssetParams       is [@layout:comb] record [
  tokenId                 : nat; // yToken token Id
  amount                  : nat; // amount tokens to repay



yToken identifier



amount of underlying tokens to repay


const tokenId = 0; // or new BigNumber(0) or "0"
const amount = 10_000_000; // amount of underlying tokens.
const yupana = await;
const proxy = await;
const borrowedTokenIds = [1, 2]; // user borrowed tokens
const updBorrowed = borrowedTokenIds.reduce(
  (batch, tokenId) => {
        kind: "transaction",
        kind: "transaction",
      return batch;
const batchArray = [
        kind: "transaction",
        kind: "transaction",
        kind: "transaction",
        ...yupana.methods.repay(tokenId, amount).toTransferParams(),
const batch = await tezos.wallet.batch(batchArray);
const operation = await batch.send();
await operation.confirmation();


burnAmount = amount * token.totalSupply / token.liquidity

  • yToken/cant-repay-more-than-borrowed - when user wants to repay more than nedeed.

  • underflow/totalBorrowsF - total borrows less than amount.

  • token/cant-get-contract-token - FA12 token contract address does not contain transfer entrypoint from FA12 interface.

  • token/cant-get-contract-fa2-token - FA2 token contract address does not contain transfer entrypoint from FA2 interface.

  • yToken/exceeds-allowable-redeem - raised when outstanding borrow value greater than max collateral value.

  • ceil-div-error - division of two numbers fails.

  • yToken/need-update - token price and interest not updated (see warning above)

  • yToken/yToken-undefined - token identifier is not assigned to any known yTokens.

Last updated