FactomEventEmitterthat can emit various blockchain events (see doc for details).
- New methods
composeEntryDelegateSigfor delegating signing of chain and entry commits to an external function (usage for hardware wallet).
FactomCli#commit*methods now support delegating signing of the commit messages by passing a
signfunction in the options.
chunkSizeoption for the
FactomCli#add*methods has been deprecated and replaced by
signaturethird argument of functions
composeEntryCommit. Use the new
- Revert the unnecessary chanage in 1.0.1 for
rewindChainWhile(the entry already contains a blockContext).
- BlockContext populated for transactions in a
directoryBlockKeyMRthat is not available).
rewindChainWhile(chainId, predicate, fn): the
fnfunctions now receive the entry block header as a second argument.
- JSDoc of all public classes and methods.
- New util functions
- TypeScript definition file (RewardChain contribution).
- Catch repeated commit exceptions properly.
- Rejection of negative transaction fees.
- Handling of CORS with credentials.
- Handle case
Error.captureStackTraceis undefined (Firefox).
- Fix bug preventing to instanciate
- More explicit ack errors.
Errorif no transaction is found instead of returning
undefined. To be consistent with
- Redirect factomd
current-minuteAPI call to v2 path (intead of debug path).
- Increased performance of
getEntryWithBlockContext: fixed cost of 3 factomd API calls instead of rewinding the entry blocks of the chain.
addthrows an Error when trying to create a chain that already exists.
- All the
add*functions validate by default that the paying EC address holds enough funds to pay for the commits. Can be bypassed by setting the option
- Added a check before sending a transaction that all EC ouputs have a factoshi amount above the minimum amount required to get at least 1 EC. It can be bypassed using the
getWalletProperties. Unnecessary wrappers.
- Do not expose internal constants anymore.
- Use Babel plugin
@babel/transform-modules-commonjsto fix integration in the browser (broke after upgrade to Babel 7).
- Parsing of the descriptor index in an Admin block coinbase cancel entry.
- New FacomCli method
rewindChainWhilethat allows to iterate on a chain entry by entry.
- Allow manual signature of entry and chain commits (hardware wallet integration):
composeEntryCommitcan now take an EC public address as the 2nd argument and the commit signature as the 3rd argument.
- Options to override default API paths (
addressToRcdHash. (breaking change)
- Fixed README.
- Upgrade to Babel 7 for the bundling process.
- Create a second webpack bundle
factom-structcontaining only factom.js data structures, excluding all online calls related components (FactomCli...). Util for client side applications (browser).
- Check that transaction amounts are JS safe integers.
Chainconstructor now accepts another Chain to create a deep copy of it.
- FactomCli exposes
Entry.Builder(entry)now makes a deep copy of entry.
entryBlockContextmethod of the Entry builder renamed
- Replaced dependency on
- Replaced dependency on
tweetnacl. Tweetnacl is lighter and formally audited.
- Fixed blunt error when calling
getEntryWithBlockContextfor a chain that is not yet included in a Directory Block.
- New universal
add(obj, ecAddress)function that can take as a first argument an Entry, a Chain, or an iterable containing any of those classes (can be mixed). Meant to replace the use of
addChains(kept for backward compatibility).
revealfunctions that can take as a first argument an Entry or a Chain. Meant to replace the use of
- When used with list of Entries or Chains
addchunks the list to bound the number of concurrent promises started (default to 200). Can be controlled with an attribute
optionsargument of this method.
addressToKeydoesn't accept public Factoid addresses anymore. Created explicit
addressToRcdfunction to handle public Factoid addresses. (breaking change)
- Add support for RPC user/password basic authentication
- Add option 'rejectUnauthorized' to allow connection to https nodes with self-signed certificates
- Fix M1 EntryCredit blocks parsing https://github.com/PaulBernier/factomjs/issues/1
- Parse Admin Block entries
- Fix the
dist/factom.jsfile. Now using webpack to build.
- More robust API calls: replaced factomdjs and factom-walletdjs by custom implementation with retry strategy. Possitibilty to customize retry strategy.
- Usage of
walletdApinow mimics the raw API interfaces.
- Introduced the concept of 'BlockContext' for Entries and Transactions.
- Added methods for manipulating addresses and cryptographic keys. Lead to removal of dependency on factomjs-util
- Removal of dependencies lead to a much slimmer build!
- Fixed browserify build, now generates a minified version of the distribution file.
- Significantly increase code coverage (+ added code coverage tool).
- Various optimizations and bug fixes