CLI that manages the creation of Dutch Exchange modules for the Safe.
- Nodejs >= 8
- Git
# You can install it globally, in another project...
npm i -g @gnosis.pm/dx-safe-cli
# Or clone the repo
git clone https://github.com/gnosis/dx-safe-cli
cd dx-safe-cli
npm i
There is an example of the configuration file in conf/conf.example.json fill the parameters desired values.
Safe params:
Name | Type | Description |
---|---|---|
ethereumURL |
String | Url of a Ethereum node (e.g. https://rinkeby.infura.io) |
gasPrice |
Number | Gas price in Wei (e.g. 10000000000 ) |
gas |
Number | Gas limit (1e6 by default) |
owners |
Array of Strings (ethereum addresses) | Owners of the Safe multisig account |
safeThreshold |
Number | Number of owner signatures required for executing transactions in the safe |
moduleType |
Enum: [seller | complete ] |
Type of DutchX module used for the operator. There's currently two options: seller can only sell, complete can sell and buy |
whitelistedTokens |
Array of Strings (ethereum addresses) | ERC20 tokens that are whitelisted. Only whitelisted tokens can be traded. |
operators |
Array of Strings (ethereum addresses) | Addresses for the operators. The operators are users that can trade the whitelisted tokens in the DutchX on behalf of the safe address. Note that operators cannot execute any other transaction using the safe funds. Also, the operators don't need to surplus the safeThreshold |
ownersToSign |
Array of Strings (ethereum addresses) | Addresses of the safe owners. This are the owners included in the data to send when performing transactions without PK/MNEMONIC but with Hardware wallet, external accounts, etc. |
@gnosis.pm/dx-safe-cli # globally
npm run cli # locally
It will output all the possible options