Changelog

All notable changes to this project will be documented in this file. See standard-versionarrow-up-right for commit guidelines.

Features

Bug Fixes

⚠ BREAKING CHANGES

Please check out the migration guide and a toolarrow-up-right to convert to convert secret keys.

  • CommonJS bundles have cjs extension instead js

  • aepp: AeSdkWallet requires onAskToSelectNetwork constructor option

  • tx-builder: ChannelClientReconnectTx removed

  • node: Node returns time in KeyBlock and MicroBlockHeader as Date

  • middleware: require 1.81.0

  • sdk requires [email protected] or newer

  • sdk types requires [email protected] or newer

  • account: Save HD wallets methods removed

  • account: sign, signMessage removed

  • account: isValidKeypair removed

  • account: getAddressFromPriv removed

  • account: generateKeyPair removed

  • account: generateKeyPairFromSecret removed

  • recover, dump removed (AEX-3 keystore implementation)

  • node,compiler,middleware: $host is readonly in generated APIs

  • account: MemoryAccount accepts secret key as sk_-prefixed string

  • account: generateKeyPair returns secretKey encoded as sk_-prefixed string

  • aepp: RpcBroadcastError not exported anymore

  • NAME_BID_MAX_LENGTH not exported anymore

  • contract: encodeFateValue, decodeFateValue not exported anymore

  • Iris is not supported

  • middleware: sdk requires [email protected] and above

  • node: sdk requires aeternity node 7.1.0 and above

  • account: AccountBase inheritors required to implement signTypedData, signDelegation

  • signDelegationToContract removed

  • signNameDelegationToContract removed

  • signAllNamesDelegationToContract removed

  • signOracleQueryDelegationToContract removed

  • wallet,aepp: delegations used in Iris removed from aepp-wallet connection

  • createDelegationSignature removed

  • compiler: CompilerCli uses aesophia@8 by default

  • compiler: CompilerCli8 removed

  • compiler: CompilerCli and CompilerHttp requires aesophia@8

  • aens: aens* methods removed

  • tx-builder: NAME_*TTL, CLIENT_TTL not exported anymore

  • oracle: pollQueries don't return responded queries by default

  • oracle: pollForQueries method removed

  • oracle: extendOracleTtl method removed

  • oracle: respondToQuery method removed

  • oracle: getOracleObject method removed

  • oracle: registerOracle method removed

  • oracle: getQueryObject removed

  • oracle: postQueryToOracle, pollForQueryResponse methods removed

  • tx-builder: ORACLE_TTL, QUERY_TTL, RESPONSE_TTL not exported anymore

  • tx-builder: buildTx/unpackTx works only with transactions

  • tx-builder: Tag include only transactions

  • tx-builder: buildTx doesn't accept prefix anymore

  • contract: AeSdk:initializeContract removed

Features

Bug Fixes

Commits with breaking changes

Bug Fixes

Bug Fixes

Bug Fixes

⚠ Ceres and aehopsia@8 compatibility not stable, since they are not officially released yet

Features

Bug Fixes

Bug Fixes

Bug Fixes

Features

Bug Fixes

Features

Bug Fixes

Bug Fixes

⚠ BREAKING CHANGES

Please check out migration guide, and release notes for the beta release.

  • aepp: All wallet provided nodes have the same name Specified in name option of connectToWallet.

  • aepp: Select option removed from connectToWallet If you are using connectNode then the current node would always be the same as wallet provides.

Features

Bug Fixes

⚠ BREAKING CHANGES

Wallet

  • onSign, onMessageSign callbacks were removed on the wallet side

Contract

  • ACI format used the same as returned by aesophia_cli

  • createAensDelegationSignature, createOracleDelegationSignature replaced with createDelegationSignature

  • params argument in $deploy and $call is required

  • AeSdk.getContractInstance renamed to AeSdk.initializeContract

  • getContractInstance function replaced with Contract class

  • Contract methods accessible on the instance itself

  • contract.methods.<name>.get,send removed

  • contract.bytecode,sourceCode moved to contract.$options

  • contract.calldata renamed to contract._calldata

  • contract.deployInfo removed

  • contract.options renamed to contract.$options

  • contract.decodeEvents renamed to contract.$decodeEvents

  • contract.call renamed to contract.$call

  • contract.compile renamed to contract.$compile

  • contract.deploy renamed to contract.$deploy

  • use sourceCode instead of source

  • getContractInstance accepts address instead of contractAddress

  • prepareTxParams, getVmVersion are not exported anymore

  • isGA method removed

Transaction builder

  • StateTrees fields decoded as objects mapping key to decoded entry instead of internals

  • The content of Tag.*Mtree entries decoded and moved to payload field

  • TX_SCHEMA, TxParamsCommon, TxSchema, TxTypeSchemas not exported anymore

  • AeSdk.buildTx accepts tag in options

  • TX_TTL not exported anymore

  • sync buildTx accepts denomination in the first argument

  • Enum FIELD_TYPES is not exported anymore

  • Not able to build/unpack CompilerSophia entry (tag 70)

  • Enums PROTOCOL_VM_ABI, interface CtVersion not exported anymore

  • Enums VM_VERSIONS, ABI_VERSIONS, PROTOCOL_VERSIONS renamed

  • stateHash of Channel entry decoded as st_-prefixed string instead of hex

  • key of MtreeValue entry decoded as a buffer instead of a hex

  • SpendTx payload doesn't accept arbitrary strings anymore

  • unpackTx return an object of transaction parameters

  • unpackTx doesn't return rlpEncoded anymore

  • verifyTransaction doesn't accept parent tx types anymore

  • TxBuilder accepts and returns poi field unpacked as TreesPoi

  • buildTx accepts transaction type and version in the first argument

  • buildTx return string instead of object

  • buildTx doesn't return txObject anymore

  • buildTx doesn't return binary anymore

  • buildTx doesn't return rlpEncoded anymore

  • buildTx doesn't accept excludeKeys option anymore

  • Use version instead of VSN, vsn in unpackTx, buildTx

  • txType property of unpackTx removed

  • get method of MPTree accepts and returns typed values

  • writeInt function removed

  • returnType of contract call result structure is a value of CallReturnType enum

  • writeId, readId functions removed

  • readPointers, buildPointers functions removed

  • formatSalt function removed

  • validateParams, unpackRawTx functions removed

  • AMOUNT constant removed

Compiler

  • Methods of CompilerHttp moved to api property

  • Compiler export renamed to CompilerHttp

  • removed compilerUrl, setCompilerUrl

  • Dropped compatibility with aesophia_http below 7.1.1, aesophia_cli below 7.0.1

Account

  • createGeneralizedAccount accepts sourceCode in options

  • createMetaTx removed

  • AccountRpc constructor accepts arguments one by one

  • AccountMemory requires networkId in signTransaction

  • AccountBase simplified

  • address in AccountBase is a property

  • MemoryAccount accepts only secretKey

  • MemoryAccount is not compatible with GA

Node

  • url property of Node removed

Oracle

  • QUERY_FEE is not exported anymore

  • Oracles created without queryFee by default

  • AeSdk:extendOracleTtl, AeSdk:respondToQuery doesn't accept oracleId

  • onQuery callback of pollForQueries, oracle.pollQueries accepts a single query

Chain

  • send inlined into sendTransaction

AENS

  • height removed from the output of aensPreclaim

Channel

  • Channel:state returns unpacked entries

  • All channel events emitted in snakeCase

  • Channel:poi returns unpacked TreesPoi

Other

  • onAccount doesn't accept keypair

  • bigNumberToByteArray removed

  • str2buf function removed

  • getAddressFromPriv doesn't accept private key as base64-encoded or raw string

  • isValidKeypair doesn't accept public key as base64-encoded string

  • bytesToHex function removed

  • hexToBytes function removed

  • rename umd export to Aeternity

  • Subpaths imports of SDK are not allowed

  • Removed getNetworkId from AeSdkBase

  • address a getter in AeSdkBase

  • addAccount is a sync function

  • verifyMessage removed from accounts and AeSdkBase

  • verify and verifyMessage accepts address instead of hex string or Uint8Array

  • node@12 not supported

  • removeAccount throws an error if the account is not found

  • signMessage always returns Uint8Array

  • encryptKey, decryptKey are not exported anymore

  • sha256hash not exported anymore

  • height method removed

  • signUsingGA method removed

  • POINTER_KEY_BY_PREFIX removed

  • ID_TAG_PREFIX, PREFIX_ID_TAG, ID_TAG removed

  • TX_TYPE removed.

  • GAS_MAX removed

  • calculateMinFee removed

  • salt, createSalt removed

  • Pointer removed

Features

Bug Fixes

Bug Fixes

Bug Fixes

Bug Fixes

Features

Bug Fixes

⚠ BREAKING CHANGES

General

  • Universal, RpcAepp, RpcWallet stamps replaced with AeSdk, AeSdkAepp, AeSdkWallet classes

  • all combined exports are inlined (require('@aeternity/aepp-sdk').generateKeyPair())

  • AccountBase and inheritors are classes now

  • ChainNode, Contract, Oracle, Aens, Ae, GeneralizedAccount stamps not exported in the root, their methods exported instead

Node and Compiler

  • Node, Compiler (previously ContractCompilerHttp) are classes instead of a stamps

  • Node, Compiler doesn't check version on the first request instead of init

  • getNetworkId returns a promise

  • getNetworkId ignores force option

  • api and static properties are removed in Node

  • Node returns BigInts for coin amount fields instead of string or number

  • Node not accepts internalUrl

  • removed mempool method in Node

  • compilerVersion is removed in Compiler

  • setCompilerUrl changes compiler URL in sync

  • methods of Compiler requires options object according to their specification

  • methods of Compiler returns and accepts keys named in camelCase instead of snake_case

Transaction builder

  • removed methods to generate a transaction of specific type

  • removed ability to generate transaction on the node side

  • nonce, ttl, gas decoded and accepted as numbers instead of strings

  • gas renamed to gasLimit

  • unpackTx not accepting transaction as Buffer, only as tx-encoded string

  • unpackTx doesn't have binary field in result

  • encode: since the prefix is evaluated by the type itself the required prefix parameter is no more accepted

  • calculateMinFee returns BigNumber instead of string

  • Fee helpers not exported anymore (BASE_GAS, GAS_PER_BYTE, KEY_BLOCK_INTERVAL,TX_FEE_BASE_GAS, TX_FEE_OTHER_GAS, calculateFee, DEFAULT_FEE)

  • buildRawTx, calculateTtl not exported anymore

  • TX_TYPE mapped to tag (number) instead of string

  • OBJECT_ID_TX_TYPE not exported anymore

  • TX_SERIALIZATION_SCHEMA combined with TX_DESERIALIZATION_SCHEMA

  • Transaction schemas doesn't contain tag anymore

AENS

  • computeBidFee accepts startFee, increment as options

  • NAME_BID_TIMEOUTS not exposed anymore

  • computeAuctionEndBlock accepts and returns height as number

  • removed ensureNameValid

  • name.update, name.revoke doesn't accept address in onAccount, only instances of AccountBase

Oracle

  • extendOracleTtl accepts oracle ttl in oracleTtlType and oracleTtlValue fields

  • decode method of getQueryObject removed

Contract

  • createAensDelegationSignature accepts contractId, name, options

  • createOracleDelegationSignature accepts contractId, queryId as a property of options

  • call arguments in createGeneralizedAccount is required

  • filesystem option renamed to fileSystem

  • Contract instance doesn't accept address in onAccount, only instances of AccountBase

Chain

  • removed balance, tx, getTxInfo methods

Other

  • getAccountNonce removed

  • AeSdk doesn't accept array of accounts

  • destroyInstance method removed

  • NodePool, AccountMultiple are removed (reimplemented in AeSdk)

  • DENOMINATION_MAGNITUDE not exposed anymore

  • The result of unpackTx returned instead of TxObject (in txObject option of onSign handler on wallet side; in tx field of contract call result)

  • validateKeyObj removed

  • deriveKeyUsingArgon2id removed

  • removed extra implementation of getAddressFromPriv in keystore

  • genSwaggerClient removed

Aepp Wallet communication

  • BrowserRuntimeConnection, BrowserWindowMessageConnection are classes

  • ContentScriptBridge, WalletDetector rewrited to plain functions (connectionProxy, walletDetector)

  • RpcClient: removed origin property

  • RpcClient: sendMessage is a private method

  • RpcClient: handlers parameter is removed

  • RpcClient: doesn't contain aepp info anymore

  • RpcClient: doesn't contain networkId anymore

  • RPC helpers are not exposed anymore (isInIframe, sendMessage, getHandler, message,responseMessage, sendResponseMessage, isValidAccounts)

Aepp

  • connectToWallet accepts wallet connection as the first argument

  • disconnectWallet runs in sync and sendDisconnect arg removed

  • sendConnectRequest removed

  • doesn't accept connection anymore

  • removed isConnected, isSubscribedAccount methods

  • signMessage returns Buffer by default

Wallet

  • BrowserRuntimeConnection requires port parameter

  • requires id, type in params

  • getBrowserAPI helper removed

  • shareWalletInfo accepts rpcClientId instead of callback

  • shareNode argument in accept callback of onConnection removed

  • can't handle specific set of accounts for an app

  • txObject parameter of onSign callback is removed

  • callbacks accepts aeppId, params, and origin

  • rpcClients in wallet is not exposed anymore

  • onDisconnect callback on wallet side accepts client id instead of RpcClient

  • wallet can't selectively notify aepps about selecting/adding account

  • wallet can't provide metadata for accounts

  • removed action.{accept,deny} in permission callbacks

Features

Bug Fixes

Refactoring with breaking changes

Bug Fixes

Request batching: SDK now supports batching transactions

Custom error types: Introduced error types

Naming convention: Instances of the SDK in the examples and tests are now called as aeSdk.

⚠ BREAKING CHANGES

  • return empty array instead of throwing UnsignedTxError

  • rpc: remove forceValidation flag

  • hd-wallet: expect that bip39 used externally

  • hd-wallet: remove default export

  • crypto: make (encode/decode)Base(58/64)Check private

  • use bs58 instead of bs58check

  • update rlp to 3.0.0

  • tx builder: throw exception if deposit is not zero

  • tx schema: remove default NAME_FEE equal to 0

  • tx builder: accept unencoded name in nameClaimTx

  • spelling of GeneralizedAccount

  • aci: remove call/callStatic from deployInfo

  • aci: remove createdAt property generated at client

  • contract: remove deprecated contractCallStatic

  • contract: remove deprecated contractDeploy

  • contract: remove contractCompile

  • contract: remove deprecated contractCall

  • remove deprecated topBlock

  • remove unused functions

  • contract events: remote contract support

  • contract instance: store aci as it is

  • wallet-rpc: inline resolveOnAccount helper

  • aepp-wallet schema: convert to TS

  • aepp-wallet schema: rearrange METHODS enum

  • aepp-wallet schema: remove unused enums

  • contractCompile: remove encodeCall

  • compiler: remove contractEncodeCallDataAPI

  • compiler: remove getCompilerVersion

  • contract: remove compileContractAPI

  • contract: remove contractGetACI

  • contract: remove contractDecodeCallDataByCodeAPI

  • contract: remove contractDecodeCallDataBySourceAPI

  • contract: remove contractDecodeCallResultAPI

  • compiler: remove validateByteCodeAPI

  • compiler: remove getFateAssembler

  • compiler: remove getBytecodeCompilerVersion

  • poll: avoid extra transaction info request to node

  • drop https scheme workaround for hosted compiler

  • node: don't wrap internal endpoints if internalUrl missed

  • tx builder: inline VALIDATION_MESSAGE

  • decodeEvents: accept event schemas as it is in ACI

  • contract: remove already processed fields from decoded events

  • aci: drop redundant per-method event decoding

Features

Bug Fixes

⚠ BREAKING CHANGES

  • crypto: remove unused asymmetric encode/decode functions

  • aens: don't limit pointer keys

  • specify browserlist to better choice of features to transpile

  • aci: don't require source code

  • make contractDeploy a wrapper, remove unused code

  • inline getConsensusProtocolVersion function

  • invert and rename forceCodeCheck option to validateByteCode

  • require compiler 6 and above

  • make contractCall/Static a wrapper around getContractInstance

  • contract instance: thread all extra options as contract's

  • contract instance: remove unnecessary setOptions function

  • remove contractDecodeData as extra wrapper

  • remove contractEncodeCall as extra wrapper

  • don't accept ak_ addresses as hash, bytes and signature

  • transformation: drop extra wrapper around bindings

  • transformation: don't export extra functions

  • drop unnecessary skipTransformDecoded option

  • drop unnecessary skipArgsConvert option

Features

Bug Fixes

⚠ BREAKING CHANGES

  • specify browserlist to better choice of features to transpile

  • aci: don't require source code

  • make contractDeploy a wrapper, remove unused code

  • inline getConsensusProtocolVersion function

  • invert and rename forceCodeCheck option to validateByteCode

  • require compiler 6 and above

  • make contractCall/Static a wrapper around getContractInstance

  • contract instance: thread all extra options as contract's

  • contract instance: remove unnecessary setOptions function

  • remove contractDecodeData as extra wrapper

  • remove contractEncodeCall as extra wrapper

  • don't accept ak_ addresses as hash, bytes and signature

  • transformation: drop extra wrapper around bindings

  • transformation: don't export extra functions

  • drop unnecessary skipTransformDecoded option

  • drop unnecessary skipArgsConvert option

Features

Bug Fixes

9.0.1arrow-up-right (2021-10-04)

Refactoring

9.0.0arrow-up-right (2021-09-30)

⚠ BREAKING CHANGES

  • drop following AENS delegation signature methods over the new common createAensDelegationSignature implementation which accepts an object as param (456fe00arrow-up-right)

    • delegateNamePreclaimSignature

    • delegateNameClaimSignature

    • delegateNameTransferSignature

    • delegateNameRevokeSignature

  • drop following oracle delegation signature methods over the new common createOracleDelegationSignature implementation accepts an object param (88b7bf3arrow-up-right)

    • delegateOracleRegisterSignature

    • delegateOracleExtendSignature

    • delegateOracleRespondSignature

  • drop assertedType, use decode instead (00d563farrow-up-right)

  • drop waitMined static method (2f299dearrow-up-right)

  • tx-validator now gives different, more meaningful, errors (95a2a23arrow-up-right)

  • no longer exports buildHash function, use hash or buildTxHash (9e1fde7arrow-up-right)

  • tx-verification is now done by default (989b36farrow-up-right)

Features

Maintenance

Bug Fixes

8.2.1arrow-up-right (2021-06-21)

Bug Fixes

8.2.0arrow-up-right (2021-06-17)

⚠ BREAKING CHANGES

  • crypto: remove outdated generateSaveWallet function

  • crypto: remove unused prepareTx, encodeTx, decodeTx functions

  • crypto: remove unused hexStringToByte function

  • crypto: rename messageToBinary to messageToHash adding hashing

  • crypto: drop extra "personal" from message functions

  • crypto: remove unused formatAddress function

  • crypto: remove unused addressToHex function

  • node-pool: inline helpers, export by default

  • string: use isAddressValid instead of isAeAddress

  • string: remove unused snakeOrKebabToPascal function

  • drop outdated protocols and transactions schemas

  • drop compatibility with node@5

Bug Fixes

8.1.0arrow-up-right (2021-05-31)

Bug Fixes

Features

8.0.0arrow-up-right (2021-05-18)

Bug Fixes

Bug Fixes

Maintenance

Important changes

  • Iris compatibility (compatible with nodes >= 5.2.0 < 7.0.0)

  • initial TypeScript support (not enough type definitions yet)

  • documentation is generated using MkDocs on Travis

BREAKING CHANGES

Features

Docs

Code Refactoring

Bug Fixes

Maintenance

Performance

Tests

7.7.0arrow-up-right (2020-08-18)

Features

Code Refactoring

Docs

7.6.0arrow-up-right (2020-07-22)

Features

7.5.0arrow-up-right (2020-06-18)

Features

Refactor

7.4.2arrow-up-right (2020-06-10)

Bug Fixes

Refactor

7.4.1arrow-up-right (2020-05-30)

Bug Fixes

7.4.0arrow-up-right (2020-05-29)

Bug Fixes

Features

7.3.1arrow-up-right (2020-05-25)

Improvements

  • AEX_2: Handle network switch and update state on both sides. Adjust networkId check for signing request. Add node switcher for example apps (#996arrow-up-right)

7.3.0arrow-up-right (2020-05-20)

Bug Fixes

Features

7.2.1arrow-up-right (2020-03-25)

Fix

  • build Remove resolving of minimist using npx

7.2.0arrow-up-right (2020-03-24)

Docs

  • Guide: Adjust guide for RPC Wallet/Aepp usage

Code Refactoring

Features

  • TX: Introduce new stamp TxObject(#933arrow-up-right) This stamp give more flexibility on transaction serialization/deserialization process

  • Keystore: Allow to store secret as hex or buffer (#939arrow-up-right)

  • AEX-2: Add permission layer for account management (#937arrow-up-right)

7.1.1arrow-up-right (2020-02-27)

Bug Fixes

7.1.0arrow-up-right (2020-02-25)

Refactor

  • AEX: Simplify message id processing (#916arrow-up-right). Pass AEEP origin to Wallet callback (#918arrow-up-right)

  • Node: Move getNetworkId to helpers (#910arrow-up-right)

  • ACI: Minor ACI validation improvement. Move decoding of events to builder. Add ability to decode events without ACI

Features

7.0.0arrow-up-right (2020-01-31)

Bug Fixes

Features

Docs

BREAKING CHANGES

Please check out 7.0.0 migration guidearrow-up-right

This release include all changes from 7.0.0-next.1arrow-up-right, 7.0.0-next.2arrow-up-right, 7.0.0-next.3arrow-up-right

Features

  • aens: implement aensExtendTtl function. Refactor aensUpdate (#866arrow-up-right) (72b073aarrow-up-right), closes #865arrow-up-right

    aensUpdate now accept array of pointersaensUpdate have new option extendPointers=false which retrieve pointers from the node and merge with provided

  • Build: update node to 5.4.0 and compiler to 4.2.0

  • Guide Add guide for AENS usage

BREAKING CHANGES

  • AENS: Change AENS methods arguments

    Now all of AENS module methods accept name as a first argument instead of nameId

Bug Fixes

Features

Documentation

Bug Fixes

Code Refactoring

Features

BREAKING CHANGES

  • Tx: By default sdk make a transaction verification

  • Node: Change node compatibility range to node >= 5.0.0 && node < 6.0.0

  • Compiler: Drop compiler version to version >= 4.0.0 && version < 5.0.0

  • ACI: Add additional method to RPC communication. Required sdk update on wallet side Add getContractByteCode API

  • Flavor: Remove deprecated params:

  • remove url and internalUrl instead use nodes: [ { name: 'NODE_NAME', instance: await Node({ url, internalUrl }) } ]

  • remove keypair params instead use accounts: [MemmoryAccount({ keypair })]

  • remove setKeypair function from Account stamps

6.1.3arrow-up-right (2019-12-11)

Bug Fixes

6.1.2arrow-up-right (2019-11-12)

Bug Fixes

6.1.1arrow-up-right (2019-11-12)

Bug Fixes

Features

6.1.0arrow-up-right (2019-11-11)

Bug Fixes

Features

6.0.2arrow-up-right (2019-10-31)

Bug Fixes

  • name claim: Revert ignoring waitMined from user passed options (#727)

6.0.1arrow-up-right (2019-10-29)

Bug Fixes

6.0.0arrow-up-right (2019-10-16)

Code Refactoring

Features

BREAKING CHANGES

  • AENS: Change tld for Lima from .aet to .chain

5.0.0arrow-up-right (2019-10-04)

Bug Fixes

Code Refactoring

Features

BREAKING CHANGES

  • aci: Change Sophia option type representation in ACI

Bug Fixes

Features

4.7.0arrow-up-right (2019-09-11)

Features

4.6.0arrow-up-right (2019-08-28)

Bug Fixes

Features

Notes

GA support has been disabled until further notice due to node compatibility issuesThis version support aeternity node up to 5.0.0-rc.1

4.5.1arrow-up-right (2019-08-22)

Refactor

Bug Fixes

4.5.0arrow-up-right (2019-08-20)

Bug Fixes

Features

4.4.0arrow-up-right (2019-08-09)

Bug Fixes

Features

4.3.0arrow-up-right (2019-08-05)

Bug Fixes

Code Refactoring

  • State Channel: Do not include white space for outgoing websocket messages (#559arrow-up-right)

Features

Docs

  • ACI Add some additional clarification to getContractInstance

4.2.0arrow-up-right (2019-07-15)

Bug Fixes

Code Refactoring

  • swagger: Speedup initialisation

  • AENS: Remove unused param from claim method

  • AENS: Fix exception if not waiting for mining(claim)

  • Test: Add test for contract namespaces

Features

  • Node: Add 4.0.0 node compatibility

  • Compiler: Add compatibility with compiler 3.2.0

  • Channel: Implement GA awareness of State Channels

4.1.0arrow-up-right (2019-06-22)

Bug Fixes

Features

  • ACI: Refactor ACI module. Split to separated files. (#505arrow-up-right) (fb7bc00arrow-up-right)

  • Selector: If default account address not provided use the first

  • ACI: Handle ACI without init function

  • ACI: Automatically decide to send transaction on-chai or call-static. Add options object like last arguments of generate fn under instance.methods

Docs

  • Usage:: Add instructions about how to include directly the SDK in a html page

4.0.1arrow-up-right (2019-06-13)

Bug Fixes

Code Refactoring

Build

  • webpack: Add another bundle(dist/aepp-sdk.browser-script.js) for using in <script> tag (#485arrow-up-right)

4.0.0arrow-up-right (2019-06-12)

Bug Fixes

  • Ae: Fix exception when it used without Contract stamp

Code Refactoring

Features

BREAKING CHANGES

  • DOCS Restructure and rework sdk documentation

  • SCM: This change will make the release not compatible with older version of the node and compiler

  • ACI: Change Contract low lvl API:

    • change contractDecodeData interface from:

      • (type:String, data: String) => Any to (source: String, fn: String, callValue: String, callResult:String) => Any. (callResult is callType from call result, can be ok, revert, ...)

3.4.1arrow-up-right (2019-06-05)

Bug Fixes

3.4.0arrow-up-right (2019-05-22)

Bug Fixes

Features

  • Transaction Builder: Improve min fee calculation(Reduce the fee) (#424arrow-up-right)

  • AXIOS: Add ability to intercept error from axios (#431arrow-up-right)

    Added additional param to sdk initialization axiosConfig

    Example: Universal({ axiosConfig: { config: { // axios config object }, errorHandler: (err) => throw err }})

  • Transaction Builder: Implement vm/abi validation for contract/oracle tx based on consensus protocol version. Add custom verification based on transaction type (#425arrow-up-right) (#426arrow-up-right)

3.3.0arrow-up-right (2019-05-17)

Bug Fixes

  • AEP exampe: Fix contract in AEPP example (e2fec19arrow-up-right) fix(AEP exampe): Fix contract in AEPP example

Features

BREAKING CHANGES

  • NODE Change compatibility from 2.3.0 to 3.0.0

3.2.1arrow-up-right (2019-05-16)

Bug Fixes

  • Joi: Add JOI browser comparability

3.2.0arrow-up-right (2019-05-16)

Bug Fixes

Features

BREAKING CHANGES

  • State Channels: Endpoint param is removed and no longer defaults to "/channel". This means that "/channel" (or other path) must be appendend to url para

3.1.0arrow-up-right (2019-04-24)

Bug Fixes

Features

3.0.0arrow-up-right (2019-04-17)

Bug Fixes

Features

BREAKING CHANGES

  • ACI Remove 2.0.0 compiler compatibility

2.4.1arrow-up-right (2019-04-17)

Features

  • ACI: Add transform decoded data for 'address' type

  • AEPP: Add Compiler to Aepp rpc methods. Update example app

  • Channel: Add call contract static support

  • Channel: Add get contract state support

  • Channel: Get full channel state support

  • DOCS: Adjust ACI, Contract and Usage

Bug Fixes

  • HTTP: Handle no response in http stamp error handler

  • Crypto: Fix crypto formatAddress

  • Crypto: Move ADDRESS_FORMAT to crypto

BREAKING CHANGES

  • Channels:

    • channel.state() now returns offchain state instead of last co-signed offchain transaction

    • channel.update(...).state has been renamed to signedTx

    • channel.withdraw(...).state has been renamed to signedTx

    • channel.deposit(...).state has been renamed to signedTx

    • channel.leave().state has been renamed to signedTx

    • channel.createContract(...).state has been renamed to signedTx

    • channel.callContract(...).state has been renamed to signedTx

2.4.0arrow-up-right (2019-04-17)

Features

  • Chore: Install and configure commitizen

  • Crypto: Add formatAddress function to Crypto

  • Contract: Add Contract Compiler API stamp to es/contract (now using instead contract node API)

  • Utils: Add basic http client stamp (es/utils/http)

  • Contract: ACI stamp (New Contract interface base on contract ACI schema)

  • Account: Extend Account.address() with accountFormatter now you can do

  • Channel: Improve channel rpc usage

  • Channel: Improve channel tests and error handling

  • Channel: Improve state channel params handling

  • Chain: Add ability to get account/balance on specific block hash/height

  • Universal: Add { compilerUrl } to Universal, Contract, Wallet stamp initialization

Bug Fixes

  • Contract: decode node error coming from contract call and callStatic

  • Chain: Throw native error instead of object in chain chain.sendTransaction

  • Crypto: fix arguments parsing in Crypto.sing

  • Crypto: Fix name hash function arguments parsing in Crypto

BREAKING CHANGES

  • Contract: Remove ContractNodeAPI stamp

  • Contract: Change Contract stamp API

2.3.2arrow-up-right (2019-03-04)

Features

  • Contract: Change default gasPrice from 1e6 to `1e9z

  • AEPP: Fix AEPP example app

  • Build: Force image pull before builds

2.3.1arrow-up-right (2019-02-22)

Features

  • Oracle: Oracle fee calculation

  • Tx: getAccountNonce function to tx stamp

  • TX_BUILDER: Change FEE_BYTE_SIZE from 1 to 8 bytes in fee calculation

  • TX_BUILDER: Improve error handling in tx builder

2.3.0arrow-up-right (2019-02-22)

Features

  • Node: Minerva comparability

  • Utils: Mnemonic wallet implementation es/utils/hd-wallet

  • Oracle: Change Channel legacy API to JSON RPC

  • Oracle: Change default gasPrice to 1e6

  • Oracle: Change minFee calculation, multiply min fee by 1e9

BREAKING CHANGES

Features

  • Channel: channel withdraw and deposit methods

  • TX_BUILDER: Change default gasPrice in Contract stamp and Tx stamp to 1e9

  • TX: Fix contract tx fee calculation

  • Chain: Refactor error handling in sendTransaction function

  • Contract: Change default gasPrice to 1e9

  • TX_BUILDER: Change Fee byte_size to 1

Feature

  • TX_BUILDER: Add deserialization schema for Channel transactions(channelCreate, channelCloseMutual, channelDeposit, channelWithdraw, channelSettle)

  • Chain: Add rawTx and verifyTx to error from poll function(when you wait for transaction will mined)

  • Chore: Depend on bip39 from npm instead of git repo

  • Channel: Change Channel legacy API to JSON RPC

  • TX_BUILDER: Change minFee calculation, multiply min fee by 10^9

Bug Fixes

  • Chore: Fix linter errors

2.1.0arrow-up-right (2019-02-21)

Features

  • Node: Minerva comparability

  • Utils: Add Mnemonic wallet implementation es/utils/hd-wallet

BREAKING CHANGES

  • Node: Change supported node version range to 1.4.0 <= version < 3.0.0

2.0.0arrow-up-right (2019-02-21)

Features

  • TX_BUILDER: Add unpackedTx, txType and signature to validate transaction function

  • Contract: Add top param to contract static call(dry-run)

  • Contract: Add errors handling for dry-run

  • Docs: Add keystore docs

  • Ae: Add verify options to send function which verify tx before broadcasting and throw error if tx is invalid

  • Rpc: Add dryRun to RPC methods

  • Rpc: Add Oracle transaction creation to Aepp rpc

  • Docs: Add tx builder docs

  • Docs: Add doc's for utils/bytes and tx builder schema

  • TX_BUILDER: refactor calculateFee function in TxBuilder(use BigNumber)

  • TX_BUILDER: Extend response of Oracle, Aens, Contrat with rawTx

  • Ae: Change response of send function now it's and object with transaction data(hash, rawTxHash, ...)

  • Chain: Move Contract and Oracle API wrapper's to Chain stamp

  • Chore: Rename epoch in CHANGELOG, README, HACKING

Bug Fixes

  • Rpc: RpcServer: Avoid storing of window in instance properties

  • Chain: Disable balance formatting by default

  • Chain: Move verification of transaction to chain stamp

  • Node: Retrieve node version from /api

  • Chore: Fix unpack tx example in bin/aecrypto.js

  • Chore: Remove unused function's from crypto.js

BREAKING CHANGES

  • TX: Remove old transaction builder es/tx/js.js (Please use es/tx/builder instead)

  • Chore: Rename es/epoch.js to es/node.js

  • Chore: Rename Oracle, Contract, Chain API wrapper files from epoch to node

  • Chore: Rename Contract api wrapper method's

1.3.2arrow-up-right (2019-02-01)

Features

  • Ae: Add destroyInstance function to Ae stamp which remove all listeners for RPC event's

  • Docs: Add docs for TransactionValidator and TxBuilder stamp's

  • Build: Add TxBuilderHelper to bundle

  • Chore: Contract call static now using dry-run API

  • Test: Improve test's for Transaction verification

Changed

  • Docs: Adjust doc's for Contract and Aens stamp's

  • Chore: Fix decoding of address from contract call

1.3.1arrow-up-right (2019-01-29)

Features

  • Build: Remove KeyStore from bundle due to build issue(for now you can export it only using tree-shaking import * as Keystore from '@aeternity/aepp-sdk/utils/keystore')

1.3.0arrow-up-right (2019-01-29)

Features

  • Channel: Add support for State Channels

  • TX_BUILDER: New transaction builder going through schema(build, unpack)

  • TX_VALIDATOR: Add new stamp TransactionValidator which can verify your transaction

  • Chore: Rename epoch to aeternity node(docker configs, some docs)

  • Tx: Use new tx builder in TX stamp

  • Contract: Set default values for amount and deposit to 0 for contract transaction

  • Rpc: Improve RPC server

Notes and known Issues

  • Old transaction builder es/tx/js.js will be removed in next major release.

1.2.1arrow-up-right (2018-12-21)

Features

  • Chain: amount formatter

  • Chain: amount format balance client.balance('AK_PUBLICKEY', { format: true })

  • Aepp: Oracle and Contracts API to Aepp stamp

  • Chore: Use prepare instead of postinstall-build (thanks @davidyuk)

  • Docs: Refreshed Docs: README.md + docs/usage.md

Bug Fixes

  • Chr: Fix Import RLP package (thanks @davidyuk)

  • Rpc: Fix for NetworkId propagation and override

  • Tx: TxJS is not a stamp anymore, and instead: it exports helper functions

BREAKING CHANGES

  • Tx: TxJs stamp (not a stamp anymore)

  • Chain: balance now answer a formatted string composed of AMOUNT + ' ' + unit (eg. 10 exa for 10 AE)

Notes and known Issues

  • Chore: 10 exa should be 10 ae

  • Chain: format shouldn't be a flag, but a request for unit eg. { format: ae }

1.1.2arrow-up-right (2018-12-15)

Feature

  • Chore: isAddressValid check

  • Tx: Tx Fee formulas

Bug Fixes

  • Rpc: Fixed networkId propagation (and overriding on init of Flavors)

  • Crypto: Fixed encodeBase58Check by feeding Buffered input

BREAKING CHANGES

  • Chore: Compatibility with Node >= 1.0.0 and <= 1.1.0

1.1.1arrow-up-right (2018-12-11)

Features

  • Rpc: Added a command to remove images after CI testing

Bug Fixes

  • Rpc: Fix Testing

  • Rpc: Fixed Oracle error for Wallet flavor

1.1.0arrow-up-right (2018-12-11)

Features

  • Oracle: Oracles functionality and flavor

  • Aepp: Simple example of aepp-in-aepp (see /examples folder)

Bug Fixes

  • Tx: Fixed issue with big numbers and TX

1.0.1arrow-up-right (2018-11-30)

Features

  • Node: ability to support Node range(s) using semver package (see https://www.npmjs.com/package/semver#ranges)

BREAKING CHANGES

  • Node: Support for Node >= 1.0.0 and < 2.0.0

1.0.0arrow-up-right (2018-11-30)

Features

  • Contract: Contract native Transactions

Bug Fixes

  • BigNumber: Rolled back to bignumbers.js for easier fix with axios.get/post

BREAKING CHANGES

Notes and known Issues

  • Channel: State Channels have been excluded for problems with CI, will be included in next release

Notes and known Issues

  • Chore: See [0.25.0-0.1.0]

Features

  • Utils Parsing of fee using bignum.js

  • Account Add networkId as param to Account flavor(default: ae_mainnet)

  • Tx Implement native build of AENS transaction.

  • Keystore Update keystore for new requirementsarrow-up-right

BREAKING CHANGES

Features

  • Contract Contract type checked call (Ability to call contract using contract address)

  • Contract Use ES methods instead of Ramda, where possible

Bug Fixes

  • Contract Fixed keystore by adding a salt param for derivedKey function

Breaking Changes

Features

  • Rpc RPC Client improvements

  • Rpc onContract Guard

  • CLI born

  • CLI Host parameter became Url. (-u for hostname, -U for internal)

  • CLI New keystore following these specifications: https://www.pivotaltracker.com/n/projects/2124891/stories/155155204

BREAKING CHANGES

  • Chore The Cli flavor is now Universal

  • Chore the keypair keys changed from { pub, priv } to { publicKey, secretKey } for consistency with other systems using them (eg. AirGap and HD Walletarrow-up-right)

Notes and known Issues

  • Chore CLI and AE PROJECT CLI will move to a separate package

Features

  • Node Full support of Node-0.24.0arrow-up-right

  • CLI Develop decode base58 address command in crypto module

  • CLI Add nonce param to all tx command's

  • CLI Add gas param to deploy and call commands

  • Tx Add ability to create spend transaction natively

  • Keystore Implement ethereum keystore using AES-126-CTR and SCRYPT as key derivation function

  • CLI Change --privateKey to flag on ACCOUNT ADDRESS command

  • Build Change node version in Dockerfile

  • Node API endpoints to meet new Node specifications

  • Chore Update docco config and change rename package to recursive-rename

  • Docs Improved documentation

BREAKING CHANGES

  • Node Support for < 0.24.0

  • Keystore ethereum keystore usage will be removed in the next release

  • CLI CLI will move to a separate package

Features

  • CLI Add CLI implementation

  • Crypto nameId function for commitment hash calculations

  • Node API endpoints to meet new Node specifications

  • Tx Add Nonce calculation on SDK side

  • Contract Add check for MAX_GAS in call and deploy contract

  • Chore change hash prefix separator from $ to _

  • Chore Add keywords ('SDK', 'CLI') to package.json

  • CLI Link aecli to ./bin/aecli.js in package.json (After "npm link" you can use CLI globally)

  • Aens Wait until pre-claim transaction block was mined before send claim transaction

  • Build Updated webpack, webpack-cli and added new dev deps accordingly

  • Node Add Node Compatibility Check

Bug Fixes

  • Crypto Fixes commitment hash calculations in naming system, to be Hash(nameId(name) + name_salt) instead of Hash(Hash(name + name_salt)).

BREAKING CHANGES

  • Node Support for < 0.22.0

Features

  • Docs Lots of new documentation (prose and API)

  • Docs Fancy badges to README

  • Build Transitive dev dependencies for standard-loader not covered by pnpm

  • Build CI Dockerfile to include pnpm

  • Docs Fancy-shmancy diagram in README

  • DocsGenerated documentation files since they are linked in static docs

  • Build Switch from Yarn to pnpm for building

  • Docs Structure of documentation

  • Docs Generate Markdown from Docco

Features

  • Node Support for Node 0.18.0 (changed endpoints)

  • RPC Wallet/Aepp RPC support

  • Contract Contract call result decoding support

  • Docs Per-module API documentation (Markdown based on JSDoc)

  • Docs More API documentation (still incomplete)

  • Build SDK entrypoint factories (in /es/ae/universal.js)

  • Build Module load path (src -> es)

  • Chore Lower mining rate (5s) in docker-compose

Bug Fixes

  • Crypto Symmetric key encryption/decryption

BREAKING CHANGES

  • Node Support for < 0.18.0 (changed endpoints)

Features

  • Node Legacy Swagger file loading

  • Node Compatibility with < 0.15.0

Bug Fixes

Features

  • API New, opinionated top-level API

  • API Rest of legacy API now uses new API as well

  • API Generated API now encapsulated in api object

  • API Automatic case conversion for remote parameter names

  • API Remaining tests to use new API

  • API Adapted new method of obtaining transaction hash, breaks compatibility (see below)

Bug Fixes

  • API [GH-49]: Handle existing path components correctly

BREAKING CHANGES

  • API Remove Oracle API (for the time being)

  • API Remove Legacy API and tests

  • API Remove Compatibility with older versions of Node which provide the transaction hash the old way

Features

  • Node Switch to curve ed25519 (from secp256k1) to align with Node protocol changes

  • Node Generate basic API directly from Swagger files, also validate input data

  • Build Compiled library now self-contained with all dependencies

  • Build Use Webpack 4 based cross-platform (Node/Web) compilation

  • Docs Package description now reads SDK for the æternity blockchain

  • Chore Authors are now taken from AUTHORS instead of package.json

  • Docs Moved code examples from README to separate file in docs

BREAKING CHANGES

  • Node Defunct scripts; will be brought back later

Bug Fixes

  • Chore More consistent code examples

Last updated

Was this helpful?