안녕하세요.
저희가 baobab에 배포한 컨트랙트의 transferFrom 함수를 호출하려고 합니다.
이때 가스비는 유저가 대납하는 형식으로 유저대납트랜잭션을 호출하도록 설정을 하고
트랜잭션을 호출했는데
사인을 처리는 부분에서 오류가 발생했습니다.
Contract contract = caverExtKas.contract.create(abi Json파일, "컨트랙트주소");
SendOptions sendOptions = new SendOptions(deployerKeyring.getAddress());
sendOptions.setFeeDelegation(true);
sendOptions.setFeePayer(feePayerKeyring.getAddress());
sendOptions.setFrom("0xb7cc~~"); // baobab.wallet.klaytn.com 에서 생성한 지갑주소
TransactionReceipt.TransactionReceiptData receiptData = contract.getMethod("transferFrom")
.send(Arrays.asList("0xb7cc~~", "0x30f645~~", 1000000), sendOptions);
이런식으로 호출하였고
Arrays.asList부분의 주소는 전부 baobab.wallet.klaytn.com 에서 생성한 지갑주소입니다.
디버깅을 해본결과
this.wallet.sign(determinedOption.getFrom(), transaction);
부분에서 오류가 발생하였고
xyz.groundx.caver_ext_kas.exception.KASAPIException: Bad Request
at xyz.groundx.caver_ext_kas.wallet.KASWallet.makeSignature(KASWallet.java:484)
at xyz.groundx.caver_ext_kas.wallet.KASWallet.makeSignature(KASWallet.java:445)
at xyz.groundx.caver_ext_kas.wallet.KASWallet.sign(KASWallet.java:242)
at com.klaytn.caver.contract.ContractMethod.sign(ContractMethod.java:368)
at com.klaytn.caver.contract.ContractMethod.send(ContractMethod.java:281)
at com.klaytn.caver.contract.ContractMethod.send(ContractMethod.java:242)
이러한 로그가 찍혔습니다.
이 부분은 어떻게 해결하면 되는지 문의드립니다.