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/common
directory. - 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.sender
for 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.