Awesome list of DSA Connectors
Go to file
Lecky Lao becd0135aa formating stores.sol;
fixing import for SafeERC20 and IERC20;
set up constructor for synthetix connector to set address for staking contract;
created MockSynthetix.sol for test;
added nomiclabs/buidler;
fixed test for SynthetixProtocol.js;
adding .gitatributes to highlight solidity on GitHub;
adding buidler artefacts and cache to git ignore;
adding buidler.config.js;
2020-07-12 02:04:48 +10:00
contracts formating stores.sol; 2020-07-12 02:04:48 +10:00
migrations formating stores.sol; 2020-07-12 02:04:48 +10:00
test formating stores.sol; 2020-07-12 02:04:48 +10:00
.gitattributes formating stores.sol; 2020-07-12 02:04:48 +10:00
.gitignore formating stores.sol; 2020-07-12 02:04:48 +10:00
.nvmrc fix formating on connectors/curve.sol; 2020-06-28 23:15:51 +10:00
buidler.config.js formating stores.sol; 2020-07-12 02:04:48 +10:00
package-lock.json formating stores.sol; 2020-07-12 02:04:48 +10:00
package.json formating stores.sol; 2020-07-12 02:04:48 +10:00
README.md fixed typo 2020-05-04 16:04:19 +10:00
tenderly.yaml initial Curve connector version 2020-05-05 04:54:10 +03:00
truffle-config.js clean up truffle-config and enable optimiser; 2020-07-09 21:33:21 +10:00

DSA Connectors

Connectors are standard modules that let DeFi Smart Account interact with various smart contracts, and make the important actions accessible like cross protocol interoperability.

Add Custom Connectors

  1. Fork and clone it
  2. Create a feature branch: git checkout -b new-connector
  3. Add the connector solidity file to contracts/connectors
  4. Commit changes: git commit -am 'Added a connector'
  5. Push to the remote branch: git push origin new-connector
  6. Create a new Pull Request.

Requirements

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 of msg.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.

Support

If you can't find something you're looking for or have any questions, ask them at our developers community on Telegram, Discord or simply send an Email.