Skip to content

Commit

Permalink
Add typed errors to construction
Browse files Browse the repository at this point in the history
  • Loading branch information
patrick-ogrady committed Aug 12, 2020
1 parent 4b752ce commit c6a4e5d
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions fetcher/construction.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package fetcher

import (
"context"
"fmt"

"github.com/coinbase/rosetta-sdk-go/asserter"

Expand All @@ -41,11 +42,11 @@ func (f *Fetcher) ConstructionCombine(
},
)
if err != nil {
return "", err
return "", fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.ConstructionCombineResponse(response); err != nil {
return "", err
return "", fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return response.SignedTransaction, nil
Expand All @@ -70,11 +71,11 @@ func (f *Fetcher) ConstructionDerive(
},
)
if err != nil {
return "", nil, err
return "", nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.ConstructionDeriveResponse(response); err != nil {
return "", nil, err
return "", nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return response.Address, response.Metadata, nil
Expand All @@ -94,11 +95,11 @@ func (f *Fetcher) ConstructionHash(
},
)
if err != nil {
return nil, err
return nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.TransactionIdentifierResponse(response); err != nil {
return nil, err
return nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return response.TransactionIdentifier, nil
Expand All @@ -118,11 +119,11 @@ func (f *Fetcher) ConstructionMetadata(
},
)
if err != nil {
return nil, err
return nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.ConstructionMetadataResponse(metadata); err != nil {
return nil, err
return nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return metadata.Metadata, nil
Expand All @@ -147,11 +148,11 @@ func (f *Fetcher) ConstructionParse(
},
)
if err != nil {
return nil, nil, nil, err
return nil, nil, nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := f.Asserter.ConstructionParseResponse(response, signed); err != nil {
return nil, nil, nil, err
return nil, nil, nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return response.Operations, response.Signers, response.Metadata, nil
Expand Down Expand Up @@ -182,11 +183,11 @@ func (f *Fetcher) ConstructionPayloads(
},
)
if err != nil {
return "", nil, err
return "", nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.ConstructionPayloadsResponse(response); err != nil {
return "", nil, err
return "", nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return response.UnsignedTransaction, response.Payloads, nil
Expand All @@ -213,7 +214,7 @@ func (f *Fetcher) ConstructionPreprocess(
},
)
if err != nil {
return nil, err
return nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

// We do not assert the response here because the only object
Expand All @@ -237,11 +238,11 @@ func (f *Fetcher) ConstructionSubmit(
},
)
if err != nil {
return nil, nil, err
return nil, nil, fmt.Errorf("%w: %s", ErrRequestFailed, err.Error())
}

if err := asserter.TransactionIdentifierResponse(submitResponse); err != nil {
return nil, nil, err
return nil, nil, fmt.Errorf("%w: %s", ErrAssertionFailed, err.Error())
}

return submitResponse.TransactionIdentifier, submitResponse.Metadata, nil
Expand Down

0 comments on commit c6a4e5d

Please sign in to comment.