smart contract compatibility