github.com/iotexproject/iotex-core@v1.14.1-rc1/action/protocol/execution/testdata-istanbul/wireconnection.sol (about) 1 pragma solidity ^0.8.4; 2 3 abstract contract Feline { 4 // This is how we write the abstract contract 5 bytes32 name; 6 function setname (bytes32 _name) public { 7 name = _name; 8 } 9 function utterance() public virtual returns (bytes32); 10 function Utterance() public virtual returns (bytes32); 11 } 12 13 // inherit the contract in cat and then override the function utterance with some full definition 14 contract Cat is Feline { 15 function utterance() pure public override returns (bytes32) { return "miaow"; } 16 function Utterance() pure public override returns (bytes32) { 17 return utterance(); 18 } 19 }