Changelog

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

14.0.0 (2024-10-20)

⚠ BREAKING CHANGES

Please check out the migration guide and a tool 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

  • account: add ensureReady method to AccountLedgerFactory (5047e43)

  • account: add AccountMetamaskFactory (e9f9694)

  • account: add AccountMnemonicFactory (c785521)

  • account: encode secret key as sk_-prefixed string (b94e198)

  • account: expose secretKey in MemoryAccount (d4320e6)

  • aepp: add api to ask wallet to select network (9871c91)

  • aepp: extract class to connect to wallet from AeSdkAepp (c3570ac)

  • middleware: add requestByPath method (ee5ac0c)

  • middleware: allow navigate to next/prev pages (b89cf5b)

  • middleware: mark as stable api (e25b06d)

  • middleware: prefixed types provided by OpenApi instead of strings (0b16a32)

  • middleware: return time as Date instance (e48ffd1)

  • middleware: switch to v3 api (b0015c0)

  • node: return time as Date instance (e0e33ea)

  • oracle: add includeResponded option to Oracle:pollQueries (78a07ab)

  • oracle: add Oracle:handleQueries method (03c77c0)

Bug Fixes

  • account: improve Account:publicKey type (1652a4b)

  • aens: validate minus chars in name as node does (329de9e)

  • aepp: don't require subscription to request addresses (2b247ff)

  • channel: channelId type, more accurate types (e572fae)

  • channel: accept host only if initiator (a7d4dde)

  • channel: reestablish flow (1f4a0c1)

  • channel: remove statePassword unsupported on node side (5cec07b)

  • channel: remove unsupported ways to reopen channel by a transaction (f3746a1)

  • middleware: accurate coin amounts (00a4f3e)

  • middleware: word casing in activity types (f1fbb29)

  • node,compiler,middleware: mark $host as readonly (9e47d5c)

  • node: avoid complex types by code replacements instead generics (4f531b1)

  • oracle: emit unhandled rejection instead printing error (3a57665)

  • tx-builder: count amount in execution cost when spend to yourself (5153649)

  • tx-builder: remove unused ChannelClientReconnectTx (e6e954a)

  • wallet: generate random string instead using external uuid dep (f8640d4)

  • wallet: origin if opened over file:// (cordova) (d529f30)

Commits with breaking changes

  • account: make signTypedData, signDelegation abstract (f2c6d1d)

  • account: remove generateKeyPair (18c6789)

  • account: remove generateKeyPairFromSecret (2cbaa7c)

  • account: remove getAddressFromPriv (9446639)

  • account: remove isValidKeypair (512385a)

  • account: remove sign, signMessage (30077bc)

  • account: remove save HD wallet functions (10e7c89)

  • aens: replace aens methods with Name class (956daac)

  • aepp: remove RpcBroadcastError (1f0b3bb)

  • compiler: drop aesophia@7 support (df0e050)

  • contract: don't depend on Contract in AeSdk (00b4f86)

  • contract: remove encodeFateValue, decodeFateValue (c521597)

  • drop Iris support (61554b3)

  • middleware: require 1.77.5 (08783fd)

  • middleware: require 1.81.0 (3243768)

  • node: require 7.1.0 (0dd3b49)

  • oracle: add Oracle class (54ee614)

  • oracle: add OracleClient class (0293fe4)

  • oracle: replace getQueryObject with OracleBase (bcab498)

  • remove createDelegationSignature (651b6ec)

  • remove NAME_BID_MAX_LENGTH (83797a4)

  • remove signAllNamesDelegationToContract (60a729d)

  • remove signDelegationToContract (cd495a6)

  • remove signNameDelegationToContract (9ab8f41)

  • remove signOracleQueryDelegationToContract (f948492)

  • remove keystore implementation (5e64ec9)

  • rename legacy bundles to cjs (46cd27b)

  • require [email protected] or newer (84d868c)

  • tx-builder: extract entries into separate builder (d5fde18)

  • tx-builder: remove deprecated constant exports (2ecf0f4)

  • tx-builder: remove deprecated constant exports (2342aa6)

  • update @types/node, drop TS below 4.8 (9d36e6c)

  • wallet,aepp: remove delegationToContract.sign method (c4d62b0)

13.3.3 (2024-07-17)

Bug Fixes

  • account: improve Account:publicKey type (0524553)

  • aens: validate minus chars in name as node does (15063c6)

  • aepp: don't require subscription to request addresses (8ce976e)

  • channel: channelId type, more accurate types (2b064d8)

  • channel: accept host only if initiator (cfdfd72)

  • channel: remove statePassword unsupported on node side (74db9bb)

  • don't allow upgrades @azure/core-rest-pipeline (03058d4)

  • don't allow upgrades @ledgerhq/hw-transport to 6.31.0 (1ef43e6)

  • wallet: origin if opened over file:// (cordova) (4ee44be)

13.3.2 (2024-04-22)

Bug Fixes

  • contract: detect if ACI doesn't match called contract (8c4287f)

  • ttl validation error in dev mode by reducing polling intervals (6f8cdc9)

13.3.1 (2024-04-19)

Bug Fixes

  • node: mark as compatible with 7.0.0 (562eda9)

13.3.0 (2024-04-08)

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

Features

  • accept multiple encodings in isAddressValid, add TS asserts (2c21139)

  • add getContext method to AeSdk (04508d0)

  • aens: support update with raw pointers (db2659a)

  • aepp,wallet: allow raw data sign (7d0136d)

  • chain: add cache option to getHeight (c7d0955)

  • compiler: add CompilerCli8 class (29f1cd3)

  • compiler: provide compilation warnings (d0ec012)

  • compiler: update cli and http compilers to 7.4.0 (2041d8b)

  • contract: resolve names on node side in Ceres (474f0fd)

  • contract: support all names delegation to contract (92dae86)

  • jwt utilities (c747ce6)

  • node: add param indicating retry (6f0dbd8)

  • node: show error code if available (2cce91d)

  • spend to payable contract (7621716)

  • support new delegation format in Ceres (786e954)

  • tx-builder: get actual gas price from node (09d19bf)

  • tx-builder: pick queryFee from the node if not provided (ca495c8)

  • tx-builder: reject used accounts in GaAttachTx in Ceres (88b1d5d)

  • tx-builder: validate nameTtl in NameUpdateTx (bca877e)

Bug Fixes

  • aens: make extendTtl argument optional (028876f)

  • aens: reduce default client ttl to one hour (daf7fa0)

  • chain: poll till ttl if defined to ensure tx can't be mined (0751244)

  • contract: build address by signed tx (60a283b)

  • contract: don't duplicate NoSuchContractFunctionError message (2f3bba5)

  • improve error message when no wrapped value (054bc89)

  • node,middleware,compiler: version check if deployed at path (450296e)

  • node,middleware: remove duplicate retry policy (f6470a2)

  • node: add missed conversion of difficulty and hashrate to number (271ff5e)

  • node: don't remember failed version request (fba0e79)

  • node: show correct error message if body is missed (ed10482)

  • node: show correct error message if ECONNREFUSED (ef347a1)

  • tx-builder: don't accept ttl equal to block height (d9cde12)

  • tx-builder: don't estimate gas for non-transactions (f72167a)

  • tx-builder: limit ttl to 3 in case tx built internally (08d14c2)

  • tx-builder: remove invalid oracle tx type in validator (78e7c48)

13.2.2 (2023-09-20)

Bug Fixes

  • use proper vm version in Ceres (bcaa5cf)

  • aepp,wallet: connect to web-extension if opened over file:/// (da6a025)

  • aepp: use complete type of WalletInfo object (eeba565)

  • contract: don't mark contract as deployed if tx failed (cc4222d)

  • contract: use current nonce in static calls (758bdfc)

  • node: don't retry 500 code responses (696e7db)

  • node: throw clear error message if unsupported protocol (21dfe34)

  • node: uncatchable exception if request failed in queue (dec62a4)

  • typos in error messages and docs (5c84671)

13.2.1 (2023-07-28)

Bug Fixes

  • use Number instead of unary plus for BigInt (33fcfb4)

13.2.0 (2023-07-28)

Features

  • account: add methods to generate delegation signatures (18bdf5a)

  • aepp,wallet: support delegation signatures (fd0dc43)

Bug Fixes

  • account: add implementation of signTypedData in AccountBase (fc6e42f)

  • wallet: don't ask to confirm unsubscription (e2ffc25)

  • wallet: don't require to be subscribed to request addresses (36920b4)

  • wallet: return accounts according to subscription (fa900c0)

13.1.0 (2023-07-07)

Features

  • account: support signing typed data (e5acdd4)

  • aens: add ensureName helper to check names (f1322b1)

  • aens: support unicode names claim (f837e90)

  • aepp,wallet: support inner transaction signing (725782b)

  • aepp,wallet: support signing typed data (78ce3b2)

  • compiler: add generateAci, generateAciBySourceCode (981bcf2)

  • middleware: generate autorest wrapper (bd08a08)

  • middleware: implement MiddlewareSubscriber (b51b0a3)

Bug Fixes

  • onAccount option in AeSdkMethods (290758b)

  • aens: more accurate name check in isNameValid (b62dcc6)

  • aepp: call onDetected always with newWallet (80d97fa)

  • contract: use fallback account if onAccount not provided (9033cd7)

  • converting proxied options to JSON (efebbd1)

  • provide types in exports field of package.json (dbd19e7)

  • reject prefixes other than provided in isAddressValid (9462add)

  • tx-builder: buildTx produces the same type as unpackTx accepts (d3d6c88)

  • tx-builder: decode tag in entry error message (db0d96f)

  • wallet: emit internal error if something broke while broadcast (332d1b5)

  • wallet: throw reason of internal error to handle it in wallet (276699b)

13.0.1 (2023-04-24)

Bug Fixes

  • contract: return type of call/deploy on chain (c493707)

  • export of prefixedAmount helper (9b3f68f)

13.0.0 (2023-04-06)

⚠ 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

  • aepp: call onNetworkChange after connection (5854cae)

  • export Encoded type (026f4c1)

Bug Fixes

  • aepp: use the same name for all nodes provided by wallet (0ece313)

  • chain: reduce /2 number of blocks to wait before throwing timeout (44de66b)

  • contract: add missed sourceCodePath cases (5be4cd9)

  • aepp: remove select option in connectToWallet (adf9c3e)

13.0.0-beta.0 (2023-03-01)

⚠ 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

  • account: accept async function in authData of AccountGeneralized (c1066c5)

  • account: override fee, gasPrice of GaMetaTx in authData (177a100)

  • chain: getBalance accepts OracleAddress (df2e5e3)

  • channel: emit newContract event (8d71bba)

  • contract: add ability to compile by path in node.js (74867b7)

  • contract: add CompilerCli (de56cbe)

  • contract: allow to create GA using sourceCodePath, bytecode (9410af2)

  • contract: decode emitted events of contract deploy (bf46eb6)

  • contract: don't require compiler (d2f9fa8)

  • contract: extract $getCallResultByTxHash method (0a8d138)

  • contract: support unit type (b5bf7a8)

  • node: exponential retry of requests on failure (aadec0d)

  • setup downleveled types for [email protected] and above (fd2b97f)

  • support CERES protocol version (8960a91)

  • tx-builder: deserialisation of channels.get.offchain_state (ed31aff)

  • tx-builder: implement buildAuthTxHashByGaMetaTx (bd656c2)

  • tx-builder: implement getExecutionCost and related functions (33085c2)

  • tx-builder: implement getTransactionSignerAddress function (2360cd2)

  • tx-builder: support incomplete MPTrees (115bcf5)

  • tx-builder: support recursive types (4f4dff6)

  • tx-builder: typed decoding of MPTrees (da1e35a)

  • tx-builder: unpack poi field of channel CloseSolo Slash tx (4a49b03)

  • tx-builder: validate address and enum fields in runtime (5898b3a)

  • account: add generate method to MemoryAccount (e0fa641)

  • add Ledger HW support (587e058)

  • ensure that used correct account type while signing transaction (46e8db3)

  • extract AeSdkMethods class with minimal interface (fd0fe76)

  • restore the ability to specify an array of accounts in AeSdk constructor (aba9b9f)

Bug Fixes

  • aepp: don't require connection to wallet to make a static call (bab9eee)

  • channel: increase pong timeout 3 times (to 15 seconds) (d03ec1c)

  • channel: return type of state (3c34457)

  • compatibility with @vue/cli@4 (41521ff)

  • contract: avoid any in arguments (70453f1)

  • contract: don't mark event field as required in Aci (2c44cd1)

  • contract: dry-run accept top as number (ebe5986)

  • contract: static call at specific height (99441dd)

  • contract: type of FunctionAci (0929304)

  • node: don't throw unhandled exception if version check failed (d4e5250)

  • oracle: ask height right before querying oracle to avoid not found (42706ca)

  • oracle: import getHeight instead of using a missing context (565c827)

  • tx-builder: calculation of gasLimitMax (0fb8a37)

  • tx-builder: don't check consensus protocol if sdk knows a single (6b8888b)

  • tx-builder: drop nonce validator to avoid false positive (a669aae)

  • tx-builder: ensure that TX RLP have the same length as schema (c042d73)

  • tx-builder: field DelegateIds in ChannelCreateTx (405243c)

  • tx-builder: provide proper type depending on checks being done (3cff062)

  • wallet: don't use Event.hasListeners that is not available in FF (05c0424)

  • wallet: explicitly convert error to JSON to don't pass stack trace (3948153)

  • wallet: provide origin on webext side instead of empty string (662d8d0)

  • channel: log field type in result of getContractCall (600d9e7)

  • channel: add missed types for minimumDepth, fee, gasPrice (a14ddfc)

  • channel: emit incoming message handler error instead of printing (d71efad)

  • channel: messageQueue type (1197ec4)

  • contract: don't throw ambiguous error if event types the same (669c326)

  • contract: don't throw error if already compiled (dcedb61)

  • contract: more specific error on calling without address (5c5a241)

  • don't swallow errors without checking their type and message (7456b0f)

  • don't use any in AeSdkBase constructor options (51fd3ae)

  • sync options between Contract and AeSdkBase (6acebaf)

  • tx-builder: avoid extra requests in tx validator (03c77e5)

  • tx-builder: mark nameTtl as shortUInt in NameUpdateTx (3bfbb52)

  • tx-builder: type of binary fields (e979224)

  • use crypto random to generate salt (88dcf38)

13.0.0-alpha.1 (2023-01-13)

13.0.0-alpha.0 (2022-12-08)

12.1.3 (2022-08-24)

Bug Fixes

  • deps: update calldata to 1.3.0 (3eacc29)

12.1.2 (2022-08-09)

Bug Fixes

  • deps: depend on specific version of @azure/core-client to fix #1657 (95d5910)

12.1.1 (2022-07-28)

Bug Fixes

  • export and implementation of calculateMinFee (cee0f7c)

12.1.0 (2022-07-28)

Features

Bug Fixes

  • ability to use sdk without nodes (8fa29e4)

  • aepp,wallet: avoid invalid message errors using third-party tools (4d4d117)

  • AeSdkBase: don't mutate the options argument (a574b7f)

  • awaitHeight: allow to wait for arbitrary number of blocks (918a885)

  • channel: handle round as number (97d7984)

  • getNetworkId throw proper error without node (3d9e73c)

  • move type packages required by TS projects to dependencies (90c5eb8)

  • node: avoid ts-expect-error missed in generated d.ts file (60d9755)

  • node: don't transform autorest properties (7982327)

  • Node: tread nameTtl, clientTtl as number (b82c398)

  • pollForQueryResponse: poll until query is expired (436f4a9)

  • sendTransaction: don't fall if onAccount missed in AeSdkBase (eebbcb7)

  • switch to aepp-calldata with fixed decoding of lists (c1a3b24)

12.0.0 (2022-06-17)

⚠ 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

  • aepp: support external accounts in onAccount (9745c73)

  • ga: implement buildAuthTxHash function (73eae4e)

  • NodeInvocationError: store tx-encoded transaction (a74da7c)

Bug Fixes

  • aepp: use networkId in rpc tx signing (916dba0)

  • importing in mjs (0fc7418)

  • messageToHash: support messages longer than 252 chars (b4aa456)

  • wallet: revert to returning complete tx data instead of just hash in rpc wallet signing (c3ada74)

Refactoring with breaking changes

  • generate compiler api in TypeScript using autorest (777e990)

  • generate node api in TypeScript (5576cf9)

  • compiler: init in sync, check version on making request (a7fe956)

  • aci: accept onAccount as AccountBase (e816428)

  • ae: drop stamps and use plain functions (8ed55d0)

  • aepp rpc: accept wallet info separately (baad98e)

  • aepp-rpc: depend on simplified version of RpcClient (f329549)

  • aepp-rpc: extract common error checks (eaa8683)

  • aepp-wallet: rewrite to ts all except rpc (19cb42f)

  • AeppRpc: make to init in sync (86c9d6c)

  • chain: drop stamps and use plain functions (4197b3d)

  • chain: remove deprecated methods (cefaa55)

  • compiler: extract genVersionCheckPolicy (ac14fd1)

  • don't provide default fee when transaction is not present (b004694)

  • drop ensureNameValid (d0d1258)

  • drop compiler stamp (ddf1363)

  • drop functions to generate txs with specific type (3cf767d)

  • drop TxObject wrapper (a083c7b)

  • encoder: remove required prefix param (dec13d7)

  • export in tree shaking friendly way (40aca86)

  • extract all fee-related stuff into a separate module (cebb90b)

  • extract base sdk classes (487cc14)

  • fix spend types (6b089e7)

  • getNetworkId: drop unnecessary force option (7d6549a)

  • getQueryObject: remove deprecated decode method (7e9835c)

  • inline NAME_BID_TIMEOUTS into computeAuctionEndBlock (5fdb80e)

  • NodeApi: return BigInt instead of string | number (7f37e74)

  • node: drop internalUrl (8336673)

  • node: rewrite to ts, drop stamp (370635e)

  • oracle: drop stamps and use plain functions (04ce814)

  • prepareTxParams: inline calculateTtl (2f03793)

  • remove ability to connect without sharing node if requested (7dd4af5)

  • remove extra getAddressFromPriv (0f88c39)

  • remove getAccountNonce (62a00e5)

  • remove outdated destroyInstance method (0213375)

  • rename gas to gasLimit where possible (dece758)

  • rewrite AE_AMOUNT_FORMATS to enum (448a2a3)

  • rewrite ae/contract to ts (8159d84)

  • rewrite TX_TYPE to enum (f97e479)

  • rpc account: don't pass extra options through rpc connection (141e932)

  • rpc-client: add notify method (9e97a1a)

  • rpc-client: provide method handlers instead of onMessage (5f1a007)

  • RpcClient: remove custom set of accounts (5c26f3a)

  • RpcClient: remove origin property (7155ed3)

  • rpc: inline extra helpers (9a0a2eb)

  • rpc: use webextension-polyfill (a54fdfd)

  • simplify transaction schema (5f720ec)

  • tests: migrate remaining tests ts (4e2ece7)

  • tx schema: add shortInt type for fields not needed big numbers (0095455)

  • unpackTx: accept only tx_string, don't return binary (658adee)

  • use calculateMinFee instead of calculateFee (4ea59d7)

  • utils: migrate keystore.js to ts (c013c01)

  • wallet rpc: don't pass networkId from aepp to wallet (153fd89)

  • wallet-rpc: drop info object in RpcClient (010ebbb)

  • wallet-rpc: remove meta, condition unused by known wallets (4630643)

  • wallet-rpc: return value/throw error instead of accept/deny (98b9955)

  • wallet-rpc: rewrite to TypeScript (930e7d7)

  • wallet-rpc: simplify callback arguments (5fc6f8a)

  • wallet-rpc: store rpc data in maps instead of objects (0d3f04f)

  • wallet-rpc: switch to TypeScript version of RpcClient (7d8f6d7)

11.0.1 (2022-04-07)

Bug Fixes

  • contract: do not check payable if contract call is init (c09fc0c)

  • importing in mjs (01d493b)

  • oracle: do not include address for oracle respond signature (ad4bddc)

11.0.0 (2022-03-18)

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

  • aci: use dry-run to estimate gas and get rich errors (bb6977d)

  • calculate default polling intervals depending on node settings (d9c6cf9)

  • chain: combine multiple dry-run requests at one (ddcdaef)

  • contract events: ability to resolve multiple definitions of event (c5b77fa)

  • contract events: remote contract support (c7599c7)

  • createGeneralizeAccount: estimate gas limit instead of using const (da88852)

  • decode encode: validate base58 prefix and payload length (e836260)

  • error: introduce error types (#1345) (444bb33)

  • package: build es version compatible with node (480c747)

  • poll: use getCheckTxInPool if available (690db5b)

  • swagger: converts operationId in snake case to pascal (e52b739)

  • swagger: split transactions by queues to post batch of txs from one account (0023fc7)

  • tx builder: accept unencoded name in nameClaimTx (eea92be)

  • tx builder: don't require produceNameId to create AENS txs (57ef9c7)

  • tx builder: provide default name fee (18e4bab)

  • validator: check contractId (5e667a5)

  • wallet: add switch for aepp wallet node sharing (b5640d6)

  • wallet: enable aepp to wallet node connection (d87e1fa)

  • wallet: provide switch for aepp wallet node connection (dfbab59)

Bug Fixes

  • aens helpers: improve naming, add additional validations (d2a10e1)

  • babel: compatibility with create-react-app (e4b56fe)

  • babel: depend on buffer package in es build (0ba51e9)

  • babel: don't rewrite import of rlp package for @vue/[email protected] (0fdd296)

  • chain: don't require address function to post transaction (07bc105)

  • channel force progress: add missed binary prefixes (78660d2)

  • channel: ignore messages that can't be handled, print to console (aaad8e3)

  • compatibility: update argon2-browser to version with default export (0e69d8b)

  • compatibility: use blakejs that doesn't refer to Buffer (94f1879)

  • contract events: don't throw error if events emitted by remote (fa1c569)

  • delegate signature: don't encode address depending on onAccount (563a972)

  • dry-run: don't combine requests by default (0f36efc)

  • error: remove duplicate error message (8b4df9a)

  • es: babel build on windows (30f5213)

  • keystore: encoding of hex privateKey, simplify tests (9f3ad6b)

  • spelling of GeneralizedAccount (21c1dd3)

  • tx builder: reject more than 32 pointers (9c06dab)

  • tx builder: throw exception if deposit is not zero (7b3d0e3)

  • aci: drop redundant per-method event decoding (a84d781)

  • aci: remove call/callStatic from deployInfo (84d082d)

  • aci: remove createdAt property generated at client (406684c)

  • aepp-wallet schema: convert to TS (1775e91)

  • aepp-wallet schema: rearrange METHODS enum (8a40105)

  • aepp-wallet schema: remove unused enums (95bf0e9)

  • compiler: remove contractEncodeCallDataAPI (7d02317)

  • compiler: remove getBytecodeCompilerVersion (13283be)

  • compiler: remove getCompilerVersion (fb929f8)

  • compiler: remove getFateAssembler (165d492)

  • compiler: remove validateByteCodeAPI (90ba164)

  • contract instance: store aci as it is (978225e)

  • contractCompile: remove encodeCall (6d0ade5)

  • contract: remove already processed fields from decoded events (45bae5f)

  • contract: remove compileContractAPI (5ae9c62)

  • contract: remove contractCompile (7390629)

  • contract: remove contractDecodeCallDataByCodeAPI (2fe798a)

  • contract: remove contractDecodeCallDataBySourceAPI (8b13f70)

  • contract: remove contractDecodeCallResultAPI (b9fbfa6)

  • contract: remove contractGetACI (23ada71)

  • contract: remove deprecated contractCall (c079e6e)

  • contract: remove deprecated contractCallStatic (1e3ac6d)

  • contract: remove deprecated contractDeploy (08e423e)

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

  • decodeEvents: accept event schemas as it is in ACI (17b9cc4)

  • drop https scheme workaround for hosted compiler (9fc0a02)

  • hd-wallet: expect that bip39 used externally (f6243ad)

  • hd-wallet: remove default export (951ebb2)

  • node: don't wrap internal endpoints if internalUrl missed (50d7bba)

  • poll: avoid extra transaction info request to node (22c4838)

  • remove deprecated topBlock (4535c07)

  • remove unused functions (8c00de5)

  • return empty array instead of throwing UnsignedTxError (c6bacdf)

  • rpc: remove forceValidation flag (9f958c3)

  • tx builder: inline VALIDATION_MESSAGE (defb7e1)

  • tx schema: remove default NAME_FEE equal to 0 (9d8339a)

  • update rlp to 3.0.0 (bb32b77)

  • use bs58 instead of bs58check (32e836b)

  • wallet-rpc: inline resolveOnAccount helper (1277b5b)

10.0.0 (2021-12-07)

⚠ 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

  • aci: don't require source code (5c690d2)

  • aens: don't limit pointer keys (f6b8999)

  • aens: enable commitmentHash preclaim in tests (5de05e5)

  • decode using calldata package (2bb494d)

  • encode using calldata package (eeebbd5)

  • poll-interval: reduce poll interval to be a more sensible default (9e55b2b)

  • support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)

Bug Fixes

  • commitlint issue (2c1cf54)

  • compiler errors: construct error message by server response (8621352)

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

  • events: don't require function name for events decoding (f963bdb)

  • events: fix event decoding order and address prefix (faad530)

  • events: fix test for incorrect address return type (31aaeec)

  • events: ignore unknown events in decoding (45795fa)

  • node errors: construct error message by server response (d556936)

  • semverSatisfies: ignore build number (c3cce0a)

  • swagger: detection of empty response (9bfab02)

  • contract instance: remove unnecessary setOptions function (b88e767)

  • contract instance: thread all extra options as contract's (10fb7ba)

  • crypto: remove unused asymmetric encode/decode functions (51def34)

  • drop unnecessary skipArgsConvert option (6d4a599)

  • drop unnecessary skipTransformDecoded option (bb49239)

  • inline getConsensusProtocolVersion function (75f0447)

  • invert and rename forceCodeCheck option to validateByteCode (72122fa)

  • make contractCall/Static a wrapper around getContractInstance (c4ec019)

  • make contractDeploy a wrapper, remove unused code (48d36f9)

  • remove contractDecodeData as extra wrapper (5df2285)

  • remove contractEncodeCall as extra wrapper (a4b303f)

  • require compiler 6 and above (f9cef12)

  • specify browserlist to better choice of features to transpile (c2ec71a)

  • transformation: don't export extra functions (fa38b40)

  • transformation: drop extra wrapper around bindings (9b70f8e)

10.0.0-beta.1 (2021-11-24)

⚠ 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

  • aci: don't require source code (5c690d2)

  • decode using calldata package (2bb494d)

  • encode using calldata package (eeebbd5)

  • poll-interval: reduce poll interval to be a more sensible default (9e55b2b)

  • support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)

  • aens: enable commitmentHash preclaim in tests (5de05e5)

Bug Fixes

  • compiler errors: construct error message by server response (8621352)

  • events: fix event decoding order and address prefix (faad530)

  • events: fix test for incorrect address return type (31aaeec)

  • node errors: construct error message by server response (d556936)

  • semverSatisfies: ignore build number (c3cce0a)

  • commitlint issue (2c1cf54)

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

  • drop unnecessary skipArgsConvert option (6d4a599)

  • drop unnecessary skipTransformDecoded option (bb49239)

  • inline getConsensusProtocolVersion function (75f0447)

  • invert and rename forceCodeCheck option to validateByteCode (72122fa)

  • make contractCall/Static a wrapper around getContractInstance (c4ec019)

  • make contractDeploy a wrapper, remove unused code (48d36f9)

  • remove contractDecodeData as extra wrapper (5df2285)

  • require compiler 6 and above (f9cef12)

  • specify browserlist to better choice of features to transpile (c2ec71a)

  • contract instance: remove unnecessary setOptions function (b88e767)

  • contract instance: thread all extra options as contract's (10fb7ba)

  • remove contractEncodeCall as extra wrapper (a4b303f)

  • transformation: don't export extra functions (fa38b40)

  • transformation: drop extra wrapper around bindings (9b70f8e)

9.0.1 (2021-10-04)

Refactoring

  • Remove channel from universal stamp (63e88ce74)

9.0.0 (2021-09-30)

⚠ BREAKING CHANGES

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

    • delegateNamePreclaimSignature

    • delegateNameClaimSignature

    • delegateNameTransferSignature

    • delegateNameRevokeSignature

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

    • delegateOracleRegisterSignature

    • delegateOracleExtendSignature

    • delegateOracleRespondSignature

  • drop assertedType, use decode instead (00d563f)

  • drop waitMined static method (2f299de)

  • tx-validator now gives different, more meaningful, errors (95a2a23)

  • no longer exports buildHash function, use hash or buildTxHash (9e1fde7)

  • tx-verification is now done by default (989b36f)

Features

  • payForTransaction method (fbf204d)

    • don't check is GA if innerTx (0ee9db4)

    • don't sent to blockchain if innerTx (523e9bb)

  • deposit-trap: enforce zero value for deposit during contract deploy (cfb5f22)

Maintenance

  • change default gas limit to 25000 (831e4dd)

Bug Fixes

  • AENS: name length minimum bid fee (db6ca4c)

  • delegate-signature: stop using the default account in the context of signing (29d760e)

  • mustAccountStamp: process accounts only if supplied (10ec2c3)

  • swagger https issue (3a876bb)

  • tx serialisation: accept unpackTx output produced by deserialisator (ff0b3f5)

8.2.1 (2021-06-21)

Bug Fixes

  • swagger file of aeternity's compiler (4001e64)

  • swagger file of aeternity's latest compiler (a1caa03)

8.2.0 (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

  • export aepp-wallet-communication (d5d741c)

  • ponyfill Buffer in browser (953bf08)

  • ponyfill process in browser (798ab63)

  • rlp: import as it is (736b0f5)

  • typo name of broadcast failed error generator (ae7e823)

  • examlple-aepp: open only when ready to accept connection (4872eb9)

  • crypto: drop extra "personal" from message functions (34288cb)

  • crypto: remove outdated generateSaveWallet function (37298be)

  • crypto: remove unused addressToHex function (93f9def)

  • crypto: remove unused formatAddress function (a5d4b62)

  • crypto: remove unused hexStringToByte function (ed39a76)

  • crypto: remove unused prepareTx, encodeTx, decodeTx functions (64d15eb)

  • crypto: rename messageToBinary to messageToHash adding hashing (df37004)

  • node-pool: inline helpers, export by default (ed1cfb5)

  • string: remove unused snakeOrKebabToPascal function (79bdc04)

  • string: use isAddressValid instead of isAeAddress (ac7d827)

  • drop compatibility with node@5 (f5e2fdb)

  • drop outdated protocols and transactions schemas (f18d305)

8.1.0 (2021-05-31)

Bug Fixes

  • poi-tx schema: use proper type name (9e7c7b2)

  • wait-for-tx-confirm: validate transaction height after awaitHeight (95e0d93)

Features

8.0.0 (2021-05-18)

Bug Fixes

  • avoid instanceof between possible not/polyfilled objects (906ee0e)

8.0.0-beta.2 (2021-05-12)

Bug Fixes

  • revert conversion of case in calls to compiler (0a69e49)

Maintenance

  • avoid ts definitions based on broken JsDoc (572d19f)

8.0.0-beta.1 (2021-05-6)

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

  • Drop old aepp-wallet RPC interface (254f5a93)

  • refactor: don't retrieve account from process.env (59e5c9b5)

  • refactor(crypto): don't reexport RLP methods (c6004bc7)

  • refactoring: remove legacy contractDecodeDataAPI compiler method (dfadac8d)

  • refactor: rename forceCompatibility to more clear ignoreVersion (72f1d326)

  • refactoring: require compiler above or equal to 4.1.0 (c9f48f91)

  • RpcClient: Drop unnecessary action stuff (84545fd7)

  • Combine RpcWallet and RpcClients (12892002)

  • Drop old names support, split ensureNameValid and isNameValid (315a78a9)

  • refactor(contract-aci): export single function instead of stamp (091b3282)

  • Combine Accounts and Selector into AccountMultiple (0cacd3b3)

  • Use swagger-client instead of a custom implementation (4b3260d5)

  • Remove OracleNodeAPI wrapper (c6f9a76d)

  • Flatten options of contractCallStatic, remove extra dryRunContractTx (f3ffb664)

  • txDryRun: Simplify arguments, support txEvents option (401c53da)

  • contracts: Mark handleCallError as private, simplify arguments (bdf76e24)

  • import/no-named-as-default linter error (d63e1511)

  • oracle: make pollForQueries a sync function (dc955e14)

  • chore: drop aevm support and backend (compiler) option (6eb702dd)

  • refactor(schema): export enum with consensus protocol versions (e92f187d)

Features

  • swagger: allow to provide external specification (683082b3)

  • swagger: make compatible with OpenAPI 3 (1d83f1a4)

  • switch to v3 endpoints on Iris (eca6697b)

  • traverse-keys: add keysOfValuesToIgnore option as a workaround (8ff5afe4)

  • Use es modules version in browser if supported (b49c38f0)

  • Add typescript support (abde033a)

Docs

  • contract: fix default backend value (9fcbeb32)

  • wallet-iframe: fix disconnect button (59014bd0)

  • examples-browser: rearrange files and docs (985e3b96)

  • use relative links between docs pages (d34d8181)

  • remove outdated aecrypto example (7df05bfe)

  • refactor node examples (e8c443cf)

  • changelog: add missed single quote in example (45fd0002)

  • resolveName: Document verify option (ca865596)

  • Remove outdated docs (cf9c166f)

  • decodeTx: Fix arg naming and annotation (883819c0)

  • contract-events: Remove outdated contract, update links and markup (37d39d61)

  • Update docs/guides/import-nodejs.md (9dc274ed)

  • Update docs/guides/import-nodejs.md (93bfce11)

  • break down json obj keys necessary for account initialization in nodejs docs (af5ee41d)

  • Ignore pycache in the docs folder (9989e8e7)

  • Specify the python version more precisely (d6204523)

  • Add pycache to .gitignore (f0b7e1f1)

  • Add navigation and update some titles (8ad15ced)

  • docco template: Remove extra new lines around code, skip extra blocks (65ce3cf1)

  • aecontract: Make a list out of a long sentence (8ff7839c)

  • aens-usage: Use more semantic markup, compatible with mkdocs (de3d3cd5)

  • docs readme: Fix typos and formatting (5b0c790d)

  • Add initial mkdocs and readthedocs configuration (b688a96b)

  • Extract quick-start to guides (28f7e6f7)

  • Update testnet URL (7bb823f8)

  • assertedType: Make the last parameter more obvious (50094d3a)

  • travis: Build docs to gh-pages (7c935a2b)

  • Docs root: Add link to API reference (4a36102d)

  • Move outdated disclaimer to the root readme (80a6a663)

  • Remove generated docs (fd802b00)

  • Fix api docs generation (56e3aa9d)

Code Refactoring

  • use BigNumber constructor instead of custom wrapper (4488b4d7)

  • avoid extra object nesting (f99d3045)

  • compiler: use swagger file (0d821614)

  • semver-satisfies: remove extra splitting by dash (35d5c11a)

  • remove extra char in regex (37eeefae)

  • refactor wallet detector (1bc8d027)

  • shareWalletInfo: Don't create unnecessary copy of info (3a4e50b9)

  • Inline receive helper that is used once (a4a13889)

  • rpc: Inline helpers used once (21903f4d)

  • rpc: Prefer default export (70fc3f0f)

  • rpc helpers: Remove unused getWindow function (c12b528f)

  • don't use AsyncInit where it is not necessary (84373697)

  • contract-aci: reuse defaults from Contract stamp (47013962)

  • cleanup MIN_GAS_PRICE (a5b28842)

  • remove unused option string (0e28af23)

  • remove unused dryRunAccount default option (8c42b706)

  • Consistent new on Error creation (39f93d3f)

  • height: Use a shorter syntax (b013bf9d)

  • height: Improve naming of internal promise (7915119a)

  • Move source code to "src" folder (ddbce389)

  • sign-using-ga: don't pass extra options (44bab6d0)

Bug Fixes

  • traverse-keys: add missed null check (7b724b86)

  • swagger: add workaround to get transaction details of GAAttachTx (bb7ec479)

  • top-block: use getTopHeader on Iris, mark deprecated (2b410257)

  • nonce-verification: add missed space (3f244dfb)

  • missed aepp id in wallet connect handler (1ed9284a)

  • get-node-info: bring url and internalUrl back (e984f3b3)

  • contract error decoding (d56931ac)

  • contract-aci: don't proxy prepareArgsForEncode from helpers (7e40eda0)

  • Improve handling of call error (584eb5e4)

Maintenance

  • Use ts-standard instead of standard (be5aece7)

  • tsconfig: Set target version to es5 (ed131b1b)

  • Fix eslint errors manually (dfe3a05e)

  • require node below 7.0.0 (ae1a5ef5)

  • require node above or equal to 5.2.0 (ebb36f06)

  • update dependencies (d876cff7)

  • deps: bump ssri from 6.0.1 to 6.0.2 (e0dfb8c9)

  • deps: bump y18n from 4.0.0 to 4.0.1 (9e4acd61)

  • deps: bump elliptic from 6.5.3 to 6.5.4 (feb3aa68)

  • deps: bump axios from 0.19.2 to 0.21.1 (0f619f27)

  • deps: bump ini from 1.3.5 to 1.3.7 (95580324)

  • deps: bump highlight.js from 10.4.0 to 10.4.1 (9fcfadfe)

  • deps: bump highlight.js from 10.1.1 to 10.4.0 (43aff25f)

  • deps: bump node-fetch from 2.6.0 to 2.6.1 (80ed6d70)

  • Update node to 5.8.0 (b6ff3422)

  • Update .gitignore (1f1563dc)

  • add vscode .history folder to gitignore (f4d61df4)

  • Update testnet URL in JS files (dc1b807a)

  • add Iris consensus protocol (41fd4a13)

  • add vsn 2 version of GA_META transaction (b5abe098)

  • add new versions of CHANNEL, CHANNEL_CREATE transactions (366981a3)

  • support compilers below 6.0.0 (876e5164)

Performance

Tests

7.7.0 (2020-08-18)

Features

  • transferFunds: Accept onAccount option (#1060)

  • bigNumberToByteArray: Avoid unexpected behaviour by throwing exception (#1066)

  • example: Add disconnect button on wallet side (#1056)

Code Refactoring

  • Use external version of json-bigint (#1033)

  • Make tests configuration more flexible (#1037)

  • test-else: Exclude aens tests and speedup jobs (#1040)

  • Avoid unnecessary eslint-disable (#1043)

  • Add lint script (#1045)

  • Refactor tests (#1039)

  • Refactor bytes unit tests (#1050)

  • travis: Run linter and unit tests firstly (#1051)

  • Disable Travis on all branches except master, develop (#1054)

  • Refactor contract, oracle, chain (#1048)

  • Refactor state channels (#1047)

Docs

  • Fix typo in Readme.md (#1053)

7.6.0 (2020-07-22)

Features

  • wallet-detector: allow to connect wallet to aepp between iframes (3f74a05)

7.5.0 (2020-06-18)

Features

Refactor

  • Deps: Clean up repository (#1029)

  • Env: Simplify Travis and docker-compose (#1031)

  • Env: Remove unused packages (#1032)

7.4.2 (2020-06-10)

Bug Fixes

Refactor

  • AEX-2: Add debug option for getHandler. Hide unknown message logs (#1021) (22c452c)

  • Contract Add AENS name resolver for Contract API

7.4.1 (2020-05-30)

Bug Fixes

7.4.0 (2020-05-29)

Bug Fixes

  • AEX-2: Fix getBrowserAPI helper for cross-browser compatibility (#1007) (98b0e29)

Features

7.3.1 (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 (#996)

7.3.0 (2020-05-20)

Bug Fixes

Features

  • ACI: expose events decoding through Contract ACI stamp (#971) (4930635)

  • AEX_2: Allow to connect without node (#991) (87b9ef9)

  • AEX_2: Connect to extension from iframe (#992) (47179f7)

  • Build: Expose ACIHelpers and ACITransformation to bundle (#970) (8b475e0)

  • Chain: Add option allowUnsynced for poll method which allow to depend on get tx/info API (9c80ce0)

  • Channel: add timeout message handler (#983) (1940a15)

  • Channel: Channel force progress (#964) (8f15bef)

  • Contract: Add unpacked transaction to contract call with error (#981) (4efd341)

  • Node: Add debug option to Channel stamp (#967) (68fcba5)

7.2.1 (2020-03-25)

Fix

  • build Remove resolving of minimist using npx

7.2.0 (2020-03-24)

Docs

  • Guide: Adjust guide for RPC Wallet/Aepp usage

Code Refactoring

  • RPC: Refactor rpc-related stuff (#921)

  • Build: Include amountFormatter and SCHEMA in bundle(#936)

  • Examples Update examples apps

Features

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

  • Keystore: Allow to store secret as hex or buffer (#939)

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

7.1.1 (2020-02-27)

Bug Fixes

  • TxBuilder: Fix fee calculation for Oracles (#924) (a9d784f)

  • AEX-2: Broken wallet detection (#926)

7.1.0 (2020-02-25)

Refactor

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

  • Node: Move getNetworkId to helpers (#910)

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

Features

  • ACI: Implement Contract Events for ACI(Contract Event Guide)

  • Contract: Helpers for Oracle and AENS signature delegation(Signature delegation guide)

  • AmountFormatter: Rework amount formatter. Change formatter units naming. Add more units (#909) (6970efe)

  • TxBuilder: Integrate amount formatter to transaction builder (#897)

  • Account: Implement Message Signing (singMessage, verifyMessage) (#903)

  • AEX-2: Add removeRpcClient method to RpcClient/RpcWallet stamp's(#912)

7.0.0 (2020-01-31)

Bug Fixes

  • AEX-2: Fix firefox compatibility issue (#882) (2e16e10)

Features

  • Chain: add new method waitFOrTxConfirm. Add new option { confirm: 3 } to all of high lvl SDK API. Add tests. Adjust docs (#874) (43528f9)

  • Compiler: Add new compiler methods API (#875) (a939395)

  • network: Throw error when can not get networkId (#863) (41b7bd1)

Docs

BREAKING CHANGES

Please check out 7.0.0 migration guide

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

7.0.0-next.3 (2020-01-22)

Features

  • aens: implement aensExtendTtl function. Refactor aensUpdate (#866) (72b073a), closes #865

    aensUpdate now accept array of pointers aensUpdate 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

7.0.0-next.2 (2020-01-10)

Bug Fixes

  • codecov: Adjust codecov badge. Move @babel/runtime to dev-deps (#848) (109b851)

  • AEX-2: Fix getBrowserAPI function for firefox (#853)

Features

  • Account: Add ability to pass keypair or MemoryAccount as nAccount` option (#847) (75d8ad8)

  • Test: Increase code coverage (#830) (6f760fb)

  • Chain: Extend transaction verification error (#849)

  • Aepp<->Wallet: Add tests for Aepp<->Wallet communication (#834)

Documentation

  • Guide: Add guide for Contract ACI usage (#852)

7.0.0-next.1 (2019-12-18)

Bug Fixes

  • Contract/Chain: Using { waitMined: false } with Contract high lvl API (#828) (475c2aa)

  • HdWallet: Fix derive function (#801) (6c6177d)

  • Compiler: Filter compiler options

Code Refactoring

  • Cross-Node: Remove cross-node compatibility code (#829) (b29a162)

  • Chain: Handle time until tx is not added to mempool (#816)

  • Git: Update issue template(#806)

  • Flavors: Remove deprecated code (#697)

  • Test: Increase code covarage (#830) (6f760fb)

Features

  • Wallet<->AEPP: Add new Wallet<->Aepp communication API

    Add two new stamps RpcWallet and RpcAepp Example of usage you can find heere: Aepp example and Wallet example

  • Wallet: Use postMessage for communication with extension wall… (#815) (dc7b4c2)

  • CI: Move to Travis CI (#809) (2d77f20)

  • CI: enable daily builds on latest node and compiler and enable codecov (#820) (3c52a1e)

  • ACI: Add check for contract address validity and existence. Add forceCodeCheck option for bytecode verification skip (#788) (c0cccc9)

  • Contract: Add ability to pass arguments or callData for contract deploy/call/callStatic API (#768) (a828076)

  • Contract: Adjust fee calculation for contractCall tx using FATE backend (#793) (7254ac1)

  • Compiler: Add new API validateByteCodeAPI available on compiler >= 4.1.0 (#788) (c0cccc9)

  • Tx: Always verify transaction before send it to the node (#798) (170f479)

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.3 (2019-12-11)

Bug Fixes

  • Channel: 5.2.0 compatibility (4be8eb8)

6.1.2 (2019-11-12)

Bug Fixes

  • Composition: Chain composition (9ac705f)

6.1.1 (2019-11-12)

Bug Fixes

  • ACI: Disable bytecode check for source and code on-chain. This changes will be included in next major release (#783) (fe6021b)

Features

  • KeyStore: Remove argon2 package, use libsodium for both browser and node (#782) (c18047e)

6.1.0 (2019-11-11)

Bug Fixes

  • AENS: auction end block calculation (#746) (4c1f5e4)

  • AENS: Fix produceNameId function(Make name lowercase). Enable … (#750) (fd14225)

  • state channels: wait for connection to be established before sending generic message (#723) (c5f35d1)

  • TxHelpers: Use BigNumber in auction end block calculation (777c012)

Features

  • ACI: Add validation for contractAddress (#764) (07cb0e7)

  • AENS: Add nameFee validation to TxValidator (#765) (5250e75)

  • AENS: Increase default nameTtl (#775) (c5f2582)

  • Contract: Add ability to pass arguments or callData for contract deploy/call/callStatic API (#768) (12aaca3)

  • Http: Assign error object to http error (#770) (87062ea)

  • state channels: add round method (#763) (c950937)

  • state channels: allow off chain updates to be cancelled with custom error code (#753) (ae4426e)

  • state channels: allow to pass metadata to transfer update (#755) (ddc6611)

  • state channels: make state channels compatible with node v5.0.0… (#688) (deed7fc), closes #632 #653 #658 #660 #680 #693 #687

  • state channels: make state channels compatible with node v5.1.0… (#776) (74952aa)

6.0.2 (2019-10-31)

Bug Fixes

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

6.0.1 (2019-10-29)

Bug Fixes

  • aens: added lower case transformation for aens names (#730) (f7f9f17), closes #728

6.0.0 (2019-10-16)

Code Refactoring

  • SPEND: Add additional validation for recipient (#715) (c1854bf)

Features

  • State Channels: make state channels compatible with node v5.0.0… (#688) (23936f5), closes #632 #653 #658 #660 #680 #693 #687

  • AENS: Change tld for Lima from aet to chain (#714) (323ef6a)

  • AENS: Implement name bid function (#706))

  • AENS: auction name fee calculation. Name fee validation and calculation in claim/bid (#706)

  • AENS: Add nameId computation function (#709) (#706)

BREAKING CHANGES

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

5.0.0 (2019-10-04)

Bug Fixes

Code Refactoring

  • ACI: rework Sophia Option type representation (#691) (0dbb2fe)

Features

  • AENS: Add ability to spend by name (#682) (0d43804)

  • AENS: Add ability to claim contract, oracle, SC (#671) (49fd0fd)

  • GA: enbale GA (#692) (eded912)

  • Lima: Lima compatibility (#683) (a88042e), closes #632 #653 #658 #660 #680 #693 #687

    • AENS auction support

    • compiler 4.0.0 support

    • node 5.0.0 support

    • SDK use FATE for contract by default

  • AE: Add pointers verification for spend by name

BREAKING CHANGES

  • aci: Change Sophia option type representation in ACI

// from
await contract.methods.optionFn(Promise.resolve(1) || Promise.reject());
// to
await contract.methods.optionFn(1 || undefined);

5.0.0-next.1 (2019-09-10)

Bug Fixes

  • package: update serialize-javascript to version 2.0.0 (#647) (1ddb392)

Features

  • Contract/ACI Add payable feature

  • Compiler: Compiler 4.0.0 compatibility (#632) (d5f1632)

  • Contract/ACI: Add ability to use contract with external namespaces(include "someLib") (#653) (9708b43)

4.7.0 (2019-09-11)

Features

  • Oracle: Add methods for polling queries #637

  • Chain: Add getBalance method (#655) (15147af)

  • state channels: add reconnect method (#662) (9d8d1e8)

  • state channels: add backchannel updates test#664

4.6.0 (2019-08-28)

Bug Fixes

  • Compiler: Fix forceCompatibility option (26beba8)

Features

  • Lima: add preliminary support for lima

  • ACI/Contract: Implement static-call for deploy transaction for ACI methods/Contract low lvl API (#630) (5b7eeb4)

Notes

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

4.5.1 (2019-08-22)

Refactor

  • Example Add node info to AEPP (#620)

Bug Fixes

  • GA Fix GA account composition (211e409)

4.5.0 (2019-08-20)

Bug Fixes

  • Crypto: Fix keypair verification (#605) (83a52fb)

  • RPC: Remove NodePool stamp from AE composition (#612) (21af2eb)

  • state channels: add missing argument in onOnChainTx callback (#604) (165cfe8)

  • state channels: fix awaitingOnChainTx state handler (#608) (8b7b65a)

  • Swagger: Always throw error from axios error handler (#607) (0e5cf61)

Features

  • MemoryAccount: Add validation of keypair (#594) (b8c2b20)

  • state channels: handle BigNumbers with json-bigint (#596) (14eaa3d)

  • state channels: send generic messages immediately (#600) (8ad7583)

  • Generalize Account Implement Generalized account support (#449)

    const authContract = `YOUR_AUTH_CONTRACT`
    
    // Make current account Generalized
    await client.createGeneralizeAccount(authFnName, authContract, [...authFnArguments]
    
    // Make spend transaction using GA
    // One Way
        // encoded call data for auth contract
        const callData = 'cb_...'
        await client.spend(10000, receiverPub, { authData: { callData } })
    
    // or
        // sdk will prepare callData itself
        await client.spend(10000, receiverPub, { authData: { source: authContract, args: [...authContractArgs] } })

4.4.0 (2019-08-09)

Bug Fixes

  • Package: update commander to version 3.0.0 (#597) (9aaa05c)

  • Contract: Fix dry-run without account (227fc5c)

Features

  • Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)

  • AE: Add ability to make operation on specific account using onAccount option.

     Exm: await client.spend(1, receiver, { onAccount: 'PUBLIC_KEY' })
     Add `onAccount` to `AENS`, `Contract`, `Oracle`.
     Add tests for using specific account to Contract, ACI, Account.
  • JSON:: Add serialization to JSON for bigNumbers

  • MemoryAccount: Add validation of keypair (#594) (b8c2b20)

  • State Channels: persist connection by pinging every 10 seconds (#571) (a70f919)

4.3.0 (2019-08-05)

Bug Fixes

  • State Channels: Fix onChainTx event params (#566) (11c85eb)

  • State Channels: Fix websocket url (#558) (33c1fd8)

  • Swagger: Pass query params in case of get request (#570)

Code Refactoring

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

Features

Docs

  • ACI Add some additional clarification to getContractInstance

4.2.0 (2019-07-15)

Bug Fixes

  • package: update libsodium-wrappers-sumo to version 0.7.5 (#541) (956ed75)

  • rpc-server: Fix type 'object' check (#526) (48c42e4)

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.0 (2019-06-22)

Bug Fixes

  • Node: Do not throw error if internalUrl not provided. Instead use url (#503) (053faae)

  • TXBuilder: Fix payload serialization if you try to unpack and pack tx. (#498) (73552e5)

  • TxValidator: Fix validation of state channel open transaction (#496) (325cc90)

Features

  • ACI: Refactor ACI module. Split to separated files. (#505) (fb7bc00)

  • 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

    const instance = await client.getContractInstance(source)
    // Deploy contract
    await.contract.init(100, 'test', options)
    //or
    await.contract.deploy([100, 'test'], options)
    // Call function
    const result = await instance.call('sum', [2, 5], options)
    //
      // Automatically decide to send tx on-chain or call-static(dry-run) base on if function stateful or not
      const result = await instance.methods.sum(2, 5, options)
      // Manually make on-chain
      const result = await instance.methods.sum.send(2, 5, options)
      // Manually make call-static
      const result = await instance.methods.sum.get(2, 5, options)
    //

Docs

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

4.0.1 (2019-06-13)

Bug Fixes

  • RPC: Add contract contractDecodeCallResultAPI to RPC (#482) (7eb6bd8)

  • README: Fix flavor link (#480)

Code Refactoring

  • Compiler: Fix compiler compatibility mechanism (#479) (78cc990)

  • Utils: Move json-bigint implementation to utils (#486) (1538867)

Build

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

4.0.0 (2019-06-12)

Bug Fixes

  • Ae: Fix exception when it used without Contract stamp

Code Refactoring

  • SCM: Update compatibility range for node: 3.0.1 - 4 and compiler 3.1.0 - 4 (#474) (a1494fd)

  • Test: Simplify client creation

Features

  • Docs chore(Docs): new docs (#370)

  • Compiler: Add getCompilerVersion to compiler stamp

  • ACI: Make compatible with compiler 3.1.0 (#457) (d92f2c7), closes #458

  • ACI: Generate JS function proto for each of contract function (#439) (2f47b4d)

  • Compiler/ACI: Make ACI compatible with compiler 3.0.0 (#441) (2a8eb1a)

  • Node: Avoid usage of "universal-url" package (#434) (a8268d5)

  • TX: encode payload as base64 (#460) (ad490af)

  • TX_BUILDER: Fix bug related to contract fee calculation. (#472) (7214cfb)

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.1 (2019-06-05)

Bug Fixes

  • Deps: Update axios lib to 0.19.0 due to security issue (f951765)

3.4.0 (2019-05-22)

Bug Fixes

  • State Channels: Remove automatic pinging to fix browser compatibility (#432) (0700f3a)

Features

  • Transaction Builder: Improve min fee calculation(Reduce the fee) (#424)

  • AXIOS: Add ability to intercept error from axios (#431)

    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 (#425) (#426)

3.3.0 (2019-05-17)

Bug Fixes

  • AEP exampe: Fix contract in AEPP example (e2fec19) fix(AEP exampe): Fix contract in AEPP example

Features

  • Consensus: Add function to get consensus version. (#413) (46027cd)

  • State Channels: Make state channels compatible with aeternity 3.0.0 (#415) (668e7f1)

  • Transaction Builder: Add serializations for transactions introd… (#416) (fd7b8ce)

BREAKING CHANGES

  • NODE Change compatibility from 2.3.0 to 3.0.0

3.2.1 (2019-05-16)

Bug Fixes

  • Joi: Add JOI browser comparability

3.2.0 (2019-05-16)

Bug Fixes

  • ACI: Add ability to pass zero address as number. (#396) (b5b5c61)

  • ACI: Fix address type transformation when decoding data (#335) (e37cdfc)

  • Contract: Add error handling(decoding) in low lvl contract API (#386) (e1fdce0)

  • Dependencies: Use URL class instead of "url" package

  • Dependencies: Use custom version of json-bigint

  • Dependencies: Avoid usage of semver package and cleanup deps

  • RPC: rpc client: Handle case if aepp opened without wallet

  • Channels: Fix state channel test's

Features

  • KEYSTORE: Add browser compatibility

  • TX: Handle VM/ABI fields serialization and validation basaed on tx type and node version

  • ACI: Add contract, address, record types argument/result transformation (#349) (0599d7d)

  • WEBPACK: webpack configs: Mark all dependencies as external

  • WEBPACK: Setup webpack-bundle-analyzer plugin

  • ACI: Add Option sophia type to ACI (#390) (83f5279)

  • ACI: Implement arguments validation for generic sophia types(list, map, tuple, record) (#384) (956e59e)

  • ACI: Update due to compiler API changes (#331) (e047f3b)

  • AE: Allow to spend % of balance. (#371) (f97a2ae), closes #336

  • Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)

  • Aepp: Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.

  • Compiler: Add decode CallData by source/bytecode (#354) (761f36b)

  • Fortuna: Node 3.0.0 compatibility (#397) (17b78d5)

  • RPC: Add getNodeInfo to AEPP stamp through RPC (#359) (2ddeea8)

  • State Channels: Add cleanContractCalls method (#338) (778159a)

  • State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156), closes #276 #299 #300 #303 #302 #279 #275 #276 #299 #300

  • State Channels: Remove endpoint param (#391) (8d9ea7e)

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.0 (2019-04-24)

Bug Fixes

  • ACI: Fix address type transformation when decoding data (#335) (e37cdfc)

Features

  • ACI: Add contract, address, record types argument/result transformation (#349) (0599d7d)

  • ACI: Update due to compiler API changes (#331) (e047f3b)

  • Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)

  • Compiler: Add decode CallData by source/bytecode (#354) (761f36b)

  • RPC: Add getNodeInfo and getNetworkId to AEPP stamp through RPC (#359) (2ddeea8)

  • State Channels: Add cleanContractCalls method (#338) (778159a)

  • State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156)

3.0.0 (2019-04-17)

Bug Fixes

  • ACI: Fix address type transformation when decoding data (#335) (e37cdfc)

Features

  • TX_BUILDER: Channel tx serializations

  • TxValidator: Add minGasPrice validation to contract transactions

  • ACI: Update due to compiler API changes (#331) (e047f3b)

  • Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)

  • State Channels: Add cleanContractCalls method (#338) (778159a)

BREAKING CHANGES

  • ACI Remove 2.0.0 compiler compatibility

2.4.1 (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.0 (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)

    const contractIns = await client.getContractInstance(contractSourceCode)
    console.log(contract)
     {
       interface: String, // Contract interface source code
       aci: String, // Contract interface json schema
       source: String, // Contract source code
       compiled: String, // Compiled contract code
       deployInfo: { address: contractAddress } // Object with deploy transaction,
       // Function
       compile: () => this, // Compile contract,
       deploy: (init = [], options = { skipArgsConvert: false }) => this, // Deploy contract (compile before if needed)
       call: (fn, params = [], options = { skipArgsConvert: false, skipTransformDecoded: false, callStatic: false } => CallRersult: Object // Call contract function
     }
  • Account: Extend Account.address() with accountFormatter now you can do

    export const ADDRESS_FORMAT = {
      sophia: 1, // return address like `0xHEX_ADDRESS`
      api: 2, // return address like `ak_9LJ8ne9tks78hTD2Tp571f7w2MJmzQMRsiZxKCkMA2d2Sbrc4`
    }
    
    //
    
    export { ADDRESS_FORMAT } from 'es/account'
    await account.address(format: ADDRESS_FORMAT) // default ADDRESS_FORMAT.api
  • 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

    1) Use Compiler instead of node API for encode/decode call-data and compile.
    2) Change Contract interface:
     - contractCallStatic (address, abi = 'sophia-address', name, { top, args = '()', call, options = {} } = {}) -> (source, address, name, args = [], { top, options = {} } = {}))
     - contractCall (code, abi, address, name, { args = '()', options = {}, call } = {}) -> (source, address, name, args = [], options = {})
     - contractDeploy (code, abi, { initState = '()', options = {} } = {}) -> (code, source, initState = [], options = {})
     - contractEncodeCall (code, abi, name, args, call) -> (source, name, args) // 'source' is -> Contract source code or ACI interface source

2.3.2 (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.1 (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.0 (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

2.3.0-next (2019-02-21)

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

2.2.1-next (2019-02-21)

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

2.1.1-0.1.0-next (2019-02-21)

Bug Fixes

  • Chore: Fix linter errors

2.1.0 (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.0 (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.2 (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.1 (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.0 (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.1 (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.2 (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.1 (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.0 (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.1 (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.0 (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

0.25.0-0.1.1 (2018-11-30)

Notes and known Issues

  • Chore: See [0.25.0-0.1.0]

0.25.0-0.1.0 (2018-11-30)

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 requirements

BREAKING CHANGES

0.25.0-0.1.0-next (2018-11-30)

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

  • Contract Support for < 0.25.0

  • Contract Aens use domain .test instead of .aet (see here)

  • Contract Use NETWORK_ID for signing (see here)

0.24.0-0.2.0 (2018-10-30)

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 Wallet)

Notes and known Issues

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

0.24.0-0.1.0 (2018-10-23)

Features

  • Node Full support of Node-0.24.0

  • 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

0.22.0-0.1.0-beta.1 (2018-10-02)

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

0.18.0-0.1.1 (2018-07-31)

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

0.18.0-0.1.0 (2018-07-24)

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)

0.15.0-0.1.0 (2018-06-12)

Features

  • Node Legacy Swagger file loading

  • Node Compatibility with < 0.15.0

Bug Fixes

  • Contract Contract unit state initialization

  • Node Missing required parameter for name transfers (workaround for Swagger file bug)

0.14.0-0.1.0 (2018-06-11)

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

0.13.0-0.1.1 (2018-05-24)

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