SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで
👆こちらの本のサンプルを試しているとたまに出てくる警告です。
function () public payable {}
上記のようなフォールバック関数の定義箇所に原因がありそうです。
どうすればよい?
function() public payable {}
の代わりに
fallback() external payable {}
を使いましょう。
payable - Compiler solc expected a state variable declaration - Ethereum Stack Exchange
解説
Solidity v0.6.0からフォールバック関数の定義方法が変わったようです。
The unnamed function commonly referred to as “fallback function” was split up into a new fallback function that is defined using the fallback keyword and a receive ether function defined using the receive keyword.
Solidity v0.6.0 Breaking Changes — Solidity 0.7.4 documentation