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

Commit

Permalink
Merge pull request #1486 from hyperledger/call-errs
Browse files Browse the repository at this point in the history
Get rid of excessively long and generally useless EVM trace from call
  • Loading branch information
Silas Davis authored May 15, 2021
2 parents 27572db + 6676e6e commit 97c7eda
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 15 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# [Hyperledger Burrow](https://github.com/hyperledger/burrow) Changelog
## [0.32.1] - 2021-05-15
### Changed
- [Execution] CallErrors no longer emit very long rather pointless (since there is no tooling to help interpret them currently) EVM call traces
- [JS] Return byte arrays as Buffers from decode (only return fixed-width byteNN types as hex strings)


## [0.32.0] - 2021-05-14
### Changed
- [JS] Significant refactor/rewrite of Burrow.js into idiomatic Typescript including some breaking changes to API
Expand Down Expand Up @@ -747,6 +753,7 @@ This release marks the start of Eris-DB as the full permissioned blockchain node
- [Blockchain] Fix getBlocks to respect block height cap.


[0.32.1]: https://github.com/hyperledger/burrow/compare/v0.32.0...v0.32.1
[0.32.0]: https://github.com/hyperledger/burrow/compare/v0.31.3...v0.32.0
[0.31.3]: https://github.com/hyperledger/burrow/compare/v0.31.2...v0.31.3
[0.31.2]: https://github.com/hyperledger/burrow/compare/v0.31.1...v0.31.2
Expand Down
13 changes: 2 additions & 11 deletions NOTES.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,4 @@
### Changed
- [JS] Significant refactor/rewrite of Burrow.js into idiomatic Typescript including some breaking changes to API
- [JS] Change to use ethers.js for ABI encoding

### Fixed
- [State] Fixed cache-concurrency bug (https://github.com/hyperledger/burrow/commit/314357e0789b0ec7033a2a419b816d2f1025cad0) and ensured consistency snapshot is used when performing simulated call reads
- [Web3] Omit empty values from JSONRPC calls

### Added
- [Tendermint] Added support for passing node options to Tendermint - e.g. custom reactors (thanks @nmanchovski!)
- [JS] Historic events can now be requested via API
- [JS] Contract deployments will now include ABIs via contract metadata so Burrow's ABI registry can be used
- [Execution] CallErrors no longer emit very long rather pointless (since there is no tooling to help interpret them currently) EVM call traces
- [JS] Return byte arrays as Buffers from decode (only return fixed-width byteNN types as hex strings)

3 changes: 1 addition & 2 deletions execution/contexts/call_context.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,7 @@ func (ctx *CallContext) Deliver(inAcc, outAcc *acm.Account, value uint64) error
ctx.Logger.InfoMsg("Error on EVM execution",
structure.ErrorKey, err)

ctx.txe.PushError(errors.Wrapf(err, "call error: %v\nEVM call trace: %s",
err, ctx.txe.CallTrace()))
ctx.txe.PushError(err)
} else {
ctx.Logger.TraceMsg("Successful execution")
if createContract {
Expand Down
6 changes: 5 additions & 1 deletion js/src/convert.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,18 @@ export function withoutArrayElements(result: Result): Record<string, unknown> {
function abiToBurrow(arg: unknown, type: string): unknown {
if (/address/.test(type)) {
return recApply(unprefixedHexString, arg as NestedArray<string>);
} else if (/bytes/.test(type)) {
} else if (/bytes[0-9]+/.test(type)) {
// Handle bytes32 differently - for legacy reasons they are used as identifiers and represented as hex strings
return recApply(unprefixedHexString, arg as NestedArray<string>);
} else if (/bytes/.test(type)) {
return recApply(toBuffer, arg as NestedArray<string>);
} else if (/int/.test(type)) {
return recApply(numberToBurrow, arg as NestedArray<BigNumber>);
}
return arg;
}


function burrowToAbi(arg: unknown, type: string): unknown {
if (/address/.test(type)) {
return recApply(prefixedHexString, arg as NestedArray<string>);
Expand Down
7 changes: 6 additions & 1 deletion project/history.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,12 @@ func FullVersion() string {
// To cut a new release add a release to the front of this slice then run the
// release tagging script: ./scripts/tag_release.sh
var History relic.ImmutableHistory = relic.NewHistory("Hyperledger Burrow", "https://github.com/hyperledger/burrow").
MustDeclareReleases("0.32.0 - 2021-05-14",
MustDeclareReleases("0.32.1 - 2021-05-15",
`### Changed
- [Execution] CallErrors no longer emit very long rather pointless (since there is no tooling to help interpret them currently) EVM call traces
- [JS] Return byte arrays as Buffers from decode (only return fixed-width byteNN types as hex strings)
`,
"0.32.0 - 2021-05-14",
`### Changed
- [JS] Significant refactor/rewrite of Burrow.js into idiomatic Typescript including some breaking changes to API
- [JS] Change to use ethers.js for ABI encoding
Expand Down

0 comments on commit 97c7eda

Please sign in to comment.