From f078e2bb9ebc8b782186257bd7fd06fb444c7507 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 11:51:03 -0700 Subject: [PATCH 01/15] Refactor client codegen --- Makefile | 4 +- asserter/account.go | 42 ++--- asserter/account_test.go | 108 +++++------ asserter/asserter.go | 16 +- asserter/block.go | 38 ++-- asserter/block_test.go | 178 +++++++++--------- asserter/construction.go | 10 +- asserter/construction_test.go | 38 ++-- asserter/mempool.go | 6 +- asserter/network.go | 44 ++--- asserter/network_test.go | 58 +++--- {gen => client}/api_account.go | 10 +- {gen => client}/api_block.go | 16 +- {gen => client}/api_construction.go | 16 +- {gen => client}/api_mempool.go | 16 +- {gen => client}/api_network.go | 10 +- {gen => client}/client.go | 2 +- {gen => client}/configuration.go | 2 +- {gen => client}/response.go | 2 +- codegen.sh | 20 +- fetcher/account.go | 22 +-- fetcher/block.go | 64 +++---- fetcher/construction.go | 14 +- fetcher/fetcher.go | 16 +- fetcher/mempool.go | 26 +-- fetcher/network.go | 10 +- .../account_balance_request.go | 2 +- .../account_balance_response.go | 2 +- .../account_identifier.go | 2 +- gen/model_amount.go => models/amount.go | 2 +- gen/model_balance.go => models/balance.go | 2 +- gen/model_block.go => models/block.go | 2 +- .../block_identifier.go | 2 +- .../block_request.go | 2 +- .../block_response.go | 2 +- .../block_transaction_request.go | 2 +- .../block_transaction_response.go | 2 +- gen/model_currency.go => models/currency.go | 2 +- gen/model_error.go => models/error.go | 2 +- .../mempool_request.go | 2 +- .../mempool_response.go | 2 +- .../mempool_transaction_request.go | 2 +- .../mempool_transaction_response.go | 2 +- .../network_identifier.go | 2 +- .../network_information.go | 2 +- .../network_status.go | 2 +- .../network_status_request.go | 2 +- .../network_status_response.go | 2 +- gen/model_operation.go => models/operation.go | 2 +- .../operation_identifier.go | 2 +- .../operation_status.go | 2 +- gen/model_options.go => models/options.go | 2 +- .../partial_block_identifier.go | 2 +- gen/model_peer.go => models/peer.go | 2 +- .../sub_account_identifier.go | 2 +- .../sub_network_identifier.go | 2 +- .../transaction.go | 2 +- .../transaction_construction_request.go | 2 +- .../transaction_construction_response.go | 2 +- .../transaction_identifier.go | 2 +- .../transaction_submit_request.go | 2 +- .../transaction_submit_response.go | 2 +- gen/model_version.go => models/version.go | 2 +- templates/{ => client}/README.mustache | 0 templates/{ => client}/api.mustache | 5 +- templates/{ => client}/client.mustache | 1 - templates/{ => client}/configuration.mustache | 0 templates/{ => client}/model.mustache | 0 .../{ => client}/partial_header.mustache | 0 templates/{ => client}/response.mustache | 0 templates/server/Dockerfile.mustache | 14 ++ templates/server/README.mustache | 20 ++ templates/server/api.mustache | 24 +++ templates/server/controller-api.mustache | 54 ++++++ templates/server/go.mod.mustache | 5 + templates/server/logger.mustache | 24 +++ templates/server/main.mustache | 21 +++ templates/server/model.mustache | 24 +++ templates/server/openapi.mustache | 1 + templates/server/partial_header.mustache | 17 ++ templates/server/routers.mustache | 100 ++++++++++ templates/server/service.mustache | 24 +++ 82 files changed, 773 insertions(+), 423 deletions(-) rename {gen => client}/api_account.go (93%) rename {gen => client}/api_block.go (94%) rename {gen => client}/api_construction.go (93%) rename {gen => client}/api_mempool.go (93%) rename {gen => client}/api_network.go (93%) rename {gen => client}/client.go (99%) rename {gen => client}/configuration.go (99%) rename {gen => client}/response.go (99%) rename gen/model_account_balance_request.go => models/account_balance_request.go (98%) rename gen/model_account_balance_response.go => models/account_balance_response.go (98%) rename gen/model_account_identifier.go => models/account_identifier.go (98%) rename gen/model_amount.go => models/amount.go (98%) rename gen/model_balance.go => models/balance.go (98%) rename gen/model_block.go => models/block.go (98%) rename gen/model_block_identifier.go => models/block_identifier.go (98%) rename gen/model_block_request.go => models/block_request.go (98%) rename gen/model_block_response.go => models/block_response.go (98%) rename gen/model_block_transaction_request.go => models/block_transaction_request.go (98%) rename gen/model_block_transaction_response.go => models/block_transaction_response.go (98%) rename gen/model_currency.go => models/currency.go (98%) rename gen/model_error.go => models/error.go (98%) rename gen/model_mempool_request.go => models/mempool_request.go (98%) rename gen/model_mempool_response.go => models/mempool_response.go (98%) rename gen/model_mempool_transaction_request.go => models/mempool_transaction_request.go (98%) rename gen/model_mempool_transaction_response.go => models/mempool_transaction_response.go (98%) rename gen/model_network_identifier.go => models/network_identifier.go (98%) rename gen/model_network_information.go => models/network_information.go (98%) rename gen/model_network_status.go => models/network_status.go (98%) rename gen/model_network_status_request.go => models/network_status_request.go (98%) rename gen/model_network_status_response.go => models/network_status_response.go (98%) rename gen/model_operation.go => models/operation.go (99%) rename gen/model_operation_identifier.go => models/operation_identifier.go (98%) rename gen/model_operation_status.go => models/operation_status.go (98%) rename gen/model_options.go => models/options.go (99%) rename gen/model_partial_block_identifier.go => models/partial_block_identifier.go (98%) rename gen/model_peer.go => models/peer.go (98%) rename gen/model_sub_account_identifier.go => models/sub_account_identifier.go (98%) rename gen/model_sub_network_identifier.go => models/sub_network_identifier.go (98%) rename gen/model_transaction.go => models/transaction.go (98%) rename gen/model_transaction_construction_request.go => models/transaction_construction_request.go (99%) rename gen/model_transaction_construction_response.go => models/transaction_construction_response.go (98%) rename gen/model_transaction_identifier.go => models/transaction_identifier.go (98%) rename gen/model_transaction_submit_request.go => models/transaction_submit_request.go (98%) rename gen/model_transaction_submit_response.go => models/transaction_submit_response.go (98%) rename gen/model_version.go => models/version.go (99%) rename templates/{ => client}/README.mustache (100%) rename templates/{ => client}/api.mustache (94%) rename templates/{ => client}/client.mustache (99%) rename templates/{ => client}/configuration.mustache (100%) rename templates/{ => client}/model.mustache (100%) rename templates/{ => client}/partial_header.mustache (100%) rename templates/{ => client}/response.mustache (100%) create mode 100644 templates/server/Dockerfile.mustache create mode 100644 templates/server/README.mustache create mode 100644 templates/server/api.mustache create mode 100644 templates/server/controller-api.mustache create mode 100644 templates/server/go.mod.mustache create mode 100644 templates/server/logger.mustache create mode 100644 templates/server/main.mustache create mode 100644 templates/server/model.mustache create mode 100644 templates/server/openapi.mustache create mode 100644 templates/server/partial_header.mustache create mode 100644 templates/server/routers.mustache create mode 100644 templates/server/service.mustache diff --git a/Makefile b/Makefile index 3b5673fe..b9a6e8a1 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: deps gen lint format check-format test test-coverage add-license \ check-license shorten-lines shellcheck salus release LICENCE_SCRIPT=addlicense -c "Coinbase, Inc." -l "apache" -v -TEST_SCRIPT=go test -v ./asserter/... ./fetcher/... ./gen/... +TEST_SCRIPT=go test -v ./asserter/... ./fetcher/... ./models/... ./client/... deps: go get ./... @@ -38,7 +38,7 @@ check-license: ${LICENCE_SCRIPT} -check . shorten-lines: - golines -w --shorten-comments asserter fetcher gen + golines -w --shorten-comments asserter fetcher models client shellcheck: shellcheck codegen.sh diff --git a/asserter/account.go b/asserter/account.go index 3f5bc375..6c747541 100644 --- a/asserter/account.go +++ b/asserter/account.go @@ -18,17 +18,17 @@ import ( "fmt" "reflect" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // containsAccountIdentifier returns a boolean indicating if a -// *rosetta.AccountIdentifier is contained within a slice of -// *rosetta.AccountIdentifier. The check for equality takes -// into account everything within the rosetta.AccountIdentifier +// *models.AccountIdentifier is contained within a slice of +// *models.AccountIdentifier. The check for equality takes +// into account everything within the models.AccountIdentifier // struct (including the SubAccountIdentifier). func containsAccountIdentifier( - identifiers []*rosetta.AccountIdentifier, - identifier *rosetta.AccountIdentifier, + identifiers []*models.AccountIdentifier, + identifier *models.AccountIdentifier, ) bool { for _, ident := range identifiers { if reflect.DeepEqual(ident, identifier) { @@ -40,11 +40,11 @@ func containsAccountIdentifier( } // containsCurrency returns a boolean indicating if a -// *rosetta.Currency is contained within a slice of -// *rosetta.Currency. The check for equality takes -// into account everything within the rosetta.Currency +// *models.Currency is contained within a slice of +// *models.Currency. The check for equality takes +// into account everything within the models.Currency // struct (including currency.Metadata). -func containsCurrency(currencies []*rosetta.Currency, currency *rosetta.Currency) bool { +func containsCurrency(currencies []*models.Currency, currency *models.Currency) bool { for _, curr := range currencies { if reflect.DeepEqual(curr, currency) { return true @@ -55,12 +55,12 @@ func containsCurrency(currencies []*rosetta.Currency, currency *rosetta.Currency } // assertBalanceAmounts returns an error if a slice -// of rosetta.Amount returned as an rosetta.AccountIdentifier's +// of models.Amount returned as an models.AccountIdentifier's // balance is invalid. It is considered invalid if the same // currency is returned multiple times (these shoould be -// consolidated) or if a rosetta.Amount is considered invalid. -func assertBalanceAmounts(amounts []*rosetta.Amount) error { - currencies := make([]*rosetta.Currency, 0) +// consolidated) or if a models.Amount is considered invalid. +func assertBalanceAmounts(amounts []*models.Amount) error { + currencies := make([]*models.Currency, 0) for _, amount := range amounts { // Ensure a currency is used at most once in balance.Amounts if containsCurrency(currencies, amount.Currency) { @@ -77,19 +77,19 @@ func assertBalanceAmounts(amounts []*rosetta.Amount) error { } // AccountBalance returns an error if the provided -// rosetta.BlockIdentifier is invalid, if the same -// rosetta.AccountIdentifier appears in multiple -// rosetta.Balance structs (should be consolidated), -// or if a rosetta.Balance is considered invalid. +// models.BlockIdentifier is invalid, if the same +// models.AccountIdentifier appears in multiple +// models.Balance structs (should be consolidated), +// or if a models.Balance is considered invalid. func AccountBalance( - block *rosetta.BlockIdentifier, - balances []*rosetta.Balance, + block *models.BlockIdentifier, + balances []*models.Balance, ) error { if err := BlockIdentifier(block); err != nil { return err } - accounts := make([]*rosetta.AccountIdentifier, 0) + accounts := make([]*models.AccountIdentifier, 0) for _, balance := range balances { if err := AccountIdentifier(balance.AccountIdentifier); err != nil { return err diff --git a/asserter/account_test.go b/asserter/account_test.go index da36e399..7e72cc33 100644 --- a/asserter/account_test.go +++ b/asserter/account_test.go @@ -19,32 +19,32 @@ import ( "fmt" "testing" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" "github.com/stretchr/testify/assert" ) func TestContainsCurrency(t *testing.T) { var tests = map[string]struct { - currencies []*rosetta.Currency - currency *rosetta.Currency + currencies []*models.Currency + currency *models.Currency contains bool }{ "simple contains": { - currencies: []*rosetta.Currency{ + currencies: []*models.Currency{ { Symbol: "BTC", Decimals: 8, }, }, - currency: &rosetta.Currency{ + currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, contains: true, }, "complex contains": { - currencies: []*rosetta.Currency{ + currencies: []*models.Currency{ { Symbol: "BTC", Decimals: 8, @@ -53,7 +53,7 @@ func TestContainsCurrency(t *testing.T) { }, }, }, - currency: &rosetta.Currency{ + currency: &models.Currency{ Symbol: "BTC", Decimals: 8, Metadata: &map[string]interface{}{ @@ -63,41 +63,41 @@ func TestContainsCurrency(t *testing.T) { contains: true, }, "empty": { - currencies: []*rosetta.Currency{}, - currency: &rosetta.Currency{ + currencies: []*models.Currency{}, + currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, contains: false, }, "symbol mismatch": { - currencies: []*rosetta.Currency{ + currencies: []*models.Currency{ { Symbol: "ERX", Decimals: 8, }, }, - currency: &rosetta.Currency{ + currency: &models.Currency{ Symbol: "BTC", Decimals: 6, }, contains: false, }, "decimal mismatch": { - currencies: []*rosetta.Currency{ + currencies: []*models.Currency{ { Symbol: "BTC", Decimals: 8, }, }, - currency: &rosetta.Currency{ + currency: &models.Currency{ Symbol: "BTC", Decimals: 6, }, contains: false, }, "metadata mismatch": { - currencies: []*rosetta.Currency{ + currencies: []*models.Currency{ { Symbol: "BTC", Decimals: 8, @@ -106,7 +106,7 @@ func TestContainsCurrency(t *testing.T) { }, }, }, - currency: &rosetta.Currency{ + currency: &models.Currency{ Symbol: "BTC", Decimals: 8, Metadata: &map[string]interface{}{ @@ -127,26 +127,26 @@ func TestContainsCurrency(t *testing.T) { func TestContainsAccountIdentifier(t *testing.T) { var tests = map[string]struct { - identifiers []*rosetta.AccountIdentifier - identifier *rosetta.AccountIdentifier + identifiers []*models.AccountIdentifier + identifier *models.AccountIdentifier contains bool }{ "simple contains": { - identifiers: []*rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{ { Address: "acct1", }, }, - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", }, contains: true, }, "complex contains": { - identifiers: []*rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{ { Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct1", Metadata: &map[string]interface{}{ "blah": "hello", @@ -154,9 +154,9 @@ func TestContainsAccountIdentifier(t *testing.T) { }, }, }, - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct1", Metadata: &map[string]interface{}{ "blah": "hello", @@ -166,28 +166,28 @@ func TestContainsAccountIdentifier(t *testing.T) { contains: true, }, "simple mismatch": { - identifiers: []*rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{ { Address: "acct1", }, }, - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct2", }, contains: false, }, "empty": { - identifiers: []*rosetta.AccountIdentifier{}, - identifier: &rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{}, + identifier: &models.AccountIdentifier{ Address: "acct2", }, contains: false, }, "subaccount mismatch": { - identifiers: []*rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{ { Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct2", Metadata: &map[string]interface{}{ "blah": "hello", @@ -195,9 +195,9 @@ func TestContainsAccountIdentifier(t *testing.T) { }, }, }, - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct1", Metadata: &map[string]interface{}{ "blah": "hello", @@ -207,10 +207,10 @@ func TestContainsAccountIdentifier(t *testing.T) { contains: false, }, "metadata mismatch": { - identifiers: []*rosetta.AccountIdentifier{ + identifiers: []*models.AccountIdentifier{ { Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct1", Metadata: &map[string]interface{}{ "blah": "hello", @@ -218,9 +218,9 @@ func TestContainsAccountIdentifier(t *testing.T) { }, }, }, - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "subacct1", Metadata: &map[string]interface{}{ "blah": "bye", @@ -240,43 +240,43 @@ func TestContainsAccountIdentifier(t *testing.T) { } func TestAccoutBalance(t *testing.T) { - validBlock := &rosetta.BlockIdentifier{ + validBlock := &models.BlockIdentifier{ Index: 1000, Hash: "jsakdl", } - invalidBlock := &rosetta.BlockIdentifier{ + invalidBlock := &models.BlockIdentifier{ Index: 1, Hash: "", } - validIdentifier := &rosetta.AccountIdentifier{ + validIdentifier := &models.AccountIdentifier{ Address: "acct1", } - invalidIdentifier := &rosetta.AccountIdentifier{ + invalidIdentifier := &models.AccountIdentifier{ Address: "", } - validAmount := &rosetta.Amount{ + validAmount := &models.Amount{ Value: "100", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, } var tests = map[string]struct { - block *rosetta.BlockIdentifier - balances []*rosetta.Balance + block *models.BlockIdentifier + balances []*models.Balance err error }{ "simple balance": { block: validBlock, - balances: []*rosetta.Balance{ + balances: []*models.Balance{ { AccountIdentifier: validIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, }, }, @@ -285,10 +285,10 @@ func TestAccoutBalance(t *testing.T) { }, "invalid block": { block: invalidBlock, - balances: []*rosetta.Balance{ + balances: []*models.Balance{ { AccountIdentifier: validIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, }, }, @@ -297,10 +297,10 @@ func TestAccoutBalance(t *testing.T) { }, "invalid account identifier": { block: validBlock, - balances: []*rosetta.Balance{ + balances: []*models.Balance{ { AccountIdentifier: invalidIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, }, }, @@ -309,10 +309,10 @@ func TestAccoutBalance(t *testing.T) { }, "duplicate currency": { block: validBlock, - balances: []*rosetta.Balance{ + balances: []*models.Balance{ { AccountIdentifier: validIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, validAmount, }, @@ -322,16 +322,16 @@ func TestAccoutBalance(t *testing.T) { }, "duplicate identifier": { block: validBlock, - balances: []*rosetta.Balance{ + balances: []*models.Balance{ { AccountIdentifier: validIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, }, }, { AccountIdentifier: validIdentifier, - Amounts: []*rosetta.Amount{ + Amounts: []*models.Amount{ validAmount, }, }, diff --git a/asserter/asserter.go b/asserter/asserter.go index 7478610c..0be6c9ca 100644 --- a/asserter/asserter.go +++ b/asserter/asserter.go @@ -18,7 +18,7 @@ import ( "context" "errors" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // Asserter contains all logic to perform static @@ -26,14 +26,14 @@ import ( type Asserter struct { operationTypes []string operationStatusMap map[string]bool - errorTypeMap map[int32]*rosetta.Error + errorTypeMap map[int32]*models.Error genesisIndex int64 } // New constructs a new Asserter. func New( ctx context.Context, - networkResponse *rosetta.NetworkStatusResponse, + networkResponse *models.NetworkStatusResponse, ) (*Asserter, error) { if len(networkResponse.NetworkStatus) == 0 { return nil, errors.New("no available networks in network response") @@ -51,13 +51,13 @@ func New( } // NewOptions constructs a new Asserter using the provided -// arguments instead of using a rosetta.NetworkStatusResponse. +// arguments instead of using a models.NetworkStatusResponse. func NewOptions( ctx context.Context, - genesisBlockIdentifier *rosetta.BlockIdentifier, + genesisBlockIdentifier *models.BlockIdentifier, operationTypes []string, - operationStatuses []*rosetta.OperationStatus, - errors []*rosetta.Error, + operationStatuses []*models.OperationStatus, + errors []*models.Error, ) *Asserter { asserter := &Asserter{ operationTypes: operationTypes, @@ -69,7 +69,7 @@ func NewOptions( asserter.operationStatusMap[status.Status] = status.Successful } - asserter.errorTypeMap = map[int32]*rosetta.Error{} + asserter.errorTypeMap = map[int32]*models.Error{} for _, err := range errors { asserter.errorTypeMap[err.Code] = err } diff --git a/asserter/block.go b/asserter/block.go index 1c639404..4f07a692 100644 --- a/asserter/block.go +++ b/asserter/block.go @@ -20,12 +20,12 @@ import ( "fmt" "math/big" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) -// Amount ensures a rosetta.Amount has an +// Amount ensures a models.Amount has an // integer value, specified precision, and symbol. -func Amount(amount *rosetta.Amount) error { +func Amount(amount *models.Amount) error { if amount == nil || amount.Value == "" { return errors.New("Amount.Value is missing") } @@ -63,10 +63,10 @@ func contains(valid []string, value string) bool { } // OperationIdentifier returns an error if index of the -// rosetta.Operation is out-of-order or if the NetworkIndex is +// models.Operation is out-of-order or if the NetworkIndex is // invalid. func OperationIdentifier( - identifier *rosetta.OperationIdentifier, + identifier *models.OperationIdentifier, index int64, ) error { if identifier == nil || identifier.Index != index { @@ -80,9 +80,9 @@ func OperationIdentifier( return nil } -// AccountIdentifier returns an error if a rosetta.AccountIdentifier +// AccountIdentifier returns an error if a models.AccountIdentifier // is missing an address or a provided SubAccount is missing an identifier. -func AccountIdentifier(account *rosetta.AccountIdentifier) error { +func AccountIdentifier(account *models.AccountIdentifier) error { if account == nil { return errors.New("Account is nil") } @@ -102,10 +102,10 @@ func AccountIdentifier(account *rosetta.AccountIdentifier) error { return nil } -// OperationSuccessful returns a boolean indicating if a rosetta.Operation is +// OperationSuccessful returns a boolean indicating if a models.Operation is // successful and should be applied in a transaction. This should only be called // AFTER an operation has been validated. -func (a *Asserter) OperationSuccessful(operation *rosetta.Operation) (bool, error) { +func (a *Asserter) OperationSuccessful(operation *models.Operation) (bool, error) { val, ok := a.operationStatusMap[operation.Status] if !ok { return false, fmt.Errorf("%s not found", operation.Status) @@ -114,10 +114,10 @@ func (a *Asserter) OperationSuccessful(operation *rosetta.Operation) (bool, erro return val, nil } -// Operation ensures a rosetta.Operation has a valid +// Operation ensures a models.Operation has a valid // type, status, and amount. func (a *Asserter) Operation( - operation *rosetta.Operation, + operation *models.Operation, index int64, ) error { if operation == nil { @@ -147,9 +147,9 @@ func (a *Asserter) Operation( return Amount(operation.Amount) } -// BlockIdentifier ensures a rosetta.BlockIdentifier +// BlockIdentifier ensures a models.BlockIdentifier // is well-formatted. -func BlockIdentifier(blockIdentifier *rosetta.BlockIdentifier) error { +func BlockIdentifier(blockIdentifier *models.BlockIdentifier) error { if blockIdentifier == nil || blockIdentifier.Hash == "" { return errors.New("BlockIdentifier.Hash is missing") } @@ -162,9 +162,9 @@ func BlockIdentifier(blockIdentifier *rosetta.BlockIdentifier) error { } // TransactionIdentifier returns an error if a -// rosetta.TransactionIdentifier has an invalid hash. +// models.TransactionIdentifier has an invalid hash. func TransactionIdentifier( - transactionIdentifier *rosetta.TransactionIdentifier, + transactionIdentifier *models.TransactionIdentifier, ) error { if transactionIdentifier == nil || transactionIdentifier.Hash == "" { return errors.New("Transaction.TransactionIdentifier.Hash is missing") @@ -173,11 +173,11 @@ func TransactionIdentifier( return nil } -// Transaction returns an error if the rosetta.TransactionIdentifier -// is invalid, if any rosetta.Operation within the rosetta.Transaction +// Transaction returns an error if the models.TransactionIdentifier +// is invalid, if any models.Operation within the models.Transaction // is invalid, or if any operation index is reused within a transaction. func (a *Asserter) Transaction( - transaction *rosetta.Transaction, + transaction *models.Transaction, ) error { if transaction == nil { return errors.New("transaction is nil") @@ -209,7 +209,7 @@ func Timestamp(timestamp int64) error { // Block runs a basic set of assertions for each returned block. func (a *Asserter) Block( ctx context.Context, - block *rosetta.Block, + block *models.Block, ) error { if block == nil { return errors.New("block is nil") diff --git a/asserter/block_test.go b/asserter/block_test.go index 97017a17..8e8645b5 100644 --- a/asserter/block_test.go +++ b/asserter/block_test.go @@ -19,20 +19,20 @@ import ( "errors" "testing" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" "github.com/stretchr/testify/assert" ) func TestAmount(t *testing.T) { var tests = map[string]struct { - amount *rosetta.Amount + amount *models.Amount err error }{ "valid amount": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "100000", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 1, }, @@ -40,9 +40,9 @@ func TestAmount(t *testing.T) { err: nil, }, "valid negative amount": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "-100000", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 1, }, @@ -54,15 +54,15 @@ func TestAmount(t *testing.T) { err: errors.New("Amount.Value is missing"), }, "nil currency": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "100000", }, err: errors.New("Amount.Currency is nil"), }, "invalid non-number": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "blah", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 1, }, @@ -70,9 +70,9 @@ func TestAmount(t *testing.T) { err: errors.New("Amount.Value not an integer blah"), }, "invalid integer format": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "1.0", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 1, }, @@ -80,9 +80,9 @@ func TestAmount(t *testing.T) { err: errors.New("Amount.Value not an integer 1.0"), }, "invalid non-integer": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "1.1", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 1, }, @@ -90,18 +90,18 @@ func TestAmount(t *testing.T) { err: errors.New("Amount.Value not an integer 1.1"), }, "invalid symbol": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "11", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Decimals: 1, }, }, err: errors.New("Amount.Currency.Symbol is empty"), }, "invalid decimals": { - amount: &rosetta.Amount{ + amount: &models.Amount{ Value: "111", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", }, }, @@ -124,12 +124,12 @@ func TestOperationIdentifier(t *testing.T) { ) var tests = map[string]struct { - identifier *rosetta.OperationIdentifier + identifier *models.OperationIdentifier index int64 err error }{ "valid identifier": { - identifier: &rosetta.OperationIdentifier{ + identifier: &models.OperationIdentifier{ Index: 0, }, index: 0, @@ -141,14 +141,14 @@ func TestOperationIdentifier(t *testing.T) { err: errors.New("Operation.OperationIdentifier.Index invalid"), }, "out-of-order index": { - identifier: &rosetta.OperationIdentifier{ + identifier: &models.OperationIdentifier{ Index: 0, }, index: 1, err: errors.New("Operation.OperationIdentifier.Index invalid"), }, "valid identifier with network index": { - identifier: &rosetta.OperationIdentifier{ + identifier: &models.OperationIdentifier{ Index: 0, NetworkIndex: &validNetworkIndex, }, @@ -156,7 +156,7 @@ func TestOperationIdentifier(t *testing.T) { err: nil, }, "invalid identifier with network index": { - identifier: &rosetta.OperationIdentifier{ + identifier: &models.OperationIdentifier{ Index: 0, NetworkIndex: &invalidNetworkIndex, }, @@ -175,34 +175,34 @@ func TestOperationIdentifier(t *testing.T) { func TestAccountIdentifier(t *testing.T) { var tests = map[string]struct { - identifier *rosetta.AccountIdentifier + identifier *models.AccountIdentifier err error }{ "valid identifier": { - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", }, err: nil, }, "invalid address": { - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "", }, err: errors.New("Account.Address is missing"), }, "valid identifier with subaccount": { - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "acct2", }, }, err: nil, }, "invalid identifier with subaccount": { - identifier: &rosetta.AccountIdentifier{ + identifier: &models.AccountIdentifier{ Address: "acct1", - SubAccount: &rosetta.SubAccountIdentifier{ + SubAccount: &models.SubAccountIdentifier{ Address: "", }, }, @@ -220,28 +220,28 @@ func TestAccountIdentifier(t *testing.T) { func TestOperation(t *testing.T) { var ( - validAmount = &rosetta.Amount{ + validAmount = &models.Amount{ Value: "1000", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, } - validAccount = &rosetta.AccountIdentifier{ + validAccount = &models.AccountIdentifier{ Address: "test", } ) var tests = map[string]struct { - operation *rosetta.Operation + operation *models.Operation index int64 successful bool err error }{ "valid operation": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -254,8 +254,8 @@ func TestOperation(t *testing.T) { err: nil, }, "valid operation no account": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -271,8 +271,8 @@ func TestOperation(t *testing.T) { err: errors.New("Operation is nil"), }, "invalid operation no account": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -283,21 +283,21 @@ func TestOperation(t *testing.T) { err: errors.New("Account is nil"), }, "invalid operation empty account": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", Status: "SUCCESS", - Account: &rosetta.AccountIdentifier{}, + Account: &models.AccountIdentifier{}, Amount: validAmount, }, index: int64(1), err: errors.New("Account.Address is missing"), }, "invalid operation invalid index": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -307,8 +307,8 @@ func TestOperation(t *testing.T) { err: errors.New("Operation.OperationIdentifier.Index invalid"), }, "invalid operation invalid type": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "STAKE", @@ -318,8 +318,8 @@ func TestOperation(t *testing.T) { err: errors.New("Operation.Type STAKE is invalid"), }, "unsuccessful operation": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -330,8 +330,8 @@ func TestOperation(t *testing.T) { err: nil, }, "invalid operation invalid status": { - operation: &rosetta.Operation{ - OperationIdentifier: &rosetta.OperationIdentifier{ + operation: &models.Operation{ + OperationIdentifier: &models.OperationIdentifier{ Index: int64(1), }, Type: "PAYMENT", @@ -345,18 +345,18 @@ func TestOperation(t *testing.T) { for name, test := range tests { asserter, err := New( context.Background(), - &rosetta.NetworkStatusResponse{ - NetworkStatus: []*rosetta.NetworkStatus{ + &models.NetworkStatusResponse{ + NetworkStatus: []*models.NetworkStatus{ { - NetworkInformation: &rosetta.NetworkInformation{ - GenesisBlockIdentifier: &rosetta.BlockIdentifier{ + NetworkInformation: &models.NetworkInformation{ + GenesisBlockIdentifier: &models.BlockIdentifier{ Index: 0, }, }, }, }, - Options: &rosetta.Options{ - OperationStatuses: []*rosetta.OperationStatus{ + Options: &models.Options{ + OperationStatuses: []*models.OperationStatus{ { Status: "SUCCESS", Successful: true, @@ -386,39 +386,39 @@ func TestOperation(t *testing.T) { } func TestBlock(t *testing.T) { - validBlockIdentifier := &rosetta.BlockIdentifier{ + validBlockIdentifier := &models.BlockIdentifier{ Hash: "blah", Index: 100, } - validParentBlockIdentifier := &rosetta.BlockIdentifier{ + validParentBlockIdentifier := &models.BlockIdentifier{ Hash: "blah parent", Index: 99, } - validTransaction := &rosetta.Transaction{ - TransactionIdentifier: &rosetta.TransactionIdentifier{ + validTransaction := &models.Transaction{ + TransactionIdentifier: &models.TransactionIdentifier{ Hash: "blah", }, } var tests = map[string]struct { - block *rosetta.Block + block *models.Block genesisIndex int64 err error }{ "valid block": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, ParentBlockIdentifier: validParentBlockIdentifier, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: nil, }, "genesis block": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, ParentBlockIdentifier: validBlockIdentifier, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, genesisIndex: validBlockIdentifier.Index, err: nil, @@ -428,70 +428,70 @@ func TestBlock(t *testing.T) { err: errors.New("block is nil"), }, "nil block hash": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: nil, ParentBlockIdentifier: validParentBlockIdentifier, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("BlockIdentifier.Hash is missing"), }, "invalid block hash": { - block: &rosetta.Block{ - BlockIdentifier: &rosetta.BlockIdentifier{}, + block: &models.Block{ + BlockIdentifier: &models.BlockIdentifier{}, ParentBlockIdentifier: validParentBlockIdentifier, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("BlockIdentifier.Hash is missing"), }, "block previous hash missing": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, - ParentBlockIdentifier: &rosetta.BlockIdentifier{}, + ParentBlockIdentifier: &models.BlockIdentifier{}, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("BlockIdentifier.Hash is missing"), }, "invalid parent block index": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, - ParentBlockIdentifier: &rosetta.BlockIdentifier{ + ParentBlockIdentifier: &models.BlockIdentifier{ Hash: validParentBlockIdentifier.Hash, Index: validBlockIdentifier.Index, }, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("Block.BlockIdentifier.Index <= Block.ParentBlockIdentifier.Index"), }, "invalid parent block hash": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, - ParentBlockIdentifier: &rosetta.BlockIdentifier{ + ParentBlockIdentifier: &models.BlockIdentifier{ Hash: validBlockIdentifier.Hash, Index: validParentBlockIdentifier.Index, }, Timestamp: 1, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("Block.BlockIdentifier.Hash == Block.ParentBlockIdentifier.Hash"), }, "invalid block timestamp": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, ParentBlockIdentifier: validParentBlockIdentifier, - Transactions: []*rosetta.Transaction{validTransaction}, + Transactions: []*models.Transaction{validTransaction}, }, err: errors.New("Timestamp is invalid 0"), }, "invalid block transaction": { - block: &rosetta.Block{ + block: &models.Block{ BlockIdentifier: validBlockIdentifier, ParentBlockIdentifier: validParentBlockIdentifier, Timestamp: 1, - Transactions: []*rosetta.Transaction{ + Transactions: []*models.Transaction{ {}, }, }, @@ -503,18 +503,18 @@ func TestBlock(t *testing.T) { t.Run(name, func(t *testing.T) { asserter, err := New( context.Background(), - &rosetta.NetworkStatusResponse{ - NetworkStatus: []*rosetta.NetworkStatus{ + &models.NetworkStatusResponse{ + NetworkStatus: []*models.NetworkStatus{ { - NetworkInformation: &rosetta.NetworkInformation{ - GenesisBlockIdentifier: &rosetta.BlockIdentifier{ + NetworkInformation: &models.NetworkInformation{ + GenesisBlockIdentifier: &models.BlockIdentifier{ Index: test.genesisIndex, }, }, }, }, - Options: &rosetta.Options{ - OperationStatuses: []*rosetta.OperationStatus{}, + Options: &models.Options{ + OperationStatuses: []*models.OperationStatus{}, OperationTypes: []string{}, }, }, diff --git a/asserter/construction.go b/asserter/construction.go index 3d41a177..0be32627 100644 --- a/asserter/construction.go +++ b/asserter/construction.go @@ -15,23 +15,23 @@ package asserter import ( - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // TransactionConstruction returns an error if -// the NetworkFee is not a valid rosetta.Amount. +// the NetworkFee is not a valid models.Amount. func TransactionConstruction( - response *rosetta.TransactionConstructionResponse, + response *models.TransactionConstructionResponse, ) error { return Amount(response.NetworkFee) } // TransactionSubmit returns an error if -// the rosetta.TransactionIdentifier in the response is not +// the models.TransactionIdentifier in the response is not // valid or if the Submission.Status is not contained // within the provided validStatuses slice. func (a *Asserter) TransactionSubmit( - response *rosetta.TransactionSubmitResponse, + response *models.TransactionSubmitResponse, ) error { if err := TransactionIdentifier(response.TransactionIdentifier); err != nil { return err diff --git a/asserter/construction_test.go b/asserter/construction_test.go index e078c7fd..49369888 100644 --- a/asserter/construction_test.go +++ b/asserter/construction_test.go @@ -19,40 +19,40 @@ import ( "errors" "testing" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" "github.com/stretchr/testify/assert" ) func TestTransactionConstruction(t *testing.T) { - validAmount := &rosetta.Amount{ + validAmount := &models.Amount{ Value: "1", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, } - invalidAmount := &rosetta.Amount{ + invalidAmount := &models.Amount{ Value: "", - Currency: &rosetta.Currency{ + Currency: &models.Currency{ Symbol: "BTC", Decimals: 8, }, } var tests = map[string]struct { - response *rosetta.TransactionConstructionResponse + response *models.TransactionConstructionResponse err error }{ "valid response": { - response: &rosetta.TransactionConstructionResponse{ + response: &models.TransactionConstructionResponse{ NetworkFee: validAmount, }, err: nil, }, "valid response with metadata": { - response: &rosetta.TransactionConstructionResponse{ + response: &models.TransactionConstructionResponse{ NetworkFee: validAmount, Metadata: &map[string]interface{}{ "blah": "hello", @@ -61,7 +61,7 @@ func TestTransactionConstruction(t *testing.T) { err: nil, }, "invalid amount": { - response: &rosetta.TransactionConstructionResponse{ + response: &models.TransactionConstructionResponse{ NetworkFee: invalidAmount, }, err: errors.New("Amount.Value is missing"), @@ -78,19 +78,19 @@ func TestTransactionConstruction(t *testing.T) { func TestTransactionSubmit(t *testing.T) { var tests = map[string]struct { - response *rosetta.TransactionSubmitResponse + response *models.TransactionSubmitResponse err error }{ "valid response": { - response: &rosetta.TransactionSubmitResponse{ - TransactionIdentifier: &rosetta.TransactionIdentifier{ + response: &models.TransactionSubmitResponse{ + TransactionIdentifier: &models.TransactionIdentifier{ Hash: "tx1", }, }, err: nil, }, "invalid transaction identifier": { - response: &rosetta.TransactionSubmitResponse{}, + response: &models.TransactionSubmitResponse{}, err: errors.New("Transaction.TransactionIdentifier.Hash is missing"), }, } @@ -98,18 +98,18 @@ func TestTransactionSubmit(t *testing.T) { for name, test := range tests { asserter, err := New( context.Background(), - &rosetta.NetworkStatusResponse{ - NetworkStatus: []*rosetta.NetworkStatus{ + &models.NetworkStatusResponse{ + NetworkStatus: []*models.NetworkStatus{ { - NetworkInformation: &rosetta.NetworkInformation{ - GenesisBlockIdentifier: &rosetta.BlockIdentifier{ + NetworkInformation: &models.NetworkInformation{ + GenesisBlockIdentifier: &models.BlockIdentifier{ Index: 0, }, }, }, }, - Options: &rosetta.Options{ - OperationStatuses: []*rosetta.OperationStatus{ + Options: &models.Options{ + OperationStatuses: []*models.OperationStatus{ { Status: "SUCCESS", Successful: true, diff --git a/asserter/mempool.go b/asserter/mempool.go index 0abafa77..2b5caead 100644 --- a/asserter/mempool.go +++ b/asserter/mempool.go @@ -15,15 +15,15 @@ package asserter import ( - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // MempoolTransactions returns an error if any -// rosetta.TransactionIdentifier returns is missing a hash. +// models.TransactionIdentifier returns is missing a hash. // The correctness of each populated MempoolTransaction is // asserted by Transaction. func MempoolTransactions( - transactions []*rosetta.TransactionIdentifier, + transactions []*models.TransactionIdentifier, ) error { for _, t := range transactions { if err := TransactionIdentifier(t); err != nil { diff --git a/asserter/network.go b/asserter/network.go index f9780df9..8cb1e7a9 100644 --- a/asserter/network.go +++ b/asserter/network.go @@ -18,11 +18,11 @@ import ( "errors" "fmt" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) -// SubNetworkIdentifier asserts a rosetta.SubNetworkIdentifer is valid (if not nil). -func SubNetworkIdentifier(subNetworkIdentifier *rosetta.SubNetworkIdentifier) error { +// SubNetworkIdentifier asserts a models.SubNetworkIdentifer is valid (if not nil). +func SubNetworkIdentifier(subNetworkIdentifier *models.SubNetworkIdentifier) error { if subNetworkIdentifier == nil { return nil } @@ -34,9 +34,9 @@ func SubNetworkIdentifier(subNetworkIdentifier *rosetta.SubNetworkIdentifier) er return nil } -// NetworkIdentifier ensures a rosetta.NetworkIdentifier has +// NetworkIdentifier ensures a models.NetworkIdentifier has // a valid blockchain and network. -func NetworkIdentifier(network *rosetta.NetworkIdentifier) error { +func NetworkIdentifier(network *models.NetworkIdentifier) error { if network == nil || network.Blockchain == "" { return errors.New("NetworkIdentifier.Blockchain is missing") } @@ -48,8 +48,8 @@ func NetworkIdentifier(network *rosetta.NetworkIdentifier) error { return SubNetworkIdentifier(network.SubNetworkIdentifier) } -// Peer ensures a rosetta.Peer has a valid peer_id. -func Peer(peer *rosetta.Peer) error { +// Peer ensures a models.Peer has a valid peer_id. +func Peer(peer *models.Peer) error { if peer == nil || peer.PeerID == "" { return errors.New("Peer.PeerID is missing") } @@ -59,7 +59,7 @@ func Peer(peer *rosetta.Peer) error { // Version ensures the version of the node is // returned. -func Version(version *rosetta.Version) error { +func Version(version *models.Version) error { if version == nil { return errors.New("version is nil") } @@ -91,9 +91,9 @@ func StringArray(arrName string, arr []string) error { return nil } -// NetworkInformation ensures any rosetta.NetworkInformation -// included in rosetta.NetworkStatus or rosetta.SubNetworkStatus is valid. -func NetworkInformation(networkInformation *rosetta.NetworkInformation) error { +// NetworkInformation ensures any models.NetworkInformation +// included in models.NetworkStatus or models.SubNetworkStatus is valid. +func NetworkInformation(networkInformation *models.NetworkInformation) error { if networkInformation == nil { return errors.New("network information is nil") } @@ -119,8 +119,8 @@ func NetworkInformation(networkInformation *rosetta.NetworkInformation) error { return nil } -// NetworkStatus ensures a rosetta.NetworkStatus object is valid. -func NetworkStatus(networkStatus *rosetta.NetworkStatus) error { +// NetworkStatus ensures a models.NetworkStatus object is valid. +func NetworkStatus(networkStatus *models.NetworkStatus) error { if networkStatus == nil { return errors.New("network status is nil") } @@ -138,7 +138,7 @@ func NetworkStatus(networkStatus *rosetta.NetworkStatus) error { // OperationStatuses ensures all items in Options.OperationStatuses // are valid and that there exists at least 1 successful status. -func OperationStatuses(statuses []*rosetta.OperationStatus) error { +func OperationStatuses(statuses []*models.OperationStatus) error { if len(statuses) == 0 { return errors.New("no Options.OperationStatuses found") } @@ -161,8 +161,8 @@ func OperationStatuses(statuses []*rosetta.OperationStatus) error { return nil } -// Error ensures a rosetta.Error is valid. -func Error(err *rosetta.Error) error { +// Error ensures a models.Error is valid. +func Error(err *models.Error) error { if err == nil { return errors.New("Error is nil") } @@ -178,9 +178,9 @@ func Error(err *rosetta.Error) error { return nil } -// Errors ensures each rosetta.Error in a slice is valid +// Errors ensures each models.Error in a slice is valid // and that there is no error code collision. -func Errors(rosettaErrors []*rosetta.Error) error { +func Errors(rosettaErrors []*models.Error) error { statusCodes := map[int32]struct{}{} for _, rosettaError := range rosettaErrors { @@ -199,8 +199,8 @@ func Errors(rosettaErrors []*rosetta.Error) error { return nil } -// NetworkOptions ensures a rosetta.Options object is valid. -func NetworkOptions(options *rosetta.Options) error { +// NetworkOptions ensures a models.Options object is valid. +func NetworkOptions(options *models.Options) error { if options == nil { return errors.New("options is nil") } @@ -221,8 +221,8 @@ func NetworkOptions(options *rosetta.Options) error { } // NetworkStatusResponse orchestrates assertions for all -// components of a rosetta.NetworkStatus. -func NetworkStatusResponse(response *rosetta.NetworkStatusResponse) error { +// components of a models.NetworkStatus. +func NetworkStatusResponse(response *models.NetworkStatusResponse) error { for _, network := range response.NetworkStatus { if err := NetworkStatus(network); err != nil { return err diff --git a/asserter/network_test.go b/asserter/network_test.go index 04e5197b..dd8f0b5d 100644 --- a/asserter/network_test.go +++ b/asserter/network_test.go @@ -18,18 +18,18 @@ import ( "errors" "testing" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" "github.com/stretchr/testify/assert" ) func TestNetworkIdentifier(t *testing.T) { var tests = map[string]struct { - network *rosetta.NetworkIdentifier + network *models.NetworkIdentifier err error }{ "valid network": { - network: &rosetta.NetworkIdentifier{ + network: &models.NetworkIdentifier{ Blockchain: "bitcoin", Network: "mainnet", }, @@ -40,34 +40,34 @@ func TestNetworkIdentifier(t *testing.T) { err: errors.New("NetworkIdentifier.Blockchain is missing"), }, "invalid blockchain": { - network: &rosetta.NetworkIdentifier{ + network: &models.NetworkIdentifier{ Blockchain: "", Network: "mainnet", }, err: errors.New("NetworkIdentifier.Blockchain is missing"), }, "invalid network": { - network: &rosetta.NetworkIdentifier{ + network: &models.NetworkIdentifier{ Blockchain: "bitcoin", Network: "", }, err: errors.New("NetworkIdentifier.Network is missing"), }, "valid sub_network": { - network: &rosetta.NetworkIdentifier{ + network: &models.NetworkIdentifier{ Blockchain: "bitcoin", Network: "mainnet", - SubNetworkIdentifier: &rosetta.SubNetworkIdentifier{ + SubNetworkIdentifier: &models.SubNetworkIdentifier{ Network: "shard 1", }, }, err: nil, }, "invalid sub_network": { - network: &rosetta.NetworkIdentifier{ + network: &models.NetworkIdentifier{ Blockchain: "bitcoin", Network: "mainnet", - SubNetworkIdentifier: &rosetta.SubNetworkIdentifier{}, + SubNetworkIdentifier: &models.SubNetworkIdentifier{}, }, err: errors.New("NetworkIdentifier.SubNetworkIdentifier.Network is missing"), }, @@ -89,18 +89,18 @@ func TestVersion(t *testing.T) { ) var tests = map[string]struct { - version *rosetta.Version + version *models.Version err error }{ "valid version": { - version: &rosetta.Version{ + version: &models.Version{ RosettaVersion: validRosettaVersion, NodeVersion: "1.0", }, err: nil, }, "valid version with middleware": { - version: &rosetta.Version{ + version: &models.Version{ RosettaVersion: validRosettaVersion, NodeVersion: "1.0", MiddlewareVersion: &middlewareVersion, @@ -108,7 +108,7 @@ func TestVersion(t *testing.T) { err: nil, }, "old RosettaVersion": { - version: &rosetta.Version{ + version: &models.Version{ RosettaVersion: "1.2.2", NodeVersion: "1.0", }, @@ -119,13 +119,13 @@ func TestVersion(t *testing.T) { err: errors.New("version is nil"), }, "invalid NodeVersion": { - version: &rosetta.Version{ + version: &models.Version{ RosettaVersion: validRosettaVersion, }, err: errors.New("Version.NodeVersion is missing"), }, "invalid MiddlewareVersion": { - version: &rosetta.Version{ + version: &models.Version{ RosettaVersion: validRosettaVersion, NodeVersion: "1.0", MiddlewareVersion: &invalidMiddlewareVersion, @@ -144,7 +144,7 @@ func TestVersion(t *testing.T) { func TestNetworkOptions(t *testing.T) { var ( - operationStatuses = []*rosetta.OperationStatus{ + operationStatuses = []*models.OperationStatus{ { Status: "SUCCESS", Successful: true, @@ -161,11 +161,11 @@ func TestNetworkOptions(t *testing.T) { ) var tests = map[string]struct { - networkOptions *rosetta.Options + networkOptions *models.Options err error }{ "valid options": { - networkOptions: &rosetta.Options{ + networkOptions: &models.Options{ OperationStatuses: operationStatuses, OperationTypes: operationTypes, }, @@ -175,14 +175,14 @@ func TestNetworkOptions(t *testing.T) { err: errors.New("options is nil"), }, "no OperationStatuses": { - networkOptions: &rosetta.Options{ + networkOptions: &models.Options{ OperationTypes: operationTypes, }, err: errors.New("no Options.OperationStatuses found"), }, "no successful OperationStatuses": { - networkOptions: &rosetta.Options{ - OperationStatuses: []*rosetta.OperationStatus{ + networkOptions: &models.Options{ + OperationStatuses: []*models.OperationStatus{ operationStatuses[1], }, OperationTypes: operationTypes, @@ -190,7 +190,7 @@ func TestNetworkOptions(t *testing.T) { err: errors.New("no successful Options.OperationStatuses found"), }, "no OperationTypes": { - networkOptions: &rosetta.Options{ + networkOptions: &models.Options{ OperationStatuses: operationStatuses, }, err: errors.New("no Options.OperationTypes found"), @@ -206,11 +206,11 @@ func TestNetworkOptions(t *testing.T) { func TestError(t *testing.T) { var tests = map[string]struct { - rosettaError *rosetta.Error + rosettaError *models.Error err error }{ "valid error": { - rosettaError: &rosetta.Error{ + rosettaError: &models.Error{ Code: 12, Message: "signature invalid", }, @@ -221,14 +221,14 @@ func TestError(t *testing.T) { err: errors.New("Error is nil"), }, "negative code": { - rosettaError: &rosetta.Error{ + rosettaError: &models.Error{ Code: -1, Message: "signature invalid", }, err: errors.New("Error.Code is negative"), }, "empty message": { - rosettaError: &rosetta.Error{ + rosettaError: &models.Error{ Code: 0, }, err: errors.New("Error.Message is missing"), @@ -244,11 +244,11 @@ func TestError(t *testing.T) { func TestErrors(t *testing.T) { var tests = map[string]struct { - rosettaErrors []*rosetta.Error + rosettaErrors []*models.Error err error }{ "valid errors": { - rosettaErrors: []*rosetta.Error{ + rosettaErrors: []*models.Error{ { Code: 0, Message: "error 1", @@ -261,7 +261,7 @@ func TestErrors(t *testing.T) { err: nil, }, "duplicate error codes": { - rosettaErrors: []*rosetta.Error{ + rosettaErrors: []*models.Error{ { Code: 0, Message: "error 1", diff --git a/gen/api_account.go b/client/api_account.go similarity index 93% rename from gen/api_account.go rename to client/api_account.go index 098d9baa..678584cd 100644 --- a/gen/api_account.go +++ b/client/api_account.go @@ -14,12 +14,14 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + + models "github.com/coinbase/rosetta-sdk-go/models" ) // Linger please @@ -40,8 +42,8 @@ type AccountAPIService service // optional BlockIdentifier. func (a *AccountAPIService) AccountBalance( ctx _context.Context, - accountBalanceRequest AccountBalanceRequest, -) (*AccountBalanceResponse, *_nethttp.Response, error) { + accountBalanceRequest models.AccountBalanceRequest, +) (*models.AccountBalanceResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -94,7 +96,7 @@ func (a *AccountAPIService) AccountBalance( return nil, localVarHTTPResponse, newErr } - var v AccountBalanceResponse + var v models.AccountBalanceResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/gen/api_block.go b/client/api_block.go similarity index 94% rename from gen/api_block.go rename to client/api_block.go index fe2bddb5..bfd14181 100644 --- a/gen/api_block.go +++ b/client/api_block.go @@ -14,12 +14,14 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + + models "github.com/coinbase/rosetta-sdk-go/models" ) // Linger please @@ -36,8 +38,8 @@ type BlockAPIService service // be done to get all transaction information. func (a *BlockAPIService) Block( ctx _context.Context, - blockRequest BlockRequest, -) (*BlockResponse, *_nethttp.Response, error) { + blockRequest models.BlockRequest, +) (*models.BlockResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -90,7 +92,7 @@ func (a *BlockAPIService) Block( return nil, localVarHTTPResponse, newErr } - var v BlockResponse + var v models.BlockResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ @@ -117,8 +119,8 @@ func (a *BlockAPIService) Block( // /data directory (on a path that does not conflict with the node). func (a *BlockAPIService) BlockTransaction( ctx _context.Context, - blockTransactionRequest BlockTransactionRequest, -) (*BlockTransactionResponse, *_nethttp.Response, error) { + blockTransactionRequest models.BlockTransactionRequest, +) (*models.BlockTransactionResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -171,7 +173,7 @@ func (a *BlockAPIService) BlockTransaction( return nil, localVarHTTPResponse, newErr } - var v BlockTransactionResponse + var v models.BlockTransactionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/gen/api_construction.go b/client/api_construction.go similarity index 93% rename from gen/api_construction.go rename to client/api_construction.go index 03f3b81b..30c34b27 100644 --- a/gen/api_construction.go +++ b/client/api_construction.go @@ -14,12 +14,14 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + + models "github.com/coinbase/rosetta-sdk-go/models" ) // Linger please @@ -38,8 +40,8 @@ type ConstructionAPIService service // not need to be broken out into a key-value mapping and can be returned as a blob. func (a *ConstructionAPIService) TransactionConstruction( ctx _context.Context, - transactionConstructionRequest TransactionConstructionRequest, -) (*TransactionConstructionResponse, *_nethttp.Response, error) { + transactionConstructionRequest models.TransactionConstructionRequest, +) (*models.TransactionConstructionResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -92,7 +94,7 @@ func (a *ConstructionAPIService) TransactionConstruction( return nil, localVarHTTPResponse, newErr } - var v TransactionConstructionResponse + var v models.TransactionConstructionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ @@ -112,8 +114,8 @@ func (a *ConstructionAPIService) TransactionConstruction( // Otherwise, it should return an error. func (a *ConstructionAPIService) TransactionSubmit( ctx _context.Context, - transactionSubmitRequest TransactionSubmitRequest, -) (*TransactionSubmitResponse, *_nethttp.Response, error) { + transactionSubmitRequest models.TransactionSubmitRequest, +) (*models.TransactionSubmitResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -166,7 +168,7 @@ func (a *ConstructionAPIService) TransactionSubmit( return nil, localVarHTTPResponse, newErr } - var v TransactionSubmitResponse + var v models.TransactionSubmitResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/gen/api_mempool.go b/client/api_mempool.go similarity index 93% rename from gen/api_mempool.go rename to client/api_mempool.go index 01ee755f..81fc8796 100644 --- a/gen/api_mempool.go +++ b/client/api_mempool.go @@ -14,12 +14,14 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + + models "github.com/coinbase/rosetta-sdk-go/models" ) // Linger please @@ -33,8 +35,8 @@ type MempoolAPIService service // Mempool Get all Transaction Identifiers in the mempool func (a *MempoolAPIService) Mempool( ctx _context.Context, - mempoolRequest MempoolRequest, -) (*MempoolResponse, *_nethttp.Response, error) { + mempoolRequest models.MempoolRequest, +) (*models.MempoolResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -87,7 +89,7 @@ func (a *MempoolAPIService) Mempool( return nil, localVarHTTPResponse, newErr } - var v MempoolResponse + var v models.MempoolResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ @@ -109,8 +111,8 @@ func (a *MempoolAPIService) Mempool( // in a block. func (a *MempoolAPIService) MempoolTransaction( ctx _context.Context, - mempoolTransactionRequest MempoolTransactionRequest, -) (*MempoolTransactionResponse, *_nethttp.Response, error) { + mempoolTransactionRequest models.MempoolTransactionRequest, +) (*models.MempoolTransactionResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -163,7 +165,7 @@ func (a *MempoolAPIService) MempoolTransaction( return nil, localVarHTTPResponse, newErr } - var v MempoolTransactionResponse + var v models.MempoolTransactionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/gen/api_network.go b/client/api_network.go similarity index 93% rename from gen/api_network.go rename to client/api_network.go index 9412338e..e17fca0a 100644 --- a/gen/api_network.go +++ b/client/api_network.go @@ -14,12 +14,14 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + + models "github.com/coinbase/rosetta-sdk-go/models" ) // Linger please @@ -34,8 +36,8 @@ type NetworkAPIService service // method also returns the methods, operation types, and operation statuses the node supports. func (a *NetworkAPIService) NetworkStatus( ctx _context.Context, - networkStatusRequest NetworkStatusRequest, -) (*NetworkStatusResponse, *_nethttp.Response, error) { + networkStatusRequest models.NetworkStatusRequest, +) (*models.NetworkStatusResponse, *_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -88,7 +90,7 @@ func (a *NetworkAPIService) NetworkStatus( return nil, localVarHTTPResponse, newErr } - var v NetworkStatusResponse + var v models.NetworkStatusResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/gen/client.go b/client/client.go similarity index 99% rename from gen/client.go rename to client/client.go index 577d7f85..d93121f9 100644 --- a/gen/client.go +++ b/client/client.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( "bytes" diff --git a/gen/configuration.go b/client/configuration.go similarity index 99% rename from gen/configuration.go rename to client/configuration.go index 7c6f4344..e617d568 100644 --- a/gen/configuration.go +++ b/client/configuration.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( "fmt" diff --git a/gen/response.go b/client/response.go similarity index 99% rename from gen/response.go rename to client/response.go index ee928efa..51497211 100644 --- a/gen/response.go +++ b/client/response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package client import ( "net/http" diff --git a/codegen.sh b/codegen.sh index 0538909e..80af98f1 100755 --- a/codegen.sh +++ b/codegen.sh @@ -30,14 +30,15 @@ case "${OS}" in esac # Remove existing generated code -rm -rf gen; +rm -rf models; +rm -rf client; -# Generate new code +# Generate client + models code docker run --user "$(id -u):$(id -g)" --rm -v "${PWD}":/local openapitools/openapi-generator-cli generate \ -i /local/spec.json \ -g go \ - -t /local/templates \ - --additional-properties packageName=gen \ + -t /local/templates/client \ + --additional-properties packageName=models\ -o /local/gen; # Remove unnecessary files @@ -78,6 +79,17 @@ sed "${SED_IFLAG[@]}" 's/Cannonical/Canonical/g' gen/*; # Format generated code gofmt -w gen/; +# Move model files to models/ +mkdir models; +mv gen/model_*.go models/; +for file in models/model_*.go; do + mv "$file" "${file/model_/}" +done + +# Change client files to correct package +sed "${SED_IFLAG[@]}" 's/package models/package client/g' gen/*; +mv gen client; + # Ensure license correct make add-license; diff --git a/fetcher/account.go b/fetcher/account.go index 395ec18c..62fce3cd 100644 --- a/fetcher/account.go +++ b/fetcher/account.go @@ -22,18 +22,18 @@ import ( "github.com/coinbase/rosetta-sdk-go/asserter" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // UnsafeAccountBalance returns the unvalidated response // from the AccountBalance method. func (f *Fetcher) UnsafeAccountBalance( ctx context.Context, - network *rosetta.NetworkIdentifier, - account *rosetta.AccountIdentifier, -) (*rosetta.BlockIdentifier, []*rosetta.Balance, error) { + network *models.NetworkIdentifier, + account *models.AccountIdentifier, +) (*models.BlockIdentifier, []*models.Balance, error) { balance, _, err := f.rosettaClient.AccountAPI.AccountBalance(ctx, - rosetta.AccountBalanceRequest{ + models.AccountBalanceRequest{ NetworkIdentifier: network, AccountIdentifier: account, }, @@ -49,9 +49,9 @@ func (f *Fetcher) UnsafeAccountBalance( // from the AccountBalance method. func (f *Fetcher) AccountBalance( ctx context.Context, - network *rosetta.NetworkIdentifier, - account *rosetta.AccountIdentifier, -) (*rosetta.BlockIdentifier, []*rosetta.Balance, error) { + network *models.NetworkIdentifier, + account *models.AccountIdentifier, +) (*models.BlockIdentifier, []*models.Balance, error) { block, balances, err := f.UnsafeAccountBalance(ctx, network, account) if err != nil { return nil, nil, err @@ -68,11 +68,11 @@ func (f *Fetcher) AccountBalance( // with a specified number of retries and max elapsed time. func (f *Fetcher) AccountBalanceRetry( ctx context.Context, - network *rosetta.NetworkIdentifier, - account *rosetta.AccountIdentifier, + network *models.NetworkIdentifier, + account *models.AccountIdentifier, maxElapsedTime time.Duration, maxRetries uint64, -) (*rosetta.BlockIdentifier, []*rosetta.Balance, error) { +) (*models.BlockIdentifier, []*models.Balance, error) { backoffRetries := backoffRetries(maxElapsedTime, maxRetries) for ctx.Err() == nil { diff --git a/fetcher/block.go b/fetcher/block.go index 89e85992..49722a1a 100644 --- a/fetcher/block.go +++ b/fetcher/block.go @@ -20,19 +20,19 @@ import ( "fmt" "time" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" "golang.org/x/sync/errgroup" ) // addTransactionIdentifiers appends a slice of -// rosetta.TransactionIdentifiers to a channel. -// When all rosetta.TransactionIdentifiers are added, +// models.TransactionIdentifiers to a channel. +// When all models.TransactionIdentifiers are added, // the channel is closed. func addTransactionIdentifiers( ctx context.Context, - txsToFetch chan *rosetta.TransactionIdentifier, - identifiers []*rosetta.TransactionIdentifier, + txsToFetch chan *models.TransactionIdentifier, + identifiers []*models.TransactionIdentifier, ) error { defer close(txsToFetch) for _, txHash := range identifiers { @@ -51,14 +51,14 @@ func addTransactionIdentifiers( // channel or there is an error. func (f *Fetcher) fetchChannelTransactions( ctx context.Context, - network *rosetta.NetworkIdentifier, - block *rosetta.BlockIdentifier, - txsToFetch chan *rosetta.TransactionIdentifier, - fetchedTxs chan *rosetta.Transaction, + network *models.NetworkIdentifier, + block *models.BlockIdentifier, + txsToFetch chan *models.TransactionIdentifier, + fetchedTxs chan *models.Transaction, ) error { for transactionIdentifier := range txsToFetch { tx, _, err := f.rosettaClient.BlockAPI.BlockTransaction(ctx, - rosetta.BlockTransactionRequest{ + models.BlockTransactionRequest{ NetworkIdentifier: network, BlockIdentifier: block, TransactionIdentifier: transactionIdentifier, @@ -81,22 +81,22 @@ func (f *Fetcher) fetchChannelTransactions( // UnsafeTransactions returns the unvalidated response // from the BlockTransaction method. UnsafeTransactions -// fetches all provided rosetta.TransactionIdentifiers +// fetches all provided models.TransactionIdentifiers // concurrently (with the number of threads specified // by txConcurrency). If any fetch fails, this function // will return an error. func (f *Fetcher) UnsafeTransactions( ctx context.Context, - network *rosetta.NetworkIdentifier, - block *rosetta.BlockIdentifier, - transactionIdentifiers []*rosetta.TransactionIdentifier, -) ([]*rosetta.Transaction, error) { + network *models.NetworkIdentifier, + block *models.BlockIdentifier, + transactionIdentifiers []*models.TransactionIdentifier, +) ([]*models.Transaction, error) { if len(transactionIdentifiers) == 0 { return nil, nil } - txsToFetch := make(chan *rosetta.TransactionIdentifier) - fetchedTxs := make(chan *rosetta.Transaction) + txsToFetch := make(chan *models.TransactionIdentifier) + fetchedTxs := make(chan *models.Transaction) g, ctx := errgroup.WithContext(ctx) g.Go(func() error { return addTransactionIdentifiers(ctx, txsToFetch, transactionIdentifiers) @@ -113,7 +113,7 @@ func (f *Fetcher) UnsafeTransactions( close(fetchedTxs) }() - txs := make([]*rosetta.Transaction, 0) + txs := make([]*models.Transaction, 0) for tx := range fetchedTxs { txs = append(txs, tx) } @@ -132,10 +132,10 @@ func (f *Fetcher) UnsafeTransactions( // block. func (f *Fetcher) UnsafeBlock( ctx context.Context, - network *rosetta.NetworkIdentifier, - blockIdentifier *rosetta.PartialBlockIdentifier, -) (*rosetta.Block, error) { - blockResponse, _, err := f.rosettaClient.BlockAPI.Block(ctx, rosetta.BlockRequest{ + network *models.NetworkIdentifier, + blockIdentifier *models.PartialBlockIdentifier, +) (*models.Block, error) { + blockResponse, _, err := f.rosettaClient.BlockAPI.Block(ctx, models.BlockRequest{ NetworkIdentifier: network, BlockIdentifier: blockIdentifier, }) @@ -170,9 +170,9 @@ func (f *Fetcher) UnsafeBlock( // block. func (f *Fetcher) Block( ctx context.Context, - network *rosetta.NetworkIdentifier, - blockIdentifier *rosetta.PartialBlockIdentifier, -) (*rosetta.Block, error) { + network *models.NetworkIdentifier, + blockIdentifier *models.PartialBlockIdentifier, +) (*models.Block, error) { if f.Asserter == nil { return nil, errors.New("asserter not initialized") } @@ -193,11 +193,11 @@ func (f *Fetcher) Block( // with a specified number of retries and max elapsed time. func (f *Fetcher) BlockRetry( ctx context.Context, - network *rosetta.NetworkIdentifier, - blockIdentifier *rosetta.PartialBlockIdentifier, + network *models.NetworkIdentifier, + blockIdentifier *models.PartialBlockIdentifier, maxElapsedTime time.Duration, maxRetries uint64, -) (*rosetta.Block, error) { +) (*models.Block, error) { if f.Asserter == nil { return nil, errors.New("asserter not initialized") } @@ -225,7 +225,7 @@ func (f *Fetcher) BlockRetry( // BlockAndLatency is utilized to track the latency // of concurrent block fetches. type BlockAndLatency struct { - Block *rosetta.Block + Block *models.Block Latency float64 } @@ -256,7 +256,7 @@ func addBlockIndicies( // error. func (f *Fetcher) fetchChannelBlocks( ctx context.Context, - network *rosetta.NetworkIdentifier, + network *models.NetworkIdentifier, blockIndicies chan int64, results chan *BlockAndLatency, ) error { @@ -265,7 +265,7 @@ func (f *Fetcher) fetchChannelBlocks( block, err := f.BlockRetry( ctx, network, - &rosetta.PartialBlockIdentifier{ + &models.PartialBlockIdentifier{ Index: &b, }, DefaultElapsedTime, @@ -295,7 +295,7 @@ func (f *Fetcher) fetchChannelBlocks( // by any callers. func (f *Fetcher) BlockRange( ctx context.Context, - network *rosetta.NetworkIdentifier, + network *models.NetworkIdentifier, startIndex int64, endIndex int64, ) (map[int64]*BlockAndLatency, error) { diff --git a/fetcher/construction.go b/fetcher/construction.go index 2d9c33d2..b2e90688 100644 --- a/fetcher/construction.go +++ b/fetcher/construction.go @@ -20,19 +20,19 @@ import ( "github.com/coinbase/rosetta-sdk-go/asserter" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // ConstructionMetadata returns the validated response // from the ConstructionMetadata method. func (f *Fetcher) ConstructionMetadata( ctx context.Context, - network *rosetta.NetworkIdentifier, - account *rosetta.AccountIdentifier, + network *models.NetworkIdentifier, + account *models.AccountIdentifier, method *string, -) (*rosetta.Amount, *map[string]interface{}, error) { +) (*models.Amount, *map[string]interface{}, error) { metadata, _, err := f.rosettaClient.ConstructionAPI.TransactionConstruction(ctx, - rosetta.TransactionConstructionRequest{ + models.TransactionConstructionRequest{ NetworkIdentifier: network, AccountIdentifier: account, Method: method, @@ -54,14 +54,14 @@ func (f *Fetcher) ConstructionMetadata( func (f *Fetcher) ConstructionSubmit( ctx context.Context, signedTransaction string, -) (*rosetta.TransactionIdentifier, *map[string]interface{}, error) { +) (*models.TransactionIdentifier, *map[string]interface{}, error) { if f.Asserter == nil { return nil, nil, errors.New("asserter not initialized") } submitResponse, _, err := f.rosettaClient.ConstructionAPI.TransactionSubmit( ctx, - rosetta.TransactionSubmitRequest{ + models.TransactionSubmitRequest{ SignedTransaction: signedTransaction, }, ) diff --git a/fetcher/fetcher.go b/fetcher/fetcher.go index 3841a3b6..ee8e2c53 100644 --- a/fetcher/fetcher.go +++ b/fetcher/fetcher.go @@ -20,8 +20,8 @@ import ( "time" "github.com/coinbase/rosetta-sdk-go/asserter" - - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/client" + "github.com/coinbase/rosetta-sdk-go/models" ) const ( @@ -49,10 +49,10 @@ const ( type Fetcher struct { // Asserter is a public variable because // it can be used to determine if a retrieved - // rosetta.Operation is successful and should + // models.Operation is successful and should // be applied. Asserter *asserter.Asserter - rosettaClient *rosetta.APIClient + rosettaClient *client.APIClient blockConcurrency uint64 transactionConcurrency uint64 } @@ -66,8 +66,8 @@ func New( blockConcurrency uint64, transactionConcurrency uint64, ) *Fetcher { - clientCfg := rosetta.NewConfiguration(serverAddress, userAgent, httpClient) - client := rosetta.NewAPIClient(clientCfg) + clientCfg := client.NewConfiguration(serverAddress, userAgent, httpClient) + client := client.NewAPIClient(clientCfg) return &Fetcher{ rosettaClient: client, @@ -78,12 +78,12 @@ func New( // InitializeAsserter creates an Asserter for // validating responses. The Asserter is created -// from a rosetta.NetworkStatusResponse. This +// from a models.NetworkStatusResponse. This // method should be called before making any // validated client requests. func (f *Fetcher) InitializeAsserter( ctx context.Context, -) (*rosetta.NetworkStatusResponse, error) { +) (*models.NetworkStatusResponse, error) { // Attempt to fetch network status networkResponse, err := f.NetworkStatusRetry( ctx, diff --git a/fetcher/mempool.go b/fetcher/mempool.go index 6a2d8656..1233f51f 100644 --- a/fetcher/mempool.go +++ b/fetcher/mempool.go @@ -20,16 +20,16 @@ import ( "github.com/coinbase/rosetta-sdk-go/asserter" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // UnsafeMempool returns the unvalidated response // from the Mempool method. func (f *Fetcher) UnsafeMempool( ctx context.Context, - network *rosetta.NetworkIdentifier, -) ([]*rosetta.TransactionIdentifier, error) { - mempool, _, err := f.rosettaClient.MempoolAPI.Mempool(ctx, rosetta.MempoolRequest{ + network *models.NetworkIdentifier, +) ([]*models.TransactionIdentifier, error) { + mempool, _, err := f.rosettaClient.MempoolAPI.Mempool(ctx, models.MempoolRequest{ NetworkIdentifier: network, }) if err != nil { @@ -43,8 +43,8 @@ func (f *Fetcher) UnsafeMempool( // from the Mempool method. func (f *Fetcher) Mempool( ctx context.Context, - network *rosetta.NetworkIdentifier, -) ([]*rosetta.TransactionIdentifier, error) { + network *models.NetworkIdentifier, +) ([]*models.TransactionIdentifier, error) { mempool, err := f.UnsafeMempool(ctx, network) if err != nil { return nil, err @@ -61,11 +61,11 @@ func (f *Fetcher) Mempool( // from the MempoolTransaction method. func (f *Fetcher) UnsafeMempoolTransaction( ctx context.Context, - network *rosetta.NetworkIdentifier, - transaction *rosetta.TransactionIdentifier, -) (*rosetta.Transaction, *map[string]interface{}, error) { + network *models.NetworkIdentifier, + transaction *models.TransactionIdentifier, +) (*models.Transaction, *map[string]interface{}, error) { mempoolTransaction, _, err := f.rosettaClient.MempoolAPI.MempoolTransaction(ctx, - rosetta.MempoolTransactionRequest{ + models.MempoolTransactionRequest{ NetworkIdentifier: network, TransactionIdentifier: transaction, }, @@ -81,9 +81,9 @@ func (f *Fetcher) UnsafeMempoolTransaction( // from the MempoolTransaction method. func (f *Fetcher) MempoolTransaction( ctx context.Context, - network *rosetta.NetworkIdentifier, - transaction *rosetta.TransactionIdentifier, -) (*rosetta.Transaction, *map[string]interface{}, error) { + network *models.NetworkIdentifier, + transaction *models.TransactionIdentifier, +) (*models.Transaction, *map[string]interface{}, error) { if f.Asserter == nil { return nil, nil, errors.New("asserter not initialized") } diff --git a/fetcher/network.go b/fetcher/network.go index 027d0ac5..3ff7f277 100644 --- a/fetcher/network.go +++ b/fetcher/network.go @@ -21,7 +21,7 @@ import ( "github.com/coinbase/rosetta-sdk-go/asserter" - rosetta "github.com/coinbase/rosetta-sdk-go/gen" + "github.com/coinbase/rosetta-sdk-go/models" ) // UnsafeNetworkStatus returns the unvalidated response @@ -29,10 +29,10 @@ import ( func (f *Fetcher) UnsafeNetworkStatus( ctx context.Context, metadata *map[string]interface{}, -) (*rosetta.NetworkStatusResponse, error) { +) (*models.NetworkStatusResponse, error) { networkStatus, _, err := f.rosettaClient.NetworkAPI.NetworkStatus( ctx, - rosetta.NetworkStatusRequest{ + models.NetworkStatusRequest{ Metadata: metadata, }, ) @@ -48,7 +48,7 @@ func (f *Fetcher) UnsafeNetworkStatus( func (f *Fetcher) NetworkStatus( ctx context.Context, metadata *map[string]interface{}, -) (*rosetta.NetworkStatusResponse, error) { +) (*models.NetworkStatusResponse, error) { networkStatus, err := f.UnsafeNetworkStatus(ctx, metadata) if err != nil { return nil, err @@ -68,7 +68,7 @@ func (f *Fetcher) NetworkStatusRetry( metadata *map[string]interface{}, maxElapsedTime time.Duration, maxRetries uint64, -) (*rosetta.NetworkStatusResponse, error) { +) (*models.NetworkStatusResponse, error) { backoffRetries := backoffRetries(maxElapsedTime, maxRetries) for ctx.Err() == nil { diff --git a/gen/model_account_balance_request.go b/models/account_balance_request.go similarity index 98% rename from gen/model_account_balance_request.go rename to models/account_balance_request.go index 2c996199..840eb1c9 100644 --- a/gen/model_account_balance_request.go +++ b/models/account_balance_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // AccountBalanceRequest An AccountBalanceRequest is utilized to make a balance request on the // /account/balance endpoint. If the block_identifier is populated, a historical balance query diff --git a/gen/model_account_balance_response.go b/models/account_balance_response.go similarity index 98% rename from gen/model_account_balance_response.go rename to models/account_balance_response.go index 565d919f..aa29a85f 100644 --- a/gen/model_account_balance_response.go +++ b/models/account_balance_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // AccountBalanceResponse An AccountBalanceResponse is returned on the /account/balance endpoint. type AccountBalanceResponse struct { diff --git a/gen/model_account_identifier.go b/models/account_identifier.go similarity index 98% rename from gen/model_account_identifier.go rename to models/account_identifier.go index fe31370e..d0b7c331 100644 --- a/gen/model_account_identifier.go +++ b/models/account_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // AccountIdentifier The account_identifier uniquely identifies an account within a network. All // fields in the account_identifier are utilized to determine this uniqueness (including the diff --git a/gen/model_amount.go b/models/amount.go similarity index 98% rename from gen/model_amount.go rename to models/amount.go index 87013bef..112da0d7 100644 --- a/gen/model_amount.go +++ b/models/amount.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Amount Amount is some Value of a Currency. It is considered invalid to specify a Value without a // Currency. diff --git a/gen/model_balance.go b/models/balance.go similarity index 98% rename from gen/model_balance.go rename to models/balance.go index 26f448e2..cd0c4b2f 100644 --- a/gen/model_balance.go +++ b/models/balance.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Balance Balance is the array of Amount controlled by an AccountIdentifier. An underspecified // AccountIdentifier may result in many amounts (ex: all ERC-20 balances for a single address). diff --git a/gen/model_block.go b/models/block.go similarity index 98% rename from gen/model_block.go rename to models/block.go index cfe13990..e2223be9 100644 --- a/gen/model_block.go +++ b/models/block.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Block Blocks contain an array of Transactions that occurred at a particular BlockIdentifier. type Block struct { diff --git a/gen/model_block_identifier.go b/models/block_identifier.go similarity index 98% rename from gen/model_block_identifier.go rename to models/block_identifier.go index ae5a054d..cea817a7 100644 --- a/gen/model_block_identifier.go +++ b/models/block_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // BlockIdentifier The block_identifier uniquely identifies a block in a particular network. type BlockIdentifier struct { diff --git a/gen/model_block_request.go b/models/block_request.go similarity index 98% rename from gen/model_block_request.go rename to models/block_request.go index 67c2f749..187a32c0 100644 --- a/gen/model_block_request.go +++ b/models/block_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // BlockRequest A BlockRequest is utilized to make a block request on the /block endpoint. type BlockRequest struct { diff --git a/gen/model_block_response.go b/models/block_response.go similarity index 98% rename from gen/model_block_response.go rename to models/block_response.go index bb6143e1..39404718 100644 --- a/gen/model_block_response.go +++ b/models/block_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // BlockResponse A BlockResponse includes a fully-populated block or a partially-populated block // with a list of other transactions to fetch (other_transactions). diff --git a/gen/model_block_transaction_request.go b/models/block_transaction_request.go similarity index 98% rename from gen/model_block_transaction_request.go rename to models/block_transaction_request.go index 970c07c1..a906438b 100644 --- a/gen/model_block_transaction_request.go +++ b/models/block_transaction_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // BlockTransactionRequest A BlockTransactionRequest is used to fetch a Transaction included in a // block that is not returned in a BlockResponse. diff --git a/gen/model_block_transaction_response.go b/models/block_transaction_response.go similarity index 98% rename from gen/model_block_transaction_response.go rename to models/block_transaction_response.go index e0557d9c..b5b846cf 100644 --- a/gen/model_block_transaction_response.go +++ b/models/block_transaction_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // BlockTransactionResponse A BlockTransactionResponse contains information about a block // transaction. diff --git a/gen/model_currency.go b/models/currency.go similarity index 98% rename from gen/model_currency.go rename to models/currency.go index 86e07be6..93776ff5 100644 --- a/gen/model_currency.go +++ b/models/currency.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Currency Currency is composed of a canonical Symbol and Decimals. This Decimals value is used to // convert an Amount.Value from atomic units (Satoshis) to standard units (Bitcoins). diff --git a/gen/model_error.go b/models/error.go similarity index 98% rename from gen/model_error.go rename to models/error.go index 93e52ef7..1f19b77e 100644 --- a/gen/model_error.go +++ b/models/error.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Error Instead of utilizing HTTP status codes to describe node errors (which often do not have a // good analog), rich errors are returned using this object. diff --git a/gen/model_mempool_request.go b/models/mempool_request.go similarity index 98% rename from gen/model_mempool_request.go rename to models/mempool_request.go index 3adc1118..e0ea3a78 100644 --- a/gen/model_mempool_request.go +++ b/models/mempool_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // MempoolRequest A MempoolRequest is utilized to retrieve all transaction identifiers in the // mempool for a particular network_identifier. diff --git a/gen/model_mempool_response.go b/models/mempool_response.go similarity index 98% rename from gen/model_mempool_response.go rename to models/mempool_response.go index b5e93d3f..5905d5c7 100644 --- a/gen/model_mempool_response.go +++ b/models/mempool_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // MempoolResponse A MempoolResponse contains all transaction identifiers in the mempool for a // particular network_identifier. diff --git a/gen/model_mempool_transaction_request.go b/models/mempool_transaction_request.go similarity index 98% rename from gen/model_mempool_transaction_request.go rename to models/mempool_transaction_request.go index fe376247..5f46e11d 100644 --- a/gen/model_mempool_transaction_request.go +++ b/models/mempool_transaction_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // MempoolTransactionRequest A MempoolTransactionRequest is utilized to retrieve a transaction from // the mempool. diff --git a/gen/model_mempool_transaction_response.go b/models/mempool_transaction_response.go similarity index 98% rename from gen/model_mempool_transaction_response.go rename to models/mempool_transaction_response.go index d19094ab..6cb83f04 100644 --- a/gen/model_mempool_transaction_response.go +++ b/models/mempool_transaction_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // MempoolTransactionResponse A MempoolTransactionResponse contains an estimate of a mempool // transaction. It may not be possible to know the full impact of a transaction in the mempool (ex: diff --git a/gen/model_network_identifier.go b/models/network_identifier.go similarity index 98% rename from gen/model_network_identifier.go rename to models/network_identifier.go index f3fa19da..bdf6322a 100644 --- a/gen/model_network_identifier.go +++ b/models/network_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // NetworkIdentifier The network_identifier specifies which network a particular object is // associated with. diff --git a/gen/model_network_information.go b/models/network_information.go similarity index 98% rename from gen/model_network_information.go rename to models/network_information.go index 1e9840dc..e53dd90a 100644 --- a/gen/model_network_information.go +++ b/models/network_information.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // NetworkInformation NetworkInformation contains basic information about a node's view of a // blockchain network. diff --git a/gen/model_network_status.go b/models/network_status.go similarity index 98% rename from gen/model_network_status.go rename to models/network_status.go index 69380b66..41174f51 100644 --- a/gen/model_network_status.go +++ b/models/network_status.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // NetworkStatus A NetworkStatus object contains the network_information pertaining to a network // specified by the network_identifier. diff --git a/gen/model_network_status_request.go b/models/network_status_request.go similarity index 98% rename from gen/model_network_status_request.go rename to models/network_status_request.go index 1c0a21df..95457b89 100644 --- a/gen/model_network_status_request.go +++ b/models/network_status_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // NetworkStatusRequest A NetworkStatusRequest is utilized to retrieve the status of the network. It // currently contains only optional metadata. diff --git a/gen/model_network_status_response.go b/models/network_status_response.go similarity index 98% rename from gen/model_network_status_response.go rename to models/network_status_response.go index 7f7f1be0..23d21ec8 100644 --- a/gen/model_network_status_response.go +++ b/models/network_status_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // NetworkStatusResponse A NetworkStatusResponse contains all information required to make reliable // requests to the Rosetta Server implementation. diff --git a/gen/model_operation.go b/models/operation.go similarity index 99% rename from gen/model_operation.go rename to models/operation.go index 9a4972aa..d8574b2c 100644 --- a/gen/model_operation.go +++ b/models/operation.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Operation Operations contain all balance-changing information within a transaction. They are // always one-sided (only affect 1 AccountIdentifier) and can succeed or fail independently from a diff --git a/gen/model_operation_identifier.go b/models/operation_identifier.go similarity index 98% rename from gen/model_operation_identifier.go rename to models/operation_identifier.go index c6092fac..ef4b5011 100644 --- a/gen/model_operation_identifier.go +++ b/models/operation_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // OperationIdentifier The operation_identifier uniquely identifies an operation within a // transaction. diff --git a/gen/model_operation_status.go b/models/operation_status.go similarity index 98% rename from gen/model_operation_status.go rename to models/operation_status.go index a699bdb7..2a877d4c 100644 --- a/gen/model_operation_status.go +++ b/models/operation_status.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // OperationStatus OperationStatus is utilized to indicate which Operation status are considered // successful. diff --git a/gen/model_options.go b/models/options.go similarity index 99% rename from gen/model_options.go rename to models/options.go index d810d5f3..d42b95e2 100644 --- a/gen/model_options.go +++ b/models/options.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Options Options specify supported Operation status, Operation types, and all possible error // statuses. This Options object is used by clients to validate the correctness of a Rosetta Server diff --git a/gen/model_partial_block_identifier.go b/models/partial_block_identifier.go similarity index 98% rename from gen/model_partial_block_identifier.go rename to models/partial_block_identifier.go index 79ff65a5..dc2eeca7 100644 --- a/gen/model_partial_block_identifier.go +++ b/models/partial_block_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // PartialBlockIdentifier When fetching data by BlockIdentifier, it may be possible to only specify // the index or hash. If neither property is specified, it is assumed that the client is making a diff --git a/gen/model_peer.go b/models/peer.go similarity index 98% rename from gen/model_peer.go rename to models/peer.go index 2fe4d15f..76ca169c 100644 --- a/gen/model_peer.go +++ b/models/peer.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Peer A Peer is a representation of a node's peer. type Peer struct { diff --git a/gen/model_sub_account_identifier.go b/models/sub_account_identifier.go similarity index 98% rename from gen/model_sub_account_identifier.go rename to models/sub_account_identifier.go index 1c1e43fc..52160df7 100644 --- a/gen/model_sub_account_identifier.go +++ b/models/sub_account_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // SubAccountIdentifier An account may have state specific to a contract address (ERC-20 token) // and/or a stake (delegated balance). The sub_account_identifier should specify which state (if diff --git a/gen/model_sub_network_identifier.go b/models/sub_network_identifier.go similarity index 98% rename from gen/model_sub_network_identifier.go rename to models/sub_network_identifier.go index 979755bc..649ac7f3 100644 --- a/gen/model_sub_network_identifier.go +++ b/models/sub_network_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // SubNetworkIdentifier In blockchains with sharded state, the SubNetworkIdentifier is required to // query some object on a specific shard. This identifier is optional for all non-sharded diff --git a/gen/model_transaction.go b/models/transaction.go similarity index 98% rename from gen/model_transaction.go rename to models/transaction.go index 44c327a5..47dc23e1 100644 --- a/gen/model_transaction.go +++ b/models/transaction.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Transaction Transactions contain an array of Operations that are attributable to the same // TransactionIdentifier. diff --git a/gen/model_transaction_construction_request.go b/models/transaction_construction_request.go similarity index 99% rename from gen/model_transaction_construction_request.go rename to models/transaction_construction_request.go index 18402706..c4634b93 100644 --- a/gen/model_transaction_construction_request.go +++ b/models/transaction_construction_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // TransactionConstructionRequest A TransactionConstructionRequest is utilized to get information // required to construct a transaction. Optionally, the client can provide a method to reduce the diff --git a/gen/model_transaction_construction_response.go b/models/transaction_construction_response.go similarity index 98% rename from gen/model_transaction_construction_response.go rename to models/transaction_construction_response.go index bc1821f3..81cc8aa6 100644 --- a/gen/model_transaction_construction_response.go +++ b/models/transaction_construction_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // TransactionConstructionResponse The transaction construction response should return the network // fee to use in transaction construction. This network fee should be the gas price or cost per byte diff --git a/gen/model_transaction_identifier.go b/models/transaction_identifier.go similarity index 98% rename from gen/model_transaction_identifier.go rename to models/transaction_identifier.go index 1a374417..2395e259 100644 --- a/gen/model_transaction_identifier.go +++ b/models/transaction_identifier.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // TransactionIdentifier The transaction_identifier uniquely identifies a transaction in a // particular network and block or in the mempool. diff --git a/gen/model_transaction_submit_request.go b/models/transaction_submit_request.go similarity index 98% rename from gen/model_transaction_submit_request.go rename to models/transaction_submit_request.go index 0cf03cca..2d560c17 100644 --- a/gen/model_transaction_submit_request.go +++ b/models/transaction_submit_request.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // TransactionSubmitRequest The transaction submission request includes a signed transaction. type TransactionSubmitRequest struct { diff --git a/gen/model_transaction_submit_response.go b/models/transaction_submit_response.go similarity index 98% rename from gen/model_transaction_submit_response.go rename to models/transaction_submit_response.go index 27238424..6ab296b1 100644 --- a/gen/model_transaction_submit_response.go +++ b/models/transaction_submit_response.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // TransactionSubmitResponse A TransactionSubmitResponse contains the transaction_identifier of a // submitted transaction that was accepted into the mempool. diff --git a/gen/model_version.go b/models/version.go similarity index 99% rename from gen/model_version.go rename to models/version.go index a844072e..b63c8300 100644 --- a/gen/model_version.go +++ b/models/version.go @@ -14,7 +14,7 @@ // Generated by: OpenAPI Generator (https://openapi-generator.tech) -package gen +package models // Version The Version object is utilized to inform the client of the versions of different // components of the Rosetta implementation. diff --git a/templates/README.mustache b/templates/client/README.mustache similarity index 100% rename from templates/README.mustache rename to templates/client/README.mustache diff --git a/templates/api.mustache b/templates/client/api.mustache similarity index 94% rename from templates/api.mustache rename to templates/client/api.mustache index f9220c17..71c44f31 100644 --- a/templates/api.mustache +++ b/templates/client/api.mustache @@ -6,6 +6,7 @@ import ( _context "context" _ioutil "io/ioutil" _nethttp "net/http" + models "github.com/coinbase/rosetta-sdk-go/models" {{#imports}} "{{import}}" {{/imports}} ) @@ -41,7 +42,7 @@ type {{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts struct { {{/hasOptionalParams}} // {{operationId}}{{#notes}} {{notes}}{{/notes}} -func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams}}, {{/hasParams}}{{#allParams}}{{#required}}{{paramName}} {{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/required}}{{/allParams}}{{#hasOptionalParams}}localVarOptionals *{{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts{{/hasOptionalParams}}) ({{#returnType}}*{{{returnType}}}, {{/returnType}}*_nethttp.Response, error) { +func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams}}, {{/hasParams}}{{#allParams}}{{#required}}{{paramName}} models.{{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/required}}{{/allParams}}{{#hasOptionalParams}}localVarOptionals *{{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts{{/hasOptionalParams}}) ({{#returnType}}*models.{{{returnType}}}, {{/returnType}}*_nethttp.Response, error) { var ( localVarPostBody interface{} ) @@ -181,7 +182,7 @@ func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams } {{#returnType}} - var v {{{returnType}}} + var v models.{{{returnType}}} err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := GenericOpenAPIError{ diff --git a/templates/client.mustache b/templates/client/client.mustache similarity index 99% rename from templates/client.mustache rename to templates/client/client.mustache index 3cb8a293..ce6f22ec 100644 --- a/templates/client.mustache +++ b/templates/client/client.mustache @@ -15,7 +15,6 @@ import ( "reflect" "regexp" "strings" - "time" ) const ( diff --git a/templates/configuration.mustache b/templates/client/configuration.mustache similarity index 100% rename from templates/configuration.mustache rename to templates/client/configuration.mustache diff --git a/templates/model.mustache b/templates/client/model.mustache similarity index 100% rename from templates/model.mustache rename to templates/client/model.mustache diff --git a/templates/partial_header.mustache b/templates/client/partial_header.mustache similarity index 100% rename from templates/partial_header.mustache rename to templates/client/partial_header.mustache diff --git a/templates/response.mustache b/templates/client/response.mustache similarity index 100% rename from templates/response.mustache rename to templates/client/response.mustache diff --git a/templates/server/Dockerfile.mustache b/templates/server/Dockerfile.mustache new file mode 100644 index 00000000..b00f7cac --- /dev/null +++ b/templates/server/Dockerfile.mustache @@ -0,0 +1,14 @@ +FROM golang:1.10 AS build +WORKDIR /go/src +COPY {{sourceFolder}} ./{{sourceFolder}} +COPY main.go . + +ENV CGO_ENABLED=0 +RUN go get -d -v ./... + +RUN go build -a -installsuffix cgo -o {{packageName}} . + +FROM scratch AS runtime +COPY --from=build /go/src/{{packageName}} ./ +EXPOSE 8080/tcp +ENTRYPOINT ["./{{packageName}}"] diff --git a/templates/server/README.mustache b/templates/server/README.mustache new file mode 100644 index 00000000..39ae606f --- /dev/null +++ b/templates/server/README.mustache @@ -0,0 +1,20 @@ +# Go API Server for {{packageName}} + +{{#appDescriptionWithNewLines}} +{{{appDescriptionWithNewLines}}} +{{/appDescriptionWithNewLines}} + +## Overview +This server was generated by the [openapi-generator] +(https://openapi-generator.tech) project. +By using the [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate a server stub. + +- API version: {{appVersion}} +- Package version: {{packageVersion}} +- Build date: {{generatedDate}} + +## Installation + +```shell +go get {{gitHost}}/{{gitUserId}}/{{gitRepoId}}/{{packageName}} +``` diff --git a/templates/server/api.mustache b/templates/server/api.mustache new file mode 100644 index 00000000..9115ec3b --- /dev/null +++ b/templates/server/api.mustache @@ -0,0 +1,24 @@ +{{>partial_header}} +package {{packageName}} + +import ( + "net/http"{{#apiInfo}}{{#apis}}{{#imports}} + "{{import}}"{{/imports}}{{/apis}}{{/apiInfo}} +) + +{{#apiInfo}}{{#apis}} +// {{classname}}Router defines the required methods for binding the api requests to a responses for the {{classname}} +// The {{classname}}Router implementation should parse necessary information from the http request, +// pass the data to a {{classname}}Servicer to perform the required actions, then write the service results to the http response. +type {{classname}}Router interface { {{#operations}}{{#operation}} + {{operationId}}(http.ResponseWriter, *http.Request){{/operation}}{{/operations}} +}{{/apis}}{{/apiInfo}}{{#apiInfo}}{{#apis}} + + +// {{classname}}Servicer defines the api actions for the {{classname}} service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type {{classname}}Servicer interface { {{#operations}}{{#operation}} + {{operationId}}({{#allParams}}{{dataType}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) (*{{returnType}}, error){{/operation}}{{/operations}} +}{{/apis}}{{/apiInfo}} diff --git a/templates/server/controller-api.mustache b/templates/server/controller-api.mustache new file mode 100644 index 00000000..815fa407 --- /dev/null +++ b/templates/server/controller-api.mustache @@ -0,0 +1,54 @@ +{{>partial_header}} +package {{packageName}} + +import ( + "encoding/json" + "net/http" + "strings" +) + +// A {{classname}}Controller binds http requests to an api service and writes the service results to the http response +type {{classname}}Controller struct { + service {{classname}}Servicer +} + +// New{{classname}}Controller creates a default api controller +func New{{classname}}Controller(s {{classname}}Servicer) Router { + return &{{classname}}Controller{ service: s } +} + +// Routes returns all of the api route for the {{classname}}Controller +func (c *{{classname}}Controller) Routes() Routes { + return Routes{ {{#operations}}{{#operation}} + { + "{{operationId}}", + strings.ToUpper("{{httpMethod}}"), + "{{{basePathWithoutHost}}}{{{path}}}", + c.{{operationId}}, + },{{/operation}}{{/operations}} + } +}{{#operations}}{{#operation}} + +// {{nickname}} - {{{summary}}} +func (c *{{classname}}Controller) {{nickname}}(w http.ResponseWriter, r *http.Request) { {{#allParams}}{{#isHeaderParam}} + {{paramName}} := r.Header.Get("{{paramName}}"){{/isHeaderParam}}{{#isBodyParam}} + {{paramName}} := &{{dataType}}{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&{{paramName}}); err != nil { + EncodeJSONResponse(&Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + return + } + {{/isBodyParam}}{{/allParams}} + // TODO: return status code from service + result, err := c.service.{{nickname}}({{#allParams}}{{#isBodyParam}}*{{/isBodyParam}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) + if err != nil { + EncodeJSONResponse(&Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) + return + } + + EncodeJSONResponse(result, http.StatusOK, w) +}{{/operation}}{{/operations}} diff --git a/templates/server/go.mod.mustache b/templates/server/go.mod.mustache new file mode 100644 index 00000000..18f7e897 --- /dev/null +++ b/templates/server/go.mod.mustache @@ -0,0 +1,5 @@ +module {{gitHost}}/{{gitUserId}}/{{gitRepoId}} + +go 1.13 + +require github.com/gorilla/mux v1.7.3 diff --git a/templates/server/logger.mustache b/templates/server/logger.mustache new file mode 100644 index 00000000..e8464d6a --- /dev/null +++ b/templates/server/logger.mustache @@ -0,0 +1,24 @@ +{{>partial_header}} +package {{packageName}} + +import ( + "log" + "net/http" + "time" +) + +func Logger(inner http.Handler, name string) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + start := time.Now() + + inner.ServeHTTP(w, r) + + log.Printf( + "%s %s %s %s", + r.Method, + r.RequestURI, + name, + time.Since(start), + ) + }) +} diff --git a/templates/server/main.mustache b/templates/server/main.mustache new file mode 100644 index 00000000..b4943091 --- /dev/null +++ b/templates/server/main.mustache @@ -0,0 +1,21 @@ +{{>partial_header}} +package main + +import ( + "log" + "net/http" + + {{packageName}} "{{gitHost}}/{{gitUserId}}/{{gitRepoId}}/{{sourceFolder}}" +) + +func main() { + log.Printf("Server started") +{{#apiInfo}}{{#apis}} + // Override the default service implementation in your server + {{classname}}Service := {{packageName}}.New{{classname}}Service() + {{classname}}Controller := {{packageName}}.New{{classname}}Controller({{classname}}Service) +{{/apis}}{{/apiInfo}} + router := {{packageName}}.NewRouter({{#apiInfo}}{{#apis}}{{classname}}Controller{{#hasMore}}, {{/hasMore}}{{/apis}}{{/apiInfo}}) + + log.Fatal(http.ListenAndServe(":{{serverPort}}", router)) +} diff --git a/templates/server/model.mustache b/templates/server/model.mustache new file mode 100644 index 00000000..51f36f79 --- /dev/null +++ b/templates/server/model.mustache @@ -0,0 +1,24 @@ +{{>partial_header}} +package {{packageName}} +{{#models}}{{#imports}} +{{#-first}}import ( +{{/-first}} "{{import}}"{{#-last}} +) +{{/-last}}{{/imports}}{{#model}}{{#isEnum}}{{#description}}// {{{classname}}} : {{{description}}}{{/description}} +type {{{name}}} {{^format}}{{dataType}}{{/format}}{{#format}}{{{format}}}{{/format}} + +// List of {{{name}}} +const ( + {{#allowableValues}} + {{#enumVars}} + {{name}} {{{classname}}} = {{{value}}} + {{/enumVars}} + {{/allowableValues}} +){{/isEnum}}{{^isEnum}}{{#description}} +// {{classname}} - {{{description}}}{{/description}} +type {{classname}} struct { +{{#vars}}{{#description}} + // {{{description}}}{{/description}} + {{name}} {{^required}}*{{/required}}{{{dataType}}} `json:"{{baseName}}{{^required}},omitempty{{/required}}"{{#vendorExtensions.x-go-custom-tag}} {{{.}}}{{/vendorExtensions.x-go-custom-tag}}` +{{/vars}} +}{{/isEnum}}{{/model}}{{/models}} diff --git a/templates/server/openapi.mustache b/templates/server/openapi.mustache new file mode 100644 index 00000000..51ebafb0 --- /dev/null +++ b/templates/server/openapi.mustache @@ -0,0 +1 @@ +{{{openapi-yaml}}} \ No newline at end of file diff --git a/templates/server/partial_header.mustache b/templates/server/partial_header.mustache new file mode 100644 index 00000000..23edcdfb --- /dev/null +++ b/templates/server/partial_header.mustache @@ -0,0 +1,17 @@ +/* + {{#appName}} + * {{{appName}}} + * + {{/appName}} + {{#appDescription}} + * {{{appDescription}}} + * + {{/appDescription}} + {{#version}} + * API version: {{{version}}} + {{/version}} + {{#infoEmail}} + * Contact: {{{infoEmail}}} + {{/infoEmail}} + * Generated by: OpenAPI Generator (https://openapi-generator.tech) + */ diff --git a/templates/server/routers.mustache b/templates/server/routers.mustache new file mode 100644 index 00000000..cf0c8a45 --- /dev/null +++ b/templates/server/routers.mustache @@ -0,0 +1,100 @@ +{{>partial_header}} +package {{packageName}} + +import ( + "encoding/json" + "io/ioutil" + "net/http" + "os" + "strconv" + "github.com/gorilla/mux" +) + +// A Route defines the parameters for an api endpoint +type Route struct { + Name string + Method string + Pattern string + HandlerFunc http.HandlerFunc +} + +// Routes are a collection of defined api endpoints +type Routes []Route + +// Router defines the required methods for retrieving api routes +type Router interface { + Routes() Routes +} + +// CorsMiddleware handle CORS and ensures OPTIONS requests are +// handled properly. +func CorsMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Access-Control-Allow-Origin", "*") + w.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") + w.Header().Set("Access-Control-Allow-Methods", "GET, POST,OPTIONS") + if r.Method == "OPTIONS" { + w.WriteHeader(http.StatusOK) + return + } + next.ServeHTTP(w, r) + }) +} + +// NewRouter creates a new router for any number of api routers +func NewRouter(routers ...Router) http.Handler { + router := mux.NewRouter().StrictSlash(true) + for _, api := range routers { + for _, route := range api.Routes() { + var handler http.Handler + handler = route.HandlerFunc + handler = Logger(handler, route.Name) + + router. + Methods(route.Method). + Path(route.Pattern). + Name(route.Name). + Handler(handler) + } + } + + // use custom middleware because could not get mux handler to work in Chrome + return CorsMiddleware(router) +} + +// EncodeJSONResponse uses the json encoder to write an interface to the http response with an optional status code +func EncodeJSONResponse(i interface{}, status int, w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(status) + + return json.NewEncoder(w).Encode(i) +} + +// ReadFormFileToTempFile reads file data from a request form and writes it to a temporary file +func ReadFormFileToTempFile(r *http.Request, key string) (*os.File, error) { + r.ParseForm() + formFile, _, err := r.FormFile(key) + if err != nil { + return nil, err + } + + defer formFile.Close() + file, err := ioutil.TempFile("tmp", key) + if err != nil { + return nil, err + } + + defer file.Close() + fileBytes, err := ioutil.ReadAll(formFile) + if err != nil { + return nil, err + } + + file.Write(fileBytes) + return file, nil +} + +// parseIntParameter parses a sting parameter to an int64 +func parseIntParameter(param string) (int64, error) { + return strconv.ParseInt(param, 10, 64) +} diff --git a/templates/server/service.mustache b/templates/server/service.mustache new file mode 100644 index 00000000..8d39c57f --- /dev/null +++ b/templates/server/service.mustache @@ -0,0 +1,24 @@ +{{>partial_header}} +package {{packageName}} + +import ( + "errors"{{#imports}} + "{{import}}"{{/imports}} +) + +// {{classname}}Service is a service that implents the logic for the {{classname}}Servicer +// This service should implement the business logic for every endpoint for the {{classname}} API. +// Include any external packages or services that will be required by this service. +type {{classname}}Service struct { +} + +// New{{classname}}Service creates a default api service +func New{{classname}}Service() {{classname}}Servicer { + return &{{classname}}Service{} +}{{#operations}}{{#operation}} + +// {{nickname}} - {{summary}} +func (s *{{classname}}Service) {{nickname}}({{#allParams}}{{paramName}} {{dataType}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) (*{{returnType}}, error) { + // DO NOT WRITE YOUR LOGIC HERE AS THIS CODE IS DELETED WHEN AUTOGENERATION IS RUN!!! + return nil, errors.New("service method '{{nickname}}' not implemented") +}{{/operation}}{{/operations}} From 48f78f20c7b816523c0babccd89e475b853007bb Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 12:09:52 -0700 Subject: [PATCH 02/15] Working on server --- codegen.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/codegen.sh b/codegen.sh index 80af98f1..51a54bd7 100755 --- a/codegen.sh +++ b/codegen.sh @@ -95,3 +95,22 @@ make add-license; # Ensure no long lines make shorten-lines; + +# Add server code +docker run --user "$(id -u):$(id -g)" --rm -v "${PWD}":/local openapitools/openapi-generator-cli generate \ + -i /local/spec.json \ + -g go-server \ + -t /local/templates/server \ + --additional-properties packageName=server\ + -o /local/server_gen; + +# Remove unnecessary files +rm -rf server_gen/api; +rm -rf server_gen/.openapi-generator; +rm server_gen/.openapi-generator-ignore; +rm server_gen/go.mod; +rm server_gen/main.go; +rm server_gen/README.md; +rm server_gen/Dockerfile; +mv server_gen/go/* server_gen/.; +rm -rf server_gen/go; From df04d311e1de81ef888bc16bf818e9165dc84d2b Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 12:48:53 -0700 Subject: [PATCH 03/15] Make release is passing --- Makefile | 4 +- README.md | 3 - codegen.sh | 116 +++++++++++---------- go.mod | 1 + go.sum | 2 + server/.openapi-generator-ignore | 23 +++++ server/.openapi-generator/VERSION | 1 + server/api.go | 123 +++++++++++++++++++++++ server/api_account.go | 79 +++++++++++++++ server/api_block.go | 115 +++++++++++++++++++++ server/api_construction.go | 118 ++++++++++++++++++++++ server/api_mempool.go | 115 +++++++++++++++++++++ server/api_network.go | 79 +++++++++++++++ server/logger.go | 39 +++++++ server/routers.go | 88 ++++++++++++++++ templates/server/Dockerfile.mustache | 14 --- templates/server/README.mustache | 20 ---- templates/server/api.mustache | 7 +- templates/server/controller-api.mustache | 30 ++++-- templates/server/go.mod.mustache | 5 - templates/server/main.mustache | 21 ---- templates/server/model.mustache | 24 ----- templates/server/openapi.mustache | 1 - templates/server/partial_header.mustache | 18 +--- templates/server/routers.mustache | 33 +----- templates/server/service.mustache | 24 ----- 26 files changed, 872 insertions(+), 231 deletions(-) create mode 100644 server/.openapi-generator-ignore create mode 100644 server/.openapi-generator/VERSION create mode 100644 server/api.go create mode 100644 server/api_account.go create mode 100644 server/api_block.go create mode 100644 server/api_construction.go create mode 100644 server/api_mempool.go create mode 100644 server/api_network.go create mode 100644 server/logger.go create mode 100644 server/routers.go delete mode 100644 templates/server/Dockerfile.mustache delete mode 100644 templates/server/README.mustache delete mode 100644 templates/server/go.mod.mustache delete mode 100644 templates/server/main.mustache delete mode 100644 templates/server/model.mustache delete mode 100644 templates/server/openapi.mustache delete mode 100644 templates/server/service.mustache diff --git a/Makefile b/Makefile index b9a6e8a1..c5fc7a7f 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: deps gen lint format check-format test test-coverage add-license \ check-license shorten-lines shellcheck salus release LICENCE_SCRIPT=addlicense -c "Coinbase, Inc." -l "apache" -v -TEST_SCRIPT=go test -v ./asserter/... ./fetcher/... ./models/... ./client/... +TEST_SCRIPT=go test -v ./asserter/... ./fetcher/... ./models/... ./client/... ./server/... deps: go get ./... @@ -38,7 +38,7 @@ check-license: ${LICENCE_SCRIPT} -check . shorten-lines: - golines -w --shorten-comments asserter fetcher models client + golines -w --shorten-comments asserter fetcher models client server shellcheck: shellcheck codegen.sh diff --git a/README.md b/README.md index 77b0ec8f..b0bf6045 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,6 @@ in this specification will enable exchanges, block explorers, and wallets to integrate with much less communication overhead and network-specific work. -## Versioning -- Rosetta version: 1.3.0 - ## Installation ```shell diff --git a/codegen.sh b/codegen.sh index 51a54bd7..556b086d 100755 --- a/codegen.sh +++ b/codegen.sh @@ -29,88 +29,94 @@ case "${OS}" in ;; esac -# Remove existing generated code +# Remove existing clienterated code rm -rf models; rm -rf client; +rm -rf server; # Generate client + models code docker run --user "$(id -u):$(id -g)" --rm -v "${PWD}":/local openapitools/openapi-generator-cli generate \ -i /local/spec.json \ -g go \ -t /local/templates/client \ - --additional-properties packageName=models\ - -o /local/gen; - -# Remove unnecessary files -mv gen/README.md .; -mv -n gen/go.mod .; -rm gen/go.mod; -rm gen/go.sum; -rm -rf gen/api; -rm -rf gen/docs; -rm gen/git_push.sh; -rm gen/.travis.yml; -rm gen/.gitignore; -rm gen/.openapi-generator-ignore; -rm -rf gen/.openapi-generator; + --additional-properties packageName=client\ + -o /local/client; + +# Remove unnecessary client files +rm client/go.mod; +rm client/README.md; +rm client/go.mod; +rm client/go.sum; +rm -rf client/api; +rm -rf client/docs; +rm client/git_push.sh; +rm client/.travis.yml; +rm client/.gitignore; +rm client/.openapi-generator-ignore; +rm -rf client/.openapi-generator; + +# Add server code +docker run --user "$(id -u):$(id -g)" --rm -v "${PWD}":/local openapitools/openapi-generator-cli generate \ + -i /local/spec.json \ + -g go-server \ + -t /local/templates/server \ + --additional-properties packageName=server\ + -o /local/server; + +# Remove unnecessary server files +rm -rf server/api; +rm -rf server/.openapi-clienterator; +rm server/.openapi-clienterator-ignore; +rm server/go.mod; +rm server/main.go; +rm server/README.md; +rm server/Dockerfile; +mv server/go/* server/.; +rm -rf server/go; +rm server/model_*.go +rm server/*_service.go + # Fix linting issues -sed "${SED_IFLAG[@]}" 's/Api/API/g' gen/*; -sed "${SED_IFLAG[@]}" 's/Json/JSON/g' gen/*; -sed "${SED_IFLAG[@]}" 's/Id /ID /g' gen/*; -sed "${SED_IFLAG[@]}" 's/Url/URL/g' gen/*; +sed "${SED_IFLAG[@]}" 's/Api/API/g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/Json/JSON/g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/Id /ID /g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/Url/URL/g' client/* server/*; # Remove special characters -sed "${SED_IFLAG[@]}" 's/`//g' gen/*; -sed "${SED_IFLAG[@]}" 's/\"//g' gen/*; -sed "${SED_IFLAG[@]}" 's/\<b>//g' gen/*; -sed "${SED_IFLAG[@]}" 's/\<\/b>//g' gen/*; -sed "${SED_IFLAG[@]}" 's///g' gen/*; -sed "${SED_IFLAG[@]}" 's/<\/code>//g' gen/*; +sed "${SED_IFLAG[@]}" 's/`//g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/\"//g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/\<b>//g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/\<\/b>//g' client/* server/*; +sed "${SED_IFLAG[@]}" 's///g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/<\/code>//g' client/* server/*; # Fix slice containing pointers -sed "${SED_IFLAG[@]}" 's/\*\[\]/\[\]\*/g' gen/*; +sed "${SED_IFLAG[@]}" 's/\*\[\]/\[\]\*/g' client/* server/*; # Fix misspellings -sed "${SED_IFLAG[@]}" 's/occured/occurred/g' gen/*; -sed "${SED_IFLAG[@]}" 's/cannonical/canonical/g' gen/*; -sed "${SED_IFLAG[@]}" 's/Cannonical/Canonical/g' gen/*; +sed "${SED_IFLAG[@]}" 's/occured/occurred/g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/cannonical/canonical/g' client/* server/*; +sed "${SED_IFLAG[@]}" 's/Cannonical/Canonical/g' client/* server/*; -# Format generated code -gofmt -w gen/; # Move model files to models/ mkdir models; -mv gen/model_*.go models/; +mv client/model_*.go models/; for file in models/model_*.go; do mv "$file" "${file/model_/}" done -# Change client files to correct package -sed "${SED_IFLAG[@]}" 's/package models/package client/g' gen/*; -mv gen client; +# Change model files to correct package +sed "${SED_IFLAG[@]}" 's/package client/package models/g' models/*; + +# Format clienterated code +gofmt -w models/; +gofmt -w client/; +gofmt -w server/; # Ensure license correct make add-license; # Ensure no long lines make shorten-lines; - -# Add server code -docker run --user "$(id -u):$(id -g)" --rm -v "${PWD}":/local openapitools/openapi-generator-cli generate \ - -i /local/spec.json \ - -g go-server \ - -t /local/templates/server \ - --additional-properties packageName=server\ - -o /local/server_gen; - -# Remove unnecessary files -rm -rf server_gen/api; -rm -rf server_gen/.openapi-generator; -rm server_gen/.openapi-generator-ignore; -rm server_gen/go.mod; -rm server_gen/main.go; -rm server_gen/README.md; -rm server_gen/Dockerfile; -mv server_gen/go/* server_gen/.; -rm -rf server_gen/go; diff --git a/go.mod b/go.mod index 1804b156..74fff0e0 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.13 require ( github.com/cenkalti/backoff v2.2.1+incompatible + github.com/gorilla/mux v1.7.4 github.com/stretchr/testify v1.5.1 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a ) diff --git a/go.sum b/go.sum index 2d06817b..6750db72 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEe github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= +github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= diff --git a/server/.openapi-generator-ignore b/server/.openapi-generator-ignore new file mode 100644 index 00000000..7484ee59 --- /dev/null +++ b/server/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/server/.openapi-generator/VERSION b/server/.openapi-generator/VERSION new file mode 100644 index 00000000..b5d89860 --- /dev/null +++ b/server/.openapi-generator/VERSION @@ -0,0 +1 @@ +4.3.1-SNAPSHOT \ No newline at end of file diff --git a/server/api.go b/server/api.go new file mode 100644 index 00000000..5269a7aa --- /dev/null +++ b/server/api.go @@ -0,0 +1,123 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "net/http" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// AccountAPIRouter defines the required methods for binding the api requests to a responses for the +// AccountAPI +// The AccountAPIRouter implementation should parse necessary information from the http request, +// pass the data to a AccountAPIServicer to perform the required actions, then write the service +// results to the http response. +type AccountAPIRouter interface { + AccountBalance(http.ResponseWriter, *http.Request) +} + +// BlockAPIRouter defines the required methods for binding the api requests to a responses for the +// BlockAPI +// The BlockAPIRouter implementation should parse necessary information from the http request, +// pass the data to a BlockAPIServicer to perform the required actions, then write the service +// results to the http response. +type BlockAPIRouter interface { + Block(http.ResponseWriter, *http.Request) + BlockTransaction(http.ResponseWriter, *http.Request) +} + +// ConstructionAPIRouter defines the required methods for binding the api requests to a responses +// for the ConstructionAPI +// The ConstructionAPIRouter implementation should parse necessary information from the http +// request, +// pass the data to a ConstructionAPIServicer to perform the required actions, then write the +// service results to the http response. +type ConstructionAPIRouter interface { + TransactionConstruction(http.ResponseWriter, *http.Request) + TransactionSubmit(http.ResponseWriter, *http.Request) +} + +// MempoolAPIRouter defines the required methods for binding the api requests to a responses for the +// MempoolAPI +// The MempoolAPIRouter implementation should parse necessary information from the http request, +// pass the data to a MempoolAPIServicer to perform the required actions, then write the service +// results to the http response. +type MempoolAPIRouter interface { + Mempool(http.ResponseWriter, *http.Request) + MempoolTransaction(http.ResponseWriter, *http.Request) +} + +// NetworkAPIRouter defines the required methods for binding the api requests to a responses for the +// NetworkAPI +// The NetworkAPIRouter implementation should parse necessary information from the http request, +// pass the data to a NetworkAPIServicer to perform the required actions, then write the service +// results to the http response. +type NetworkAPIRouter interface { + NetworkStatus(http.ResponseWriter, *http.Request) +} + +// AccountAPIServicer defines the api actions for the AccountAPI service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type AccountAPIServicer interface { + AccountBalance(models.AccountBalanceRequest) (*models.AccountBalanceResponse, *models.Error) +} + +// BlockAPIServicer defines the api actions for the BlockAPI service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type BlockAPIServicer interface { + Block(models.BlockRequest) (*models.BlockResponse, *models.Error) + BlockTransaction( + models.BlockTransactionRequest, + ) (*models.BlockTransactionResponse, *models.Error) +} + +// ConstructionAPIServicer defines the api actions for the ConstructionAPI service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type ConstructionAPIServicer interface { + TransactionConstruction( + models.TransactionConstructionRequest, + ) (*models.TransactionConstructionResponse, *models.Error) + TransactionSubmit( + models.TransactionSubmitRequest, + ) (*models.TransactionSubmitResponse, *models.Error) +} + +// MempoolAPIServicer defines the api actions for the MempoolAPI service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type MempoolAPIServicer interface { + Mempool(models.MempoolRequest) (*models.MempoolResponse, *models.Error) + MempoolTransaction( + models.MempoolTransactionRequest, + ) (*models.MempoolTransactionResponse, *models.Error) +} + +// NetworkAPIServicer defines the api actions for the NetworkAPI service +// This interface intended to stay up to date with the openapi yaml used to generate it, +// while the service implementation can ignored with the .openapi-generator-ignore file +// and updated with the logic required for the API. +type NetworkAPIServicer interface { + NetworkStatus(models.NetworkStatusRequest) (*models.NetworkStatusResponse, *models.Error) +} diff --git a/server/api_account.go b/server/api_account.go new file mode 100644 index 00000000..3ba5e590 --- /dev/null +++ b/server/api_account.go @@ -0,0 +1,79 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "log" + "net/http" + "strings" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// A AccountAPIController binds http requests to an api service and writes the service results to +// the http response +type AccountAPIController struct { + service AccountAPIServicer +} + +// NewAccountAPIController creates a default api controller +func NewAccountAPIController(s AccountAPIServicer) Router { + return &AccountAPIController{service: s} +} + +// Routes returns all of the api route for the AccountAPIController +func (c *AccountAPIController) Routes() Routes { + return Routes{ + { + "AccountBalance", + strings.ToUpper("Post"), + "/account/balance", + c.AccountBalance, + }, + } +} + +// AccountBalance - Get an Account Balance +func (c *AccountAPIController) AccountBalance(w http.ResponseWriter, r *http.Request) { + accountBalanceRequest := &models.AccountBalanceRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&accountBalanceRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.AccountBalance(*accountBalanceRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} diff --git a/server/api_block.go b/server/api_block.go new file mode 100644 index 00000000..81eab9ec --- /dev/null +++ b/server/api_block.go @@ -0,0 +1,115 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "log" + "net/http" + "strings" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// A BlockAPIController binds http requests to an api service and writes the service results to the +// http response +type BlockAPIController struct { + service BlockAPIServicer +} + +// NewBlockAPIController creates a default api controller +func NewBlockAPIController(s BlockAPIServicer) Router { + return &BlockAPIController{service: s} +} + +// Routes returns all of the api route for the BlockAPIController +func (c *BlockAPIController) Routes() Routes { + return Routes{ + { + "Block", + strings.ToUpper("Post"), + "/block", + c.Block, + }, + { + "BlockTransaction", + strings.ToUpper("Post"), + "/block/transaction", + c.BlockTransaction, + }, + } +} + +// Block - Get a Block +func (c *BlockAPIController) Block(w http.ResponseWriter, r *http.Request) { + blockRequest := &models.BlockRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&blockRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.Block(*blockRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} + +// BlockTransaction - Get a Block Transaction +func (c *BlockAPIController) BlockTransaction(w http.ResponseWriter, r *http.Request) { + blockTransactionRequest := &models.BlockTransactionRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&blockTransactionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.BlockTransaction(*blockTransactionRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} diff --git a/server/api_construction.go b/server/api_construction.go new file mode 100644 index 00000000..a9322582 --- /dev/null +++ b/server/api_construction.go @@ -0,0 +1,118 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "log" + "net/http" + "strings" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// A ConstructionAPIController binds http requests to an api service and writes the service results +// to the http response +type ConstructionAPIController struct { + service ConstructionAPIServicer +} + +// NewConstructionAPIController creates a default api controller +func NewConstructionAPIController(s ConstructionAPIServicer) Router { + return &ConstructionAPIController{service: s} +} + +// Routes returns all of the api route for the ConstructionAPIController +func (c *ConstructionAPIController) Routes() Routes { + return Routes{ + { + "TransactionConstruction", + strings.ToUpper("Post"), + "/construction/metadata", + c.TransactionConstruction, + }, + { + "TransactionSubmit", + strings.ToUpper("Post"), + "/construction/submit", + c.TransactionSubmit, + }, + } +} + +// TransactionConstruction - Get Transaction Construction Metadata +func (c *ConstructionAPIController) TransactionConstruction( + w http.ResponseWriter, + r *http.Request, +) { + transactionConstructionRequest := &models.TransactionConstructionRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&transactionConstructionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.TransactionConstruction(*transactionConstructionRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} + +// TransactionSubmit - Submit a Signed Transaction +func (c *ConstructionAPIController) TransactionSubmit(w http.ResponseWriter, r *http.Request) { + transactionSubmitRequest := &models.TransactionSubmitRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&transactionSubmitRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.TransactionSubmit(*transactionSubmitRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} diff --git a/server/api_mempool.go b/server/api_mempool.go new file mode 100644 index 00000000..d099018c --- /dev/null +++ b/server/api_mempool.go @@ -0,0 +1,115 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "log" + "net/http" + "strings" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// A MempoolAPIController binds http requests to an api service and writes the service results to +// the http response +type MempoolAPIController struct { + service MempoolAPIServicer +} + +// NewMempoolAPIController creates a default api controller +func NewMempoolAPIController(s MempoolAPIServicer) Router { + return &MempoolAPIController{service: s} +} + +// Routes returns all of the api route for the MempoolAPIController +func (c *MempoolAPIController) Routes() Routes { + return Routes{ + { + "Mempool", + strings.ToUpper("Post"), + "/mempool", + c.Mempool, + }, + { + "MempoolTransaction", + strings.ToUpper("Post"), + "/mempool/transaction", + c.MempoolTransaction, + }, + } +} + +// Mempool - Get All Mempool Transactions +func (c *MempoolAPIController) Mempool(w http.ResponseWriter, r *http.Request) { + mempoolRequest := &models.MempoolRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&mempoolRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.Mempool(*mempoolRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} + +// MempoolTransaction - Get a Mempool Transaction +func (c *MempoolAPIController) MempoolTransaction(w http.ResponseWriter, r *http.Request) { + mempoolTransactionRequest := &models.MempoolTransactionRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&mempoolTransactionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.MempoolTransaction(*mempoolTransactionRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} diff --git a/server/api_network.go b/server/api_network.go new file mode 100644 index 00000000..19afe0c4 --- /dev/null +++ b/server/api_network.go @@ -0,0 +1,79 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "log" + "net/http" + "strings" + + "github.com/coinbase/rosetta-sdk-go/models" +) + +// A NetworkAPIController binds http requests to an api service and writes the service results to +// the http response +type NetworkAPIController struct { + service NetworkAPIServicer +} + +// NewNetworkAPIController creates a default api controller +func NewNetworkAPIController(s NetworkAPIServicer) Router { + return &NetworkAPIController{service: s} +} + +// Routes returns all of the api route for the NetworkAPIController +func (c *NetworkAPIController) Routes() Routes { + return Routes{ + { + "NetworkStatus", + strings.ToUpper("Post"), + "/network/status", + c.NetworkStatus, + }, + } +} + +// NetworkStatus - Get Network Status +func (c *NetworkAPIController) NetworkStatus(w http.ResponseWriter, r *http.Request) { + networkStatusRequest := &models.NetworkStatusRequest{} + // TODO: Assert required params are present + if err := json.NewDecoder(r.Body).Decode(&networkStatusRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusBadRequest, w) + if err != nil { + log.Fatal(err) + } + + return + } + + result, serviceErr := c.service.NetworkStatus(*networkStatusRequest) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } +} diff --git a/server/logger.go b/server/logger.go new file mode 100644 index 00000000..8d38cb60 --- /dev/null +++ b/server/logger.go @@ -0,0 +1,39 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "log" + "net/http" + "time" +) + +func Logger(inner http.Handler, name string) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + start := time.Now() + + inner.ServeHTTP(w, r) + + log.Printf( + "%s %s %s %s", + r.Method, + r.RequestURI, + name, + time.Since(start), + ) + }) +} diff --git a/server/routers.go b/server/routers.go new file mode 100644 index 00000000..c378c170 --- /dev/null +++ b/server/routers.go @@ -0,0 +1,88 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated by: OpenAPI Generator (https://openapi-generator.tech) + +package server + +import ( + "encoding/json" + "net/http" + + "github.com/gorilla/mux" +) + +// A Route defines the parameters for an api endpoint +type Route struct { + Name string + Method string + Pattern string + HandlerFunc http.HandlerFunc +} + +// Routes are a collection of defined api endpoints +type Routes []Route + +// Router defines the required methods for retrieving api routes +type Router interface { + Routes() Routes +} + +// CorsMiddleware handle CORS and ensures OPTIONS requests are +// handled properly. +func CorsMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Access-Control-Allow-Origin", "*") + w.Header().Set( + "Access-Control-Allow-Headers", + "Origin, X-Requested-With, Content-Type, Accept", + ) + w.Header().Set("Access-Control-Allow-Methods", "GET, POST,OPTIONS") + if r.Method == "OPTIONS" { + w.WriteHeader(http.StatusOK) + return + } + next.ServeHTTP(w, r) + }) +} + +// NewRouter creates a new router for any number of api routers +func NewRouter(routers ...Router) http.Handler { + router := mux.NewRouter().StrictSlash(true) + for _, api := range routers { + for _, route := range api.Routes() { + var handler http.Handler + handler = route.HandlerFunc + handler = Logger(handler, route.Name) + + router. + Methods(route.Method). + Path(route.Pattern). + Name(route.Name). + Handler(handler) + } + } + + // use custom middleware because could not get mux handler to work in Chrome + return CorsMiddleware(router) +} + +// EncodeJSONResponse uses the json encoder to write an interface to the http response with an +// optional status code +func EncodeJSONResponse(i interface{}, status int, w http.ResponseWriter) error { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(status) + + return json.NewEncoder(w).Encode(i) +} diff --git a/templates/server/Dockerfile.mustache b/templates/server/Dockerfile.mustache deleted file mode 100644 index b00f7cac..00000000 --- a/templates/server/Dockerfile.mustache +++ /dev/null @@ -1,14 +0,0 @@ -FROM golang:1.10 AS build -WORKDIR /go/src -COPY {{sourceFolder}} ./{{sourceFolder}} -COPY main.go . - -ENV CGO_ENABLED=0 -RUN go get -d -v ./... - -RUN go build -a -installsuffix cgo -o {{packageName}} . - -FROM scratch AS runtime -COPY --from=build /go/src/{{packageName}} ./ -EXPOSE 8080/tcp -ENTRYPOINT ["./{{packageName}}"] diff --git a/templates/server/README.mustache b/templates/server/README.mustache deleted file mode 100644 index 39ae606f..00000000 --- a/templates/server/README.mustache +++ /dev/null @@ -1,20 +0,0 @@ -# Go API Server for {{packageName}} - -{{#appDescriptionWithNewLines}} -{{{appDescriptionWithNewLines}}} -{{/appDescriptionWithNewLines}} - -## Overview -This server was generated by the [openapi-generator] -(https://openapi-generator.tech) project. -By using the [OpenAPI-Spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate a server stub. - -- API version: {{appVersion}} -- Package version: {{packageVersion}} -- Build date: {{generatedDate}} - -## Installation - -```shell -go get {{gitHost}}/{{gitUserId}}/{{gitRepoId}}/{{packageName}} -``` diff --git a/templates/server/api.mustache b/templates/server/api.mustache index 9115ec3b..261b782c 100644 --- a/templates/server/api.mustache +++ b/templates/server/api.mustache @@ -2,8 +2,9 @@ package {{packageName}} import ( - "net/http"{{#apiInfo}}{{#apis}}{{#imports}} - "{{import}}"{{/imports}}{{/apis}}{{/apiInfo}} + "net/http" + + "github.com/coinbase/rosetta-sdk-go/models" ) {{#apiInfo}}{{#apis}} @@ -20,5 +21,5 @@ type {{classname}}Router interface { {{#operations}}{{#operation}} // while the service implementation can ignored with the .openapi-generator-ignore file // and updated with the logic required for the API. type {{classname}}Servicer interface { {{#operations}}{{#operation}} - {{operationId}}({{#allParams}}{{dataType}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) (*{{returnType}}, error){{/operation}}{{/operations}} + {{operationId}}({{#allParams}}models.{{dataType}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) (*models.{{returnType}}, *models.Error){{/operation}}{{/operations}} }{{/apis}}{{/apiInfo}} diff --git a/templates/server/controller-api.mustache b/templates/server/controller-api.mustache index 815fa407..5efd28ea 100644 --- a/templates/server/controller-api.mustache +++ b/templates/server/controller-api.mustache @@ -3,8 +3,11 @@ package {{packageName}} import ( "encoding/json" + "log" "net/http" "strings" + + "github.com/coinbase/rosetta-sdk-go/models" ) // A {{classname}}Controller binds http requests to an api service and writes the service results to the http response @@ -32,23 +35,30 @@ func (c *{{classname}}Controller) Routes() Routes { // {{nickname}} - {{{summary}}} func (c *{{classname}}Controller) {{nickname}}(w http.ResponseWriter, r *http.Request) { {{#allParams}}{{#isHeaderParam}} {{paramName}} := r.Header.Get("{{paramName}}"){{/isHeaderParam}}{{#isBodyParam}} - {{paramName}} := &{{dataType}}{} + {{paramName}} := &models.{{dataType}}{} // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&{{paramName}}); err != nil { - EncodeJSONResponse(&Error{ + err = EncodeJSONResponse(&models.Error{ Message: err.Error(), }, http.StatusBadRequest, w) - return + if err != nil { + log.Fatal(err) + } + + return } {{/isBodyParam}}{{/allParams}} - // TODO: return status code from service - result, err := c.service.{{nickname}}({{#allParams}}{{#isBodyParam}}*{{/isBodyParam}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) - if err != nil { - EncodeJSONResponse(&Error{ - Message: err.Error(), - }, http.StatusInternalServerError, w) + result, serviceErr := c.service.{{nickname}}({{#allParams}}{{#isBodyParam}}*{{/isBodyParam}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) + if serviceErr != nil { + err := EncodeJSONResponse(serviceErr, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + return } - EncodeJSONResponse(result, http.StatusOK, w) + if err := EncodeJSONResponse(result, http.StatusOK, w); err != nil { + log.Fatal(err) + } }{{/operation}}{{/operations}} diff --git a/templates/server/go.mod.mustache b/templates/server/go.mod.mustache deleted file mode 100644 index 18f7e897..00000000 --- a/templates/server/go.mod.mustache +++ /dev/null @@ -1,5 +0,0 @@ -module {{gitHost}}/{{gitUserId}}/{{gitRepoId}} - -go 1.13 - -require github.com/gorilla/mux v1.7.3 diff --git a/templates/server/main.mustache b/templates/server/main.mustache deleted file mode 100644 index b4943091..00000000 --- a/templates/server/main.mustache +++ /dev/null @@ -1,21 +0,0 @@ -{{>partial_header}} -package main - -import ( - "log" - "net/http" - - {{packageName}} "{{gitHost}}/{{gitUserId}}/{{gitRepoId}}/{{sourceFolder}}" -) - -func main() { - log.Printf("Server started") -{{#apiInfo}}{{#apis}} - // Override the default service implementation in your server - {{classname}}Service := {{packageName}}.New{{classname}}Service() - {{classname}}Controller := {{packageName}}.New{{classname}}Controller({{classname}}Service) -{{/apis}}{{/apiInfo}} - router := {{packageName}}.NewRouter({{#apiInfo}}{{#apis}}{{classname}}Controller{{#hasMore}}, {{/hasMore}}{{/apis}}{{/apiInfo}}) - - log.Fatal(http.ListenAndServe(":{{serverPort}}", router)) -} diff --git a/templates/server/model.mustache b/templates/server/model.mustache deleted file mode 100644 index 51f36f79..00000000 --- a/templates/server/model.mustache +++ /dev/null @@ -1,24 +0,0 @@ -{{>partial_header}} -package {{packageName}} -{{#models}}{{#imports}} -{{#-first}}import ( -{{/-first}} "{{import}}"{{#-last}} -) -{{/-last}}{{/imports}}{{#model}}{{#isEnum}}{{#description}}// {{{classname}}} : {{{description}}}{{/description}} -type {{{name}}} {{^format}}{{dataType}}{{/format}}{{#format}}{{{format}}}{{/format}} - -// List of {{{name}}} -const ( - {{#allowableValues}} - {{#enumVars}} - {{name}} {{{classname}}} = {{{value}}} - {{/enumVars}} - {{/allowableValues}} -){{/isEnum}}{{^isEnum}}{{#description}} -// {{classname}} - {{{description}}}{{/description}} -type {{classname}} struct { -{{#vars}}{{#description}} - // {{{description}}}{{/description}} - {{name}} {{^required}}*{{/required}}{{{dataType}}} `json:"{{baseName}}{{^required}},omitempty{{/required}}"{{#vendorExtensions.x-go-custom-tag}} {{{.}}}{{/vendorExtensions.x-go-custom-tag}}` -{{/vars}} -}{{/isEnum}}{{/model}}{{/models}} diff --git a/templates/server/openapi.mustache b/templates/server/openapi.mustache deleted file mode 100644 index 51ebafb0..00000000 --- a/templates/server/openapi.mustache +++ /dev/null @@ -1 +0,0 @@ -{{{openapi-yaml}}} \ No newline at end of file diff --git a/templates/server/partial_header.mustache b/templates/server/partial_header.mustache index 23edcdfb..a0a1639a 100644 --- a/templates/server/partial_header.mustache +++ b/templates/server/partial_header.mustache @@ -1,17 +1 @@ -/* - {{#appName}} - * {{{appName}}} - * - {{/appName}} - {{#appDescription}} - * {{{appDescription}}} - * - {{/appDescription}} - {{#version}} - * API version: {{{version}}} - {{/version}} - {{#infoEmail}} - * Contact: {{{infoEmail}}} - {{/infoEmail}} - * Generated by: OpenAPI Generator (https://openapi-generator.tech) - */ +// Generated by: OpenAPI Generator (https://openapi-generator.tech) diff --git a/templates/server/routers.mustache b/templates/server/routers.mustache index cf0c8a45..39f0aedf 100644 --- a/templates/server/routers.mustache +++ b/templates/server/routers.mustache @@ -3,10 +3,8 @@ package {{packageName}} import ( "encoding/json" - "io/ioutil" "net/http" - "os" - "strconv" + "github.com/gorilla/mux" ) @@ -69,32 +67,3 @@ func EncodeJSONResponse(i interface{}, status int, w http.ResponseWriter) error return json.NewEncoder(w).Encode(i) } - -// ReadFormFileToTempFile reads file data from a request form and writes it to a temporary file -func ReadFormFileToTempFile(r *http.Request, key string) (*os.File, error) { - r.ParseForm() - formFile, _, err := r.FormFile(key) - if err != nil { - return nil, err - } - - defer formFile.Close() - file, err := ioutil.TempFile("tmp", key) - if err != nil { - return nil, err - } - - defer file.Close() - fileBytes, err := ioutil.ReadAll(formFile) - if err != nil { - return nil, err - } - - file.Write(fileBytes) - return file, nil -} - -// parseIntParameter parses a sting parameter to an int64 -func parseIntParameter(param string) (int64, error) { - return strconv.ParseInt(param, 10, 64) -} diff --git a/templates/server/service.mustache b/templates/server/service.mustache deleted file mode 100644 index 8d39c57f..00000000 --- a/templates/server/service.mustache +++ /dev/null @@ -1,24 +0,0 @@ -{{>partial_header}} -package {{packageName}} - -import ( - "errors"{{#imports}} - "{{import}}"{{/imports}} -) - -// {{classname}}Service is a service that implents the logic for the {{classname}}Servicer -// This service should implement the business logic for every endpoint for the {{classname}} API. -// Include any external packages or services that will be required by this service. -type {{classname}}Service struct { -} - -// New{{classname}}Service creates a default api service -func New{{classname}}Service() {{classname}}Servicer { - return &{{classname}}Service{} -}{{#operations}}{{#operation}} - -// {{nickname}} - {{summary}} -func (s *{{classname}}Service) {{nickname}}({{#allParams}}{{paramName}} {{dataType}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) (*{{returnType}}, error) { - // DO NOT WRITE YOUR LOGIC HERE AS THIS CODE IS DELETED WHEN AUTOGENERATION IS RUN!!! - return nil, errors.New("service method '{{nickname}}' not implemented") -}{{/operation}}{{/operations}} From fc63c52cb4a2ea24a92c77f4ba2481c27f8bddee Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 13:21:52 -0700 Subject: [PATCH 04/15] Return models.Error on client --- client/api_account.go | 25 ++++--- client/api_block.go | 49 ++++++------- client/api_construction.go | 49 ++++++------- client/api_mempool.go | 49 ++++++------- client/api_network.go | 25 ++++--- client/client.go | 22 ------ templates/client/api.mustache | 119 ++++--------------------------- templates/client/client.mustache | 22 ------ 8 files changed, 108 insertions(+), 252 deletions(-) diff --git a/client/api_account.go b/client/api_account.go index 678584cd..de5b3a48 100644 --- a/client/api_account.go +++ b/client/api_account.go @@ -18,6 +18,7 @@ package client import ( _context "context" + "fmt" _ioutil "io/ioutil" _nethttp "net/http" @@ -43,7 +44,7 @@ type AccountAPIService service func (a *AccountAPIService) AccountBalance( ctx _context.Context, accountBalanceRequest models.AccountBalanceRequest, -) (*models.AccountBalanceResponse, *_nethttp.Response, error) { +) (*models.AccountBalanceResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -79,32 +80,30 @@ func (a *AccountAPIService) AccountBalance( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.AccountBalanceResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } diff --git a/client/api_block.go b/client/api_block.go index bfd14181..d854cc7b 100644 --- a/client/api_block.go +++ b/client/api_block.go @@ -18,6 +18,7 @@ package client import ( _context "context" + "fmt" _ioutil "io/ioutil" _nethttp "net/http" @@ -39,7 +40,7 @@ type BlockAPIService service func (a *BlockAPIService) Block( ctx _context.Context, blockRequest models.BlockRequest, -) (*models.BlockResponse, *_nethttp.Response, error) { +) (*models.BlockResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -75,34 +76,32 @@ func (a *BlockAPIService) Block( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.BlockResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } // BlockTransaction Get a transaction in a block by its Transaction Identifier. This method should @@ -120,7 +119,7 @@ func (a *BlockAPIService) Block( func (a *BlockAPIService) BlockTransaction( ctx _context.Context, blockTransactionRequest models.BlockTransactionRequest, -) (*models.BlockTransactionResponse, *_nethttp.Response, error) { +) (*models.BlockTransactionResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -156,32 +155,30 @@ func (a *BlockAPIService) BlockTransaction( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.BlockTransactionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } diff --git a/client/api_construction.go b/client/api_construction.go index 30c34b27..e6194c70 100644 --- a/client/api_construction.go +++ b/client/api_construction.go @@ -18,6 +18,7 @@ package client import ( _context "context" + "fmt" _ioutil "io/ioutil" _nethttp "net/http" @@ -41,7 +42,7 @@ type ConstructionAPIService service func (a *ConstructionAPIService) TransactionConstruction( ctx _context.Context, transactionConstructionRequest models.TransactionConstructionRequest, -) (*models.TransactionConstructionResponse, *_nethttp.Response, error) { +) (*models.TransactionConstructionResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -77,34 +78,32 @@ func (a *ConstructionAPIService) TransactionConstruction( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.TransactionConstructionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } // TransactionSubmit Submit a pre-signed transaction to the node. This call should not block on the @@ -115,7 +114,7 @@ func (a *ConstructionAPIService) TransactionConstruction( func (a *ConstructionAPIService) TransactionSubmit( ctx _context.Context, transactionSubmitRequest models.TransactionSubmitRequest, -) (*models.TransactionSubmitResponse, *_nethttp.Response, error) { +) (*models.TransactionSubmitResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -151,32 +150,30 @@ func (a *ConstructionAPIService) TransactionSubmit( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.TransactionSubmitResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } diff --git a/client/api_mempool.go b/client/api_mempool.go index 81fc8796..4ee7db43 100644 --- a/client/api_mempool.go +++ b/client/api_mempool.go @@ -18,6 +18,7 @@ package client import ( _context "context" + "fmt" _ioutil "io/ioutil" _nethttp "net/http" @@ -36,7 +37,7 @@ type MempoolAPIService service func (a *MempoolAPIService) Mempool( ctx _context.Context, mempoolRequest models.MempoolRequest, -) (*models.MempoolResponse, *_nethttp.Response, error) { +) (*models.MempoolResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -72,34 +73,32 @@ func (a *MempoolAPIService) Mempool( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.MempoolResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } // MempoolTransaction Get a transaction in the mempool by its Transaction Identifier. This is a @@ -112,7 +111,7 @@ func (a *MempoolAPIService) Mempool( func (a *MempoolAPIService) MempoolTransaction( ctx _context.Context, mempoolTransactionRequest models.MempoolTransactionRequest, -) (*models.MempoolTransactionResponse, *_nethttp.Response, error) { +) (*models.MempoolTransactionResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -148,32 +147,30 @@ func (a *MempoolAPIService) MempoolTransaction( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.MempoolTransactionResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } diff --git a/client/api_network.go b/client/api_network.go index e17fca0a..e1c38572 100644 --- a/client/api_network.go +++ b/client/api_network.go @@ -18,6 +18,7 @@ package client import ( _context "context" + "fmt" _ioutil "io/ioutil" _nethttp "net/http" @@ -37,7 +38,7 @@ type NetworkAPIService service func (a *NetworkAPIService) NetworkStatus( ctx _context.Context, networkStatusRequest models.NetworkStatusRequest, -) (*models.NetworkStatusResponse, *_nethttp.Response, error) { +) (*models.NetworkStatusResponse, *models.Error, error) { var ( localVarPostBody interface{} ) @@ -73,32 +74,30 @@ func (a *NetworkAPIService) NetworkStatus( localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return nil, localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err } - return nil, localVarHTTPResponse, newErr + + return nil, &v, fmt.Errorf("%+v", v) } var v models.NetworkStatusResponse err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return nil, localVarHTTPResponse, newErr + return nil, nil, err } - return &v, localVarHTTPResponse, nil + return &v, nil, nil } diff --git a/client/client.go b/client/client.go index d93121f9..b5bbebe0 100644 --- a/client/client.go +++ b/client/client.go @@ -293,25 +293,3 @@ func detectContentType(body interface{}) string { return contentType } - -// GenericOpenAPIError Provides access to the body, error and model on returned errors. -type GenericOpenAPIError struct { - body []byte - error string - model interface{} -} - -// Error returns non-empty string if there was an error. -func (e GenericOpenAPIError) Error() string { - return e.error -} - -// Body returns the raw bytes of the response -func (e GenericOpenAPIError) Body() []byte { - return e.body -} - -// Model returns the unpacked model of the error -func (e GenericOpenAPIError) Model() interface{} { - return e.model -} diff --git a/templates/client/api.mustache b/templates/client/api.mustache index 71c44f31..ee49b3e2 100644 --- a/templates/client/api.mustache +++ b/templates/client/api.mustache @@ -20,85 +20,15 @@ var ( type {{classname}}Service service {{#operation}} -{{#hasOptionalParams}} -// {{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts Optional parameters for the method '{{{nickname}}}' -type {{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts struct { -{{#allParams}} -{{^required}} -{{#isPrimitiveType}} -{{^isBinary}} - {{vendorExtensions.x-export-param-name}} optional.{{vendorExtensions.x-optional-data-type}} -{{/isBinary}} -{{#isBinary}} - {{vendorExtensions.x-export-param-name}} optional.Interface -{{/isBinary}} -{{/isPrimitiveType}} -{{^isPrimitiveType}} - {{vendorExtensions.x-export-param-name}} optional.Interface -{{/isPrimitiveType}} -{{/required}} -{{/allParams}} -} - -{{/hasOptionalParams}} // {{operationId}}{{#notes}} {{notes}}{{/notes}} -func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams}}, {{/hasParams}}{{#allParams}}{{#required}}{{paramName}} models.{{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/required}}{{/allParams}}{{#hasOptionalParams}}localVarOptionals *{{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts{{/hasOptionalParams}}) ({{#returnType}}*models.{{{returnType}}}, {{/returnType}}*_nethttp.Response, error) { +func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams}}, {{/hasParams}}{{#allParams}}{{#required}}{{paramName}} models.{{{dataType}}}{{#hasMore}}, {{/hasMore}}{{/required}}{{/allParams}}{{#hasOptionalParams}}localVarOptionals *{{#structPrefix}}{{&classname}}{{/structPrefix}}{{{nickname}}}Opts{{/hasOptionalParams}}) ({{#returnType}}*models.{{{returnType}}}, {{/returnType}} *models.Error, error) { var ( localVarPostBody interface{} ) // create path and map variables - localVarPath := a.client.cfg.BasePath + "{{{path}}}"{{#pathParams}} - localVarPath = strings.Replace(localVarPath, "{"+"{{baseName}}"+"}", _neturl.QueryEscape(parameterToString({{paramName}}, "{{#collectionFormat}}{{collectionFormat}}{{/collectionFormat}}")) , -1) - {{/pathParams}} - + localVarPath := a.client.cfg.BasePath + "{{{path}}}" localVarHeaderParams := make(map[string]string) - {{#allParams}} - {{#required}} - {{#minItems}} - if len({{paramName}}) < {{minItems}} { - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must have at least {{minItems}} elements") - } - {{/minItems}} - {{#maxItems}} - if len({{paramName}}) > {{maxItems}} { - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must have less than {{maxItems}} elements") - } - {{/maxItems}} - {{#minLength}} - if strlen({{paramName}}) < {{minLength}} { - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must have at least {{minLength}} elements") - } - {{/minLength}} - {{#maxLength}} - if strlen({{paramName}}) > {{maxLength}} { - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must have less than {{maxLength}} elements") - } - {{/maxLength}} - {{#minimum}} - {{#isString}} - {{paramName}}Txt, err := atoi({{paramName}}) - if {{paramName}}Txt < {{minimum}} { - {{/isString}} - {{^isString}} - if {{paramName}} < {{minimum}} { - {{/isString}} - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must be greater than {{minimum}}") - } - {{/minimum}} - {{#maximum}} - {{#isString}} - {{paramName}}Txt, err := atoi({{paramName}}) - if {{paramName}}Txt > {{maximum}} { - {{/isString}} - {{^isString}} - if {{paramName}} > {{maximum}} { - {{/isString}} - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} must be less than {{maximum}}") - } - {{/maximum}} - {{/required}} - {{/allParams}} // to determine the Content-Type header {{=<% %>=}} @@ -135,65 +65,46 @@ func (a *{{{classname}}}Service) {{{nickname}}}(ctx _context.Context{{#hasParams {{/hasHeaderParams}} {{#hasBodyParam}} {{#bodyParams}} - // body params -{{#required}} + // body params localVarPostBody = &{{paramName}} -{{/required}} -{{^required}} - if localVarOptionals != nil && localVarOptionals.{{vendorExtensions.x-export-param-name}}.IsSet() { - {{#isPrimitiveType}} - localVarPostBody = localVarOptionals.{{vendorExtensions.x-export-param-name}}.Value() - {{/isPrimitiveType}} - {{^isPrimitiveType}} - localVarOptional{{vendorExtensions.x-export-param-name}}, localVarOptional{{vendorExtensions.x-export-param-name}}ok := localVarOptionals.{{vendorExtensions.x-export-param-name}}.Value().({{{dataType}}}) - if !localVarOptional{{vendorExtensions.x-export-param-name}}ok { - return {{#returnType}}nil, {{/returnType}}nil, reportError("{{paramName}} should be {{dataType}}") - } - localVarPostBody = &localVarOptional{{vendorExtensions.x-export-param-name}} - {{/isPrimitiveType}} - } - -{{/required}} {{/bodyParams}} {{/hasBodyParam}} r, err := a.client.prepareRequest(ctx, localVarPath, localVarPostBody, localVarHeaderParams) if err != nil { - return {{#returnType}}nil, {{/returnType}}nil, err + return nil, nil, err } localVarHTTPResponse, err := a.client.callAPI(ctx, r) if err != nil || localVarHTTPResponse == nil { - return {{#returnType}}nil, {{/returnType}}localVarHTTPResponse, err + return nil, nil, err } localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body) defer localVarHTTPResponse.Body.Close() if err != nil { - return {{#returnType}}nil, {{/returnType}}localVarHTTPResponse, err + return nil, nil, err } if localVarHTTPResponse.StatusCode != _nethttp.StatusOK { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: localVarHTTPResponse.Status, - } - return {{#returnType}}nil, {{/returnType}}localVarHTTPResponse, newErr + var v models.Error + err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + return nil, nil, err + } + + return nil, &v, fmt.Errorf("%+v", v) } {{#returnType}} var v models.{{{returnType}}} err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { - newErr := GenericOpenAPIError{ - body: localVarBody, - error: err.Error(), - } - return {{#returnType}}nil, {{/returnType}}localVarHTTPResponse, newErr + return nil, nil, err } {{/returnType}} - return {{#returnType}}&v, {{/returnType}}localVarHTTPResponse, nil + return &v, nil, nil } {{/operation}} {{/operations}} diff --git a/templates/client/client.mustache b/templates/client/client.mustache index ce6f22ec..f9f63f32 100644 --- a/templates/client/client.mustache +++ b/templates/client/client.mustache @@ -277,25 +277,3 @@ func detectContentType(body interface{}) string { return contentType } - -// GenericOpenAPIError Provides access to the body, error and model on returned errors. -type GenericOpenAPIError struct { - body []byte - error string - model interface{} -} - -// Error returns non-empty string if there was an error. -func (e GenericOpenAPIError) Error() string { - return e.error -} - -// Body returns the raw bytes of the response -func (e GenericOpenAPIError) Body() []byte { - return e.body -} - -// Model returns the unpacked model of the error -func (e GenericOpenAPIError) Model() interface{} { - return e.model -} From 736b2a126638c710ae8fe3a634fd9295c7a5e1e4 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 13:40:30 -0700 Subject: [PATCH 05/15] Check correctness of requests --- asserter/request.go | 67 ++++++++++++++++++++++++ server/api_account.go | 16 +++++- server/api_block.go | 31 +++++++++-- server/api_construction.go | 31 +++++++++-- server/api_mempool.go | 31 +++++++++-- server/api_network.go | 16 +++++- templates/server/controller-api.mustache | 17 +++++- 7 files changed, 191 insertions(+), 18 deletions(-) create mode 100644 asserter/request.go diff --git a/asserter/request.go b/asserter/request.go new file mode 100644 index 00000000..618cb1bf --- /dev/null +++ b/asserter/request.go @@ -0,0 +1,67 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package asserter + +import ( + "github.com/coinbase/rosetta-sdk-go/models" +) + +// AccountBalanceRequest ensures that a models.AccountBalanceRequest +// is well-formatted. +func AccountBalanceRequest(request *models.AccountBalanceRequest) error { + return nil +} + +// BlockRequest ensures that a models.BlockRequest +// is well-formatted. +func BlockRequest(request *models.BlockRequest) error { + return nil +} + +// BlockTransactionRequest ensures that a models.BlockTransactionRequest +// is well-formatted. +func BlockTransactionRequest(request *models.BlockTransactionRequest) error { + return nil +} + +// TransactionConstructionRequest ensures that a models.TransactionConstructionRequest +// is well-formatted. +func TransactionConstructionRequest(request *models.TransactionConstructionRequest) error { + return nil +} + +// TransactionSubmitRequest ensures that a models.TransactionSubmitRequest +// is well-formatted. +func TransactionSubmitRequest(request *models.TransactionSubmitRequest) error { + return nil +} + +// MempoolRequest ensures that a models.MempoolRequest +// is well-formatted. +func MempoolRequest(request *models.MempoolRequest) error { + return nil +} + +// MempoolTransactionRequest ensures that a models.MempoolTransactionRequest +// is well-formatted. +func MempoolTransactionRequest(request *models.MempoolTransactionRequest) error { + return nil +} + +// NetworkStatusRequest ensures that a models.NetworkStatusRequest +// is well-formatted. +func NetworkStatusRequest(request *models.NetworkStatusRequest) error { + return nil +} diff --git a/server/api_account.go b/server/api_account.go index 3ba5e590..a85c0563 100644 --- a/server/api_account.go +++ b/server/api_account.go @@ -22,6 +22,7 @@ import ( "net/http" "strings" + "github.com/coinbase/rosetta-sdk-go/asserter" "github.com/coinbase/rosetta-sdk-go/models" ) @@ -51,11 +52,22 @@ func (c *AccountAPIController) Routes() Routes { // AccountBalance - Get an Account Balance func (c *AccountAPIController) AccountBalance(w http.ResponseWriter, r *http.Request) { accountBalanceRequest := &models.AccountBalanceRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&accountBalanceRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that AccountBalanceRequest is correct + if err := asserter.AccountBalanceRequest(accountBalanceRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } diff --git a/server/api_block.go b/server/api_block.go index 81eab9ec..8b0af573 100644 --- a/server/api_block.go +++ b/server/api_block.go @@ -22,6 +22,7 @@ import ( "net/http" "strings" + "github.com/coinbase/rosetta-sdk-go/asserter" "github.com/coinbase/rosetta-sdk-go/models" ) @@ -57,11 +58,22 @@ func (c *BlockAPIController) Routes() Routes { // Block - Get a Block func (c *BlockAPIController) Block(w http.ResponseWriter, r *http.Request) { blockRequest := &models.BlockRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&blockRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that BlockRequest is correct + if err := asserter.BlockRequest(blockRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } @@ -87,11 +99,22 @@ func (c *BlockAPIController) Block(w http.ResponseWriter, r *http.Request) { // BlockTransaction - Get a Block Transaction func (c *BlockAPIController) BlockTransaction(w http.ResponseWriter, r *http.Request) { blockTransactionRequest := &models.BlockTransactionRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&blockTransactionRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that BlockTransactionRequest is correct + if err := asserter.BlockTransactionRequest(blockTransactionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } diff --git a/server/api_construction.go b/server/api_construction.go index a9322582..154bcf8e 100644 --- a/server/api_construction.go +++ b/server/api_construction.go @@ -22,6 +22,7 @@ import ( "net/http" "strings" + "github.com/coinbase/rosetta-sdk-go/asserter" "github.com/coinbase/rosetta-sdk-go/models" ) @@ -60,11 +61,22 @@ func (c *ConstructionAPIController) TransactionConstruction( r *http.Request, ) { transactionConstructionRequest := &models.TransactionConstructionRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&transactionConstructionRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that TransactionConstructionRequest is correct + if err := asserter.TransactionConstructionRequest(transactionConstructionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } @@ -90,11 +102,22 @@ func (c *ConstructionAPIController) TransactionConstruction( // TransactionSubmit - Submit a Signed Transaction func (c *ConstructionAPIController) TransactionSubmit(w http.ResponseWriter, r *http.Request) { transactionSubmitRequest := &models.TransactionSubmitRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&transactionSubmitRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that TransactionSubmitRequest is correct + if err := asserter.TransactionSubmitRequest(transactionSubmitRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } diff --git a/server/api_mempool.go b/server/api_mempool.go index d099018c..21063856 100644 --- a/server/api_mempool.go +++ b/server/api_mempool.go @@ -22,6 +22,7 @@ import ( "net/http" "strings" + "github.com/coinbase/rosetta-sdk-go/asserter" "github.com/coinbase/rosetta-sdk-go/models" ) @@ -57,11 +58,22 @@ func (c *MempoolAPIController) Routes() Routes { // Mempool - Get All Mempool Transactions func (c *MempoolAPIController) Mempool(w http.ResponseWriter, r *http.Request) { mempoolRequest := &models.MempoolRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&mempoolRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that MempoolRequest is correct + if err := asserter.MempoolRequest(mempoolRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } @@ -87,11 +99,22 @@ func (c *MempoolAPIController) Mempool(w http.ResponseWriter, r *http.Request) { // MempoolTransaction - Get a Mempool Transaction func (c *MempoolAPIController) MempoolTransaction(w http.ResponseWriter, r *http.Request) { mempoolTransactionRequest := &models.MempoolTransactionRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&mempoolTransactionRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that MempoolTransactionRequest is correct + if err := asserter.MempoolTransactionRequest(mempoolTransactionRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } diff --git a/server/api_network.go b/server/api_network.go index 19afe0c4..7a964c55 100644 --- a/server/api_network.go +++ b/server/api_network.go @@ -22,6 +22,7 @@ import ( "net/http" "strings" + "github.com/coinbase/rosetta-sdk-go/asserter" "github.com/coinbase/rosetta-sdk-go/models" ) @@ -51,11 +52,22 @@ func (c *NetworkAPIController) Routes() Routes { // NetworkStatus - Get Network Status func (c *NetworkAPIController) NetworkStatus(w http.ResponseWriter, r *http.Request) { networkStatusRequest := &models.NetworkStatusRequest{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&networkStatusRequest); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + + // Assert that NetworkStatusRequest is correct + if err := asserter.NetworkStatusRequest(networkStatusRequest); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } diff --git a/templates/server/controller-api.mustache b/templates/server/controller-api.mustache index 5efd28ea..b7d77ffa 100644 --- a/templates/server/controller-api.mustache +++ b/templates/server/controller-api.mustache @@ -8,6 +8,7 @@ import ( "strings" "github.com/coinbase/rosetta-sdk-go/models" + "github.com/coinbase/rosetta-sdk-go/asserter" ) // A {{classname}}Controller binds http requests to an api service and writes the service results to the http response @@ -36,17 +37,29 @@ func (c *{{classname}}Controller) Routes() Routes { func (c *{{classname}}Controller) {{nickname}}(w http.ResponseWriter, r *http.Request) { {{#allParams}}{{#isHeaderParam}} {{paramName}} := r.Header.Get("{{paramName}}"){{/isHeaderParam}}{{#isBodyParam}} {{paramName}} := &models.{{dataType}}{} - // TODO: Assert required params are present if err := json.NewDecoder(r.Body).Decode(&{{paramName}}); err != nil { err = EncodeJSONResponse(&models.Error{ Message: err.Error(), - }, http.StatusBadRequest, w) + }, http.StatusInternalServerError, w) if err != nil { log.Fatal(err) } return } + + // Assert that {{dataType}} is correct + if err := asserter.{{dataType}}({{paramName}}); err != nil { + err = EncodeJSONResponse(&models.Error{ + Message: err.Error(), + }, http.StatusInternalServerError, w) + if err != nil { + log.Fatal(err) + } + + return + } + {{/isBodyParam}}{{/allParams}} result, serviceErr := c.service.{{nickname}}({{#allParams}}{{#isBodyParam}}*{{/isBodyParam}}{{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}}) if serviceErr != nil { From e9adee021b81b26aa291553cc1291707ee986855 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 13:54:44 -0700 Subject: [PATCH 06/15] Implement request assertions --- asserter/block.go | 18 +++++++++++++++ asserter/request.go | 56 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 69 insertions(+), 5 deletions(-) diff --git a/asserter/block.go b/asserter/block.go index 4f07a692..cc48d9dd 100644 --- a/asserter/block.go +++ b/asserter/block.go @@ -161,6 +161,24 @@ func BlockIdentifier(blockIdentifier *models.BlockIdentifier) error { return nil } +// PartialBlockIdentifier ensures a models.PartialBlockIdentifier +// is well-formatted. +func PartialBlockIdentifier(blockIdentifier *models.PartialBlockIdentifier) error { + if blockIdentifier == nil { + return errors.New("PartialBlockIdentifier is nil") + } + + if blockIdentifier.Hash != nil && *blockIdentifier.Hash == "" { + return nil + } + + if blockIdentifier.Index != nil && *blockIdentifier.Index > 0 { + return nil + } + + return errors.New("neither PartialBlockIdentifier.Hash nor PartialBlockIdentifier.Index is set") +} + // TransactionIdentifier returns an error if a // models.TransactionIdentifier has an invalid hash. func TransactionIdentifier( diff --git a/asserter/request.go b/asserter/request.go index 618cb1bf..f8c9a5a3 100644 --- a/asserter/request.go +++ b/asserter/request.go @@ -15,49 +15,95 @@ package asserter import ( + "errors" + "github.com/coinbase/rosetta-sdk-go/models" ) // AccountBalanceRequest ensures that a models.AccountBalanceRequest // is well-formatted. func AccountBalanceRequest(request *models.AccountBalanceRequest) error { - return nil + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { + return err + } + + if err := AccountIdentifier(request.AccountIdentifier); err != nil { + return err + } + + if request.BlockIdentifier == nil { + return nil + } + + return PartialBlockIdentifier(request.BlockIdentifier) } // BlockRequest ensures that a models.BlockRequest // is well-formatted. func BlockRequest(request *models.BlockRequest) error { - return nil + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { + return err + } + + return PartialBlockIdentifier(request.BlockIdentifier) } // BlockTransactionRequest ensures that a models.BlockTransactionRequest // is well-formatted. func BlockTransactionRequest(request *models.BlockTransactionRequest) error { - return nil + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { + return err + } + + if err := BlockIdentifier(request.BlockIdentifier); err != nil { + return err + } + + return TransactionIdentifier(request.TransactionIdentifier) } // TransactionConstructionRequest ensures that a models.TransactionConstructionRequest // is well-formatted. func TransactionConstructionRequest(request *models.TransactionConstructionRequest) error { + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { + return err + } + + if err := AccountIdentifier(request.AccountIdentifier); err != nil { + return err + } + + if request.Method != nil && *request.Method == "" { + return errors.New("TransactionConstructionRequest.Method is empty") + } + return nil } // TransactionSubmitRequest ensures that a models.TransactionSubmitRequest // is well-formatted. func TransactionSubmitRequest(request *models.TransactionSubmitRequest) error { + if request.SignedTransaction == "" { + return errors.New("TransactionSubmitRequest.SignedTransaction is empty") + } + return nil } // MempoolRequest ensures that a models.MempoolRequest // is well-formatted. func MempoolRequest(request *models.MempoolRequest) error { - return nil + return NetworkIdentifier(request.NetworkIdentifier) } // MempoolTransactionRequest ensures that a models.MempoolTransactionRequest // is well-formatted. func MempoolTransactionRequest(request *models.MempoolTransactionRequest) error { - return nil + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { + return err + } + + return TransactionIdentifier(request.TransactionIdentifier) } // NetworkStatusRequest ensures that a models.NetworkStatusRequest From ac83c869ef28e0fb81ef640bb23f82dc924890c5 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 15:23:39 -0700 Subject: [PATCH 07/15] Add tests for request assertion --- asserter/block.go | 22 ++- asserter/block_test.go | 50 ++++- asserter/construction_test.go | 2 +- asserter/network.go | 8 +- asserter/network_test.go | 4 +- asserter/request.go | 32 ++++ asserter/request_test.go | 350 ++++++++++++++++++++++++++++++++++ 7 files changed, 451 insertions(+), 17 deletions(-) create mode 100644 asserter/request_test.go diff --git a/asserter/block.go b/asserter/block.go index cc48d9dd..17180de6 100644 --- a/asserter/block.go +++ b/asserter/block.go @@ -150,7 +150,11 @@ func (a *Asserter) Operation( // BlockIdentifier ensures a models.BlockIdentifier // is well-formatted. func BlockIdentifier(blockIdentifier *models.BlockIdentifier) error { - if blockIdentifier == nil || blockIdentifier.Hash == "" { + if blockIdentifier == nil { + return errors.New("BlockIdentifier is nil") + } + + if blockIdentifier.Hash == "" { return errors.New("BlockIdentifier.Hash is missing") } @@ -184,8 +188,12 @@ func PartialBlockIdentifier(blockIdentifier *models.PartialBlockIdentifier) erro func TransactionIdentifier( transactionIdentifier *models.TransactionIdentifier, ) error { - if transactionIdentifier == nil || transactionIdentifier.Hash == "" { - return errors.New("Transaction.TransactionIdentifier.Hash is missing") + if transactionIdentifier == nil { + return errors.New("TransactionIdentifier is nil") + } + + if transactionIdentifier.Hash == "" { + return errors.New("TransactionIdentifier.Hash is missing") } return nil @@ -198,7 +206,7 @@ func (a *Asserter) Transaction( transaction *models.Transaction, ) error { if transaction == nil { - return errors.New("transaction is nil") + return errors.New("Transaction is nil") } if err := TransactionIdentifier(transaction.TransactionIdentifier); err != nil { @@ -230,7 +238,7 @@ func (a *Asserter) Block( block *models.Block, ) error { if block == nil { - return errors.New("block is nil") + return errors.New("Block is nil") } if err := BlockIdentifier(block.BlockIdentifier); err != nil { @@ -245,11 +253,11 @@ func (a *Asserter) Block( // genesis index. if a.genesisIndex != block.BlockIdentifier.Index { if block.BlockIdentifier.Hash == block.ParentBlockIdentifier.Hash { - return errors.New("Block.BlockIdentifier.Hash == Block.ParentBlockIdentifier.Hash") + return errors.New("BlockIdentifier.Hash == ParentBlockIdentifier.Hash") } if block.BlockIdentifier.Index <= block.ParentBlockIdentifier.Index { - return errors.New("Block.BlockIdentifier.Index <= Block.ParentBlockIdentifier.Index") + return errors.New("BlockIdentifier.Index <= ParentBlockIdentifier.Index") } } diff --git a/asserter/block_test.go b/asserter/block_test.go index 8e8645b5..653f590e 100644 --- a/asserter/block_test.go +++ b/asserter/block_test.go @@ -24,6 +24,46 @@ import ( "github.com/stretchr/testify/assert" ) +func TestBlockIdentifier(t *testing.T) { + var tests = map[string]struct { + identifier *models.BlockIdentifier + err error + }{ + "valid identifier": { + identifier: &models.BlockIdentifier{ + Index: int64(1), + Hash: "block 1", + }, + err: nil, + }, + "nil identifier": { + identifier: nil, + err: errors.New("BlockIdentifier is nil"), + }, + "invalid index": { + identifier: &models.BlockIdentifier{ + Index: int64(-1), + Hash: "block 1", + }, + err: errors.New("BlockIdentifier.Index is negative"), + }, + "invalid hash": { + identifier: &models.BlockIdentifier{ + Index: int64(1), + Hash: "", + }, + err: errors.New("BlockIdentifier.Hash is missing"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := BlockIdentifier(test.identifier) + assert.Equal(t, test.err, err) + }) + } +} + func TestAmount(t *testing.T) { var tests = map[string]struct { amount *models.Amount @@ -425,7 +465,7 @@ func TestBlock(t *testing.T) { }, "nil block": { block: nil, - err: errors.New("block is nil"), + err: errors.New("Block is nil"), }, "nil block hash": { block: &models.Block{ @@ -434,7 +474,7 @@ func TestBlock(t *testing.T) { Timestamp: 1, Transactions: []*models.Transaction{validTransaction}, }, - err: errors.New("BlockIdentifier.Hash is missing"), + err: errors.New("BlockIdentifier is nil"), }, "invalid block hash": { block: &models.Block{ @@ -464,7 +504,7 @@ func TestBlock(t *testing.T) { Timestamp: 1, Transactions: []*models.Transaction{validTransaction}, }, - err: errors.New("Block.BlockIdentifier.Index <= Block.ParentBlockIdentifier.Index"), + err: errors.New("BlockIdentifier.Index <= ParentBlockIdentifier.Index"), }, "invalid parent block hash": { block: &models.Block{ @@ -476,7 +516,7 @@ func TestBlock(t *testing.T) { Timestamp: 1, Transactions: []*models.Transaction{validTransaction}, }, - err: errors.New("Block.BlockIdentifier.Hash == Block.ParentBlockIdentifier.Hash"), + err: errors.New("BlockIdentifier.Hash == ParentBlockIdentifier.Hash"), }, "invalid block timestamp": { block: &models.Block{ @@ -495,7 +535,7 @@ func TestBlock(t *testing.T) { {}, }, }, - err: errors.New("Transaction.TransactionIdentifier.Hash is missing"), + err: errors.New("TransactionIdentifier is nil"), }, } diff --git a/asserter/construction_test.go b/asserter/construction_test.go index 49369888..1f3b100f 100644 --- a/asserter/construction_test.go +++ b/asserter/construction_test.go @@ -91,7 +91,7 @@ func TestTransactionSubmit(t *testing.T) { }, "invalid transaction identifier": { response: &models.TransactionSubmitResponse{}, - err: errors.New("Transaction.TransactionIdentifier.Hash is missing"), + err: errors.New("TransactionIdentifier is nil"), }, } diff --git a/asserter/network.go b/asserter/network.go index 8cb1e7a9..6515bdd2 100644 --- a/asserter/network.go +++ b/asserter/network.go @@ -37,8 +37,12 @@ func SubNetworkIdentifier(subNetworkIdentifier *models.SubNetworkIdentifier) err // NetworkIdentifier ensures a models.NetworkIdentifier has // a valid blockchain and network. func NetworkIdentifier(network *models.NetworkIdentifier) error { - if network == nil || network.Blockchain == "" { - return errors.New("NetworkIdentifier.Blockchain is missing") + if network == nil { + return errors.New("NetworkIdentifier is nil") + } + + if network.Blockchain == "" { + return errors.New("NetworkIdentifier is nil") } if network.Network == "" { diff --git a/asserter/network_test.go b/asserter/network_test.go index dd8f0b5d..1777b6ee 100644 --- a/asserter/network_test.go +++ b/asserter/network_test.go @@ -37,14 +37,14 @@ func TestNetworkIdentifier(t *testing.T) { }, "nil network": { network: nil, - err: errors.New("NetworkIdentifier.Blockchain is missing"), + err: errors.New("NetworkIdentifier is nil"), }, "invalid blockchain": { network: &models.NetworkIdentifier{ Blockchain: "", Network: "mainnet", }, - err: errors.New("NetworkIdentifier.Blockchain is missing"), + err: errors.New("NetworkIdentifier is nil"), }, "invalid network": { network: &models.NetworkIdentifier{ diff --git a/asserter/request.go b/asserter/request.go index f8c9a5a3..16ae1caf 100644 --- a/asserter/request.go +++ b/asserter/request.go @@ -23,6 +23,10 @@ import ( // AccountBalanceRequest ensures that a models.AccountBalanceRequest // is well-formatted. func AccountBalanceRequest(request *models.AccountBalanceRequest) error { + if request == nil { + return errors.New("AccountBalanceRequest is nil") + } + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { return err } @@ -41,6 +45,10 @@ func AccountBalanceRequest(request *models.AccountBalanceRequest) error { // BlockRequest ensures that a models.BlockRequest // is well-formatted. func BlockRequest(request *models.BlockRequest) error { + if request == nil { + return errors.New("BlockRequest is nil") + } + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { return err } @@ -51,6 +59,10 @@ func BlockRequest(request *models.BlockRequest) error { // BlockTransactionRequest ensures that a models.BlockTransactionRequest // is well-formatted. func BlockTransactionRequest(request *models.BlockTransactionRequest) error { + if request == nil { + return errors.New("BlockTransactionRequest is nil") + } + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { return err } @@ -65,6 +77,10 @@ func BlockTransactionRequest(request *models.BlockTransactionRequest) error { // TransactionConstructionRequest ensures that a models.TransactionConstructionRequest // is well-formatted. func TransactionConstructionRequest(request *models.TransactionConstructionRequest) error { + if request == nil { + return errors.New("TransactionConstructionRequest is nil") + } + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { return err } @@ -83,6 +99,10 @@ func TransactionConstructionRequest(request *models.TransactionConstructionReque // TransactionSubmitRequest ensures that a models.TransactionSubmitRequest // is well-formatted. func TransactionSubmitRequest(request *models.TransactionSubmitRequest) error { + if request == nil { + return errors.New("TransactionSubmitRequest is nil") + } + if request.SignedTransaction == "" { return errors.New("TransactionSubmitRequest.SignedTransaction is empty") } @@ -93,12 +113,20 @@ func TransactionSubmitRequest(request *models.TransactionSubmitRequest) error { // MempoolRequest ensures that a models.MempoolRequest // is well-formatted. func MempoolRequest(request *models.MempoolRequest) error { + if request == nil { + return errors.New("MempoolRequest is nil") + } + return NetworkIdentifier(request.NetworkIdentifier) } // MempoolTransactionRequest ensures that a models.MempoolTransactionRequest // is well-formatted. func MempoolTransactionRequest(request *models.MempoolTransactionRequest) error { + if request == nil { + return errors.New("MempoolTransactionRequest is nil") + } + if err := NetworkIdentifier(request.NetworkIdentifier); err != nil { return err } @@ -109,5 +137,9 @@ func MempoolTransactionRequest(request *models.MempoolTransactionRequest) error // NetworkStatusRequest ensures that a models.NetworkStatusRequest // is well-formatted. func NetworkStatusRequest(request *models.NetworkStatusRequest) error { + if request == nil { + return errors.New("NetworkStatusRequest is nil") + } + return nil } diff --git a/asserter/request_test.go b/asserter/request_test.go new file mode 100644 index 00000000..9d0bc72a --- /dev/null +++ b/asserter/request_test.go @@ -0,0 +1,350 @@ +package asserter + +import ( + "errors" + "testing" + + "github.com/coinbase/rosetta-sdk-go/models" + + "github.com/stretchr/testify/assert" +) + +var ( + validNetworkIdentifier = &models.NetworkIdentifier{ + Blockchain: "Bitcoin", + Network: "Mainnet", + } + + validAccountIdentifier = &models.AccountIdentifier{ + Address: "acct1", + } + + validBlockIndex = int64(1000) + validPartialBlockIdentifier = &models.PartialBlockIdentifier{ + Index: &validBlockIndex, + } + + validBlockIdentifier = &models.BlockIdentifier{ + Index: validBlockIndex, + Hash: "block 1", + } + + validTransactionIdentifier = &models.TransactionIdentifier{ + Hash: "tx1", + } + + validMethod = "transfer" +) + +func TestAccountBalanceRequest(t *testing.T) { + var tests = map[string]struct { + request *models.AccountBalanceRequest + err error + }{ + "valid request": { + request: &models.AccountBalanceRequest{ + NetworkIdentifier: validNetworkIdentifier, + AccountIdentifier: validAccountIdentifier, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("AccountBalanceRequest is nil"), + }, + "missing network": { + request: &models.AccountBalanceRequest{ + AccountIdentifier: validAccountIdentifier, + }, + err: errors.New("NetworkIdentifier is nil"), + }, + "missing account": { + request: &models.AccountBalanceRequest{ + NetworkIdentifier: validNetworkIdentifier, + }, + err: errors.New("Account is nil"), + }, + "valid historical request": { + request: &models.AccountBalanceRequest{ + NetworkIdentifier: validNetworkIdentifier, + AccountIdentifier: validAccountIdentifier, + BlockIdentifier: validPartialBlockIdentifier, + }, + err: nil, + }, + "invalid historical request": { + request: &models.AccountBalanceRequest{ + NetworkIdentifier: validNetworkIdentifier, + AccountIdentifier: validAccountIdentifier, + BlockIdentifier: &models.PartialBlockIdentifier{}, + }, + err: errors.New("neither PartialBlockIdentifier.Hash nor PartialBlockIdentifier.Index is set"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := AccountBalanceRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestBlockRequest(t *testing.T) { + var tests = map[string]struct { + request *models.BlockRequest + err error + }{ + "valid request": { + request: &models.BlockRequest{ + NetworkIdentifier: validNetworkIdentifier, + BlockIdentifier: validPartialBlockIdentifier, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("BlockRequest is nil"), + }, + "missing network": { + request: &models.BlockRequest{ + BlockIdentifier: validPartialBlockIdentifier, + }, + err: errors.New("NetworkIdentifier is nil"), + }, + "missing block identifier": { + request: &models.BlockRequest{ + NetworkIdentifier: validNetworkIdentifier, + }, + err: errors.New("PartialBlockIdentifier is nil"), + }, + "invalid PartialBlockIdentifier request": { + request: &models.BlockRequest{ + NetworkIdentifier: validNetworkIdentifier, + BlockIdentifier: &models.PartialBlockIdentifier{}, + }, + err: errors.New("neither PartialBlockIdentifier.Hash nor PartialBlockIdentifier.Index is set"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := BlockRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestBlockTransactionRequest(t *testing.T) { + var tests = map[string]struct { + request *models.BlockTransactionRequest + err error + }{ + "valid request": { + request: &models.BlockTransactionRequest{ + NetworkIdentifier: validNetworkIdentifier, + BlockIdentifier: validBlockIdentifier, + TransactionIdentifier: validTransactionIdentifier, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("BlockTransactionRequest is nil"), + }, + "missing network": { + request: &models.BlockTransactionRequest{ + BlockIdentifier: validBlockIdentifier, + TransactionIdentifier: validTransactionIdentifier, + }, + err: errors.New("NetworkIdentifier is nil"), + }, + "missing block identifier": { + request: &models.BlockTransactionRequest{ + NetworkIdentifier: validNetworkIdentifier, + TransactionIdentifier: validTransactionIdentifier, + }, + err: errors.New("BlockIdentifier is nil"), + }, + "invalid BlockIdentifier request": { + request: &models.BlockTransactionRequest{ + NetworkIdentifier: validNetworkIdentifier, + BlockIdentifier: &models.BlockIdentifier{}, + }, + err: errors.New("BlockIdentifier.Hash is missing"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := BlockTransactionRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestTransactionConstructionRequest(t *testing.T) { + var tests = map[string]struct { + request *models.TransactionConstructionRequest + err error + }{ + "valid request": { + request: &models.TransactionConstructionRequest{ + NetworkIdentifier: validNetworkIdentifier, + AccountIdentifier: validAccountIdentifier, + }, + err: nil, + }, + "valid request with method": { + request: &models.TransactionConstructionRequest{ + NetworkIdentifier: validNetworkIdentifier, + AccountIdentifier: validAccountIdentifier, + Method: &validMethod, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("TransactionConstructionRequest is nil"), + }, + "missing network": { + request: &models.TransactionConstructionRequest{ + AccountIdentifier: validAccountIdentifier, + }, + err: errors.New("NetworkIdentifier is nil"), + }, + "missing account identifier": { + request: &models.TransactionConstructionRequest{ + NetworkIdentifier: validNetworkIdentifier, + }, + err: errors.New("Account is nil"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := TransactionConstructionRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestTransactionSubmitRequest(t *testing.T) { + var tests = map[string]struct { + request *models.TransactionSubmitRequest + err error + }{ + "valid request": { + request: &models.TransactionSubmitRequest{ + SignedTransaction: "tx", + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("TransactionSubmitRequest is nil"), + }, + "empty tx": { + request: &models.TransactionSubmitRequest{}, + err: errors.New("TransactionSubmitRequest.SignedTransaction is empty"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := TransactionSubmitRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestMempoolRequest(t *testing.T) { + var tests = map[string]struct { + request *models.MempoolRequest + err error + }{ + "valid request": { + request: &models.MempoolRequest{ + NetworkIdentifier: validNetworkIdentifier, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("MempoolRequest is nil"), + }, + "empty tx": { + request: &models.MempoolRequest{}, + err: errors.New("NetworkIdentifier is nil"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := MempoolRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestMempoolTransactionRequest(t *testing.T) { + var tests = map[string]struct { + request *models.MempoolTransactionRequest + err error + }{ + "valid request": { + request: &models.MempoolTransactionRequest{ + NetworkIdentifier: validNetworkIdentifier, + TransactionIdentifier: validTransactionIdentifier, + }, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("MempoolTransactionRequest is nil"), + }, + "missing network": { + request: &models.MempoolTransactionRequest{ + TransactionIdentifier: validTransactionIdentifier, + }, + err: errors.New("NetworkIdentifier is nil"), + }, + "invalid TransactionIdentifier request": { + request: &models.MempoolTransactionRequest{ + NetworkIdentifier: validNetworkIdentifier, + TransactionIdentifier: &models.TransactionIdentifier{}, + }, + err: errors.New("TransactionIdentifier.Hash is missing"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := MempoolTransactionRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} + +func TestNetworkStatusRequest(t *testing.T) { + var tests = map[string]struct { + request *models.NetworkStatusRequest + err error + }{ + "valid request": { + request: &models.NetworkStatusRequest{}, + err: nil, + }, + "nil request": { + request: nil, + err: errors.New("NetworkStatusRequest is nil"), + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + err := NetworkStatusRequest(test.request) + assert.Equal(t, test.err, err) + }) + } +} From b141948772c4d5c78f544da4434dc3ceaa42ffc4 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Thu, 9 Apr 2020 18:40:48 -0700 Subject: [PATCH 08/15] Add example server --- .gitignore | 2 + Makefile | 2 +- asserter/request_test.go | 14 ++ codegen.sh | 5 + examples/server/README.md | 1 + examples/server/main.go | 52 +++++++ examples/server/server | Bin 0 -> 8109836 bytes examples/server/services/block_service.go | 136 ++++++++++++++++++ examples/server/services/network_service.go | 87 +++++++++++ server/{api_account.go => account.go} | 2 +- server/api.go | 16 +-- server/{api_block.go => block.go} | 4 +- .../{api_construction.go => construction.go} | 4 +- server/{api_mempool.go => mempool.go} | 4 +- server/{api_network.go => network.go} | 2 +- templates/server/api.mustache | 2 +- templates/server/controller-api.mustache | 2 +- 17 files changed, 316 insertions(+), 19 deletions(-) create mode 100644 examples/server/README.md create mode 100644 examples/server/main.go create mode 100755 examples/server/server create mode 100644 examples/server/services/block_service.go create mode 100644 examples/server/services/network_service.go rename server/{api_account.go => account.go} (97%) rename server/{api_block.go => block.go} (96%) rename server/{api_construction.go => construction.go} (95%) rename server/{api_mempool.go => mempool.go} (96%) rename server/{api_network.go => network.go} (97%) diff --git a/.gitignore b/.gitignore index 7605460d..5bae5a8b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ c.out coverage.html + +examples/server/server diff --git a/Makefile b/Makefile index c5fc7a7f..00e96efd 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ check-license: ${LICENCE_SCRIPT} -check . shorten-lines: - golines -w --shorten-comments asserter fetcher models client server + golines -w --shorten-comments asserter fetcher models client server examples shellcheck: shellcheck codegen.sh diff --git a/asserter/request_test.go b/asserter/request_test.go index 9d0bc72a..baae5624 100644 --- a/asserter/request_test.go +++ b/asserter/request_test.go @@ -1,3 +1,17 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package asserter import ( diff --git a/codegen.sh b/codegen.sh index 556b086d..8a9821ed 100755 --- a/codegen.sh +++ b/codegen.sh @@ -107,6 +107,11 @@ for file in models/model_*.go; do mv "$file" "${file/model_/}" done +# Improve names in server/ +for file in server/api_*.go; do + mv "$file" "${file/api_/}" +done + # Change model files to correct package sed "${SED_IFLAG[@]}" 's/package client/package models/g' models/*; diff --git a/examples/server/README.md b/examples/server/README.md new file mode 100644 index 00000000..63984faf --- /dev/null +++ b/examples/server/README.md @@ -0,0 +1 @@ +# Rosetta Server SDK Example diff --git a/examples/server/main.go b/examples/server/main.go new file mode 100644 index 00000000..e23515cb --- /dev/null +++ b/examples/server/main.go @@ -0,0 +1,52 @@ +// Copyright 2020 Coinbase, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "fmt" + "log" + "net/http" + + "github.com/coinbase/rosetta-sdk-go/examples/server/services" + "github.com/coinbase/rosetta-sdk-go/models" + "github.com/coinbase/rosetta-sdk-go/server" +) + +// NewBlockchainRouter creates a Mux http.Handler from a collection +// of server controllers. +func NewBlockchainRouter(network *models.NetworkIdentifier) http.Handler { + networkAPIService := services.NewNetworkAPIService(network) + networkAPIController := server.NewNetworkAPIController(networkAPIService) + + blockAPIService := services.NewBlockAPIService(network) + blockAPIController := server.NewBlockAPIController(blockAPIService) + + return server.NewRouter(networkAPIController, blockAPIController) +} + +const ( + serverPort = 8080 +) + +func main() { + network := &models.NetworkIdentifier{ + Blockchain: "Rosetta", + Network: "Testnet", + } + + router := NewBlockchainRouter(network) + log.Printf("Listening on port %d\n", serverPort) + log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", serverPort), router)) +} diff --git a/examples/server/server b/examples/server/server new file mode 100755 index 0000000000000000000000000000000000000000..aa90f0b6e809779f835d5743d957117e3705e3d0 GIT binary patch literal 8109836 zcmeFa3wTu3*)}|Z3`7O?ARrMrj2dfDtBHapLS%vg_Q0S~QKN!HkcgE-gb4=)O`Hj^ z9Y#~D)>9SjLE74Ct0H(zNF;z(1E?TWMXj>NK|$>c1g!b*`&oO>Ap~vT@B9D%`>yNF zb!BGnb$HfuUe7wt+Xuh=zN^cX(b?s4b;5sl{I56~ANJqz_%`uBd2(s-m{C`cy7Xcv zC-I$;c=~|{!dZX@CQqI)s%%19L0#WdmX_$U-+`OUjemagZ}Q~ev;{%^tl!(g^SA`w zg%_Qs3wd0w%w%!CRHwd9o;+vv_16WjbJE)5SAOkj0`J$49VRm+wFY8pD zkM}fqHkicMOSH#tWxj^z)W^H? z*x@(fRZg8T%K_LPUcC)((OdnbKHh(jUg}-0=v_(igyNJYJ!QhT+!Jk1+xq4`N^1*g z=6_NSH_V+yvI)zc+Y$$Us8s4@BAfGb&5@I0%&`BcYZ%fs+eax5VRk0-rB>Xo@9eH zfOBQ>rK6o4x^rGI0lK0(7tdab)%?0&uxqjM|sv9O>H)YD4Y4eT2cD8owTQX>RpB@!y13G3UCO0N5VhDQ`~|%ofhl2%hrvb^jiI zl~q$_0b+Z2j}}c6K$FhZ^gKFX>c0(-p07Q;LvuB}{eRK$4qf(R@U%E?xPHpyxl`xd z*dE?Dr&I`jJ`K+Gjr)50De={@JhU4)jDKhUM8hjut~KK9F4zBi^v;+)l`Xc%Z}wkj z3x12YYx&N;XXd{LZ_ahIZkRUrFnGI{R|!1Nd-CPlJ!9?$;Ix@%jyx0fZk(b^u-cY#TsCcL)tnoH3p;MX$py^+`THLZ{0|5IhXen^f&V@S+Pq_Cdu3eX^_QIQJ?YAV z*%M|K&MPUHJbl#st42?_zH;)-XI)-8WA>$a6&D4^jJ%}chQLkc&*t57)~x(#|vM=8c{=>*DLCPM(*acf+_bvr2*|9qny<)A_sHv_31o zviOSP3747HAvN;}x65y>Q}=y2+|?{pn2}*-WNwxjxy)lm#$~G-?*Gi&!5 z;ck4eUa4e;_55^xMcn;>q8Z6Ht&j5esY7v~WsO>)-@epu51>@0ltNx@nXY!|U#!N2 zawG(zLl0g)%oT_(ekKr|wmyGHi8Zs{802%A&7+ohi%cvXP5wH#!;jckrAX2r0G}ZnCFM!=b z*rwI|Dx-7F#SMOIn;K;|^9qYa7Pkl=p23UCM-CK)iRyGb2dw?T%e2<2lkpZaz+J!9 zgj5r1d>oRjQ7iGLdP><{>L`3i#;>%2l2|h`YPC^24#2}3jPTVUA~qT?P`MIm{2B1t zM5=n{3osYNhfhVe8Ctx|WrRneJ<>sN!C{CxrI6ZJ4AU#V>Wf5ysog_CUk^?$E7E7?uBzI_3nd&(#5B!tjB-8L0xp4oXV6K6sNE5u^nB zKLeKfOv5q4EAZyGUQZFD8F^mR%i6BipcJb25k^Ozr;@3qNQ3W)cOI1w4d0^{<9$>Z z$|o%ZFQe2VRn^Lpx>XnI_c{~cekMsq_-Rc|%d4~^GkSTGnu46jsHV2{p#z1m1wUE^X%z)jAZk>l02-4s7I;C=!yxArcu)bI$Wd>~lcc5Zi{=q%YZsM5~e6>+nQEU*$Jc zC}1hl=^z^JhI;C8DRc-HLEmAvtuu!`PX}q#{vO#V`;58`Ma<}cn$lsQ>qGipGXjs= z)@X(fbv9~i4zgUWc>Bos6{dwwxK=y;@eklFzuv5AVt>UxcarWW>zw{f_m7W0B>gKo zD%JX#_)Qf-QU@KZV=?LVuT9o}&8|Q0$LmXf|2WDY*5CI?z++5dth&sjZan~9K*#^> zgNZmIJEgA{e6G064DBxU!_7zB#~iTxtx*c*wGyhJ9zj!P6denm@0aJ=l?H6)^ieDP zRu`r&VQR$v_I_P=*eF$X6dEZ-bTO$>%@S0@;G~XMBtAil(-ESe)`NB}Yt+u>QI9}` zaLiSY1fo^TU!xNWSl_6#0Ri$`fu39S5Dcp7_?#u}j)Ipx#p}-kt{MhwTn$`Y zQ0o9JIbbcWM~&5pRr;WmzowaxklF&J?@d^+rhxVFoTuUgM%C`C%7&$^S9^gFIFOs7 z=_N44x52%nvro_`@vOvig75hCe(N2-^qxL#?CLsf05dl6#fY1eo z-;-iX@Rp>&u}ApM=+L(>Dud|ut1G3#fc2kE;wu}Al_H7pqg@__pRfy`#=?;S59`9} zRH?ho#!$+OexCEK*3S<pT5zItJwbvcv}@@yWp&5HymWqsQwIDE0$?Zs{H zfivF3KqqxHq45#l`xa%QEYy_U zsQOm9UGe7yW)fbsBxkibtk`2L`89_rHMH>GQ!c6A_Wbk1Adk%sSqTjspgp7Egg0H6g={41Jzoh3^}o{ld#P z%!ZHM>q>fLXCP!7Ad##YDS7~f0ui?*We?4HHuf9~M}}4ljG~(*{aYin63ND@pwTbB zkvf3h0<4T(f~a>{NzSRj=3;_Kd@nyi{ zwWCRV_j>s%L3ZJKBlNb2bz)Azx{`j`8OVNIvisb_FBbSc3V^(vQ+>;V{fD7$}jkjyY2>x)VtFB&CuLXz1Q%#jGp0~6-YNcJ`bOtk!L#% z@74CZq~pB~@6|8o&`w>!q2zcarD+xqn@&aR2?k&Q8_xu!Yas!4s zcEyIZwk2mn-+Yrec#Ku-Z@`5t zj3+yDKvvke*f3TN>E|nWt7;E@mba0f!OPJ=vU5d`nCuVHzZy$6(HVty7qE}bV;_qT z_X7|86x3wqsMlUZF8Y-$(^>>wj}E=yw&BQ`k+YXY_bQIH%*aevsA$695gi(}*NY`| zU;PoHKOmYb5k<87lYF;K!0!I2ek{e~z51~dk9W%BGHNc~7V9_aGu|roTZ?|1s^9kN zw=4CV2b~p4j@55@`t1V!R;u65)^C;i?G*i1r{DVMw`cU5TfepN4PC8!qKjb<9{-i8 zA45eIJA~S4EMmFeN4nXZnS)X;wHzD(&I?*tk93W@Hj<3_QqqGe(Z}!Q$HS$$8+@K z3C2AQ%etS*mpej0A%6oJ>u=msf8zRO?w&{nvfj{vu5*uO{FI0Isi1LLAZHL!=9;{E z35cUiH&p8kusc5xblm`po*-w?i5r*oc|)gVA$zTUB;Kp_BavN+$0T@gBu9k_HZuoM zGv*$P&rU$eYCuCdv1_2S`StOylQj@l20Kr5smJbwLHrz6M>ha{T}3eVTrUuDJ*B{c?F90)sR40|{q{o@mqLV6hQXP|C(MfeW={6?)K_@+< zlWt_vFLhFjPNMCpFq5qHF+V%xzCQz>jzu^4=9|<-FsqyK1laC@W9W_EB^%vAf9)35 zK*la3qXoHHNbQ#9EZ{H1-_XHl>l_5C*%>K?()`K1G4LfY`WaApI0!E*L#66{^d@|P zpFunHOdfIWv*v?mNYA#r5Y`Db-PR?-q;_7FO8+Ou`vq-B23FhaOk5> z*-d;i9ZjrA$A5B1@CA1X1p|m(#(6Z#9_k>7Yw(zsJs=RexS>PcKko>1EoP$;8JXyh zwDyf9(w!d0!vYSi;O_IxNIx?&C(A6X%nA6^q5u<5$*3JM>-V>iA}|yP%Sq=jcAQW!uLOscOUZQHf;LoP~Owf)c?A? zrH$H3Pv6ewju{0uQzvtg%Ok4iESj=%sZZ*>eD z1WQ4GX?Jb)X6S&i2(t_f`jgi2&NMW8PrG|dyR(98S9g-O-d#5mv$D2DeXxLn@0QKAG^Qo z{2lrG;>Q}RhGz$&qceO3Tm44KUJ1zFSQMjeIe0lJR2Mz+9)gEpHv|+pEt6a$fF43M zcQ&2};W_?|Q&N9(M2Yq$l3olsX`0?Z6un;zp#%ss3%@tQr?Vp{#57S$zz8(@LkF^q zJGiikrxEjxtu7jjCNqripHM8ujigBT%)9nmV|Ew(8x=-yeTA{L!5rGwhAF<&%+NZI z8EW?UL&_6>2XD~Q=Dhf^c!KL}_QtXBtxK53%iGNS`a8P~Jipr@rG>WncrXH=Z>%66|uo-13#V<#S(ko1~6l>LS41vd7%A%QW6HjknGG z{lUHf{Wgn+J}2lZ2Q{E6_gyA+vcfcG)mIqh_J3u)3-jWhMYH_PO(HE!2Zs)M zjinqag0Tbl#`}VDN5?jOYpmYv&wx@jd(6V-dH=x7l@a`@+1x<)Y7Tzi-@KMe=-+bC zzvUBD%(6MQDRAOuyY6@kV;f8-=bO>do{Hb^HG*d?V?F3K>V4u5eUX8RJ=#~aJdOTl zqDXT)QgeZUdpoFCU8FYCfND<%(}e+n=){3Ln?6~*U_GSL_w_G>??Vb(lEirfg&*Da z4}1jA4_F_imVp>RGs5czFHix+#V=Bnn&5OIQIxbMdCw=?AHaLU@`DCF1H3QgG!pRO zKfS5ZS^M%m%*fT4q=jr_y>#)kV2pX0v?9;e08S2Gm%aWxTs@sV{D z5SpG-1h#d-zk&ZNsQr_@um3CfF)ZMV*WcYiwZ}ZSHXWyaTU)RRTq6kK^P#MHCzufs z-4`X{wVLq{?^U=d_^C7#2@E^{k2(k*X_IlUwCf6GC!lD@Ixb9l>+0P*g=>Wdil)xUc0S-Mb2YO7pIi^GWL!x z)pdRm(aFGESY)F6JJev|WJ_Pi{)mE+V8M56h;z^m4qIbC*C4XypUl|>f@w7)=b3El zQ^|6unyw2P^DlJTfqLMS=4l59(GO#aY7#myX#QlUeN-xO?-d{&)K8-GN$e@qMUjaGbUEA5 z$hV0`z8A2X$Tcwz+tG-3{$Ln^#_eM~Id11$q6W>s!9nZO_$3ZDC|2U$Db+ftfkj*0 z#;0+1F%t`R!nk(Au>NU-?Clg-3v==}cV;`Ztay2K(Z_!imv}pSjnIK^P(`4Dg=bI2 z{&jl|BV2(DVS^bB_WjzgU9NvH{K5Ix8QlVf8|GyPGTt@|_s{u~Nf)&-ZT>@M^tLuL z8PUQu5?s=fNr9rGG5+X zbqdI5H#O&Ttb-vl(HSu_3%!Z(gVvt`Yzw4UiY0ob<545g3!z5vt-|edu>$RBL`F(S zW4*uSlZG!mEb$a`tBY=VQ&?L8@JHxv(Dn4)QS}qx$DU>p7NirMjLten1f~&$K(_$8 z;CT=&AS>Ca=ukQt1gDQLE=-U2Svb$M4jaqECS2-?8^A~uIBYC$U4@~n^8SeFULlFd68vaNIFu-xlF5$&(<3aANS0E!`hU;y&>K;e~Y!TA?C?{-&)2Z z(M-%Kk{|i&%{3?f?uws1KC8;bfPeLCQ}2H1rahOsOylYG?FOD5XqU{9mrUzeI_ByG z41*;D2|d%1$#hHsII|Bk?K~uoCAwK}wF{;Je?U@TBkU4 zue!8I*UGg;?TGXtdrr)Q6`1e$o(TZz!-FX@G>Anv2$yhS>hxz?m;rIW| zyq@vp5qQ1+k{{sp=fgVY^_e<<@*m{hmFkyq@q|@_OK<;PrzJuj%62&(}+BV-=vl zR0}dVb!N}(Ylo=wU(op#g@+Z8eBI+^9iGea50%?4U>;t=&W9yX%?gjMLgBG^Ftdz% zIg_2;h^3$XwsXc8%V)8Bl8Si9f)B=|jqz~(i49n&N<-c$Pj@Zl@qnQ1hblPmeVK&q zG*Zg9Y~#!~oR*9;*BbY(Wut3P+?3j^)JHSEEVkt|TFSR?+rxB0VW%Ut z2NhzYSU-RnJMBGm@&Ehnale<--f2f}&sg$bbRZr0b8LB=2*zfckxSs&HwUjZR{8p_ z^alG=f~7Q$GVaBJb(E*NWpSwBGzyg^9Xc`Lw0%lZm|eL{WZMoM;!)Sdv{6Hv?4y!y zci@y%SJ0m*!)wFs26DV=$9cL|9&6>Amg8Jco}F|BOXI1o!2dX1L9dJ83cgBp1)>6J z@;8>W9+^L&2EEY#$2=-hN8r)H@*m*Q3+Hysqqdnz9!>osl}D$nAdmJ0z@snHc+`$R zVa*?Jat)`tXxpotz{j-u-{s+`>Y{h}P!+)H?*}h&rvo$u9cY%9mD!W>L3IjY2T7>= ziztD$k|TU01jyFwJ}0ws^0kDhPR5APF=YF@9llSqR$9!o&OP=8v=}P-%Zo(v3LsfJ z_go<9&VS$!c5u)Pkh=gX+d{AZ>_E8jy$L&wza(`0{|d%*61+j8wOv_a}@v~GsV>Refw)sKbCa#21gTO6>o(Uje2TD{>fF;%DH*L8Bm zKTmKqz5VKi%u7K*rX^U zX)v>$SwHn2IF}H+Zq|mMM~9H5wnJazucg38`V1fke&tpdy|J43j$lO}y$Bd2%kJ7~ z0auAaOZ4VIkLr%*#F4^%!R--Fs3{KtXrfYpMcM8Yw)V{b+uUps79XAnc4l3 zZKiM{>fY5kg(O)>-vti~T7Nb;B?AiPQg6}qI--$p&|6OVluC=5g*El4 zY1Dp;&m?mr{=B-j8qV&fq+OC%$BnAioigni83#s2wxJr~7@iv58)5WB$AM>${hW(u zulE!X>M;RsW2$q7vmVXaglg={NkH)d6Qa+s0DPTl=m4dwCXd$+4^t z7lZBB+_M;!(lia(NvwV$8$gA(_EvMNhJa`Vu(%pF(;SvvoE+Xm-7;p;ZR`D?rnNk0 zy(H@*gsVK!PIC73pUjAa^#*q6MraKc9CW^dPedkTGT_C_ZKyZhOsL!r2?mZK{5pZl zaE3r%!j87u`l{JUfWABlM|}m=MbW<3z^{(SsMjl7RB&h@;!B1$^c$jQfS-*v8QQp% zHOehmz$@H#FFO%iL^Vx2k&VTl`t0~$>eQ5u@*?hA|AuY`h)EAC@E$w`%i5>F>(;3= zJF0_Kcvzo%ZRt;?qOf1Ky-+adY!)HP`t0k@kfiu{IA-hvhxdpsfU;|SNaz7pvcqCbFrn}`P78h;_(x2_a>6_Xv20iQoT2`8qoIv#rz?^t@q&d|{_-Jrg* z1RdWnB&K+bq(003%%6ioxDashj2ttHf8gk;E^q~BqF|=2$tHb8mgo)~N~9+i`3l%e zb~de%1-9^S>z?NA>Jrr>KWEM8)os>;d9O14`v9>>i?>5XyPrjuWQ4C01jV@qpj+JSdbwCp=Xy00IRcAAD6g^n3xTj~}jIoa-3&6D-l&KCJ+q?EVk^3}55~Oa|*w<%Rw5y$`Tqj4&}ydoE{%yaZvb zV?cZYFLt8n^9om5f@lrG6ed#DS;UqGq7JTy~L+ znA}O8g{eHz0%KKJqf-KH03S3uR0q6hbf6Y$wJiYM0J#yq2jF8td{npgGQwDF#zSwT z_Eu@tZb{}8t0XA3Q3GenM6)Zp!!L$JwQGNi`ERzjjO5G2po1y=&7a`K#RP)aILM;! z3KvQpm;=@Rh~%Lw=qaF&K-W&Vrr6pv;@AlL2OQfOoJ0yT0xl;yxWJ61{RGQx?Bm<2 zTl*SIXNaa8XM}eOMGj@~aZcQ^6! zOT|NoeWQeq$OL#YAC92N{*rPt)QD~pCI!Dl*9~(;@nR2V z!67v4?%SluN8yIO#}BIIfi<|0&Yfxr}tszWzmwDUxWd~ zw84HLGAV|;{sE0nZ!yU(w3uXdm&el` zg?JKw1`GrJWjUc#isn4t6{y%w{5PV#?zh$=c;yI}ogzF8%otx2aw>6-rwdP@!^8^T zSbUKg8M4icyh@A0rcSf){%SnUKgTRQ=ritV_Jwgv!>KYnc~v}F;r;Z<^RdtJpmERI z@aEuiu`Fc6fWOUei{qfMb_FPd0kd}C@(k^TaW_rJoI3)LxzelJ*c(^Yb1a#qZpuI~ z1Daq$oc$p3cZr$wxvqGkE8MBhe2K7J)qtJRXg0+AnKg%S4XVoseI@03Z}VIv4JRqr}$RvN5L&m*n5m4m>bwZW7sC{w?pZ&c|>&D9YIb&kCOek3{S|SI~w(F zs#SK4(3(4}^i)bEPg_hSl7C9;{}goI`PjI4~CUCC>aF8__!T zte^$1#XEPh`~F(Z0{4TjiP7-BtAxRL(+y@q#|BfFG?*$JoJcd4;}gcR8l6>c%A_95 zCI++F$YijAxP~xgn7;ulQ=xWc+m&e-PtU6Wxd=cwtp?waOL7ZL3serx*K-+Jww;M} zAxj3N$uxtLuGlgEcQ=#vJ+&=NbOswb-x znB0`esQnc(;NLP6!%D2*>G;&16)Y?+4ekxC*^6?ns_97>^KlAXN1+nU>e4o4m<<3u ztO2)t!2ysBiV!;3^OGQ4ctV<^%&@?nu0!0ycxN(_tkctyhd()rWq*Ty3=U@y8b1IW zAtFXD!JyqFz%M|cq|v?HZXJnJ6Ny5D7Y*jhJSgO+$9G^PWWgF{f`(E)WvhK851QiC zI{e8&6Zk>QGk_KF!@z}X&?Bpr0>hbhc?VWw%d6JTK&!y>B`2e*LLc`ikNb&)S4X`9 zFd}SZf?ml70I(g$71VeemNyY=ak^k4_?xla#PtC1PYd847yXIUfO9wv_#;oDrfSlI z=_7vFqdeJWj3JxuoxU}e^k6?Z_}fI_SNM@>j5%biy1MVaMxPOGkj`wt(=XA|G1c}Y z-UE>f!R!+P2-oQdV0`Ey>&IKMKw-TR-H4<>q<7=^$V1h593Odt{%^eXxABE<7)#mR zjxYSU*tn-@RQMlN*P;|*pcFAek@=&O*};_oYuot2Z}=m3u7t}T7wvtzX>oY~?8Amd zxb%E2Z}d&s>Q+IOw1#$9H{y!2_{)jvoc;Kb>ciVtw}>XvjqL8tkKvb zcu@yC_75OBrA%b5Ep{t#fYFtr0HDK$ zSlm&z4xw|hglep1Mu$`iDA@5PF-{o+o$2sS<^R;)2}X^}4;X=zbDnTIgOW;mCuG0^ zZ#>H_#_ni9eg2Nv6*Bf3>E$VSQk8JfGSNr?*{Yc7Ni332QTK-nQf6#&P!8ugJGpdM zdK$JjCf5|8bw1h~rYHFUPL$zBBPdB14$m5PcB!i~2RD!>X!&9sGPmMr$!WH?Ip0Hy()p-FR`AYwmlbBO7G& zCU0^n9njhhjbfP~7jdyjr|PFf2ojN8mJ>YCZZ@Kw-toFkd*Z((3oxkTHm9ijv(yU$ zgz(6+v?Y|(cstuzGK}UE+FeN&KxF(ti|{*$47fpSzgUQ#YT~B;C4XnaU^uo%v|I|` zfa7_egUEdia6ES-Tc)xwarH-$kG{nKk>OFi6KycAU_(e=iBmauNcIA(*z}!$h8e*_ zWCUUe#^=Tu?Eh^wv1fU3OCSR$iw@1lTojQDHC1A*F-WDh5di0)M#974+Q;zCLrG<; z9-^p15Q{;*!9u$txR@7TngmV_Wp=bVi<0DwH;Ds=LV@%658gC3+WWXbVdK0WW^{f=U@)!~Shwi4 z`0`|%lsjx<5u+Fyc7iBq7VQN_gT4~yect3{ z5_X)E0`8#93nZAEWOMQfq5$>^F29Cv;9;(e zqdM_T=C5j(Q@KL*;4SzE|CEJyE|PdM)ED+9hHOmfN6qq3k$MQj{wj3(yse3_B0Vdt z((F*t+mg{A8DOBO8LWa*Nj13zkQ(Qg)uou(Fs&Ax@QW^h`bpXacG{Dyh7igftvLsU z;Pjqb00bc;0SI2u!Yv3#5CBDb{#F$^$cBoF1sg;cGTn>WBAiYSh;;}s(bo@>Y)ty<7*yYv(+&q4XUXl*!J`79!&kgpDmz2Ll?sj^o!N3!;$uh?$pV;su7_D{asas zSia?^r7E1-Sy1587uRx(z2xIe)GPF0ryAw}j$Nnco}~3kcp}by7kzslxM(bW93}HN z)2c8sG0Uiv_<%3(b~(}2D6lo7wmWb@8IXzWFR{!`;?O=O!49TR#-c01*|9lDOinQJ zra)?-1s$rp0y=#dQpphq_*I}z=h}LNR^ZD68}KaVvOyN3@@QG1qR)RxB5F5CEM+@; ztJI4srmn)%##Z(^UluT5P!=kBURU4`N;$sKv?|NOodeMj*G2=;2*bxv(Q;kz3>LH` z%WMuYi+^>Yq8U2>OIj}0#+XVmL)MFOO6dXN1`(G8qF0m#BG;CVXD~Ylg+oPW>zYH@ znpKwVw=RT5j4rK%URGYpC0MOQ;1swkQ`N?CGztF54DPRZlw7g<)&guAAl62088Smf zTkjWktR*tdk|TJ9)(GNQjKC}Q|FBe56-qetpyS9xuX(#KRCKRoo(!7Gq%Osk|LabU zxMXx}>kzzkDQpkdFnY#_>BZ5za^)0Z2UJAN80>SYzvS6C#~-7Mhk3Blj?uc(9cfw? zz6w=hGs$)oHQ|m>^cgAI5<4404@Aqsvwz{1J6w*6fLr~7nebczYp+_0=YX|U-7epI zVo$;sgo^5^>Q#L}Q?{mQG~kXdjakSIL@9#raBc=yLZYcr0_`?PPpLv1TE2Ymid`k; zOFe$x$BK@=3FZ4p-cHny@h~k<>{-pKZ4~i%+izh)O?@LT+fXIe$mkGrU$$MTt;pg% zm3B8B3o<{dJu}KsKI&PPiQWQ~3GBC0V=Eb5pdOHy1B~nuUlqi9vwFltM^NfDUMS1P zv5Gg$&gdO1dlbX<5|b9<}fv!k_9P0<89 zd@jeF#1d|81n}}?#~onY?DXC?QPgdZ8I`yinoU*VZV;C`4%%#chLi@>pbNl*2#Bz; zjg7;sd;aFwKzzwnim~2!;Sz>BoyU!Rs(Q zz|;58AOiHL1*Wx3G$OPx&jlY1duOpyP7BZhsUcV~X1C=<$ASA;?i)@?u#nU(Mg#z$ z@n$o+S}PWY98}GJVTl>Nu@s9x!7r5b1Aami;2pIZjs(G>q7wwCW2H89&x=G?tbpCS zv=m+Fh4w$Gp~iTfl{)`qaOVi;Q{bZ7&$syy8l!z^nudt^jwCYh*IFmh5oW7r4$v?_ zhRn*RL^vqKsT69jdKkwUlKr`Q>Lg$@A9&dzLYlnh{rmXHAQoc)-3mMAY~^i-575vN z7wAdgb4)ru{eK7_W63r2upLZ6G1xeXd3G?6%cfLYKr_UrBY~~3(q>Ih~)9j*28S9P;+f(gf`x_?F`TXi>KLdhu8=3*~k zxmcrCr)VV`NzgG+Lmy?;tU#G`YJ~kNj{6WCYJzh@MOO>#D;(WTC#Fa;(};OANleQK zw0IZQDq9UHOj4BXP_#yO3hXw2gR(>!T`Buo3;lC3CiCJ0%;svM%0H$`_bWbi&M&pA z@*q?T_QA9OzBZeYWh{&;Zw}+k*1dR&l=er=%upHk z*5Mt&@q2edPmHBdg!aMlbg_p$eiXA?ph;jyafkspukkaZrdAN%H$^&ihSb12*ZcF$-b$)_JIg%d4~4B(Q{D z3?3(a;7X)tpfCJAzs-ovpPDAJ4RaFo!;vyH)E@(O%-@OOs!4xOZ4G5&v*6np&aXf< z+&6V*vYm#piFVlMvK^3`-VVfDehKEOgvh?GPC&(=JOB1{oT6I z=Y)|G+(SYP-1VpmCTE-YkJzn#9@YKavhIS}=MSqQ7~n+o_r zhZgk;GbO6uss4gzMAPc`^8Hcl&l1&tVUfH6kkzp|9i?k4jiw;b9ZwKt1Qv&wS^>&l9-)$eTe}Jo4 z>eQ3j==Cm@fIZn?$^PAYAc6KVDI;h->$eN|atLQ~(W`c~yus%(4C=g8+}gcNYcBTU z3nj4_B5^F|8=c7B%gFxSB{T|&?0p?a_GO94{%YCc<4j1Ym+~kl_Q(>M>&V{QKC<_z zld+Z$o0npU>~+l4gA4q!6CzUVrF)@600vY}_)Cxa@}JmNb*eakV)S^Iu*X|#cIMtO z4o@(NH4aDcykvq8Ke+)I&=_4ki0W^>OR^;*KT^-fE)k#s z803NZh#&VI2fTSLN-Wx%gLNbKdgtZ|7sx zn}^QZ18AquA5jm}_M;<^xh0lnRUJWzd5xg~2s{SMcATx4?-f%93u;b%1GkR+_+~qI1Kfrn$ zyG_(`K1R_deqO9z-G;aLbjp)4}5lcLsCC&oN#IC%v$s=QO6? z?~OdpFq6*__qElNT&L_E(PmT^9k?A}gC`fQ=+enm)qgcG#@$$N(Ds5yhxTSHbAN;a zJiz>4MJ*^2`~W38yMpf(?Zg+(H^(=n>zlEJ6CdDb8AIe!hRCJy?sb?DCur4jK_qLgwu)(1kX%djBqGVYQ@D6V>w4WMT>k*psC z^yMSav!K#+REl)pzwH`)(eluBugQ`ZT`%i4U%l?OnmWL_R&p<@zD z4d+y|5MF$$yT7w0p&O9ZC+A8r;3&gX^y+d!b?N1lLTL4L{l=}`v2plNm-d1f{ze;3 z{R6YSWL7qrm7T(@U*mcLGON!MkO40(c7a*_e8#=&eBph;ZTO9ftM-#hP7OzgbT*^& zGH~CLLX2fZe?feUyrM$n}; z?Cflwcz~;_T%R)w_g29Ny1&|on$b)k>4VR9e}vck`lX%dAF@Hd7x6cIrL2=Re2iln zoR%AjLlr>()7yAgGO&!lV79scgqrcDHAGGIMAXG|8{Kq34Y};q;~|`&;&@0fx1Q27 zeHaf(TnJH>f+CR_j~4;9-d2yDW7T|xnBceO!hnY4*r7+38Rd#G(CbL%(bZ%IVk7ZIJ5@Hc@pbQZ~zk+jlwlwNKUOzTwu)|n+x*9Nb+bw{Gk95i%){)Pw`8AiRi1jT98M9SP{(w#mn)6 z0wK~!_~pQK@_9DOqxD0?JsuB0`CNS2C{MRh#%eiHropzyxBLh2ozA?D@I6QHwT0O% zXc5C$2o}rWx3R$OdQtRtA)d4bUyP?Zwa|cJ4?(0$yH4t}#7mEn$TSlNnFpSy9m1K- zJ|DSL-Ot>@Q_1M5;2Qrfd6=s@XE@oz;Ye-$?Y;Q~p@?Tn*c>{45APoR1Te2|N(tpK zrGxvcu<1wuSnjE4K#g3f-`j&xYkC0x5{QNP1K9%lqdfYfJW!LFvU{$k9)OKnIm8uZ zcvYA+w+lz^a|Z#1{&IYj=0_tPK+54C^n8qCiE^G({4KJnoG)*N;|5(Y4m;BF@(I40 zq~i$&2u{7;4bDV(0HTq}aV1KWCR+fkhjSSNcZ>jO<6k@Z$Z#X=NUI<($bkxvJfK}s z8|gcQeWeJS3>OMyXK6B~4dtkq;sMHrMk0Z{IYEvb4q}W5jB#ZSt7p`yiziYf&e732 zH6ra@dAma}>^n5-9pTRrIz(1Vk(m@398#a`mFyS>9M3PtF<%kK+8wtQGltEjV=qUa z-qj4P1u+NA2zL1L%95{*yLdY$c1dNPS6qFdD0tiZOf;QbmZ zV;aXcZyW=ru1a*nNqvZhbL6N0$RW>SnO6+CaNEvwCKSvGuoeoeuq#}zGK^g|`BjK8AZvY|Xl{^S5O36xX zI4hN+^-iVGEnZk5CMBc_xNGmxioPtS>#J*$K0%TX95HTaY z9`(gao08x?Ki=9>+vVxjRyteFI=w&?m8PL)uJBceoyQ)`Z>N+;%|=UrvQB) z(JvtS1quC&x+~rxM;#+Kg!}AiktE)^luusuuRST!g{q5T$T~W~g|JCdjqQRl?J}oJ zBM~q}8;VDuByaOPtiR@jEO1;v94m=qWpbVj2QbBn*uDWvfYHB7g1uQFdI=_ooo$ob zjitqs`CLvlh*_7}LDL^~0^anwE9qwfw#!V)Qn8{{YnczV_2f1xb-LrK(IHshnW z5{m;3)AjDRsJqp0fH};Q{gMKV8>I!<1OXN#FzL!=*ox7Q<7#ZcvANmy-cVeT}wP zyykj*$^imw+2O{_=v-*C5qb}w2$_0!#xL5PVuTr#1)`HPctW5{$+F&s@xRf+%#vjj zcsB-CKcEbSJ#6`*Q6P@1*ySRL0CdHx9(kHdKrcqQ$>w(KHIkJUlO7SiMN{hVh#FJo z@CT@%p?GZo16_aNW+TL3cHo(|a^y_R#s>dG3xYS|b7AlpESF&EBsLf^oYs0A7bhZM zXgFstxktl7=;zN@t#WXLpJt^sLYxw$pS0XyLhToZ7vwV(P;*drvEK^K4nW+Ft29!Gs45C>=@Dh25+V7=Z1+8%0*01 zP3z1F{hl?J_CyR^)4IIVDGQCIKZB0fv>v+si8GC*w?T$At*>`!>t)nV#xrz()yHRG zqvl$pwutXA*Lt*Ntim~DLkhDZPOL?{kN=Vd8}KU=D1bW!ak}FbLCXo~?#)@jcen!` z;Gy$veMm>a&`tYPAoLME1v+#!b1Ftq2)Z6k3HH&VOWiwzLo2(y#gI{^zTxK7LS{wX zC8>2lo=cV6b#yGmI(9q+Mafc6U^kyy%=RF>l|-_pi7ajW#;||1P<=F|6N%EHA(An0 z?O%afV^Ax;9)=(54wYFpF=v2!4n;Y%8L$k6mSSY0PGX^7JIv$ys4Mm|9G+&olOB6s zk|vM5pu(taAQsU+3yy{XllwB;kmP=FmMy;8N9Z`C-Hlzs{i=&_8{|k{33)Vr^&DB> za#)^=&p=L&>Ick_Rg#nQt#Ng|P$93#msj%Q^BaKh%_tb-uZ3__c;$xpvmk7s+HsvG zY@o5K-UQ>-*y$)cie(##g^ix3?`p6^=lCydht&-zT`J(`w*|FKy{?Z?Q15U~9npXh?sE#;zQcof;780JAF zFH2oSZF?UDVpoD_-hh2&ef%X6?-{BX=_1K95`qSmOKF!Ri*TG2jc$-g5pb~PJFRkZjW8doP# zcDU8Fo?74K%>>Hd9B79!{8w;{O>gbhL@(Ms+C}4>OO!_=4SF?1?LtfdOmJix`hGQy z`EsJM1^F7`EijEisvgB?^Mg#|RgLnQM0qgFK1uj#C_}TzYA4awtmh`S?KGCM@2F`# zcK+&jjas$)TdQGcTs{JKal|jPTOiee? zs1tE>(q$s2ruD7rcXu1LjITh~!~1OOS(ieW@dCP*yOB`Sx}wK7d#Z4^(SW}SU5!;i zWYQxXy!o>IM(q<=#Rk!R1d5|;Q6_@mGWAm%+cLrSF=G1=l498oZShSNAnPQRiB#i- zlAM!_7qsZ+!dID9N~ebTA(wiMs&x>#u>}C5T&+0#a|{lvIfE&Dr}Y2foKk|8`K+~^U#i)i z2dm|Lmdv(bK1lpxd>z0(~$-ds$rBFrX)pZ?9}o%+#zDWtZ-Jlq z2FAyojqnO^K-R&+*jpgy=Fn(?Y}S$K#MIvc2ZKd*GY~$d!~hPKgVlYHq+(c#av7np{$9I^M4ot;SxqNyjXIGR#4KZ2naae7 zC7TZ_@PUqFy*kLYY+0)y&Kqfkh<1PAUhb`AXiZgl$PevJKz9e{==m@W{7gY5F)DoP zBMsdS;S(^fxEP9l3HDy9Zul^x;(gFG1}pEU&O_kz4zO?}Or?Y7`G|*C%{c<>gBPXY zw{3AMe)%>)(H?+-igPIZ6B`x;96*PY;KH8?3!6yrJITKu2t@IH4ZhVCd;!)HXaMWV zZ5?5qY$S>G%O7^kkrK32r+WMsES}4i35!p$_mZ4?ZS1S5q&2(ih1XB%_#VbCVQtiX zrwjg{6maGOCH2e&AJo$;bmO3!3vvj;Ma#HD)0VDih*OEPs`x$E#c&O{7RH-lESEb? zqV7{&`O<{CsF?D>fXi$iW4ASi+J`MZ-%ObV%c@;V1i;jC(=t%Vi&r2tCKsLn92}E} z{eQaP9Zays0JY&cs$wq?#b6q988X+9nCaey6J|1{X`4@S!ouE=%885Q;Jn?8H)g^W zo574cHV}&0Al4VY)il*32g@B71A~KDI#-_@OM!2V-6Z}S{8BAQiJiw+TwBtD;{0Q9 zjPU_`Y$g*v|FETt@PTZ41M2i|A>yAP&eS4K%9rzV9o)ZxO-J=ry(pJ54Q~d<>LI!F zmhO>)1ABeqp($1jr@3xM-Bx>U)n47p*D}r$>ZwHtysW6dy4+%?+p0zFmk#{Kjlp zH^~3e*3I({{OPW@LrD2H5Si);?^wd*0pc%K+1Q4$W7Vf^VN9c z=_WtG;=7>^N1AuyPBQSN)oX-qp#tUaHS-SyFy+HT;A^QTq1H^}4mo|xJA;;-2rEJw zj`+T-bG`FUHX}oamV-KC6)8GfKOPK3+-Ko20JJ#+vK_lcj>m41y=Jr&=Fkm+8K{8!IS6TftF#r2;FnQ{$Q8vZXLJp zQKw|Vncx-9g?(Lu2de)b*g#*5&1@Th2K%p_oMC?g;wD&&jN1BuCD0O>lMU4MD8?xzZXU|g^w}y6`^f^BI9G`YyydnVi z=wZ8|9zo(ov=2cD@q+{=jN10L;)owK7q2$vEU-W02 z@K9lb@bj+ual(5^nRLQ0rO!$w{4uV@57((l!Y!mG3BQ$ZLO5`no|Gc`9jeJ3515zLeu`rPhrVG`{Yz7(RP;d})u`uU$J0O~}b#|^jOGO9~(`UAAfLY;w znFg5Gd^fKA1gDX+OT|-6vt|oKF*f?~xwc}!t$C+vdFTb~Cg*V_H z7ijK9SK71;vk}RYU$+%7YW~sW2w^btU|N})$~0?h{7F#p!prvICJu1a@fRQ{jk=#m zOU%@X&-Y@q3l@=k9p!7uYrlK zc=tebOoo|p2njeWP#1`1ZW|xv3q5Qnim!Md!p^^ zn-|%o+cyei+FOo%d7;%3BpJ0|qBdO71+Oq-03SA@%fOkLZhqN)G(boKTeQ^GE-CHU zyH@IG=CRnl*hw}xIt(CA+yI@SE!Kh*c?}6<2-K2xQc$qi{Gm_M9Cd5@|>Xjq;Y!ecoLv;wr-|#?eZ%}ObLC9ct-0)tt!@m>WtN$-PHtJmWh6^6(*WoPo+Q{F)<9gRf6yOY2VfwziQ`muB<|y+q?E$kFglnuicHdh3%=vvt zYTzENjsRZUkHDh~!5}a&01_$#k?XOj zXT2Y=aFP-X<@^P?Hs0E49}`-EH~iwR5j_ob1R|HE2@bOqfQxRvYN?nq+? zFunPvI8t&D%i{y+O=55Gkh?aBifQ5AExNBeZ6!fo3a?6{4mkkm zBTeuE_KqD90_3Ik*oD9ft`L!-(&wOH0WEgAW)bFZM2{dhPz=GxzOpC3SCiW4@QqlY z#r-oEPoOJ57Bx3wVnMI!#9o5osn4CR_58x#CI>V#U( z|Io9rbgY2I0E>L3)jA?0<#l%?XoPlLx}0yM10v6geJ&`baO7;s7jGQ^M+#9g*dxDQ zhY#hkJ6YbwXMy0O>cR@eqoeec3<Qv@G-~=aQ(mZ8s$j5g5%bP?#eNRi&?J2eU+C4o;v^#4CR_+-$-6y0nl0$R! z_*6(-3OAg34mo6gPmZbrnZu>um7i2#L69iI^ir2WF*iD3!(=nB9xL3q_!OB&!tQ_; zGxDsShLf!j56e^>Tv;}*wt5S_Mb*VNYC}9kZ3gr!giSMYpY4q>de!YyjtB76alG85 z>CI-m4D{r~z4|xybj)jK5h$i(LPc{gp>AJ9#6c$Z%(2I_5MtmV7Y{frHpUBJn5i+P zC=Pv((OP01jE~jxAdncgF!2!NyBRPD++hb^s1115(TbhVWUuIxN zWCQedHD)1gHq3x3*lZ}U*#N(z*#N$zvY}Xtrm+FPOU>z^Bpcqsf_!`!Q7BMr@q8E? zJnD~HoYd)7u9Ld3NjXT-9Ogh&9;y1?jDiaasqf^3e7=b>By5 z`xj{Q2k9lx@}PS{@05;P%+f8sb3+=v?|N-|DIG|Z^q$Bzf0*7y>GW#p+3kNKLmTNV zDG!-*1Ha){Nb!)=_7VR|`xwI53NQvPqI5iM14|(!%IXR|k3TIhYS+Jj*&bDmP~@=zQ48g1B*VZ$%W zzz5mm_S_W1=42YmdQ{oNx)?AObG8k;jBMA(Gt~2c2Ugtvo{rBg{|P=WWpsd#o^4^E z18m^mHA<&+*NplBlujZ_GZT#J$lmQsEYtN1{3zfUALP-L3bU&4GkUf(oaPehCf!4d zvvjFjzhr=B^HjWG`%3nBFhy(CydA*xI^vqfKVymAKS3;Pl0H$Z$A2Hc9XO!-!}!6n z);(hP_8kVfO6er%B?`NRTc*j;?ee52k*P73TOc zoQzT5^6_tgJ@zT5e*!%9)KA$z&D#$85AUChC7e=kXaA0T$`kS#*iJrBZtgHVqL4Dw zdvS*eaCQxjKv)lCI`xi_tTwz4WZBtLrP|4>{>b>AtMRqcv}Jq(kt3>D)LrnfEsYUB zX)lf4V>*z=R!KZu8kM+h+?K{PK2jPl{~=Wx1J9r|)HV=!vL>({eM^o^-<5~cm!W2U zkz{o6N91$_ejg!OjU<+ne$c+>1v~Q37X2t-y@G9?@Pu=3NDRytHK})^tDh z2Tt#xd0ac)nRnR~X3fJd2~Autr^de$XU(B49bj(C&!y8C!Uc@%j$Jz^iDRi8vG;xhSO5{b=X{xmas^T*sLp@_ssD$(H-WFJI{SYUl0Z;! zM+FIrn%G!FwKY+yi4uDPLHEHEh(k3ZYOEGhr7e;KacYAnf$ScSjnz8UR_j#T+Bz1T zY7?Lg;sB&ohN=iv_wiUodCTBH?)SI$J|{Z^YVZGj?|tv*`uRxC-fQhOJnNa)vz~Q4 zK0|*AFozPJyXv?r1MaFERm=0MA)cuASfy#L>bgKRDMQ}(EEv5~E#_6bp*2v=L?SF! zH)dT`t&u0Un=laf-E!0J%v%B<3{$)N9xY|Zr510n}(9#R82~k_tIO37O#P`z&`QOmQH~)=^ zSAQ;jS@RcVn(>zir#%~@XM(ZQN@91&SY`bPeCFLBH>+mc{&nRh51m~m?xNBD_{ zQ)9v$E>ogKR_Xk~gODz-ev1ox#XSv*2{W&OUCRKcKm#bciORItf$}3u&#TIer#u( z9es({_;Sp#!6_mT8~&%k%o zK=hLxI5N$C1!h%V_#$lH(-VMa{R|mf=2Pn#w6unLJiLiqKt#d+|H+9-4D;I%>n+nW&t9?P-+4 zv>;63d!1>IZ@7>rdSdUZQsOyVgN*55_3_A9!?6k<4**ROS?;YAw7VCsX5n7wgP$NH z{B9<*mNMJ}O_+^XE=s2$Q6fm}?r@gc~g5n$>EPhC_aH+78mGBn>cSF&kb`#V5(N?!QP8ZO5d5NT6n} z(7M_Pegp}?rlDyi%cB0G9o%-0#&u#w<3414(2D&i=PCWMg$LU*{V`ba)xeB#pQGxG z8{bvy1Ll=y{go`6rxr8ZS%J=NiTJUd__%+3od#3l_dnW>%?6S?xCNmJ%vx8vU7#%W zq}nFUjy}?}gY>P|U(xom1>T@jsPOI7=&rf+iy+hs?fxaV>_o%aJ|C{augbo_j^~V= z9?&(8(WFm3!XVkw;62=m(sPgT3NHFEfPIGJj;0`e!9)*+DSm1W=m&HHvaT1cHsR=H zX&&s>g;~Ni&CMVP%bdE}D9kLkfJI~@jeum7q@;j9+{%jJNjuYMnf|XA{H*!wC6jxR@Qi51)xSSGBhPBRmooPs`wv3A zCdZIIB}7p6c@$ZT#!a;26<@pPybNdDt4iMy-8u1^*TMKjWjN*JswLc$gf$uXrmX8s z^kTfG+iqR$s}!-E`Kp+D_o85i-8Ve>b=%|s$+HAM3Ba#p7Xd; z;i!r4yyn$Mn=}HAE$KIlz02b|G{T`=FiF|)uXX7IWv|XTR6pYrm|DlRxYAN&=>7(U zjixVN9#|Ga8n}P`crAF&g5#N(`rM5-SQR__R=l5z?k2C93ttSB8hv31URHO4S33E@ zK&ep|zvp%GwNxj!d!2N51S*=*gw)B^UNa9o8YnfGe$Q7ZeGPX21AOZ@fl|{+w%5sD zkMn0T&g-N!KS1w?YswpsqXpQIkip%Dy#Si~WqqJIP$k3t6Sdr}US|jO8_Fn#!e{p- z1D_ezu=_Am@bX=O0uTQw0RLBl|DSW7&h_GJALN`I``@=|m7Ryoex@Dw|N2{dEg9{0 zyiMusMZMbfd{DJ@MNv056}`#Br&5HFg|bJ`?Bti#!PAS(4iJ*iEoI0;$O0n~UcsbN zJ9n!cscy+{dTEXxt)Z88JND>0c^8g+^g;b`yrjRT@qDgJ0 zcd@gqg$=nc?GrW8*|&U>CNKpU0xc|M6 zY=+-W&#)O({~FsF|B*rq=9(~x<>@GcW~xM-PHv;op#>$&eAUi;KKvx3>+XhkL^6qp zeD^?|cUUk=d`^)IcI=iCvkFZ49+(UXU{kkD9tW(E0mMG)rb%>xWAuWF&9&q6%k+`v zCtDyRw-8bRb}tEtn0R+%_Wq_Ro&Ftoo{EG^|;qGJls9T12z&CoYx5bfqj5y z-tbTNJpb5$7pG=!8|@jG=_dA!Iu&$F!kunb#EF`LIZ>5HVo{Zb%Xdbssmqm}%nyk8 zCb0I_y^%}KFt!zpkmo+PU0Sd=bN0KP4-?Z>QS8NsU22Gt^bnsWwS-`2hS<7PGyaK| zO&?`s4Cm@ z%;zZcmWt6Vu@O)F*UX3U@r0^;z`dm185yCB*&`v1@9!GNq3}W~M4Xoruc8NppBDZJ z0juL<4h(aTY1qTC%BR#$;Oz-1^TI9jdRjuPzT{MCHuamQ5c#1lGGN6h^rnj!z`w{b)0cR%o^ zz!iyS4+ir9*G>c8y@@f3ILi{dITEHgfRHd5?m@mH?Ps``F7?ngPXn(Vknh>gr5YC} z2_+v1!-t*K2pS3W2FZm@?h6!%me5fBe9`Ef z9K3M1p)u0OC&4S8%@+sab`vQ0f;D{BlhJR~1sVpAGTd#_BMih;?dM*#$KDB4JJj^= zSF1O}qCVZjSllOg?{=fM!5 zQwb1dErVo+gzSp>G>7^iD90j;0iZaC_(5ZTCVIrZi+Lsn(JwdkC> z?jFq(o*uciEr71X5@omt zQ($fXVJbp6+`0(}53+_B|n=58^q! zv|R)b=Z94QX6Dae@CUflys_E+8kk3qW^AU%$2np}bAP`g(2p6|v|arCDzgHAbmM8=YzISd3Dh(KP-^qjDH(fK4#L ztE*DF$D1bF%RtC8lLtRh`Luo|LMd{6)0l zonkYXW9X7;j`6*I4JCGLVTWp?sF&7I;Fa1qky33uwMAg!a7cCTJ)MKe7wm_0ZnL${5$5CIF3cjs|7Nxxzw z0Nb%#;3nS(FWT*B2gw9C?c~PQvT*d{yeqyNA#9wx!WySXGD(<964mYr1>T7HDv)$4 zc9UitpWW@4s5m^b1G$z_)Frn2iR{<}E+ymM0_)igmCuH#QEgTIBOLuCWW|4Fl*PJ| zsqv%6L}Ihbs>}avMIByFjTeonj$d4q8Q!tDRoFPN9amvmJ1L!vHT^O?CKyMyYkD;Y*HI zEc&W&r}bH;FD_8KyxFWbpZBEXinSZ)OzU=T(~p6n6RoH{(lk|Nn##GU;%qRl<40rh zvJgD{2rZ@uie#zN-WSX@daDY?G7-*bC^8l*8WmJtI9a{M9@{3w6|?;YKI#1Cis_04 zY#bV`*k9vsEHA}Z-E^>82uTkdXqgNYvy0Ml>35rUYdJYA!S!W;0htK1W zbyG+34`6h*PZc&)G0&q4oHFpY8Zj@4NcuB7c|MB(hx6P+VHyHo>TB3|?8X!fZ}(wn zweF2J*8Jq7003698`-AYF09~kVYhfIC-OA`{>W8g zN#}55No}rnd&d%{JdC>pHa@MHV6Ss;ofbHgyZeB?tvKRe@O5@6-Qh$dRmW#;X{uiSEW#wpgKF=s^ZcHB+;5)rzxhsr++@`f!%F!qHFREMJEpBC&cnOXK1Eml;#*()0^n5Fh)NY+4fp@I^~x(rq@!o82Ib-mWQmbG5OTGxUzc0C7OU*Z~|{KQ^-$MK9T z{@C#aKh}D8x%s9`+-s-1hT+Qhk3l%>~~(yR0pz`;%ylPl#to$I^76r z;vZa29kG|Tqf?ilV*iGaMyBcpje+4>zZt{KYP{U9pqheqchuvo#%zcqs84G@tD^T_jD}G%K>RnC zmZ%6*L&g+FO@Z0mbpP@g+uDCf@AdT7*S~!G`Fm>rg8!cOpWL>G@pnJ^`Qx|d8}+Bx zew6@GCf%sfoZJOmgbOU;y6ah&+D4E{t42e*;#?%_HD}q5@Dv3AB;=gn*Mma|^?-5@ zkl+1LVC2E-@tljM`hk0#WBua^puTwf`DlynZZXqJC@oMg`$_9@0_zQN^u(VTwDX9@ zC>*)&C%#samtJf?+-U710PB%n^gQQG+5;nX@ZiqgfT$v1VBk z_C?Zyw4>F(&ryUC2^L;pg8nZwETMr^9_2L#!Kg9!(nK5C)YpgH9*rsDSse z$8=|i^O$}+Z**?ixAYTdN9pUG$swiNoZX!t{CWEgksmmHI~YM^3%k)L+9li$AiC>get;{3Q)RD{nEefkdbQ@YRXeSy8m- zVul`ovY1LCZ`=(84yL!e1NOGz*HL}b`}`A4<(j5a8o35XI*ojj1Q7Og<&~b41s!0y zhRNwyjeda*#`!56K%_E0aU6buZXnGefAEB>d0!`#fYg-q_uGF2rR!LxApYfB^E1%r z7$0rVl+#Q9m=0uwJ#SPoX|y`XcZr^qNx5~6)q0B_=IzQTkTy6=4;3O?D>_oYA=mr> zN(C%y3}g%ij%cv$qO;6)?2grfkW#Qe%rm!l%v(~zhNZ0IV)obYAdD*|TLyCaN_5p% zrKA_wg@mV3q(iGnl58$PG!$ZX2n>fGJkE1EJx)*mEDLz~k!31v=shsQXg%d@OWe7szl~3`+ynDua zk2NBXFfx)qr|dzMDLE)UJju!SRNW(}n`}@hjn#6C_?xrdM4MA*W~$CtUiI3m)tK`I zB=GX!Z&RE&+I->-s$Mh5b^reRUdz&ZRwl)2;T4=k;1zWJDWHWNsDd9De*ff+Ss95fFd(KCykw#1OuMX7*{tMC<$zhW80)2t@shAhD6uvzP#gWcLp6PCGZCGm; zVnGV~GM~50Yx1n??$Fl`eBj{WqgYoR)Q*oJjqB;V?e0~^o4r8^ticLxp@J2D<{=&n zgvW@Mtu`vKpQH^u_1Q?CyVPF*mS6TMd#7NMSvfCpd9JvV_>_B9S1KtL#W<^k^|YV- ziCo>D-#Xp1`>)@^XLhpQDUhg3G|8Hw%^&B@t_M0PH{H1h z9Cp^T6PV9Y<((~q?dZ3ljeV)Wy`Q(TSooH9h`|{@9Zj58j8C!RTCe0qQ{vrSrWDH| zLEl{?G67umEJ?_}(eHL@wtGX0URg{Rr|46SE_wn_TZJI8a4~$V1y00fEcaQEiaHXT zkQXUmcEwCR*v@QTj$a?G*nNOpJ`+47b4IKOOp`_a*mL7KWx_;;F#L6<7RRnR$E96w zR<{Nz!W~2@oes2jG9)-d@~_0 zG1ULUJydl*F;1e?vP%GID=Dqy&OcTh zXw3O8v zx(o6ArI-bbq0-q|3Xd34y1U8|)5wE?R5?+NcS3y35NFyj&V~%)Xozym-|z+`W0;5C zwZ&eOM87!Kj*ofVE?;NeN)&z5t8J5qaxXDF)wmr}8k8Pug$iJ5c2OIk>)GjZ4HZf~ z0Hg)b|Ng?D?|HM4qZ$+U5djT}n6v6hALSnV&?9$HZie~bKz&~8p`1BbSpy0`Zvg9+ z2=m@sA_ZqIGC{uV*Lg~A@Hzqo-Iw&-Ub@j(FOsyy^tgVRj{+gnBW@^tT%0gTse>k$ zwctu&rnAo60^k^NQgW<9(+wd)ZzDb`Ys#;;P9EQGxrjrZ~{5+6Qs-q{%wxGE`E(Tr9!YHAMu{&k9X z99C(U@3LB6Q$N}Ss#c-1f)wthYwaD|J^TeaESQi{jNVH<&;VAR#Bg@n(I0W8WP@#J zkw|5C=_NE_mY+p3-xWwhs}>5ES&Pn{tb{$*!>jDfPM9f4%fw81v7sFq&nc+rzQPGO zDxA#-;a(Ek9l4l=dkZ{$v!}}siQi7f?AWPLkJLQrO~2ggAx&PQ5qe`n#A=zOwf)?C z4VMC>-9HNesbLClB7m(@5K62!T$Pgc+*>U#^UGRj=Wg%JCey2t!VxhM&Zfl9h2I%lVgJ~yVG<=!kU~R&3rR8s5U#Qd5fY6>wzcR-lUcEs5uW*W)?_x&IvS6| zMLRjSa(id4)ne`|DO^I8HzfE$zA;(N1aO;NfX$!eSU=M#oR+;c>`u3Ad`?4Fv?B+X z*`bNe!bHxCML*`23)#SYyI0w|#sgtE??9pp5A^JnI&oFcWD~v}l$d;s}$0DF4@l zwXy~DLV)hD=T#9lWz^E#ScvX6Wj5?5I|uyhHM|wc_pC+dlZnEl=-X+>_BM9nHw<3V zCDAp*%w1*HKKkE`&%wVfY5Wr=rtxp||1|yy_k@Fe z@$XcPXCVC3r5-)_H&WI5;NN>e{FBA)AIz(oqE|@sT$HXljCjQOG#6Re75EHp-FK4W5En$0KV0-N9` z$x+97V&dDytp$Hsf~_j4fO{*;?o63_QSp+5ZV z#T;N5UD_;td#?2Dx!SzMZ=sk3tK~+D(~L|}+}a9nQ)xh!)};{1&yhZWIAzWN`+Czb zIF%dSmfglh*wHJsz5Oc_q~hmqUrOWQ?#1i|Bl!v_X&KD+@R$Rp#ETB7DkD@c7Y`&C z5M^F5)QFGg;I3@THj#AxD&^07fageTKbk-iPaA65xgpBSu=7Hdv%d1rpjt+_>#gvb zf3YL{eQg5&i9O$UE3I1>PijH2E1~XFs$?Q*G*u%hwHaH$(StO2(tt3k_v+N_QlazK z!pn{F@L^hejbG7i7cTRM*}yEUMORCI*kNbQMsZ)>n*fd|UFqk_JC>@|t^c%IrZ6g5 z|Fse4Vge;jl`Le}eJx}39x`Wh%gV$O+sQ6cNCK$clPf;Y9dx$Vva09^!wK3zNq?cc znG~%e+H<(6P?;gjOW?ZipoynDhT)Yx}Y?SVFZ+dIc^&rY{@ zmTB*6rak{Afpoiq7g_Ua2;nuePppP&+`liRleM1itSC&>zdSeZeVNV|7v)#BWEZuk zhGs3CXjjJpXLWqo(rW112cp+e;!>K!zjOLt&AY5QIZtV`Hu|PjX-vk-t}Qbrm2a?a z>P-9*Dg*@;O@K4>XWmny$b7u;GP~M&MFAJ!?A2j@>?RKCgRrxsI-Y$DIUnhoGyUp2 z;_R+=K8iSRCWg?2B9}<#XHY^80e;oc#JM(2YzW849g8PCw<>mSgp<;q7I>Uy8WID8 zYPG;U_cr+|@PXZ39{(%rHO~|@q!Z4P+RWWzCPM;UYVqoIy;p6bQd=`AtTEbJ*6gFf zEELCD6vsxGp!M+UcqO~UcW1#W_ZO>7;bP(nW`&vu4tws!kmeK^W`t!bKhq;a;Z5>h zV1EX_wQZB*<4_Cd?8HRGh9g5J6P*RP6OR&~5piBmY&3BijWSB4`pT>|t9~g<=1YU# zxTE2gCC&=W$T-^id0bY$qA_C~Mk`*-5@K_v)4#UR;bv}1n9lmdX!V~eh+m!Op2nU% zF+TB}*}>iZk<7{+{J!zdpVP14U;i=%uN;%!j9hhNYBO>THded)i<{y32N2uf>9BqH zeV%x2@B5P(-z>xIFN5wq`{_b)ra9f$;)ukekPEd(B{g_0yU6CO#8s-?y`1<)1Oyk===!{DtE#M{v2YTxZU3|u zPRM-_F1DVc=%!EFNP~{BtwqSy!Kv5{qW(lM^Wo*;_%QsOARj1JRu!8lD%r%I6h~>{ zNAO3p0VE<(-bxVCXR2um`HCpyP!-$K5FiU(Rsh!2h(HPw-O`FUylW^MdItcf4V@~sl8BG^y%r(jJ)}pH*qILAg zZKdZzLvJBW42H>u6*T z27ZeiR~l;7T8g8OvQNiNzGRc9W&>2+DdKI&MApK zr_ZZm^VL?BGv8}$SLZwINA0R|UY=Ci+4%wcQT#Se=1HXl44TRl;^S~ozI~{jxfN&8 z(6o1{`z7gzPD4mMR%u+jL>7ofjitaXRS)s2^R=nNPSRnf!{Z+0WQ z_HPfN&X4SfvlWeON5ok(6)mM2rHs?3Rk10OIB(*etBxI4)i%B8=m-Om0yig&eA-G~ z^uQ6+Kb`vQE)dY#ZM788IdvNFGA`r3!F_p*V7-OZ)*vhTJE%@a@-tdGtk%IiPdzE32Ci%J~bJu;q}9cn|E=# z;~W}n-o>R}HT+0fN3E|3*_?4OJE_pDS&cX;`3pbr&?#RWuK?YmsZ^^EtbwymJft*! zqcjqx3`=B`0)X;cCvFBwq80N#76S26>eBE*wlkS-4AY)mqyD&-enN5M@My)iP2ED_ znPl?O-5qTc2p2P&*94kKn<~P(^}hq_)}_YbKF^~azX1B#X>&KPhuwctotvT+pYGBi zXiCl#$70EVa%RIf!?C@h6>peAwzrhg@?$R%kZFi;lQ+zf!4>XI8qz6lXGd})>#t*7 zod#6y>FO8L>GxivgBpe#z(zmJOxy(k!bUweFqJql<{X|{ZI>AOm?bhQ+ap{-mlR0R z)sw#s$MRwm@pqef_#)4iOEd)sVTr*TyK9r(y~6&A?*=C$e#n4CY5fiMtqHs-Bc!1njGko$%TwRQa&}*v{&*77{ZLnFo1uw zGmiaX6C?KLy64O}-{#+(O6zBGJTwx#{_vZTtV;^)5IN7RL>;mIvHq-GEz0UYQsb+Ro&}6Zah(O$&RH9Sy14FrZA` z*BRJgU9hDW1AVShh0_0mPo{@(BgJ%b2lz!d@zxh7Po`@gzS{({Y|=*{VQE^q+s5Hh#kc@*0+P z6|n}XV0g}X03$oA#CI)U1PAY zFpu2fi``qhy!kTzQ_bfl8ll!!GyzdG0L z)YDY+bQN=6V)&=~d)_Ks0j1r&OEo@%ImtMTuFP$-a}zUo#L7OKKMd)uU{XPI+VR9U zgey7o`EpZ#dA&fu=ocefq5vRPI2WR7yr^9Z!9--W!v>u-X^km<7RrPy`odQ{TYid~ zGi+bC=>)U)fj9-eE;7Prr_g_%JBBZk>$;y$-tJ!5${43J|DN5SpgxQX$iGhm6G!JE zA5mw{L*Ajrxc?UeUm>!xWOe*z1;1s;wd;P14n1UDF0OH!xW+jtu7NTFCLSWUrZxYE zJn>76VF^b}Ds|)xkL5q{a+0$L``wTKtXKT!T%ER%IMrX-dJz1%;x+54v(6!o27|OZ zei`Zm6iyeH*;C_VlGSl;L*rmgGxY<*!0(pP7AZPHJTa6QBu_zi2Ol-q{DWI6^WW9n zAtO^S{&!CY88^7Hd3WX&gE9KDlWX~%V_o+m-&Mt~mTJS9py<8Std3m^pinP09y@{& zjtg@pej`UGdM*SCOW~at!YWF;tKydos%k45OqcJV@1W59kOsq@|IE>_%BDzHFizc; z+kuN7>(Rux)@F+IfiRl#DQ)8h1+4i4Of?`?*#c=E^^qaXx0rdglQ#M@8|F@7u>=ol zRmb*^R%EGS6Mnh8DPY*FaQCt)C}*?uAV6MiS7+|l8$Nu(eCWf7m)4_iwjD`&{9S?*{-H`T!$McIhs9Es4`YLEaLdC z1z#UBs)t9dqEX#Z*7BkOx(EDN14`iAgBs?Pu0?L2>pQBZ#AoHuTUF8FmC;Scc@$W; z)WE<9f0cy(8kMX=XS-R?)GQJ^rAax_Ng2;O-ELjR~9rPzkH@RZ>e}C?jj!* zM9O*Y8r~&0T8r=pIGr%bj`lF;{0W)PH3%86+-dl|du5gI(Sv;oMk#;_i$Y2CsxjFN z{W5XB*F4U5r(ug8^Lxl=jeYpv-3%bH7gIo?O5CX9VBLgI@i*dZ(z)Rb_mBrA{BoY1 z81S_WSHXAJNva+FVgFr$Ty9;Ktm7yg=LA&8T2Mw&x}IDuMq5-Zmj^u4 zSVG4V-EUevJa#25zJrTYaSY8@hI2#K&zFZFhA0x3uCRTQ}Qcbd{c zs{^IR6qv5k1zzd8Wr5NneS4DE=woLG3OKEi;U4Z4j5;Gw!0sydM|%ZV+kpae0CL;k z%m`Lh1qw_Gj}2bIVcCHw{!%s7NkO|CA?2|d)M)xcct`hgCe?0KRN%;}- z)`4HPe&x9z;@lF0Hz=*cjFQAUD2aPYb~-DAr&8ChjH1uv&rOHD=wnVD{q>>^v2sWK z8Lx)f>WZjmsivn9O{ak%rwj>&!3l3L- z@)*Eww~JFveeLTRrcCjPxS`+)%nJweE;hTttvhvYQNp@ZaVIj=fEPOz@2#47#TZ4YY#fl+T!H1u> zTwa|;rx9;AB99XwI~DIgh;cLyZMV_0a1#6)KJb0i+=0GK@Aa|GSBsljMwXNI^sxgb zxFE#9Pid9? zCbu!>B=LaBRSf)z5Bm>1o>Ti!fIAe52|T-6Okn;MFoDxxeSP;gj6B%Gddb)6?T2dR z((83*dcCest=DNvbTuNhh%|Mt9H5F(%Y?%PP!j&ePmUNQian`>&ekNHKob}btiioqZ8vnW3DqRAS zv}7r<#oluDSqqwlOsy-!&PD_VwO^>VCau8lM?#h8j}*9cmqDhJ*xI%hPQfk4_Vx`` zd{k+ivf-{x;WaM10imh!?Dk0c@{o0_(P&!aa`HX$jpy5roEwBPyN&*}Gt8Gs$apMZ z6U7*j9>KoktT)<%0_)=!5Sm1Sbu*A-=v3RmFqb#%tn;}jgFvK&v>kc8E(q+)w~)1Q zWjOlgkO^(sBxcv{ag5#L+;$9`8s|j2doW}!CiT3v@GLlXcBUAWi7`5j<`iSZYam@K z5@2`MBt{dLAvnXcfv7T}+)YBxz_?A=IfGC9QXf#j;&5`SUqH#+C%j?;O0IcR zn*0HpxNY2!ra5O#;wm&6@2$>p4E`DNP6w2ZxFA45W>@%`RYq^xr(eN6UO_A`9ZJ&v z!&E5A{J)CqYGy-rF|5KKb)ql*Z51)}KCjFOy?Fd#0|6_Wg0(+z^E(3*sD9i=pjb*dSL}7VwI?N zCmRe#m2*43sln)2CCFC1EPMY<1UfMpiwvoQ2ojB6)WxBxsEbr!26_eirO66T#aoNc z!a{xnK~AjH={xP%ev$IUO>djn3_{=xzZu8SU^eCOnkM4lmgtm>^E}Qh?+C$R6jv_G z&XeWRbTn3?7n*Uukg&#v)%d|aEnN&P`sOD%c14n9kYospa5Ct<4nI<|9UsJjnW2{L zO@Eb@N?6Le#2I4p!D)YwfX+m=d7I_M2BCtvTsiNAO CrJyXaTKD{qx{CWkH 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
    tRWD1fo-U9pbYo|-s;ed+%`7RtS#dt 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
    Y!V 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 -70Bk`JE)_< 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�w&t%`g(#H%4O^lY65UG1ZdD{<3P}LP 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

    rSKjfClOi>%Mv^DaJS#Vs;r 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�iKVoZ14Lgm{>YTvL+^YQ@joW{f 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�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

    VGe~=9 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%0A@=KLUq3fSaEIB~SvHyM>+f3anx1m9JaW3mc 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�Gk^>@LAa# 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