컨트랙트 methods 호출 후 send 시 오류 문의드립니다

트랜잭션에 klay를 보내고 싶습니다.
아래 처럼 하면 정상적으로 트랜잭션이 작동하지만

value를 넣으면 non-payable contract method or constructor 오류가 발생됩니다.
해당 함수가 payable로 선언되어있는데도 해당 오류가 발생하고있습니다. 방법이 잘못된건가요?

image

solidity 0.8.0 버전에 caver-js 1.4.1 버전 사용하고있습니다.

안녕하세요.
contractState.NftContract abi 확인 부탁드립니다.
해당 에러는 아래의 로직에서 발생합니다.

        if (_.isBoolean(this._method.payable) && !this._method.payable && args.options.value && args.options.value > 0) {
            return utils._fireError(
                new Error('Can not send value to non-payable contract method or constructor'),
                defer.eventEmitter,
                defer.reject,
                args.callback
            )
        }

이 말은 컨트랙트 인스턴스가 가지고 있는 mint함수가 payable 이 true가 아닌데 value를 보내서 생기는 에러입니다.

2 Likes

아래 함수로 컨트랙트를 만들었더니 안된거였습니다.
image

이걸로 컨트랙트 객체를 만들었더니 정상작동했습니다. 감사합니다.
image

2 Likes