(Exchanges) Introduce validation method and small updates (#565)

* Remove pointer reference

* Fix portfolio withdraw tests

* Add nil protection in validator method to reduce prospective panics and for future outbound checking

* Updated tests

* ch order var to not ref package

* rm comparison

* Add order ID validation check

* Add exchange name validation check

* Add in test details

* fix tests

* fix linter issues

* linter issues strikes again

* linter rabbit hole

* Addr nitterinos

* Add validation variadic interface to define sets of functionality check POC

* didn't want to add an amount other than 0, didn't want to add address to exchange withdraw, didn't want to whitlist, can change if need be

* add coverage

* Add validation method options for exchange wrappers and abstracted validation into its own package

* Add validation code for structs in exchange template generation

* remove extra validation call as this is done in wrapper

* fix niterinos for examplerinos

* Add template to documentation tool and regenerated documentation

* Addr niticles

* Fix tests due to validation update

* Add more validation checks for modify/submit orders

* update tests

* fix more tests

* Add asset type to submit variable in tests and rpc call. Regen funcs.

* Add field to modify struct in tests

* applied field asset to cancel struct across project

* fix woopsy
This commit is contained in:
Ryan O'Hara-Reid
2020-10-02 13:36:01 +10:00
committed by GitHub
parent ecbc68561f
commit 4e828a8124
93 changed files with 3070 additions and 1676 deletions

View File

@@ -1323,6 +1323,10 @@ var submitOrderCommand = cli.Command{
Name: "client_id",
Usage: "the optional client order ID",
},
cli.StringFlag{
Name: "asset",
Usage: "required asset type",
},
},
}
@@ -1339,6 +1343,7 @@ func submitOrder(c *cli.Context) error {
var amount float64
var price float64
var clientID string
var assetType string
if c.IsSet("exchange") {
exchangeName = c.String("exchange")
@@ -1411,6 +1416,17 @@ func submitOrder(c *cli.Context) error {
clientID = c.Args().Get(6)
}
if c.IsSet("asset") {
assetType = c.String("asset")
} else {
assetType = c.Args().Get(7)
}
assetType = strings.ToLower(assetType)
if !validAsset(assetType) {
return errInvalidAsset
}
conn, err := setupClient()
if err != nil {
return err
@@ -1435,6 +1451,7 @@ func submitOrder(c *cli.Context) error {
Amount: amount,
Price: price,
ClientId: clientID,
AssetType: assetType,
})
if err != nil {
return err