Furucombo-Smart-Wallet is a wallet system to help users easily manage their assets. Users can interact with multiple contracts in a single transaction, manage wallet authority, and execute automation tasks. Furucombo-Smart-Wallet makes up of three parts, DSProxy, Task Executor, and Action. Users can hold their assets in DSProxy and execute operations through Task Executor and Action
Furucombo-Smart-Wallet contracts contain two different parts, Task Executor and Action.
Task Executor is a multi-call architecture system, and it can execute multi-operations in a single transaction. In Task Executor, there are two call types of operation, CallWithValue
and DelegateCall
. It can interact with contracts directly through CallWithValue
or delegate-call specific actions through DelegateCall
. In addition, operation parameters may apply to the execution result. For the details, please refer to the Chained Input guideline.
Action is the contract delegate called by Task Executor for the specific contracts or specific operations. Action contracts are in contracts/actions
folder with A
prefix on filename.
$ npm install
The testing is performed through the fork function of ganache-cli. The location of the data source is defined under $POLYGON_MAINNET_NODE
. You may perform the testing by your own polygon mainnet node instance or service provider like Infura.
$ export POLYGON_MAINNET_NODE=https://polygon-mainnet.infura.io/v3/{Your_project_ID}
$ npm run test
or
$ POLYGON_MAINNET_NODE=https://polygon-mainnet.infura.io/v3/{Your_project_ID} npm run test
Furu-DSProxy is released under the MIT License.