Skip to content

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)
  • drop [email protected] support (4008d12)
  • 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

  • simplify GA tests (7b9628c2)
  • oracle: avoid explicit waiting for 1 second (f81cd3a1)
  • passing of forceCompatibility flag (6f900b98)
  • contract: remove extra backend option (184566f9)
  • update channel tests to fate (35a996d8)
  • Faster tests (5d629103)
  • Extract strings tests into separate file (f3c7d3fa)
  • ga: Remove extra await (72bfc746)
  • Make tests more precise (fe7a8567)

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

  • ACI: Implement sophia variant type (#567) (8505dcf)
  • Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)
  • NodePool: Implement NodePool stamp (#574) (674166c)
  • State Channel: make state channel compatible with [email protected] (#568) (0d0e09b)
  • TxBuilder: Add helper for producing tx hash (#579) (e1b405e)
  • AE Make all AE stamps composed with Accounts (#581)

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