Skip to content

Commit c40a25f

Browse files
committed
refactor: return nil intended amount for non native
1 parent 17eccbb commit c40a25f

3 files changed

Lines changed: 7 additions & 8 deletions

File tree

internal/xrp/client.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,10 @@ func (c *xrpClient) GetBlockResult(ctx context.Context, blockNum uint64) (*index
185185
// case-insensitive check for transaction type
186186
if strings.EqualFold(tx.TransactionType, paymentType) {
187187
transactions[i].PaymentReference = tx.paymentReference()
188-
isNative, err := tx.isNativePayment()
188+
transactions[i].IsNativePayment, err = tx.isNativePayment()
189189
if err != nil {
190-
return nil, fmt.Errorf("isNativePayment: %w", err)
190+
return nil, fmt.Errorf("isNativePayment for tx %s: %w", tx.Hash, err)
191191
}
192-
transactions[i].IsNativePayment = isNative
193192

194193
transactions[i].IntendedReceivingAmount, err = tx.intendedReceivingAmount()
195194
if err != nil {

internal/xrp/transaction.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,10 @@ func (tx *transaction) transactionStatus() (bool, error) {
130130
}
131131

132132
// intendedReceivingAmount returns the native XRP amount in drops that the
133-
// sender intended to deliver. Returns a pointer to 0 for non-native (token) payments.
133+
// sender intended to deliver. Returns nil for non-native (token) payments.
134134
func (tx *transaction) intendedReceivingAmount() (*uint64, error) {
135135
if len(tx.Amount) == 0 || tx.Amount[0] != '"' {
136-
zero := uint64(0)
137-
return &zero, nil
136+
return nil, nil
138137
}
139138

140139
var s string

internal/xrp/transaction_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ func TestIntendedReceivingAmount(t *testing.T) {
6464
{
6565
name: "token amount object",
6666
amount: `{"currency":"USD","issuer":"rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn","value":"100"}`,
67-
expected: uint64Ptr(0),
67+
expected: nil,
6868
},
6969
{
7070
name: "empty amount",
7171
amount: ``,
72-
expected: uint64Ptr(0),
72+
expected: nil,
7373
},
7474
}
7575

@@ -253,6 +253,7 @@ func TestSourceAddressesRoot(t *testing.T) {
253253
t.Run(tt.name, func(t *testing.T) {
254254
tx := transaction{MetaData: json.RawMessage(tt.metaData)}
255255
result, err := tx.sourceAddressesRoot()
256+
256257
require.NoError(t, err)
257258
require.Equal(t, tt.expected, result)
258259
})

0 commit comments

Comments
 (0)