gpl smart contract