Kip17(nft)를 타인에게 팔기위한 로직 구성을 하고 있습니다

NFT 발행(kip17)후 소유권을 가지고 있는 'A’가 'B’에게 일정 'klay’를 받고 소유권을 transfer 하려고 합니다.
아래와 같이 함수를 구성하여 value: caverKaikas.utils.toPeb('10', 'KLAY'), 를 통해서 10 클레이 라는 금액을 산정하는 형태로 만들었는데, 이게 맞는건가요?
만약 맞다면, 아래 로직대로 10 클레이를 구성해서 보낼 경우 Fail : ErrExecutionReverted - uint(0x09) 에러가 발생하더라구요.
클레이를 0으로 잡으면 에러가 발생하지 않았습니다.

만약 이 방식이 아니라면, 어떠한 방식으로 구성할 수 있을까요?

export const sendKaikas = async (
  from_address: string,
  to_address: string,
  tokenId: number | string,
  contractAddress: string
) => {
  // ANCHOR: NFT 전송
  const data = caverKaikas.klay.abi.encodeFunctionCall(
    {
      constant: false,
      inputs: [
        {
          name: 'from',
          type: 'address',
        },
        {
          name: 'to',
          type: 'address',
        },
        {
          name: 'tokenId',
          type: 'uint256',
        },
      ],
      name: 'transferFrom',
      outputs: [],
      payable: false,
      stateMutability: 'nonpayable',
      type: 'function',
    },
    [from_address, to_address, caverKaikas.utils.toBN(tokenId).toString()]
  );
  const txData = {
    type: 'FEE_DELEGATED_SMART_CONTRACT_EXECUTION',
    from: from_address,
    to: contractAddress,
    gas: 1000000,
    value: caverKaikas.utils.toPeb('10', 'KLAY'),
    data,
  };

  const signed: any = await caverKaikas.klay.signTransaction(txData);

  // NOTE: KAS에서 수수료 대납
  var r =
    await caverExtKas.kas.wallet.requestFDRawTransactionPaidByGlobalFeePayer({
      rlp: signed.rawTransaction,
      submit: true,
    });

  console.log('r', r);

  // ErrExecutionReverted - uint(0x09)
  return r?.status ?? false;
};

해당 transferFrom 메소드는 payable 이 아니기때문에 직접 value를 입력하실 수 없습니다.
별도의 minter contract를 solidity로 작성하셔서 진행하는 것을 권장드립니다.