Skip to content
This repository was archived by the owner on May 13, 2022. It is now read-only.

Commit d1ced6a

Browse files
author
Casey Kuhlman
authored
Merge pull request #587 from hyperledger/release-0.16
Release 0.16.3
2 parents fc45a22 + 0f03f5b commit d1ced6a

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

CHANGELOG.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
# burrow changelog
2+
## v0.16.3
3+
This release adds an stop-gap fix to the `Transact` method so that it never
4+
transfers value with the `CallTx` is generates.
5+
6+
We hard-code `amount = fee` so that no value is transferred
7+
regardless of fee sent. This fixes an invalid jump destination error arising
8+
from transferring value to non-payable functions with newer versions of solidity.
9+
By doing this we can resolve some issues with users of the v0 RPC without making
10+
a breaking API change.
11+
212
## v0.16.2
313
This release finalises our accession to the Hyperledger project and updates our
414
root package namespace to github.com/hyperledger/burrow.

manager/burrow-mint/transactor.go

+12-2
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,20 @@ func (this *transactor) Transact(privKey, address, data []byte, gasLimit,
176176
} else {
177177
sequence = acc.Sequence + 1
178178
}
179-
// fmt.Printf("Sequence %d\n", sequence)
179+
// TODO: [Silas] we should consider revising this method and removing fee, or
180+
// possibly adding an amount parameter. It is non-sensical to just be able to
181+
// set the fee. Our support of fees in general is questionable since at the
182+
// moment all we do is deduct the fee effectively leaking token. It is possible
183+
// someone may be using the sending of native token to payable functions but
184+
// they can be served by broadcasting a token.
185+
186+
// We hard-code the amount to be equal to the fee which means the CallTx we
187+
// generate transfers 0 value, which is the most sensible default since in
188+
// recent solidity compilers the EVM generated will throw an error if value
189+
// is transferred to a non-payable function.
180190
txInput := &txs.TxInput{
181191
Address: pa.Address,
182-
Amount: 1,
192+
Amount: fee,
183193
Sequence: sequence,
184194
PubKey: pa.PubKey,
185195
}

0 commit comments

Comments
 (0)