setTokenFactors

params of setTokenParams -> storage with [ tokens[tokenId] ] upd

Updates token-related factors of the protocol by tokenId of yToken.

The yToken contract expects that underlying token info of tokenId is updated by calling PriceFeed.getPrice and updateInterest in the same block before this call.

Types

type setTokenParams     is [@layout:comb] record [
  tokenId               : nat;
  collateralFactorF     : nat;
  reserveFactorF        : nat;
  interestRateModel     : address;
  maxBorrowRate         : nat;
  threshold             : nat;
  liquidReserveRateF    : nat;
]

Usage

const tokenId = 0; // or new BigNumber(0) or "0"
const yupana = await tezos.contract.at(yTokenAddress);
const batchArray = [
      {
        kind: "transaction",
        ...yupana.methods.updateInterest(tokenId).toTransferParams(),
      },
      {
        kind: "transaction",
        ...proxy.methods.getPrice([tokenId]).toTransferParams(),
      },
      {
        kind: "transaction",
        ...yupana.methods.setTokenFactors(
          tokenId,
          650000000000000000,
          200000000000000000,
          "KT1...",
          5000000000000,
          550000000000000000
        ).toTransferParams(),
      },
    ];
const batch = await tezos.wallet.batch(batchArray);
const operation = await batch.send();
await operation.confirmation();

Errors

  • yToken/not-admin - sender is not contract admin.

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

Last updated