openethereum/js/src/abi
Arkadiy Paronyan 5e70507c78 Backporting to beta (#4118)
* Ignore get_price_info test by default. (#4112)

* Auto-detect hex encoded bytes in sha3 (#4108)

* Auto-detect hex encoded bytes in sha3

* Using types/isHex

* Removing unused imports

* Use binary chop to estimate gas accurately (#4100)

* Initial sketch.

* Building.

* Fix a few things.

* Fix issue, add tracing.

* Address grumbles

* Raise upper limit if needed

* Fix test.

* Fixing decoding API with signatures in names (#4125)

* Fix call/estimate_gas (#4121)

* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.
2017-01-11 20:03:08 +01:00
..
decoder Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
encoder Make Wallet first-class citizens (#3990) 2016-12-30 11:28:12 +00:00
spec Backporting to beta (#4118) 2017-01-11 20:03:08 +01:00
token Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
util Backporting to beta (#4118) 2017-01-11 20:03:08 +01:00
abi.js Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
index.js Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
README.md Initial new UI source code import (#2607) 2016-10-18 11:52:56 +02:00

ethabi-js

A very early, very POC-type port of https://github.com/ethcore/ethabi to JavaScript

Build Status Coverage Status Dependency Status devDependency Status

contributing

Clone the repo and install dependencies via npm install. Tests can be executed via

  • npm run testOnce (100% covered unit tests)

installation

Install the package with npm install --save ethabi-js from the npm registry ethabi-js

implementation

approach

  • this version tries to stay as close to the original Rust version in intent, function names & purpose
  • it is a basic port of the Rust version, relying on effectively the same test-suite (expanded where deemed appropriate)
  • it is meant as a library to be used in other projects, i.e. ethapi-js

differences to original Rust version

  • internally the library operates on string binary representations as opposed to Vector bytes, lengths are therefore 64 bytes as opposed to 32 bytes
  • function names are adapted from the Rust standard snake_case to the JavaScript standard camelCase
  • due to the initial library focus, the cli component (as implemented by the original) is not supported nor mplemented