The purpose of this release is to split ConseilJS into several parts to minimize the number of direct dependencies. ConseilJS is packaged as three components: ConseilJS-core, ConseilJS-softsigner and ConseilJS-ledgersigner.
- New interfaces were introduced to support external signing and key storage:
KeyStore
,Signer
. - Any function that previously took a required
KeyStore
-type parameter now also requires aSigner
. This includes many changes inTezosNodeWriter
,TezosOperationQueue
, and the contract wrappers insrc/chain/tezos/contracts/
. CryptoUtils
has moved to ConseilJS-softsigner. This removes dependencies oncrypto
,libsodium
and others.- What used to be in
src/identity/tezos/
is not split between the ConseilJS-softsigner and ConseilJS-ledgersigner packages. CryptoUtils.simpleHash
was moved toTezosMessageUtil.simpleHash
, smae with twoByteHex, fromByteHex
- Added TZIP 0012 (FA2) multi-asset token contract interface
chain/tezos/contracts/tzip12/MultiAssetTokenHelper.ts
. - Added TZIP 0012 (FA2) single-asset token contract interface
chain/tezos/contracts/tzip12/SingleAssetTokenHelper.ts
. - Added ability to pick operation branch based on block age.
- Added
TezosConseilClient.getBigMapValueForKey
- Added
TezosLanguageUtil.hexToMichelson
- Michelson parser has several updates that should reduce memory footprint.
- Improved operation cost estimation for nested operations, thank you @keefertaylor!
- Added contract deployment cost estimation, thank you @keefertaylor!
TezosNodeReader.getMempoolOperationsForAccount
no longer throws a JSON parse error.DUP n
is now parsed correctly.- Ported Map parameter parsing from ConseilJS 5.0.x.
- Support for the StakerDao token.
- Support for the tzBTC token.
- Added various functions in
TezosWalletUtil
&CryptoUtils
for signing of and verifying signatures on arbitrary text. - Added preliminary support for the murbard multi-sig contract.
- Added
TezosConseilClient.getOperation()
.
- ConseilJS 265
- ConseilJS 269
- ConseilJS 270
WrapperWrapper.salt
&WrapperWrapper.nonce
were not loading libsodium correctly.- Fixed Michelson parser map, list and bytes handling.
- Improved entry point parsing.
- Improved data coming back from
TezosNodeReader.getMempoolOperationsForAccount
- Improved error reporting for account activation.
- Increased test coverage.
TezosNodeWriter.testContractInvocationOperation
no longer has thederivationPath
argument.TezosConseilClient.getBlockByLevel
now returns a single item, not an array.TCFBakerRegistryHelper.getFees
was renamed togetSimpleStorage
to match other contract interfaces.
- added
TezosConseilClient.getBigMapData
that allows quick big_map queries against Conseil. - added mempool support with
TezosNodeReader.getMempoolOperation
andTezosNodeReader.getMempoolOperationsForAccount
. - added
CryptonomicNameServiceHelper
. - support for complex bigmap keys.
TezosConseilClient.getBlock
now supports 'head' as ahash
value.
- ConseilJS 250
- ConseilJS 256
- Updated documentation.
- Updated dependencies.
- Moved
chain/tezos/TezosProtocolHelper.ts
to/chain/tezos/contracts/BabylonDelegationHelper
. TezosConseilClient.getBlockByLevel
,TezosConseilClient.getAccount
,TezosConseilClient.getOperationGroup
now return single items, not arrays of 1.EntryPoint.generateInvocationPair()
now returns a tuple withentrypoint
andparameters
keys.TezosConseilClient.awaitOperationConfirmation
now returns a single item, not an array.- Removed
CryptoUtils.getPasswordStrength()
and the related zxcvbn dependency. This functionality should be added by the implementing application. TezosNodeWriter.preapplyOperation()
,testContractInvocationOperation()
andinjectOperation()
now parse and report errors.- nodejs 12.14 is now a base requirement.
- added Tezos Commons Baker Registry interface
chain/tezos/contracts/TCFBakerRegistryHelper
. - added TZIP 0007 (FA1.2) token contract interface
chain/tezos/contracts/Tzip7ReferenceTokenHelper
. TezosMessageUtil
can nowpack
key_hash
value.
- Improved
TezosNodeReader.getAccountManagerForBlock
. TezosNodeReader.isImplicitAndEmpty
andTezosNodeReader.isManagerKeyRevealedForAccount
now default to head by reference instead of query.- Added
TezosNodeReader.getContractStorage
. - Michelson parser support for
D\[UI\]G n
,D\[UI\]P n
,DROP n
. - Generally improved Michelson contract parser.
- Improved
TezosContractIntrospector
parser. - Updated documentation.
- Reduced and updated dependencies.
- updated various dependencies, importantly for Ledger device communication
- big_int encoding
- integer encoding issue introduced in 0.3.5-beta
EntryPoint.generateParameter
becameEntryPoint.generateInvocationString
.
- Improved entry point parser, this functionality is still experimental.
- Added
EntryPoint.generateInvocationPair
to produce Protocol 005 style invocation parameters. ConseilPredicate
gained agroup
attribute foror
queries.- removed
base-n
dependency.
- basic big_map query support.
- nodejs 10.17.x is now the minimum requirement.
- all dependencies are now referenced with explicit versions.
TezosNodeWriter.applyOperation
was renamed toTezosNodeWriter.preapplyOperation
TezosNodeWriter.testOperation
was renamed toTezosNodeWriter.testContractInvocationOperation
and now estimates cost of contract invocationTezosConseilClient.getBlock
now returns a single item, not an arrayTezosConseilClient.getAccount
now returns a single item, not an arrayTezosConseilClient.getOperationGroup
now returns a single item, not an array
- custom entry point hex encoding, thanks to @elkesrio
- Michelson lambda parameter encoding is not yet supported
- Michelson
DIG
,DUG
,EMPTY_BIG_MAP
,APPLY
,CHAIN_ID
operations are not supported
KeyStore
now containsderivationPath
, in a subsequent release, functions that accept aKeyStore
parameter and aderivationPath
parameter will be modified to take only the former.