- Client: queryContract now accepts an alternative calling signature:
queryContract(address, functionName, ...args)
- Updated dependencies and Typescript version
- Client: getTransactionReceipt return value now contains
events
- Ledger HW App: fix sending tx chunks (did not apply Mode.Finish)
- Ledger HW App: support for tx type FeeDelegation
- Ledger HW App: support for displayAccount
- Crypto: export validateMnemonic
- Ledger HW App: support for signMessage
- Wallet: Name manager did not correctly load persisted names due to a missing indexdb method
- Wallet: Correctly set transaction.data.type
- Client: getEvents FilterInfo: address can be a string
- Wallet: Add accountManager.importAccount method
- Wallet: Name Manager keeps names keyed by account. Add database migration for IndexedDbStorage version 3.
- Wallet: Add Name Manager
- Client: add argument blockno to getNameInfo (default 0 = current block)
- Ledger HW App: update supported tx types
- Wallet: add field 'added' to account
- Ledger HW App: fix browser compatability
- Ledger HW App: support for current spec under development
- Wallet: allow external signatures when using Ledger
- Crypto: encodeSignature now also accepts 'base58' as a possible encoding
- Wallet: fix list of external dependencies
- Wallet: add experimental support for
@herajs/ledger-hw-app-aergo
- Client: fixed a bug (regression introduced in 0.18) in contract function's
asTransaction
. The previously used amount couldn't be used with local signing. #95
- Client: sendSignedTransaction() now additionally accepts an array of transcations to send simultaneously.
If you pass an array, the result will be an array of
{ error?: string, hash?: string }
objects.
- Ignore more unnecessary files for npm package
- Crypto: fix path to type def
- The previous release was botched. Don't use version 0.18.0.
-
Ledger HW App
- New package
@herajs/ledger-hw-app-aergo
with support for Aergo Ledger App.
- New package
-
Client
- Try to infer correct tx type for contract calls and governance transactions.
- Address class has a new property
length
which returns the number of (decoded) bytes. - Properly encode all hashes in block header (blocksroothash, txsroothash, receiptsroothash).
- Improve type safety.
- Extracted some common code into new
@herajs/common
package.
-
Crypto
- Try to infer correct tx type for contract calls and governance transactions
- Export
encodeTxHash
,decodeTxHash
,encodeSignature
publicKeyFromAddress
can now accept an object of class client.Address
-
Wallet
-
Add wallet.isSetup method
- Crypto
- Rename function identifyFromPrivateKey to identityFromPrivateKey. The old name with the typo will continue to be exported but is deprecated.
-
Crypto
- Support for parsing and generating keystore files
-
Client
- blockchain: fix encoding of return value, incl. properly decoded ChainInfo
- Client
- Peer: add static enum Peer.Role and method peer.acceptedroleLabel() to get human-readable role
- Client
- ChainInfo: add new fields totalvotingpower and votingreward (available since aergosvr 2.0.2)
- Client
- Amount.toJSON(): return a string with unit aer, e.g. "11234 aer", instead of useless array representation of JSBI
- Client
- Add TxReceipt.gasused (supported in aergosvr 2.0)
- Add Block.rewardaccount and Block.voteReward (supported in aergosvr 2.0)
- Add Address.isEmpty method
- Client
- Add new tx types to
Tx.Type
(supported in aergosvr 2.0)
- Add new tx types to
-
Crypto
- Fix a dependency issue of the 'crypto' module. This should now work properly with React Native
-
Client
- Add more math methods to Amount class
- Client
- Fix encoding of amount as bytes (regression introduced in 0.15.0)
- Crypto
- Change default BIP44 identifier to
441
. If you already used the previous version, manually supply an hdpath as an option to seed functions, e.g.privateKeyFromMnemonic(mnemonic, { hdpath: "m/44'/442'/0'/0/" })
.
- Change default BIP44 identifier to
- Client
- Support for Aergo 2.0
- Add nameprice and gasprice to chaininfo
- Ability to set default gas limit
- Fix potential bug in Amount by freezing value
- Wallet
- Ability to set default gas limit
- Client
- Export Tx.Type enum and enable setting type to Tx.Type.DEPLOY (2).
- Client
- add
queryContractStateProof
to return contract state including full proof. queryContractState
now throws an error when querying a non-existent contract.- contract.queryState()
- This method is no longer variadic. Please change calls like
contract.queryState(...keys)
tocontract.queryState(keys)
. Single-value calls continue to be supported. - Added optional parameters
compressed
androot
.
- This method is no longer variadic. Please change calls like
- add
- Client
- allow passing buffer-like arguments to state query
- Crypto
- add import/export of seed, mnemonic key phrases
- Client
- StateQuery: Fix type returned by storageKeys hasher
- Client
- Support for Aergo 1.2
- Updated implementation of queryState
- Added
stakingtotal
amount to chain info
- Client
- Bug fix: Address did not recognize certain system addresses passed in as bytes
- Client
- Add Address.isSystemAddress function
- Change version to be in-sync with wallet and crypto
- Client
- Configuration and build changes
- Client
- New API method: getServerInfo()
- Change queryState to allow querying for multiple state keys at once
- Client
- Add fields 'payable' and 'view' to getABI output
- Client
- New API method: getNodeState()
- Client
- Bugfix: buffer conversion
- Client
- Add chainIdHash to blockchain() and tx calls
- Client
- Compatability with aergosvr 1.0
- New API method: getConsensusInfo()
- Additional fields in transaction receipt
- More Typescript annotations
- Improved smart contract documentation
- Add equal methods for Address and Amount
- Client
- getNameInfo: add destination address
- Client
- Build was broken due to unused export
- Client
- Changed build settings
- Updated dependencies
- More Typescript annotations
- Add compare methods for Address and Amount
- Client
- Compatability with aergosvr 0.12
- getPeers has additonal parameters
- Governance tx format has changed
- New methods: getEvents, getEventStream
- Compatability with aergosvr 0.12
- Client
- Add option to contract.asPayload() to pass constructor arguments
- Fix response of getABI, was missing state_variables.
- Client
- Fix Typescript definitions
- Client
- Compatability with aergosvr 0.11: changed address of Peer
- Client
- New API method: getChainInfo() (aergoio#16)
- Compatability with aergosvr 0.11
- Various small bug fixes
- Client
- Remove Proxy from provider classes to save code and enable future IE support
- Client
- Fix usage of Buffer in Node.js environments
- Client
- Compatability with aergosvr 0.10 (aergoio#17)
- Client
- Bugfix: Encoding tx hashes was broken in node.js environments (aergoio#15)
- Client
- New API method: getStaking()
- New API method: queryContractState()
- Add block producer's pubkey to Block data
- Client
- Bugfix: Names with less than 12 characters were not recognized
- Client
- Compatibility with Aergo protocol 0.9
- New API method: getNameInfo()
- New API method: getBlockMetadataStream()
- Client
- Introduce Amount utility class for converting amounts with and without units
- Client
- Fixed a possible bug regarding conversion of hex strings
- Client
- Changed number of decimals of native token to 18 (aergoio/aergo#16)
- Use BigInt for balances and amounts
- Client
- Changed return value of getPeers to return Peer objects
- Docs: change doc builder to use typedoc
- Client
- Bugfix: use Uint8Array instead of Buffer for compatability
- Client
- Rewrote large parts of the codebase to use Typescript
- Client
- Initial npm release