Skip to content

Commit

Permalink
Swagger/struct generation now uses concrete types exclusively to simp…
Browse files Browse the repository at this point in the history
…lify user config objects (#16)
  • Loading branch information
Tanz0rz authored Feb 7, 2024
1 parent 89b8da5 commit a81d115
Show file tree
Hide file tree
Showing 21 changed files with 654 additions and 511 deletions.
2 changes: 1 addition & 1 deletion golang/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func main() {
Dst: tokens.PolygonWeth,
From: os.Getenv("WALLET_ADDRESS"),
Amount: amounts.Ten16,
DisableEstimate: helpers.GetPtr(true),
DisableEstimate: true,
Slippage: 0.5,
},
}
Expand Down
6 changes: 0 additions & 6 deletions golang/client/orderbook/helpers.go

This file was deleted.

32 changes: 16 additions & 16 deletions golang/client/orderbook/orderbook_types.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

60 changes: 30 additions & 30 deletions golang/client/orderbook/orderbook_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ type CreateOrderParams struct {

func (params *CreateOrderParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.WalletKey, "walletKey", validate.CheckPrivateKey, validationErrors)
validationErrors = validate.Parameter(params.SourceWallet, "sourceWallet", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.FromToken, "fromToken", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.ToToken, "toToken", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.TakingAmount, "takingAmount", validate.CheckBigInt, validationErrors)
validationErrors = validate.Parameter(params.MakingAmount, "makingAmount", validate.CheckBigInt, validationErrors)
validationErrors = validate.Parameter(params.Receiver, "receiver", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.WalletKey, "walletKey", validate.CheckPrivateKeyRequired, validationErrors)
validationErrors = validate.Parameter(params.SourceWallet, "sourceWallet", validate.CheckEthereumAddressRequired, validationErrors)
validationErrors = validate.Parameter(params.FromToken, "fromToken", validate.CheckEthereumAddressRequired, validationErrors)
validationErrors = validate.Parameter(params.ToToken, "toToken", validate.CheckEthereumAddressRequired, validationErrors)
validationErrors = validate.Parameter(params.TakingAmount, "takingAmount", validate.CheckBigIntRequired, validationErrors)
validationErrors = validate.Parameter(params.MakingAmount, "makingAmount", validate.CheckBigIntRequired, validationErrors)
validationErrors = validate.Parameter(params.Receiver, "receiver", validate.CheckEthereumAddressRequired, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}

Expand All @@ -35,14 +35,14 @@ type GetOrdersByCreatorAddressParams struct {

func (params *GetOrdersByCreatorAddressParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.CreatorAddress, "creatorAddress", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.Page, "page", validate.CheckPagePointer, validationErrors)
validationErrors = validate.Parameter(params.Limit, "limit", validate.CheckLimitPointer, validationErrors)
validationErrors = validate.Parameter(params.Statuses, "statuses", validate.CheckStatusesIntsPointer, validationErrors)
validationErrors = validate.Parameter((*string)(params.SortBy), "sortBy", validate.CheckSortByPointer, validationErrors)
validationErrors = validate.Parameter(params.TakerAsset, "takerAsset", validate.CheckEthereumAddressPointer, validationErrors)
validationErrors = validate.Parameter(params.MakerAsset, "makerAsset", validate.CheckEthereumAddressPointer, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.CreatorAddress, "creatorAddress", validate.CheckEthereumAddressRequired, validationErrors)
validationErrors = validate.Parameter(params.Page, "page", validate.CheckPage, validationErrors)
validationErrors = validate.Parameter(params.Limit, "limit", validate.CheckLimit, validationErrors)
validationErrors = validate.Parameter(params.Statuses, "statuses", validate.CheckStatusesInts, validationErrors)
validationErrors = validate.Parameter((string)(params.SortBy), "sortBy", validate.CheckSortBy, validationErrors)
validationErrors = validate.Parameter(params.TakerAsset, "takerAsset", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.MakerAsset, "makerAsset", validate.CheckEthereumAddress, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}

Expand All @@ -53,13 +53,13 @@ type GetAllOrdersParams struct {

func (params *GetAllOrdersParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.Page, "page", validate.CheckPagePointer, validationErrors)
validationErrors = validate.Parameter(params.Limit, "limit", validate.CheckLimitPointer, validationErrors)
validationErrors = validate.Parameter(params.Statuses, "statuses", validate.CheckStatusesIntsPointer, validationErrors)
validationErrors = validate.Parameter((*string)(params.SortBy), "sortBy", validate.CheckSortByPointer, validationErrors)
validationErrors = validate.Parameter(params.TakerAsset, "takerAsset", validate.CheckEthereumAddressPointer, validationErrors)
validationErrors = validate.Parameter(params.MakerAsset, "makerAsset", validate.CheckEthereumAddressPointer, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.Page, "page", validate.CheckPage, validationErrors)
validationErrors = validate.Parameter(params.Limit, "limit", validate.CheckLimit, validationErrors)
validationErrors = validate.Parameter(params.Statuses, "statuses", validate.CheckStatusesInts, validationErrors)
validationErrors = validate.Parameter((string)(params.SortBy), "sortBy", validate.CheckSortBy, validationErrors)
validationErrors = validate.Parameter(params.TakerAsset, "takerAsset", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.MakerAsset, "makerAsset", validate.CheckEthereumAddress, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}

Expand All @@ -70,7 +70,7 @@ type GetCountParams struct {

func (params *GetCountParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.Statuses, "statuses", validate.CheckStatusesStrings, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}
Expand All @@ -82,8 +82,8 @@ type GetEventParams struct {

func (params *GetEventParams) Validate() error { // TODO Find validation criteria for OrderHash
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.OrderHash, "orderHash", validate.CheckOrderHash, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.OrderHash, "orderHash", validate.CheckOrderHashRequired, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}

Expand All @@ -94,7 +94,7 @@ type GetEventsParams struct {

func (params *GetEventsParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.Limit, "limit", validate.CheckLimit, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}
Expand All @@ -107,8 +107,8 @@ type GetActiveOrdersWithPermitParams struct {

func (params *GetActiveOrdersWithPermitParams) Validate() error {
var validationErrors []error
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainId, validationErrors)
validationErrors = validate.Parameter(params.Wallet, "wallet", validate.CheckPrivateKey, validationErrors)
validationErrors = validate.Parameter(params.Token, "token", validate.CheckEthereumAddress, validationErrors)
validationErrors = validate.Parameter(params.ChainId, "chainId", validate.CheckChainIdRequired, validationErrors)
validationErrors = validate.Parameter(params.Wallet, "wallet", validate.CheckPrivateKeyRequired, validationErrors)
validationErrors = validate.Parameter(params.Token, "token", validate.CheckEthereumAddressRequired, validationErrors)
return validate.ConsolidateValidationErorrs(validationErrors)
}
48 changes: 28 additions & 20 deletions golang/client/orderbook/orderbook_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"github.com/stretchr/testify/require"

"github.com/1inch/1inch-sdk/golang/client/validate"
"github.com/1inch/1inch-sdk/golang/helpers"
"github.com/1inch/1inch-sdk/golang/helpers/consts/chains"
)

Expand Down Expand Up @@ -75,12 +74,12 @@ func TestGetOrdersByCreatorAddressParams_Validate(t *testing.T) {
ChainId: chains.Ethereum,
CreatorAddress: "0x1234567890abcdef1234567890abcdef12345678",
LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParams: LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParams{
Page: helpers.GetPtr(float32(1)),
Limit: helpers.GetPtr(float32(1)),
Statuses: helpers.GetPtr([]float32{1}),
SortBy: helpers.GetPtr(LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParamsSortByCreateDateTime),
TakerAsset: helpers.GetPtr("0x1234567890abcdef1234567890abcdef12345678"),
MakerAsset: helpers.GetPtr("0x1234567890abcdef1234567890abcdef12345678"),
Page: 1,
Limit: 1,
Statuses: []float32{1},
SortBy: LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParamsSortByCreateDateTime,
TakerAsset: "0x1234567890abcdef1234567890abcdef12345678",
MakerAsset: "0x1234567890abcdef1234567890abcdef12345678",
},
},
},
Expand Down Expand Up @@ -124,12 +123,12 @@ func TestGetAllOrdersParams_Validate(t *testing.T) {
params: GetAllOrdersParams{
ChainId: chains.Ethereum,
LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParams: LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParams{
Page: helpers.GetPtr(float32(1)),
Limit: helpers.GetPtr(float32(1)),
Statuses: helpers.GetPtr([]float32{1}),
SortBy: helpers.GetPtr(LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParamsSortByCreateDateTime),
TakerAsset: helpers.GetPtr("0x1234567890abcdef1234567890abcdef12345678"),
MakerAsset: helpers.GetPtr("0x1234567890abcdef1234567890abcdef12345678"),
Page: 1,
Limit: 1,
Statuses: []float32{1},
SortBy: LimitOrderV3SubscribedApiControllerGetAllLimitOrdersParamsSortByCreateDateTime,
TakerAsset: "0x1234567890abcdef1234567890abcdef12345678",
MakerAsset: "0x1234567890abcdef1234567890abcdef12345678",
},
},
},
Expand Down Expand Up @@ -256,17 +255,26 @@ func TestGetEventsParams_Validate(t *testing.T) {
description: "Valid parameters",
params: GetEventsParams{
ChainId: chains.Ethereum,
LimitOrderV3SubscribedApiControllerGetEventsParams: LimitOrderV3SubscribedApiControllerGetEventsParams{
Limit: 1,
},
},
},
{
description: "Missing required parameters",
params: GetEventsParams{},
description: "Invalid chain id",
params: GetEventsParams{
ChainId: -1,
},
expectErrors: []string{
"'chainId' is required",
"'limit': must be greater than 0", // TODO is this what I want to check here?
"'chainId': is invalid",
},
},
{
description: "Invalid limit parameter",
params: GetEventsParams{
ChainId: chains.Ethereum,
LimitOrderV3SubscribedApiControllerGetEventsParams: LimitOrderV3SubscribedApiControllerGetEventsParams{
Limit: -1,
}},
expectErrors: []string{
"'limit': must be greater than 0",
},
},
}
Expand Down
Loading

0 comments on commit a81d115

Please sign in to comment.