Connectors are standard modules that let DeFi Smart Account interact with various smart contracts, and make the important actions accessible like cross protocol interoperability.
- Fork and clone it
- Create a feature branch:
git checkout -b new-connector - Add the connector solidity file to
contracts/connectors - Commit changes:
git commit -am 'Added a connector' - Push to the remote branch:
git push origin new-connector - Create a new Pull Request.
Be sure to comply with the requirements while building connectors for better compatibility.
- Import common files from
contracts/commondirectory. - The contracts should not have
selfdestruct(). - The contracts should not have
delegatecall(). - Use
uint(-1)for maximum amount everywhere. - Use
getEthAddr()to denote Ethereum (non-ERC20). - Use
address(this)instead ofmsg.senderfor fetching balance on-chain, etc. - Only
approve()limited amount while giving ERC20 allowance, which strictly needs to be 0 by the end of the spell. - Use
getId()for getting value that saved from previous spell. - Use
setId()for setting value to save for the future spell.