Skip to content

Commit a49e9b9

Browse files
committed
Fix v,r,s check in fromValuesArray
1 parent 8b34497 commit a49e9b9

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

packages/tx/src/transaction.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ export default class Transaction {
6969
to: to && to.length > 0 ? new Address(to) : undefined,
7070
value: new BN(value),
7171
data: data ?? emptyBuffer,
72-
v: !v?.equals(emptyBuffer) ? new BN(v) : undefined,
73-
r: !r?.equals(emptyBuffer) ? new BN(r) : undefined,
74-
s: !s?.equals(emptyBuffer) ? new BN(s) : undefined,
72+
v: v && !v.equals(emptyBuffer) ? new BN(v) : undefined,
73+
r: r && !r.equals(emptyBuffer) ? new BN(r) : undefined,
74+
s: s && !s.equals(emptyBuffer) ? new BN(s) : undefined,
7575
},
7676
opts
7777
)

packages/tx/test/api.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,12 @@ tape('[Transaction]: Basic functions', function (t) {
380380
st.ok(tx.isSigned())
381381
tx = Transaction.fromRlpSerializedTx(rawSigned)
382382
st.ok(tx.isSigned())
383+
384+
const signedValues = (rlp.decode(rawSigned) as any) as Buffer[]
385+
tx = Transaction.fromValuesArray(signedValues)
386+
st.ok(tx.isSigned())
387+
tx = Transaction.fromValuesArray(signedValues.slice(0, 6))
388+
st.notOk(tx.isSigned())
383389
st.end()
384390
})
385391

0 commit comments

Comments
 (0)