# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [14.1.0](https://github.com/aeternity/aepp-sdk-js/compare/v14.0.0...v14.1.0) (2025-04-29)

### Features

* **account:** add sync versions of AccountMnemonicFactory methods ([1d60eac](https://github.com/aeternity/aepp-sdk-js/commit/1d60eac5206cbd283003f58a8ab1e397a3e03cf1))
* **account:** detect MetaMask over EIP-6963 ([9e74b53](https://github.com/aeternity/aepp-sdk-js/commit/9e74b53918385c0aff93976c73336781288b37ce))
* **account:** experimental support of Ledger app v1.0.0 ([0116d74](https://github.com/aeternity/aepp-sdk-js/commit/0116d74fbcda28b1fcb5012dd44ff883dcf6971c))
* **account:** init AccountMnemonicFactory by seed ([fe74643](https://github.com/aeternity/aepp-sdk-js/commit/fe74643fb925768669fae8db28dfbcd68fbd2722))
* **account:** add `unsafeSign`, deprecate `sign` ([b0288cc](https://github.com/aeternity/aepp-sdk-js/commit/b0288cc4dec47e1b3bdaf68a653fc001b2a823ab))
* add `ensureEncoded`, `isEncoded`; deprecate `isAddressValid` ([5a11dc3](https://github.com/aeternity/aepp-sdk-js/commit/5a11dc34b0e8b577a937ed79b6ede1d4e3b412c8))
* add `hashMessage`, deprecate `messageToHash` ([5306e6b](https://github.com/aeternity/aepp-sdk-js/commit/5306e6bedec3b7fe1a5f9ddb47695e4d99ca9705))
* add `verifyMessageSignature`, deprecate `verifyMessage` ([f862b67](https://github.com/aeternity/aepp-sdk-js/commit/f862b67ccd55457a256ff7da3db5a087725ca89e))
* add `verifySignature`, deprecate `verify` ([a4a0232](https://github.com/aeternity/aepp-sdk-js/commit/a4a02329ea485eae39c7b176a5653e1a1df1b520))
* **aens:** add `getAuctionState` to Name ([4150890](https://github.com/aeternity/aepp-sdk-js/commit/4150890bb177e371a417d903fff9dbcdb4ba3a97))
* **aens:** add `id` getter to Name ([8700534](https://github.com/aeternity/aepp-sdk-js/commit/8700534d629053760fd44d4029fefd28cd9e7d5f))
* **aens:** add `isName`, deprecate `isNameValid` ([88c242a](https://github.com/aeternity/aepp-sdk-js/commit/88c242ab73a01043827abdb4a82ac491a8379052))
* **aens:** allow to pass salt between Name while claiming ([c8dc8cc](https://github.com/aeternity/aepp-sdk-js/commit/c8dc8ccce578b8b887574216696cee35ed665ebe))
* **node:** add Hyperchain endpoints ([05fcdfd](https://github.com/aeternity/aepp-sdk-js/commit/05fcdfd0fec517d96b4b55d2993d6aaeeccead58))
* **node:** ignore consensus protocol version if `ignoreVersion` set ([e2f83d6](https://github.com/aeternity/aepp-sdk-js/commit/e2f83d6630f09f8eb1a9835d666b1d1781285cb0))
* **node:** warn if incompatible version when `ignoreVersion` set ([2d6c59d](https://github.com/aeternity/aepp-sdk-js/commit/2d6c59de151a9c77b83b7c66ca15846fcd0f05c0))
* **oracle:** add `getQueries` to OracleBase ([0af61da](https://github.com/aeternity/aepp-sdk-js/commit/0af61da9c2a229aa6459881f601aa5479b39fe84))
* **contract:** show function name along its hash if missed in bytecode ([2727713](https://github.com/aeternity/aepp-sdk-js/commit/2727713e2d56297ee017b8898b50281a731c6d00))

### Bug Fixes

* **account:** implicitly connect to Aeternity snap, clean up flow ([e347d25](https://github.com/aeternity/aepp-sdk-js/commit/e347d2512678342850057335da32b249d3ff7bf0))
* **aens:** `computeAuctionEndBlock` returns value according to Ceres ([3b2f20c](https://github.com/aeternity/aepp-sdk-js/commit/3b2f20c98416639f33a8c95e63794e05888882c6))
* **aens:** handle `highestBid` as BigInt in auction details ([847bfa6](https://github.com/aeternity/aepp-sdk-js/commit/847bfa63de5a3b8a66525b46ab54ed1e64bd43f5))
* **aens:** make `getState`'s options override instance options ([2e0d672](https://github.com/aeternity/aepp-sdk-js/commit/2e0d672c790cd40b15c2ffcc0e6e504c1cfb023a))
* **aens:** mark `started_at` as required in auction details ([fba1012](https://github.com/aeternity/aepp-sdk-js/commit/fba1012cd493f2855dbbeb453cc183adddf1ce10))
* **chain:** set correct poll interval on hyperchain ([0454c62](https://github.com/aeternity/aepp-sdk-js/commit/0454c62a50677ab7ec044266450e3fb96dd284e8))
* **contract:** type checking of contract call return value ([4c8926b](https://github.com/aeternity/aepp-sdk-js/commit/4c8926b6c4b72cc6fca8608162ebe71dd7bc7ec7))
* **middleware:** generate api based on 1.97.1 ([359c17a](https://github.com/aeternity/aepp-sdk-js/commit/359c17a9afd6741e25b8c838e4d8605e98e2a2b4))
* **node,middleware:** more strict enum handling ([d3c5f0f](https://github.com/aeternity/aepp-sdk-js/commit/d3c5f0f2190a9dd1f1386c7a8910e99663066263))
* **tx-builder:** replace OracleResponseTx with OracleRespondTx ([19ec9b3](https://github.com/aeternity/aepp-sdk-js/commit/19ec9b366b5d2308eceb61cc43651440d136bb1e))
* **wallet:** don't require `debug` flag in BrowserRuntimeConnection ([997db99](https://github.com/aeternity/aepp-sdk-js/commit/997db993dc2b2b2d6e7c381b25a50a0e733a58d9))

## [14.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v13.3.3...v14.0.0) (2024-10-20)

### ⚠ BREAKING CHANGES

Please check out the [migration guide](/developer-documentation/aepp-sdk-js/docs/guides/migration/14.md) and a [tool](https://sdk.aeternity.io/v14.0.0/examples/browser/tools/) 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 nodejs\@18.19 or newer
* sdk types requires TypeScript\@4.8 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 middleware\@1.77.5 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](https://github.com/aeternity/aepp-sdk-js/commit/5047e4374afcee6f949b7c6678a15f6de5212d99))
* **account:** add AccountMetamaskFactory ([e9f9694](https://github.com/aeternity/aepp-sdk-js/commit/e9f96941871fde4570176f136ade02361fb74e1d))
* **account:** add AccountMnemonicFactory ([c785521](https://github.com/aeternity/aepp-sdk-js/commit/c78552173eaf5217ebaf4ae0d08c9613674dea84))
* **account:** encode secret key as sk\_-prefixed string ([b94e198](https://github.com/aeternity/aepp-sdk-js/commit/b94e198ef1b811bd42a6f7434466884d5333e13c))
* **account:** expose `secretKey` in MemoryAccount ([d4320e6](https://github.com/aeternity/aepp-sdk-js/commit/d4320e6f3aad37ff0efe12f113a5e6447d31ff07))
* **aepp:** add api to ask wallet to select network ([9871c91](https://github.com/aeternity/aepp-sdk-js/commit/9871c9194477c793a96e9012cbc2a9868f945d3b))
* **aepp:** extract class to connect to wallet from AeSdkAepp ([c3570ac](https://github.com/aeternity/aepp-sdk-js/commit/c3570ac2fbe27db8e16b9690b0a4107159bdb20d))
* **middleware:** add `requestByPath` method ([ee5ac0c](https://github.com/aeternity/aepp-sdk-js/commit/ee5ac0c16387b6b7ce71ffb688eb931e82bd8529))
* **middleware:** allow navigate to next/prev pages ([b89cf5b](https://github.com/aeternity/aepp-sdk-js/commit/b89cf5b6fcb5590131ace8191dfb278a679df6b6))
* **middleware:** mark as stable api ([e25b06d](https://github.com/aeternity/aepp-sdk-js/commit/e25b06d05d680a2f176ab5bf016bd7784f665f99))
* **middleware:** prefixed types provided by OpenApi instead of strings ([0b16a32](https://github.com/aeternity/aepp-sdk-js/commit/0b16a325df96b8f879e5372094ef9ce62beae478))
* **middleware:** return time as Date instance ([e48ffd1](https://github.com/aeternity/aepp-sdk-js/commit/e48ffd19edaae1165fc220e9b354fbdb17e8e8ee))
* **middleware:** switch to v3 api ([b0015c0](https://github.com/aeternity/aepp-sdk-js/commit/b0015c04a6594d8152b690788cd077604b91fdc3))
* **node:** return time as Date instance ([e0e33ea](https://github.com/aeternity/aepp-sdk-js/commit/e0e33ea1d23b41e2a2541bce62d3e54f7502f720))
* **oracle:** add `includeResponded` option to Oracle:pollQueries ([78a07ab](https://github.com/aeternity/aepp-sdk-js/commit/78a07ab8c38c17d0cebb2a6d7a7ff9ba64bf162d))
* **oracle:** add Oracle:handleQueries method ([03c77c0](https://github.com/aeternity/aepp-sdk-js/commit/03c77c0ba3c0893cc422fb3dff52f73895cf6aab))

### Bug Fixes

* **account:** improve Account:publicKey type ([1652a4b](https://github.com/aeternity/aepp-sdk-js/commit/1652a4ba81bfa4fbe9c0013a9ce6b15e84dc0fa9))
* **aens:** validate minus chars in name as node does ([329de9e](https://github.com/aeternity/aepp-sdk-js/commit/329de9e8f0b824cea89aaf016a7358223b82b061))
* **aepp:** don't require subscription to request addresses ([2b247ff](https://github.com/aeternity/aepp-sdk-js/commit/2b247ff2806c22fcff1d8c1cde021b16b049bf0a))
* **channel:** `channelId` type, more accurate types ([e572fae](https://github.com/aeternity/aepp-sdk-js/commit/e572fae7dff9db471f43a2d7eb7256f37eb7c734))
* **channel:** accept `host` only if initiator ([a7d4dde](https://github.com/aeternity/aepp-sdk-js/commit/a7d4dde587b3cc25c7a4a7700838d219dd01aae1))
* **channel:** reestablish flow ([1f4a0c1](https://github.com/aeternity/aepp-sdk-js/commit/1f4a0c1d43d9f37938bade1f9684383df1da260a))
* **channel:** remove `statePassword` unsupported on node side ([5cec07b](https://github.com/aeternity/aepp-sdk-js/commit/5cec07bca03b8ea2c7400580eb647d0146c76fdf))
* **channel:** remove unsupported ways to reopen channel by a transaction ([f3746a1](https://github.com/aeternity/aepp-sdk-js/commit/f3746a10c64119ea1e1d64d913678132dc98d6f4))
* **middleware:** accurate coin amounts ([00a4f3e](https://github.com/aeternity/aepp-sdk-js/commit/00a4f3e7b6a0e84f26a5dee3b18219e358c2938c))
* **middleware:** word casing in activity types ([f1fbb29](https://github.com/aeternity/aepp-sdk-js/commit/f1fbb29fffd1c6537c83c70559d5c333fda8f66f))
* **node,compiler,middleware:** mark $host as readonly ([9e47d5c](https://github.com/aeternity/aepp-sdk-js/commit/9e47d5c2aa118890a30d61c7859493c3a995b679))
* **node:** avoid complex types by code replacements instead generics ([4f531b1](https://github.com/aeternity/aepp-sdk-js/commit/4f531b1e747bd2a467d485eb128cf9de6075785e))
* **oracle:** emit unhandled rejection instead printing error ([3a57665](https://github.com/aeternity/aepp-sdk-js/commit/3a57665a4f3f57e79089cef8548eba0a93fdea6a))
* **tx-builder:** count amount in execution cost when spend to yourself ([5153649](https://github.com/aeternity/aepp-sdk-js/commit/515364920942e6eaa242e41d439fc6d6a9eaf89e))
* **tx-builder:** remove unused `ChannelClientReconnectTx` ([e6e954a](https://github.com/aeternity/aepp-sdk-js/commit/e6e954afb2f89052f295bf8ddd39d48b75142bcc))
* **wallet:** generate random string instead using external uuid dep ([f8640d4](https://github.com/aeternity/aepp-sdk-js/commit/f8640d4f4e3412d6ca99397edb9e66d295a36a16))
* **wallet:** origin if opened over file:// (cordova) ([d529f30](https://github.com/aeternity/aepp-sdk-js/commit/d529f304ab26a829598dbde6b0db37f6f7480f42))

### Commits with breaking changes

* **account:** make `signTypedData`, `signDelegation` abstract ([f2c6d1d](https://github.com/aeternity/aepp-sdk-js/commit/f2c6d1d0894406234f728081d69a23620ea88e74))
* **account:** remove `generateKeyPair` ([18c6789](https://github.com/aeternity/aepp-sdk-js/commit/18c6789425ae654f7b3359d7adc136c33440c4ec))
* **account:** remove `generateKeyPairFromSecret` ([2cbaa7c](https://github.com/aeternity/aepp-sdk-js/commit/2cbaa7c76e0606d0909ffe0cf7e7f4ae1edc7d72))
* **account:** remove `getAddressFromPriv` ([9446639](https://github.com/aeternity/aepp-sdk-js/commit/9446639afd17378f881635a884b59cb2bb765ea7))
* **account:** remove `isValidKeypair` ([512385a](https://github.com/aeternity/aepp-sdk-js/commit/512385a57b0b10dc3c4dfe250324d1f7416f6c78))
* **account:** remove `sign`, `signMessage` ([30077bc](https://github.com/aeternity/aepp-sdk-js/commit/30077bcd16bd5231e62e2d8fc159ef392bb1e866))
* **account:** remove save HD wallet functions ([10e7c89](https://github.com/aeternity/aepp-sdk-js/commit/10e7c8945e00053c800edbe34b5ec8e611539ba7))
* **aens:** replace aens methods with Name class ([956daac](https://github.com/aeternity/aepp-sdk-js/commit/956daacfc27cfdfdb9412b2b81f1784908a24233))
* **aepp:** remove RpcBroadcastError ([1f0b3bb](https://github.com/aeternity/aepp-sdk-js/commit/1f0b3bbb7edb615b05c014e90fadac1642b8a331))
* **compiler:** drop aesophia\@7 support ([df0e050](https://github.com/aeternity/aepp-sdk-js/commit/df0e050adf5d073ac621ef9928c7e88df67e6878))
* **contract:** don't depend on Contract in AeSdk ([00b4f86](https://github.com/aeternity/aepp-sdk-js/commit/00b4f864eea8b44631eaeb11df872fc8140f4a96))
* **contract:** remove `encodeFateValue`, `decodeFateValue` ([c521597](https://github.com/aeternity/aepp-sdk-js/commit/c521597e4ee4243266011d5e23e0fb75a126a404))
* drop Iris support ([61554b3](https://github.com/aeternity/aepp-sdk-js/commit/61554b32e02a26664df6954871917a9454e6d41f))
* drop typescript\@4.1 support ([4008d12](https://github.com/aeternity/aepp-sdk-js/commit/4008d12f6d29907aa848ca6637cce1c24e996059))
* **middleware:** require 1.77.5 ([08783fd](https://github.com/aeternity/aepp-sdk-js/commit/08783fd935cb204f807afef3e9fa3fbb1db77b9c))
* **middleware:** require 1.81.0 ([3243768](https://github.com/aeternity/aepp-sdk-js/commit/32437688ca70b563f041b562f4bea90c46e10467))
* **node:** require 7.1.0 ([0dd3b49](https://github.com/aeternity/aepp-sdk-js/commit/0dd3b49ed0d603c3abab5d151b2a829beb69adad))
* **oracle:** add Oracle class ([54ee614](https://github.com/aeternity/aepp-sdk-js/commit/54ee6145dc7bd097e0bc1cb91d2a09c29d278a92))
* **oracle:** add OracleClient class ([0293fe4](https://github.com/aeternity/aepp-sdk-js/commit/0293fe4689bb6dbdc13901d2b238901ea36e445f))
* **oracle:** replace `getQueryObject` with OracleBase ([bcab498](https://github.com/aeternity/aepp-sdk-js/commit/bcab4981b509c31d1fa6342f4da33580e4625448))
* remove `createDelegationSignature` ([651b6ec](https://github.com/aeternity/aepp-sdk-js/commit/651b6ecd9f747754c785fbc01bea25b88df03b02))
* remove `NAME_BID_MAX_LENGTH` ([83797a4](https://github.com/aeternity/aepp-sdk-js/commit/83797a4a1d778104f86c9ddcc6c04fb29dce6bfe))
* remove `signAllNamesDelegationToContract` ([60a729d](https://github.com/aeternity/aepp-sdk-js/commit/60a729d98be3262aed7dd4dcca457f85cd886f36))
* remove `signDelegationToContract` ([cd495a6](https://github.com/aeternity/aepp-sdk-js/commit/cd495a6409bfa3fa2012046da8e83dbf759f6fc0))
* remove `signNameDelegationToContract` ([9ab8f41](https://github.com/aeternity/aepp-sdk-js/commit/9ab8f410226fca846dbfb5450a4da99940de7115))
* remove `signOracleQueryDelegationToContract` ([f948492](https://github.com/aeternity/aepp-sdk-js/commit/f94849264541b4dde85011ff696e6e6dc5b6a9d4))
* remove keystore implementation ([5e64ec9](https://github.com/aeternity/aepp-sdk-js/commit/5e64ec9a22246df80846b715dfe3adca2b28ef4c))
* rename legacy bundles to cjs ([46cd27b](https://github.com/aeternity/aepp-sdk-js/commit/46cd27b8459de1acad3eed219cadc1705ec4460a))
* require nodejs\@18.19 or newer ([84d868c](https://github.com/aeternity/aepp-sdk-js/commit/84d868c3c82b8f43c163705d88e0eb0594efc55d))
* **tx-builder:** extract entries into separate builder ([d5fde18](https://github.com/aeternity/aepp-sdk-js/commit/d5fde18a04886d657266f1c1416c708e5a7b65ea))
* **tx-builder:** remove deprecated constant exports ([2ecf0f4](https://github.com/aeternity/aepp-sdk-js/commit/2ecf0f45de2dcea7a0259b29600fbd17affcbf3a))
* **tx-builder:** remove deprecated constant exports ([2342aa6](https://github.com/aeternity/aepp-sdk-js/commit/2342aa6d7b379a3db5a48f77fe6f026ad5c9d881))
* update @types/node, drop TS below 4.8 ([9d36e6c](https://github.com/aeternity/aepp-sdk-js/commit/9d36e6cbce669aca2d4baf294b397a41cdfab93b))
* **wallet,aepp:** remove `delegationToContract.sign` method ([c4d62b0](https://github.com/aeternity/aepp-sdk-js/commit/c4d62b05825444f8cf90595010ca5d4c38c99777))

### [13.3.3](https://github.com/aeternity/aepp-sdk-js/compare/v13.3.2...v13.3.3) (2024-07-17)

### Bug Fixes

* **account:** improve Account:publicKey type ([0524553](https://github.com/aeternity/aepp-sdk-js/commit/0524553267162be30476b2ccebdd3f2633e9bb73))
* **aens:** validate minus chars in name as node does ([15063c6](https://github.com/aeternity/aepp-sdk-js/commit/15063c68bbd4f6918648d9f23c069861d39dad98))
* **aepp:** don't require subscription to request addresses ([8ce976e](https://github.com/aeternity/aepp-sdk-js/commit/8ce976e470fe67487079534671d854ccd7f0d080))
* **channel:** `channelId` type, more accurate types ([2b064d8](https://github.com/aeternity/aepp-sdk-js/commit/2b064d8a2969f93c33c345e1822aaea5678e5e09))
* **channel:** accept `host` only if initiator ([cfdfd72](https://github.com/aeternity/aepp-sdk-js/commit/cfdfd725f3753b06d3b458d971c980ac9b0f3596))
* **channel:** remove `statePassword` unsupported on node side ([74db9bb](https://github.com/aeternity/aepp-sdk-js/commit/74db9bb68df997a10c1f7e4319616bb9b2a5612d))
* don't allow upgrades `@azure/core-rest-pipeline` ([03058d4](https://github.com/aeternity/aepp-sdk-js/commit/03058d4a26d2573aa5dd33915c86eb6140de42ff))
* don't allow upgrades `@ledgerhq/hw-transport` to 6.31.0 ([1ef43e6](https://github.com/aeternity/aepp-sdk-js/commit/1ef43e63fd2a75b891d3b13de03db67b6e5fac0d))
* **wallet:** origin if opened over file:// (cordova) ([4ee44be](https://github.com/aeternity/aepp-sdk-js/commit/4ee44bef2fab01a97771ed46e40f9fee3b343aad))

### [13.3.2](https://github.com/aeternity/aepp-sdk-js/compare/v13.3.1...v13.3.2) (2024-04-22)

### Bug Fixes

* **contract:** detect if ACI doesn't match called contract ([8c4287f](https://github.com/aeternity/aepp-sdk-js/commit/8c4287f2cdd1690ed2e07410a322659e4f17f2d3))
* ttl validation error in dev mode by reducing polling intervals ([6f8cdc9](https://github.com/aeternity/aepp-sdk-js/commit/6f8cdc9dd82a7dd7f146739d472dc07018f8d230))

### [13.3.1](https://github.com/aeternity/aepp-sdk-js/compare/v13.3.0...v13.3.1) (2024-04-19)

### Bug Fixes

* **node:** mark as compatible with 7.0.0 ([562eda9](https://github.com/aeternity/aepp-sdk-js/commit/562eda9d50b73b15801a1f78c8f0578a425acfe9))

## [13.3.0](https://github.com/aeternity/aepp-sdk-js/compare/v13.2.2...v13.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](https://github.com/aeternity/aepp-sdk-js/commit/2c211399df3232e1830ead946ab49e971f4af70b))
* add `getContext` method to AeSdk ([04508d0](https://github.com/aeternity/aepp-sdk-js/commit/04508d0df67f111c627144381a30d087e314873f))
* **aens:** support update with raw pointers ([db2659a](https://github.com/aeternity/aepp-sdk-js/commit/db2659a30ed9a076387d4efbddfa4d6efd85bee3))
* **aepp,wallet:** allow raw data sign ([7d0136d](https://github.com/aeternity/aepp-sdk-js/commit/7d0136d24d0949faec1047c1e1449727c753a160))
* **chain:** add `cache` option to `getHeight` ([c7d0955](https://github.com/aeternity/aepp-sdk-js/commit/c7d09555632826d9eff62197c2708d14b870c68f))
* **compiler:** add CompilerCli8 class ([29f1cd3](https://github.com/aeternity/aepp-sdk-js/commit/29f1cd3549af63cd88b83853d50c572bdc7feef8))
* **compiler:** provide compilation warnings ([d0ec012](https://github.com/aeternity/aepp-sdk-js/commit/d0ec0121ac6e82f44f55809190d46b92048435e5))
* **compiler:** update cli and http compilers to 7.4.0 ([2041d8b](https://github.com/aeternity/aepp-sdk-js/commit/2041d8bcba9b8ef118b439a59526843d50c2f75f))
* **contract:** resolve names on node side in Ceres ([474f0fd](https://github.com/aeternity/aepp-sdk-js/commit/474f0fde0e209696aab4348e1bd67d893e33d6f4))
* **contract:** support all names delegation to contract ([92dae86](https://github.com/aeternity/aepp-sdk-js/commit/92dae869cf6d2483ffbe849f431d111d71c2f3ea))
* jwt utilities ([c747ce6](https://github.com/aeternity/aepp-sdk-js/commit/c747ce66e2c13925bb2eee36418bc88b44aa8bd5))
* **node:** add param indicating retry ([6f0dbd8](https://github.com/aeternity/aepp-sdk-js/commit/6f0dbd8dbd437b0c280983576788493009a09127))
* **node:** show error code if available ([2cce91d](https://github.com/aeternity/aepp-sdk-js/commit/2cce91dba7a7e474c55b5efa86b0618316701bbb))
* spend to payable contract ([7621716](https://github.com/aeternity/aepp-sdk-js/commit/76217161be62999bd091e76c10f67606c88e4c9b))
* support new delegation format in Ceres ([786e954](https://github.com/aeternity/aepp-sdk-js/commit/786e954d4a0149d1647271bcaadc69bb250c357a))
* **tx-builder:** get actual gas price from node ([09d19bf](https://github.com/aeternity/aepp-sdk-js/commit/09d19bff34ef5212dfa48bfe5c18bd28fd07be99))
* **tx-builder:** pick `queryFee` from the node if not provided ([ca495c8](https://github.com/aeternity/aepp-sdk-js/commit/ca495c810352f5aa6a4f17fba136ccbee7297b7e))
* **tx-builder:** reject used accounts in GaAttachTx in Ceres ([88b1d5d](https://github.com/aeternity/aepp-sdk-js/commit/88b1d5dfc626940983d854f2dd344ad231037ed3))
* **tx-builder:** validate `nameTtl` in NameUpdateTx ([bca877e](https://github.com/aeternity/aepp-sdk-js/commit/bca877efa76ed0eb9e0c3b6c60bcbcad3c0d9008))

### Bug Fixes

* **aens:** make `extendTtl` argument optional ([028876f](https://github.com/aeternity/aepp-sdk-js/commit/028876fb79d2dd5eb2b9d96336b068900db1f837))
* **aens:** reduce default client ttl to one hour ([daf7fa0](https://github.com/aeternity/aepp-sdk-js/commit/daf7fa0d9306f75f4d5305b26ed6a4aba98e0435))
* **chain:** poll till ttl if defined to ensure tx can't be mined ([0751244](https://github.com/aeternity/aepp-sdk-js/commit/0751244c9f7df75bdd7009d878c9235cdabcc796))
* **contract:** build address by signed tx ([60a283b](https://github.com/aeternity/aepp-sdk-js/commit/60a283bdb745b15902dc615fdaaf0eed55429ca1))
* **contract:** don't duplicate NoSuchContractFunctionError message ([2f3bba5](https://github.com/aeternity/aepp-sdk-js/commit/2f3bba529d7abd5a3da90e085b38faf74f1d4cea))
* improve error message when no wrapped value ([054bc89](https://github.com/aeternity/aepp-sdk-js/commit/054bc89b940cacdeae1f804153ef39c3fa1e0026))
* **node,middleware,compiler:** version check if deployed at path ([450296e](https://github.com/aeternity/aepp-sdk-js/commit/450296e7f275e9cec3af2c76a50af201b1929dd6))
* **node,middleware:** remove duplicate retry policy ([f6470a2](https://github.com/aeternity/aepp-sdk-js/commit/f6470a21a211c7655ff07f7853b92447a29ea262))
* **node:** add missed conversion of `difficulty` and `hashrate` to number ([271ff5e](https://github.com/aeternity/aepp-sdk-js/commit/271ff5ef53b217f7c490fcc63d83a88ffbb858cd))
* **node:** don't remember failed version request ([fba0e79](https://github.com/aeternity/aepp-sdk-js/commit/fba0e79800e86f7774978f60f7113b1797213751))
* **node:** show correct error message if body is missed ([ed10482](https://github.com/aeternity/aepp-sdk-js/commit/ed10482d3641c64a4af8374d7000b8f4a467d55c))
* **node:** show correct error message if ECONNREFUSED ([ef347a1](https://github.com/aeternity/aepp-sdk-js/commit/ef347a16e9ceebc405e878af28d3198e312eb309))
* **tx-builder:** don't accept ttl equal to block height ([d9cde12](https://github.com/aeternity/aepp-sdk-js/commit/d9cde12f50cd3530d74338fe500c622b27bcbbb9))
* **tx-builder:** don't estimate gas for non-transactions ([f72167a](https://github.com/aeternity/aepp-sdk-js/commit/f72167a8b1d79a54de37c016fb87c55ff4c12da5))
* **tx-builder:** limit ttl to 3 in case tx built internally ([08d14c2](https://github.com/aeternity/aepp-sdk-js/commit/08d14c2d50c480ccc25f2dc67b0a09d1487c35bb))
* **tx-builder:** remove invalid oracle tx type in validator ([78e7c48](https://github.com/aeternity/aepp-sdk-js/commit/78e7c488b7e826946b426fbb0ed83366091bdbdd))

## [13.2.2](https://github.com/aeternity/aepp-sdk-js/compare/v13.2.1...v13.2.2) (2023-09-20)

### Bug Fixes

* use proper vm version in Ceres ([bcaa5cf](https://github.com/aeternity/aepp-sdk-js/commit/bcaa5cfe0f8a23a641d9db993b312e2d54cfdd60))
* **aepp,wallet:** connect to web-extension if opened over file:/// ([da6a025](https://github.com/aeternity/aepp-sdk-js/commit/da6a0257e995db38e32888390961eb870a482777))
* **aepp:** use complete type of WalletInfo object ([eeba565](https://github.com/aeternity/aepp-sdk-js/commit/eeba56576b97afda6739fa8cd0f9e5c6f039651f))
* **contract:** don't mark contract as deployed if tx failed ([cc4222d](https://github.com/aeternity/aepp-sdk-js/commit/cc4222db8dc979c878e6e51bea9634484b826de7))
* **contract:** use current nonce in static calls ([758bdfc](https://github.com/aeternity/aepp-sdk-js/commit/758bdfc75a1dd8e4ff0646ddeaa10e19b1a4d5d1))
* **node:** don't retry 500 code responses ([696e7db](https://github.com/aeternity/aepp-sdk-js/commit/696e7db88605a385789d741f2704aba2c1cee972))
* **node:** throw clear error message if unsupported protocol ([21dfe34](https://github.com/aeternity/aepp-sdk-js/commit/21dfe34b3645d95b4c54d99e8517a33634b3751f))
* **node:** uncatchable exception if request failed in queue ([dec62a4](https://github.com/aeternity/aepp-sdk-js/commit/dec62a474cad4639b81cbef46ff606c384f7ab53))
* typos in error messages and docs ([5c84671](https://github.com/aeternity/aepp-sdk-js/commit/5c846712a32a110e1a5df25d5c4366046d9558f5))

### [13.2.1](https://github.com/aeternity/aepp-sdk-js/compare/v13.2.0...v13.2.1) (2023-07-28)

### Bug Fixes

* use `Number` instead of unary plus for BigInt ([33fcfb4](https://github.com/aeternity/aepp-sdk-js/commit/33fcfb452b7340b73a13300e19cfeb83a94406c2))

## [13.2.0](https://github.com/aeternity/aepp-sdk-js/compare/v13.1.0...v13.2.0) (2023-07-28)

### Features

* **account:** add methods to generate delegation signatures ([18bdf5a](https://github.com/aeternity/aepp-sdk-js/commit/18bdf5a113afac2c9a0c99555e2e301f043fa3ab))
* **aepp,wallet:** support delegation signatures ([fd0dc43](https://github.com/aeternity/aepp-sdk-js/commit/fd0dc439418d2b63935bb8bbfb04020ef0884ecc))

### Bug Fixes

* **account:** add implementation of `signTypedData` in AccountBase ([fc6e42f](https://github.com/aeternity/aepp-sdk-js/commit/fc6e42f1229c5bebb0a0802126bd7ea5c8726f3d))
* **wallet:** don't ask to confirm unsubscription ([e2ffc25](https://github.com/aeternity/aepp-sdk-js/commit/e2ffc25021d16b197bba41c88520e0a842b88ba9))
* **wallet:** don't require to be subscribed to request addresses ([36920b4](https://github.com/aeternity/aepp-sdk-js/commit/36920b4234a00be4e3cc2728372e875b361f9409))
* **wallet:** return accounts according to subscription ([fa900c0](https://github.com/aeternity/aepp-sdk-js/commit/fa900c0481cc898211a3d99d22d57d34cac02177))

## [13.1.0](https://github.com/aeternity/aepp-sdk-js/compare/v13.0.1...v13.1.0) (2023-07-07)

### Features

* **account:** support signing typed data ([e5acdd4](https://github.com/aeternity/aepp-sdk-js/commit/e5acdd44e056cd60638088d74753f912809e63d2))
* **aens:** add `ensureName` helper to check names ([f1322b1](https://github.com/aeternity/aepp-sdk-js/commit/f1322b13ab99860719ca47dda8e277ece6f7823c))
* **aens:** support unicode names claim ([f837e90](https://github.com/aeternity/aepp-sdk-js/commit/f837e9081b0ac7eefa942f31e3056b00bd3768eb))
* **aepp,wallet:** support inner transaction signing ([725782b](https://github.com/aeternity/aepp-sdk-js/commit/725782b8d84ac426d3a192d40de8e1e155e370bc))
* **aepp,wallet:** support signing typed data ([78ce3b2](https://github.com/aeternity/aepp-sdk-js/commit/78ce3b259377a719dbf7ada7bf3b744e630f0dac))
* **compiler:** add `generateAci`, `generateAciBySourceCode` ([981bcf2](https://github.com/aeternity/aepp-sdk-js/commit/981bcf252432a3b96aca92ccd682214c124009e2))
* **middleware:** generate autorest wrapper ([bd08a08](https://github.com/aeternity/aepp-sdk-js/commit/bd08a087509bb47acf49cd015d5d7016b544094e))
* **middleware:** implement MiddlewareSubscriber ([b51b0a3](https://github.com/aeternity/aepp-sdk-js/commit/b51b0a3ffb7258f3ed1f25395b95811f39ba0cc7))

### Bug Fixes

* `onAccount` option in AeSdkMethods ([290758b](https://github.com/aeternity/aepp-sdk-js/commit/290758b1884dc36209194bc6bd760c6063f9edd3))
* **aens:** more accurate name check in `isNameValid` ([b62dcc6](https://github.com/aeternity/aepp-sdk-js/commit/b62dcc655f086cdf28611837e1ed3de2bae09d37))
* **aepp:** call `onDetected` always with `newWallet` ([80d97fa](https://github.com/aeternity/aepp-sdk-js/commit/80d97fa4b3d2c3fd5fb710c2bdaae10ab521f129))
* **contract:** use fallback account if `onAccount` not provided ([9033cd7](https://github.com/aeternity/aepp-sdk-js/commit/9033cd799be5974ebf28a49df181eeb63b1fce84))
* converting proxied options to JSON ([efebbd1](https://github.com/aeternity/aepp-sdk-js/commit/efebbd139ea85c35e28bdcfe907670743f9fc1f4))
* provide types in exports field of package.json ([dbd19e7](https://github.com/aeternity/aepp-sdk-js/commit/dbd19e70bca2d6dbc5b2392db478bb98936b63f2))
* reject prefixes other than provided in isAddressValid ([9462add](https://github.com/aeternity/aepp-sdk-js/commit/9462adde8fab9848fca0a6d9a382dbd34f5e2b8f))
* **tx-builder:** `buildTx` produces the same type as `unpackTx` accepts ([d3d6c88](https://github.com/aeternity/aepp-sdk-js/commit/d3d6c88607abbfb74acf016fba886540938b216d))
* **tx-builder:** decode tag in entry error message ([db0d96f](https://github.com/aeternity/aepp-sdk-js/commit/db0d96f156f3e8cfe52c6a7d7411c359f6dae35c))
* **wallet:** emit internal error if something broke while broadcast ([332d1b5](https://github.com/aeternity/aepp-sdk-js/commit/332d1b567f69bf6b7d3567af43fb805556ac015b))
* **wallet:** throw reason of internal error to handle it in wallet ([276699b](https://github.com/aeternity/aepp-sdk-js/commit/276699ba22539f75591754d2e2c3c503d528fdf4))

### [13.0.1](https://github.com/aeternity/aepp-sdk-js/compare/v13.0.0...v13.0.1) (2023-04-24)

### Bug Fixes

* **contract:** return type of call/deploy on chain ([c493707](https://github.com/aeternity/aepp-sdk-js/commit/c49370756fa3ed3a6f37bad2cefcbbd858ff94ee))
* export of `prefixedAmount` helper ([9b3f68f](https://github.com/aeternity/aepp-sdk-js/commit/9b3f68f99b3943c42c4639c3a247ee9881229d18))

## [13.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v13.0.0-beta.0...v13.0.0) (2023-04-06)

### ⚠ BREAKING CHANGES

Please check out [migration guide](/developer-documentation/aepp-sdk-js/docs/guides/migration/13.md), and release notes for the [beta release](#1300-beta0-2023-03-01).

* **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](https://github.com/aeternity/aepp-sdk-js/commit/5854cae16dc8372214a715a6f5313a8a02ce091c))
* export Encoded type ([026f4c1](https://github.com/aeternity/aepp-sdk-js/commit/026f4c1340a1b839a11d5c9e725cacadfe3c8fee))

### Bug Fixes

* **aepp:** use the same name for all nodes provided by wallet ([0ece313](https://github.com/aeternity/aepp-sdk-js/commit/0ece3131c72103e961de96dfbb8a4a64babaef9c))
* **chain:** reduce /2 number of blocks to wait before throwing timeout ([44de66b](https://github.com/aeternity/aepp-sdk-js/commit/44de66bbb504c7f3565b16a9305a65b7e9fa252a))
* **contract:** add missed `sourceCodePath` cases ([5be4cd9](https://github.com/aeternity/aepp-sdk-js/commit/5be4cd99bba2499287241c8e0c432dd57a277d89))
* **aepp:** remove select option in connectToWallet ([adf9c3e](https://github.com/aeternity/aepp-sdk-js/commit/adf9c3ecd7f64194fcdf3183a46c7c5c1c6e8714))

## [13.0.0-beta.0](https://github.com/aeternity/aepp-sdk-js/compare/v12.1.3...v13.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](https://github.com/aeternity/aepp-sdk-js/commit/c1066c5850378c3b0e0164bc86f3b213dd010422))
* **account:** override `fee`, `gasPrice` of GaMetaTx in `authData` ([177a100](https://github.com/aeternity/aepp-sdk-js/commit/177a100b18d2b6bf7ecabb1b8cb388eb3b1f2add))
* **chain:** `getBalance` accepts OracleAddress ([df2e5e3](https://github.com/aeternity/aepp-sdk-js/commit/df2e5e3892d481ddc6ee86a342c5be7af4d24585))
* **channel:** emit `newContract` event ([8d71bba](https://github.com/aeternity/aepp-sdk-js/commit/8d71bbafcccc2fafe0b60a52d53e6fcdb9bb78c1))
* **contract:** add ability to compile by path in node.js ([74867b7](https://github.com/aeternity/aepp-sdk-js/commit/74867b723b67c9a1d63f0c1d0f7c177e5775b725))
* **contract:** add CompilerCli ([de56cbe](https://github.com/aeternity/aepp-sdk-js/commit/de56cbe3c3ebc7fa5a73026caa6ff36edfffbc15))
* **contract:** allow to create GA using `sourceCodePath`, `bytecode` ([9410af2](https://github.com/aeternity/aepp-sdk-js/commit/9410af201d7285cc5adbf3839568cb26af1da774))
* **contract:** decode emitted events of contract deploy ([bf46eb6](https://github.com/aeternity/aepp-sdk-js/commit/bf46eb66390fbc3a03c9984599bd650e46ef8f5e))
* **contract:** don't require compiler ([d2f9fa8](https://github.com/aeternity/aepp-sdk-js/commit/d2f9fa830f0afba6b4d98acf38a13b850f19a913))
* **contract:** extract $getCallResultByTxHash method ([0a8d138](https://github.com/aeternity/aepp-sdk-js/commit/0a8d1382d657c46c320eb41c23307f2bfd534df5))
* **contract:** support unit type ([b5bf7a8](https://github.com/aeternity/aepp-sdk-js/commit/b5bf7a894fedaf3de7f0885a2bf8fea6b41f4c89))
* **node:** exponential retry of requests on failure ([aadec0d](https://github.com/aeternity/aepp-sdk-js/commit/aadec0dd903485383a4313c1f19b3318a1815910))
* setup downleveled types for typescript\@4.2 and above ([fd2b97f](https://github.com/aeternity/aepp-sdk-js/commit/fd2b97fb5f8d0641bee1e2c2795599a3448a82cb))
* support CERES protocol version ([8960a91](https://github.com/aeternity/aepp-sdk-js/commit/8960a9149adf61307b598aa048110768322d4a1a))
* **tx-builder:** deserialisation of `channels.get.offchain_state` ([ed31aff](https://github.com/aeternity/aepp-sdk-js/commit/ed31aff5baf9ff9d177cbca0ad2fdff81120ea16))
* **tx-builder:** implement buildAuthTxHashByGaMetaTx ([bd656c2](https://github.com/aeternity/aepp-sdk-js/commit/bd656c2cbff1484a635b67c3ca36b68fac19cb65))
* **tx-builder:** implement getExecutionCost and related functions ([33085c2](https://github.com/aeternity/aepp-sdk-js/commit/33085c268194173df004f514fbcc59b273d2b42f))
* **tx-builder:** implement getTransactionSignerAddress function ([2360cd2](https://github.com/aeternity/aepp-sdk-js/commit/2360cd2d70242f233857ada740a19f8d6834a52a))
* **tx-builder:** support incomplete MPTrees ([115bcf5](https://github.com/aeternity/aepp-sdk-js/commit/115bcf5f1aeb26ee0c69a807dbce38449bcceb57))
* **tx-builder:** support recursive types ([4f4dff6](https://github.com/aeternity/aepp-sdk-js/commit/4f4dff6ed4fd324ca5184067be61d3ca00613ed8))
* **tx-builder:** typed decoding of MPTrees ([da1e35a](https://github.com/aeternity/aepp-sdk-js/commit/da1e35a291fd6afe2470cb765a613163209d6390))
* **tx-builder:** unpack `poi` field of channel CloseSolo Slash tx ([4a49b03](https://github.com/aeternity/aepp-sdk-js/commit/4a49b03687fd91f980edc0e5dd6aec10f1d2d234))
* **tx-builder:** validate address and enum fields in runtime ([5898b3a](https://github.com/aeternity/aepp-sdk-js/commit/5898b3a074699c2a646f58f54f526f0aae8d20cb))
* **account:** add `generate` method to MemoryAccount ([e0fa641](https://github.com/aeternity/aepp-sdk-js/commit/e0fa64126d23cf1c61207155f3dbb66ff7e19323))
* add Ledger HW support ([587e058](https://github.com/aeternity/aepp-sdk-js/commit/587e0583debc43f5667a6e1aa0dafd986bd6e3e4))
* ensure that used correct account type while signing transaction ([46e8db3](https://github.com/aeternity/aepp-sdk-js/commit/46e8db337f65674c7d50b760a46ee9a4aad0c17d))
* extract AeSdkMethods class with minimal interface ([fd0fe76](https://github.com/aeternity/aepp-sdk-js/commit/fd0fe76b08f7a670ca87e177dde6bd5233bcae05))
* restore the ability to specify an array of accounts in AeSdk constructor ([aba9b9f](https://github.com/aeternity/aepp-sdk-js/commit/aba9b9f7a2452154b90d10faa65b76edcf7313a0))

### Bug Fixes

* **aepp:** don't require connection to wallet to make a static call ([bab9eee](https://github.com/aeternity/aepp-sdk-js/commit/bab9eee54659d783eb64a8cec5ec89597498e288))
* **channel:** increase pong timeout 3 times (to 15 seconds) ([d03ec1c](https://github.com/aeternity/aepp-sdk-js/commit/d03ec1c9ae775dc915aa055f8b5c5bce294112cc))
* **channel:** return type of `state` ([3c34457](https://github.com/aeternity/aepp-sdk-js/commit/3c34457685a7dc18ff2f34ad91bf75246547fac6))
* compatibility with @vue/cli\@4 ([41521ff](https://github.com/aeternity/aepp-sdk-js/commit/41521ff0d3f7a19c0c0fbec8e73c9bc003c9442d))
* **contract:** avoid `any` in arguments ([70453f1](https://github.com/aeternity/aepp-sdk-js/commit/70453f120fe4c0093fcc192595de13dc4a047462))
* **contract:** don't mark `event` field as required in Aci ([2c44cd1](https://github.com/aeternity/aepp-sdk-js/commit/2c44cd1055df91153aa7f7c4894ed63188cf8a0c))
* **contract:** dry-run accept `top` as number ([ebe5986](https://github.com/aeternity/aepp-sdk-js/commit/ebe59868ae60a0ae285931ca00a5433dd9c9e788))
* **contract:** static call at specific height ([99441dd](https://github.com/aeternity/aepp-sdk-js/commit/99441dd084ea012ca63faa8d98208ea0031078a3))
* **contract:** type of FunctionAci ([0929304](https://github.com/aeternity/aepp-sdk-js/commit/092930403d49097825b7e1fed536b39337ea77c2))
* **node:** don't throw unhandled exception if version check failed ([d4e5250](https://github.com/aeternity/aepp-sdk-js/commit/d4e525069ce0ce8074d70d89aa05cbb42d700ad6))
* **oracle:** ask height right before querying oracle to avoid not found ([42706ca](https://github.com/aeternity/aepp-sdk-js/commit/42706caf698cb08ed4e5ceb023347c8e65f99a15))
* **oracle:** import `getHeight` instead of using a missing context ([565c827](https://github.com/aeternity/aepp-sdk-js/commit/565c8270d26f41b22c7710cf5229edfdcd46e6c1))
* **tx-builder:** calculation of `gasLimitMax` ([0fb8a37](https://github.com/aeternity/aepp-sdk-js/commit/0fb8a377a52d24e2fd97c3bbd89b859e45c05b30))
* **tx-builder:** don't check consensus protocol if sdk knows a single ([6b8888b](https://github.com/aeternity/aepp-sdk-js/commit/6b8888b7d8bb168f2f3dd0f9737e88dce4889ffe))
* **tx-builder:** drop nonce validator to avoid false positive ([a669aae](https://github.com/aeternity/aepp-sdk-js/commit/a669aae7b9ae83414945962e57abae35b90dbcdd))
* **tx-builder:** ensure that TX RLP have the same length as schema ([c042d73](https://github.com/aeternity/aepp-sdk-js/commit/c042d735c76e946607f6cdf08c5871843a95f53a))
* **tx-builder:** field DelegateIds in ChannelCreateTx ([405243c](https://github.com/aeternity/aepp-sdk-js/commit/405243c71ebe4b8f034035511483d24728ea174a))
* **tx-builder:** provide proper type depending on checks being done ([3cff062](https://github.com/aeternity/aepp-sdk-js/commit/3cff06224dd5a637988039bdb025ead2f94127ef))
* **wallet:** don't use Event.hasListeners that is not available in FF ([05c0424](https://github.com/aeternity/aepp-sdk-js/commit/05c0424b21cecf3c19ce4c5162a82034decee911))
* **wallet:** explicitly convert error to JSON to don't pass stack trace ([3948153](https://github.com/aeternity/aepp-sdk-js/commit/3948153255ed848e8ef0a3891992d7a622e4acf4))
* **wallet:** provide origin on webext side instead of empty string ([662d8d0](https://github.com/aeternity/aepp-sdk-js/commit/662d8d00482688fd6eb6d0b10ed9628632b7a587))
* **channel:** `log` field type in result of `getContractCall` ([600d9e7](https://github.com/aeternity/aepp-sdk-js/commit/600d9e77bd6bfc90544b301f99b3c16ea6224f56))
* **channel:** add missed types for `minimumDepth`, `fee`, `gasPrice` ([a14ddfc](https://github.com/aeternity/aepp-sdk-js/commit/a14ddfc90e396b2b38eec9ed20af42df83892bec))
* **channel:** emit incoming message handler error instead of printing ([d71efad](https://github.com/aeternity/aepp-sdk-js/commit/d71efad4fb767fd167a55c0f49de6f0cf904552d))
* **channel:** messageQueue type ([1197ec4](https://github.com/aeternity/aepp-sdk-js/commit/1197ec4a934a5d4b5a53a83df3d22f466d267c4d))
* **contract:** don't throw ambiguous error if event types the same ([669c326](https://github.com/aeternity/aepp-sdk-js/commit/669c32677fbf11d2fc61c7817a7e24a2775aa423))
* **contract:** don't throw error if already compiled ([dcedb61](https://github.com/aeternity/aepp-sdk-js/commit/dcedb611bf9dc305925fa44e95424d0a37e4d060))
* **contract:** more specific error on calling without address ([5c5a241](https://github.com/aeternity/aepp-sdk-js/commit/5c5a241f4e86b2df322fcfc0dfc31c95d3b9f575))
* don't swallow errors without checking their type and message ([7456b0f](https://github.com/aeternity/aepp-sdk-js/commit/7456b0f29d67c3a83fff929c8582990f91c6e103))
* don't use any in AeSdkBase constructor options ([51fd3ae](https://github.com/aeternity/aepp-sdk-js/commit/51fd3ae4061576c8f741c05b617d05eb135090fb))
* sync options between Contract and AeSdkBase ([6acebaf](https://github.com/aeternity/aepp-sdk-js/commit/6acebaf8e25f28b74f4a896d07f91b93bbde8a83))
* **tx-builder:** avoid extra requests in tx validator ([03c77e5](https://github.com/aeternity/aepp-sdk-js/commit/03c77e5d320ca5a2cfd1ce6581d190d915d74ed1))
* **tx-builder:** mark `nameTtl` as `shortUInt` in `NameUpdateTx` ([3bfbb52](https://github.com/aeternity/aepp-sdk-js/commit/3bfbb52b23afe16fb47a75c34ee2a04ee93f9da2))
* **tx-builder:** type of binary fields ([e979224](https://github.com/aeternity/aepp-sdk-js/commit/e97922476af56583a9aac33b0bd87f32b9e5b685))
* use crypto random to generate salt ([88dcf38](https://github.com/aeternity/aepp-sdk-js/commit/88dcf3887206c34ea2cf97fe0a0d4691c5fc7c89))

### [13.0.0-alpha.1](https://github.com/aeternity/aepp-sdk-js/compare/v13.0.0-alpha.0...v13.0.0-alpha.1) (2023-01-13)

### [13.0.0-alpha.0](https://github.com/aeternity/aepp-sdk-js/compare/v12.1.3...v13.0.0-alpha.0) (2022-12-08)

### [12.1.3](https://github.com/aeternity/aepp-sdk-js/compare/v12.1.2...v12.1.3) (2022-08-24)

### Bug Fixes

* **deps:** update calldata to 1.3.0 ([3eacc29](https://github.com/aeternity/aepp-sdk-js/commit/3eacc29da4e2191dbf449ed4847fca508c342102))

### [12.1.2](https://github.com/aeternity/aepp-sdk-js/compare/v12.1.1...v12.1.2) (2022-08-09)

### Bug Fixes

* **deps:** depend on specific version of @azure/core-client to fix [#1657](https://github.com/aeternity/aepp-sdk-js/issues/1657) ([95d5910](https://github.com/aeternity/aepp-sdk-js/commit/95d59105ef423acd55a2fb168d0cc6cb244effe1))

### [12.1.1](https://github.com/aeternity/aepp-sdk-js/compare/v12.1.0...v12.1.1) (2022-07-28)

### Bug Fixes

* export and implementation of calculateMinFee ([cee0f7c](https://github.com/aeternity/aepp-sdk-js/commit/cee0f7c0cda890ac3639611abc5677161428dad9))

## [12.1.0](https://github.com/aeternity/aepp-sdk-js/compare/v12.0.0...v12.1.0) (2022-07-28)

### Features

* export Encoding enum ([7ebc67f](https://github.com/aeternity/aepp-sdk-js/commit/7ebc67fdf32959960531cb96824fb3d181b99aed))

### Bug Fixes

* ability to use sdk without nodes ([8fa29e4](https://github.com/aeternity/aepp-sdk-js/commit/8fa29e4e81c6898573d259f15d8d9c0b1828ca94))
* **aepp,wallet:** avoid invalid message errors using third-party tools ([4d4d117](https://github.com/aeternity/aepp-sdk-js/commit/4d4d1175b539cb50bac277cb76ad5eefb9742a0d))
* **AeSdkBase:** don't mutate the options argument ([a574b7f](https://github.com/aeternity/aepp-sdk-js/commit/a574b7f00802b12334c3edc433fb0c53875c91cc))
* **awaitHeight:** allow to wait for arbitrary number of blocks ([918a885](https://github.com/aeternity/aepp-sdk-js/commit/918a8855f17c1a8fb8d4b6d1ffd930cd172ab429))
* **channel:** handle round as number ([97d7984](https://github.com/aeternity/aepp-sdk-js/commit/97d798438fb275974fa05bde5e52c21baf7e71b6))
* getNetworkId throw proper error without node ([3d9e73c](https://github.com/aeternity/aepp-sdk-js/commit/3d9e73c0fab6ecb40e027c68bf28859fc0127896))
* move type packages required by TS projects to dependencies ([90c5eb8](https://github.com/aeternity/aepp-sdk-js/commit/90c5eb8219d2a58c5760002ff947bcad8f578407))
* **node:** avoid ts-expect-error missed in generated d.ts file ([60d9755](https://github.com/aeternity/aepp-sdk-js/commit/60d97554a47e30483702e1b96c303e03417bc193))
* **node:** don't transform autorest properties ([7982327](https://github.com/aeternity/aepp-sdk-js/commit/7982327e1f33f915810ac94fd855baa8cfacb990))
* **Node:** tread `nameTtl`, `clientTtl` as number ([b82c398](https://github.com/aeternity/aepp-sdk-js/commit/b82c398cdda55b13749e31cd032818dc27c59449))
* **pollForQueryResponse:** poll until query is expired ([436f4a9](https://github.com/aeternity/aepp-sdk-js/commit/436f4a98b250e84fe47d7f2e0a5b578b690cf7c5))
* **sendTransaction:** don't fall if `onAccount` missed in AeSdkBase ([eebbcb7](https://github.com/aeternity/aepp-sdk-js/commit/eebbcb776b733d003bb138f891e0a7766edacb30))
* switch to aepp-calldata with fixed decoding of lists ([c1a3b24](https://github.com/aeternity/aepp-sdk-js/commit/c1a3b2458e30f2a16d6f1f33c0f5224471ba724d))

## [12.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v11.0.1...v12.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](https://github.com/aeternity/aepp-sdk-js/commit/9745c738fef861719e3418e9ada738cbb8d710c7))
* **ga:** implement buildAuthTxHash function ([73eae4e](https://github.com/aeternity/aepp-sdk-js/commit/73eae4e6d791eeca4c9afc3ad448e5e006c1f24f))
* **NodeInvocationError:** store tx-encoded transaction ([a74da7c](https://github.com/aeternity/aepp-sdk-js/commit/a74da7ce2eac7bb0902cebfc8831a0e3e7faa6ec))

### Bug Fixes

* **aepp:** use networkId in rpc tx signing ([916dba0](https://github.com/aeternity/aepp-sdk-js/commit/916dba066907c66aa2776af64b76638b08285207))
* importing in mjs ([0fc7418](https://github.com/aeternity/aepp-sdk-js/commit/0fc741808701167f5a56674affc0692a4965baf6))
* **messageToHash:** support messages longer than 252 chars ([b4aa456](https://github.com/aeternity/aepp-sdk-js/commit/b4aa4566990c6b823b8a635da78707adfebd1a52))
* **wallet:** revert to returning complete tx data instead of just hash in rpc wallet signing ([c3ada74](https://github.com/aeternity/aepp-sdk-js/commit/c3ada74b3086b2c3e057c1011b19c35d183c4476))

### Refactoring with breaking changes

* generate compiler api in TypeScript using autorest ([777e990](https://github.com/aeternity/aepp-sdk-js/commit/777e990f2e900b4d8df8b4c4d91c1d4e9bab6f72))
* generate node api in TypeScript ([5576cf9](https://github.com/aeternity/aepp-sdk-js/commit/5576cf939518ad7fb45b54445738be92db8e756b))
* **compiler:** init in sync, check version on making request ([a7fe956](https://github.com/aeternity/aepp-sdk-js/commit/a7fe9563cadeca469404bb8de13afd81242b81a2))
* **aci:** accept onAccount as AccountBase ([e816428](https://github.com/aeternity/aepp-sdk-js/commit/e8164281a525c255d9dc74efe189dab66ad6f443))
* **ae:** drop stamps and use plain functions ([8ed55d0](https://github.com/aeternity/aepp-sdk-js/commit/8ed55d0e8fb24eb842e1f8bd2b809f9d5a8c8996))
* **aepp rpc:** accept wallet info separately ([baad98e](https://github.com/aeternity/aepp-sdk-js/commit/baad98e9f45ac44cf20c241158ede4276b8786ac))
* **aepp-rpc:** depend on simplified version of RpcClient ([f329549](https://github.com/aeternity/aepp-sdk-js/commit/f329549da3362cb4f216127bbbce41eb49eb7ab7))
* **aepp-rpc:** extract common error checks ([eaa8683](https://github.com/aeternity/aepp-sdk-js/commit/eaa86831969fb94866439893e0e1d19a0a0e53e4))
* **aepp-wallet:** rewrite to ts all except rpc ([19cb42f](https://github.com/aeternity/aepp-sdk-js/commit/19cb42fd2766bc9bcd90cfb04b5f03f00c0c7389))
* **AeppRpc:** make to init in sync ([86c9d6c](https://github.com/aeternity/aepp-sdk-js/commit/86c9d6c712be113ea91bd172c5d0b79bbdff6d78))
* **chain:** drop stamps and use plain functions ([4197b3d](https://github.com/aeternity/aepp-sdk-js/commit/4197b3d5aa4728756fd6e4fb9b64fef2ee4a7366))
* **chain:** remove deprecated methods ([cefaa55](https://github.com/aeternity/aepp-sdk-js/commit/cefaa55c9075bf50453526f8a893ead33c9002ce))
* **compiler:** extract genVersionCheckPolicy ([ac14fd1](https://github.com/aeternity/aepp-sdk-js/commit/ac14fd1ddc0889cb45c4d15b8f09f91c5dc617c7))
* don't provide default fee when transaction is not present ([b004694](https://github.com/aeternity/aepp-sdk-js/commit/b0046941d10959ea1029463c97edd75a9dedb07c))
* drop `ensureNameValid` ([d0d1258](https://github.com/aeternity/aepp-sdk-js/commit/d0d12584e7a9ec4b4696857e01c407259a943351))
* drop compiler stamp ([ddf1363](https://github.com/aeternity/aepp-sdk-js/commit/ddf136371451691615cab3108a92e5b135e82d79))
* drop functions to generate txs with specific type ([3cf767d](https://github.com/aeternity/aepp-sdk-js/commit/3cf767dc36e77a8a9c431bc9d8bd3c579adb6dc5))
* drop TxObject wrapper ([a083c7b](https://github.com/aeternity/aepp-sdk-js/commit/a083c7bed456281d8465112346ac4f45aa81afd0))
* **encoder:** remove required prefix param ([dec13d7](https://github.com/aeternity/aepp-sdk-js/commit/dec13d7438ebb2468009819425f65141b6a5acb5))
* export in tree shaking friendly way ([40aca86](https://github.com/aeternity/aepp-sdk-js/commit/40aca86578981131fb2b8b50bf0938e214f7e6f4))
* extract all fee-related stuff into a separate module ([cebb90b](https://github.com/aeternity/aepp-sdk-js/commit/cebb90b47c7bfe78f7311f0ff3b8959960f244d6))
* extract base sdk classes ([487cc14](https://github.com/aeternity/aepp-sdk-js/commit/487cc14571d6275c997403e3b66a137ee28d47a1))
* fix spend types ([6b089e7](https://github.com/aeternity/aepp-sdk-js/commit/6b089e7b47ec737086c733bc581d8916ebb915cc))
* **getNetworkId:** drop unnecessary `force` option ([7d6549a](https://github.com/aeternity/aepp-sdk-js/commit/7d6549ad57a525b314ad326b4b5b971682f88013))
* **getQueryObject:** remove deprecated `decode` method ([7e9835c](https://github.com/aeternity/aepp-sdk-js/commit/7e9835cf21b900577bfda04222aacb001e0e4f82))
* inline NAME\_BID\_TIMEOUTS into computeAuctionEndBlock ([5fdb80e](https://github.com/aeternity/aepp-sdk-js/commit/5fdb80e3374744c63574e8edd3347f9db01437b1))
* **NodeApi:** return BigInt instead of string | number ([7f37e74](https://github.com/aeternity/aepp-sdk-js/commit/7f37e74080dc53fd394fc2e9009756834f2c7f7a))
* **node:** drop `internalUrl` ([8336673](https://github.com/aeternity/aepp-sdk-js/commit/833667301edf5a6f81485698d26ed496df69376b))
* **node:** rewrite to ts, drop stamp ([370635e](https://github.com/aeternity/aepp-sdk-js/commit/370635e9a9eb4d67d9b63c7aacfcbd61a50813ec))
* **oracle:** drop stamps and use plain functions ([04ce814](https://github.com/aeternity/aepp-sdk-js/commit/04ce81434c028a7e74951a507e6ce9415cf1a601))
* **prepareTxParams:** inline calculateTtl ([2f03793](https://github.com/aeternity/aepp-sdk-js/commit/2f03793da8fbc4f047297e69c27ea82a578341e4))
* remove ability to connect without sharing node if requested ([7dd4af5](https://github.com/aeternity/aepp-sdk-js/commit/7dd4af5474e615f570febdd9352cd0b4cf5da4b5))
* remove extra `getAddressFromPriv` ([0f88c39](https://github.com/aeternity/aepp-sdk-js/commit/0f88c39eee8fa69e227573154d59e07f13878c95))
* remove getAccountNonce ([62a00e5](https://github.com/aeternity/aepp-sdk-js/commit/62a00e5faa853706d1e94ce896196f9a3f642fd6))
* remove outdated destroyInstance method ([0213375](https://github.com/aeternity/aepp-sdk-js/commit/0213375297df16662b08f3ef7b76ce06b7403ef6))
* rename `gas` to `gasLimit` where possible ([dece758](https://github.com/aeternity/aepp-sdk-js/commit/dece758e6347a42a0ef580fa27cfb29ea361ac76))
* rewrite AE\_AMOUNT\_FORMATS to enum ([448a2a3](https://github.com/aeternity/aepp-sdk-js/commit/448a2a39d91960f34adb9b3cc3afa84305c3f369))
* rewrite ae/contract to ts ([8159d84](https://github.com/aeternity/aepp-sdk-js/commit/8159d84598c0b7223598e09f8fc0e6309716d09d))
* rewrite TX\_TYPE to enum ([f97e479](https://github.com/aeternity/aepp-sdk-js/commit/f97e4791e510a3a18f612ec1bcfa1fb671fe39a3))
* **rpc account:** don't pass extra options through rpc connection ([141e932](https://github.com/aeternity/aepp-sdk-js/commit/141e932542db5cecdc879fb39a849d8ca7aa4531))
* **rpc-client:** add notify method ([9e97a1a](https://github.com/aeternity/aepp-sdk-js/commit/9e97a1a97716066ec6d87c845186c8815e409ac3))
* **rpc-client:** provide method handlers instead of onMessage ([5f1a007](https://github.com/aeternity/aepp-sdk-js/commit/5f1a0075f35c1350d62e245317d4e5466590670f))
* **RpcClient:** remove custom set of accounts ([5c26f3a](https://github.com/aeternity/aepp-sdk-js/commit/5c26f3a364f68032524a56cd5f8e964d20fe70ee))
* **RpcClient:** remove origin property ([7155ed3](https://github.com/aeternity/aepp-sdk-js/commit/7155ed3f84c2e7d125d3fe07a83e7f8020e774eb))
* **rpc:** inline extra helpers ([9a0a2eb](https://github.com/aeternity/aepp-sdk-js/commit/9a0a2eb9cfd87f5fb8f591d0f237ba738d6480a0))
* **rpc:** use webextension-polyfill ([a54fdfd](https://github.com/aeternity/aepp-sdk-js/commit/a54fdfdbf5c108b74c2b0f9185f16c62984ddf80))
* simplify transaction schema ([5f720ec](https://github.com/aeternity/aepp-sdk-js/commit/5f720ec17e973f153984b8d5c2f60a61d888bb7e))
* **tests:** migrate remaining tests ts ([4e2ece7](https://github.com/aeternity/aepp-sdk-js/commit/4e2ece7045c055321e0e0aff6e7447e72cb4e5b2))
* **tx schema:** add shortInt type for fields not needed big numbers ([0095455](https://github.com/aeternity/aepp-sdk-js/commit/0095455bf0658620397778d2f0e9d31660126eeb))
* **unpackTx:** accept only tx\_string, don't return binary ([658adee](https://github.com/aeternity/aepp-sdk-js/commit/658adeea5cbf2f67008e96eef3dfca1fffd96d1b))
* use `calculateMinFee` instead of `calculateFee` ([4ea59d7](https://github.com/aeternity/aepp-sdk-js/commit/4ea59d7da3494bf8863c3b7b20bf796bd42b6303))
* **utils:** migrate keystore.js to ts ([c013c01](https://github.com/aeternity/aepp-sdk-js/commit/c013c011b5e8dc02cc8721d1a5201241f474e76a))
* **wallet rpc:** don't pass networkId from aepp to wallet ([153fd89](https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba))
* **wallet-rpc:** drop `info` object in RpcClient ([010ebbb](https://github.com/aeternity/aepp-sdk-js/commit/010ebbb963ac8058ed74bff1fd01ad2e243eb3ab))
* **wallet-rpc:** remove `meta, condition` unused by known wallets ([4630643](https://github.com/aeternity/aepp-sdk-js/commit/46306436013a36c84d65a3a8a2f1991a8183eb2b))
* **wallet-rpc:** return value/throw error instead of accept/deny ([98b9955](https://github.com/aeternity/aepp-sdk-js/commit/98b995563de0b91d22c50a15302b1fcc9d554d6e))
* **wallet-rpc:** rewrite to TypeScript ([930e7d7](https://github.com/aeternity/aepp-sdk-js/commit/930e7d7e1a8b3b832e841204a4f56d7c2f656a9d))
* **wallet-rpc:** simplify callback arguments ([5fc6f8a](https://github.com/aeternity/aepp-sdk-js/commit/5fc6f8aaab5b7f46afbc27a845ed812fcd3137ef))
* **wallet-rpc:** store rpc data in maps instead of objects ([0d3f04f](https://github.com/aeternity/aepp-sdk-js/commit/0d3f04fdec3ace9fba93c0e7fdd82e62e1f99da9))
* **wallet-rpc:** switch to TypeScript version of RpcClient ([7d8f6d7](https://github.com/aeternity/aepp-sdk-js/commit/7d8f6d7af760a64c5ac7825de811adb88877cf78))

### [11.0.1](https://github.com/aeternity/aepp-sdk-js/compare/v11.0.0...v11.0.1) (2022-04-07)

### Bug Fixes

* **contract:** do not check payable if contract call is init ([c09fc0c](https://github.com/aeternity/aepp-sdk-js/commit/c09fc0c40bef8668066697567182a75f7a484886))
* importing in mjs ([01d493b](https://github.com/aeternity/aepp-sdk-js/commit/01d493b0556897bdeb3bd04796f482702b175b36))
* **oracle:** do not include address for oracle respond signature ([ad4bddc](https://github.com/aeternity/aepp-sdk-js/commit/ad4bddc43f139e44f33fcde8051ad64f52a734c2))

## [11.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v10.0.0...v11.0.0) (2022-03-18)

### Request batching: SDK now supports [batching transactions](/developer-documentation/aepp-sdk-js/docs/guides/batch-requests.md)

### Custom error types: Introduced [error types](/developer-documentation/aepp-sdk-js/docs/guides/error-handling.md)

### 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](https://github.com/aeternity/aepp-sdk-js/commit/bb6977de0068b51ede3780015e4089567ee41e3f))
* calculate default polling intervals depending on node settings ([d9c6cf9](https://github.com/aeternity/aepp-sdk-js/commit/d9c6cf9aae59515f9e9a032e58b45840c6801b50))
* **chain:** combine multiple dry-run requests at one ([ddcdaef](https://github.com/aeternity/aepp-sdk-js/commit/ddcdaef60f80a2caeb14aab798a502e9e4d3b50e))
* **contract events:** ability to resolve multiple definitions of event ([c5b77fa](https://github.com/aeternity/aepp-sdk-js/commit/c5b77faff828b94c63177bc89fdbf12817d198c7))
* **contract events:** remote contract support ([c7599c7](https://github.com/aeternity/aepp-sdk-js/commit/c7599c73a67d6b34235e99349340b95ee8429342))
* **createGeneralizeAccount:** estimate gas limit instead of using const ([da88852](https://github.com/aeternity/aepp-sdk-js/commit/da88852eece61dc60e80dfa596fb9b6061634197))
* **decode encode:** validate base58 prefix and payload length ([e836260](https://github.com/aeternity/aepp-sdk-js/commit/e836260d35527cde3e7a5a8810b58d03ead16683))
* **error:** introduce error types ([#1345](https://github.com/aeternity/aepp-sdk-js/issues/1345)) ([444bb33](https://github.com/aeternity/aepp-sdk-js/commit/444bb3373839aa8d711f996888c556e5728b6efa))
* **package:** build es version compatible with node ([480c747](https://github.com/aeternity/aepp-sdk-js/commit/480c747481a691355392a51fb69155dc9327d856))
* **poll:** use getCheckTxInPool if available ([690db5b](https://github.com/aeternity/aepp-sdk-js/commit/690db5bd2919958edcadca79fd75b5ad96b77c62))
* **swagger:** converts operationId in snake case to pascal ([e52b739](https://github.com/aeternity/aepp-sdk-js/commit/e52b739f051024f605997575cf7b88ee733550c3))
* **swagger:** split transactions by queues to post batch of txs from one account ([0023fc7](https://github.com/aeternity/aepp-sdk-js/commit/0023fc72b24bc73f77a3eeb07f06e6175d01a940))
* **tx builder:** accept unencoded name in nameClaimTx ([eea92be](https://github.com/aeternity/aepp-sdk-js/commit/eea92be7432cfc56e781c2234379c8f2c3398e3e))
* **tx builder:** don't require produceNameId to create AENS txs ([57ef9c7](https://github.com/aeternity/aepp-sdk-js/commit/57ef9c75836c48e4db9d3ddfdadddd845dba5bad))
* **tx builder:** provide default name fee ([18e4bab](https://github.com/aeternity/aepp-sdk-js/commit/18e4bab931eb925f8b05cb9778eac5054b2aae25))
* **validator:** check contractId ([5e667a5](https://github.com/aeternity/aepp-sdk-js/commit/5e667a598ce6299aa82ba391a9415dc1e3ff9664))
* **wallet:** add switch for aepp wallet node sharing ([b5640d6](https://github.com/aeternity/aepp-sdk-js/commit/b5640d63f221d83405f8616339111805a3ecc881))
* **wallet:** enable aepp to wallet node connection ([d87e1fa](https://github.com/aeternity/aepp-sdk-js/commit/d87e1fa189193f8c3feeeed12ee84fdfbbdc9b86))
* **wallet:** provide switch for aepp wallet node connection ([dfbab59](https://github.com/aeternity/aepp-sdk-js/commit/dfbab5957dc3e7769427737f8f0b31fc1e63d20a))

### Bug Fixes

* **aens helpers:** improve naming, add additional validations ([d2a10e1](https://github.com/aeternity/aepp-sdk-js/commit/d2a10e19d65f6fba2cb41852709ee88a34219b9c))
* **babel:** compatibility with create-react-app ([e4b56fe](https://github.com/aeternity/aepp-sdk-js/commit/e4b56fe82e486a64c7450ed5741c41a388533dd4))
* **babel:** depend on buffer package in es build ([0ba51e9](https://github.com/aeternity/aepp-sdk-js/commit/0ba51e958d8dfa0483e0b6d9720bd6dc202da68d))
* **babel:** don't rewrite import of rlp package for @vue/cli\@4.5.15 ([0fdd296](https://github.com/aeternity/aepp-sdk-js/commit/0fdd296722b1d30fab797777a20f811202a817e3))
* **chain:** don't require address function to post transaction ([07bc105](https://github.com/aeternity/aepp-sdk-js/commit/07bc105055b0bf59bc99c088983f9ba4233cc17e))
* **channel force progress:** add missed binary prefixes ([78660d2](https://github.com/aeternity/aepp-sdk-js/commit/78660d2837b3b4f2fb4972b264a0d534510bb21d))
* **channel:** ignore messages that can't be handled, print to console ([aaad8e3](https://github.com/aeternity/aepp-sdk-js/commit/aaad8e315302a576a23aa70b280debaaad82407a))
* **compatibility:** update argon2-browser to version with default export ([0e69d8b](https://github.com/aeternity/aepp-sdk-js/commit/0e69d8b4ec83ad68183ab32474d7d49cd6b26069))
* **compatibility:** use blakejs that doesn't refer to Buffer ([94f1879](https://github.com/aeternity/aepp-sdk-js/commit/94f187916b734adcc3c531be4d703703a08ec4cd))
* **contract events:** don't throw error if events emitted by remote ([fa1c569](https://github.com/aeternity/aepp-sdk-js/commit/fa1c569cd5047b7993bd2593d4fb943e9a3f4b1b))
* **delegate signature:** don't encode address depending on onAccount ([563a972](https://github.com/aeternity/aepp-sdk-js/commit/563a9722baa15a60110a61fb21088e9158442518))
* **dry-run:** don't combine requests by default ([0f36efc](https://github.com/aeternity/aepp-sdk-js/commit/0f36efcea4f65d0280d1206c7eb5d3a8ac71c4b4))
* **error:** remove duplicate error message ([8b4df9a](https://github.com/aeternity/aepp-sdk-js/commit/8b4df9ac689566d108c05aa2cfbabecba0b359ab))
* **es:** babel build on windows ([30f5213](https://github.com/aeternity/aepp-sdk-js/commit/30f5213e9dd9dfb29871c0038755f2f3d66757b5))
* **keystore:** encoding of hex privateKey, simplify tests ([9f3ad6b](https://github.com/aeternity/aepp-sdk-js/commit/9f3ad6b4254bdcda0af3f3d729f79f24d36970e0))
* spelling of GeneralizedAccount ([21c1dd3](https://github.com/aeternity/aepp-sdk-js/commit/21c1dd30e16c5d731a7dc3cff0593c80632b01c0))
* **tx builder:** reject more than 32 pointers ([9c06dab](https://github.com/aeternity/aepp-sdk-js/commit/9c06dab7d1a44a142d0aa9644d5d754fbc2ca4d1))
* **tx builder:** throw exception if deposit is not zero ([7b3d0e3](https://github.com/aeternity/aepp-sdk-js/commit/7b3d0e3b7f6d62c3099b9ffb3d5cca98ccec1dba))
* **aci:** drop redundant per-method event decoding ([a84d781](https://github.com/aeternity/aepp-sdk-js/commit/a84d781ab08473b7af8e6c16491492cb166d6155))
* **aci:** remove call/callStatic from deployInfo ([84d082d](https://github.com/aeternity/aepp-sdk-js/commit/84d082d52ab639e942e15587e9157bea09554806))
* **aci:** remove createdAt property generated at client ([406684c](https://github.com/aeternity/aepp-sdk-js/commit/406684c65c24063603e0a4fde13303472ec7ed05))
* **aepp-wallet schema:** convert to TS ([1775e91](https://github.com/aeternity/aepp-sdk-js/commit/1775e915d5a09891162324dccac8f2fa96598d35))
* **aepp-wallet schema:** rearrange METHODS enum ([8a40105](https://github.com/aeternity/aepp-sdk-js/commit/8a40105dc6d0d90bcc1f4c0c52af413547d78893))
* **aepp-wallet schema:** remove unused enums ([95bf0e9](https://github.com/aeternity/aepp-sdk-js/commit/95bf0e9ea80f897087b687830542c0003ea7604a))
* **compiler:** remove contractEncodeCallDataAPI ([7d02317](https://github.com/aeternity/aepp-sdk-js/commit/7d023177c8d30b3d7e3093389aadf7c3db20ec0d))
* **compiler:** remove getBytecodeCompilerVersion ([13283be](https://github.com/aeternity/aepp-sdk-js/commit/13283becb279ca37bd872bb1dfe28a5463d1663e))
* **compiler:** remove getCompilerVersion ([fb929f8](https://github.com/aeternity/aepp-sdk-js/commit/fb929f8a4b66623b08d17525974b50515095d06c))
* **compiler:** remove getFateAssembler ([165d492](https://github.com/aeternity/aepp-sdk-js/commit/165d49214690bb5978f7a64ac8d9af663d75c55c))
* **compiler:** remove validateByteCodeAPI ([90ba164](https://github.com/aeternity/aepp-sdk-js/commit/90ba1648caa097b2e6684d922e269c448bca846e))
* **contract instance:** store aci as it is ([978225e](https://github.com/aeternity/aepp-sdk-js/commit/978225e666eab37e91c0a0c31823cbb56c98fd88))
* **contractCompile:** remove encodeCall ([6d0ade5](https://github.com/aeternity/aepp-sdk-js/commit/6d0ade516bb290a04a2fcdfdcf9687b446d502cc))
* **contract:** remove already processed fields from decoded events ([45bae5f](https://github.com/aeternity/aepp-sdk-js/commit/45bae5f8f0b21d374966a761512ba91bb747c47a))
* **contract:** remove compileContractAPI ([5ae9c62](https://github.com/aeternity/aepp-sdk-js/commit/5ae9c62ae5d5ae155976b99f2beb81c38b4791c4))
* **contract:** remove contractCompile ([7390629](https://github.com/aeternity/aepp-sdk-js/commit/7390629e07ce98d1570b6cd43ac2a5037a214cfe))
* **contract:** remove contractDecodeCallDataByCodeAPI ([2fe798a](https://github.com/aeternity/aepp-sdk-js/commit/2fe798a292e8eb7b027a030c4d482158b3e10d5b))
* **contract:** remove contractDecodeCallDataBySourceAPI ([8b13f70](https://github.com/aeternity/aepp-sdk-js/commit/8b13f703d702ecb8a5b20102263a377bffb48de3))
* **contract:** remove contractDecodeCallResultAPI ([b9fbfa6](https://github.com/aeternity/aepp-sdk-js/commit/b9fbfa6f3c55396228ddc9427721d160031875d2))
* **contract:** remove contractGetACI ([23ada71](https://github.com/aeternity/aepp-sdk-js/commit/23ada718ac0deb36cea859dd20da45c17bcd4595))
* **contract:** remove deprecated contractCall ([c079e6e](https://github.com/aeternity/aepp-sdk-js/commit/c079e6eb90e5dd4bfcdc50f889e204d36e13012d))
* **contract:** remove deprecated contractCallStatic ([1e3ac6d](https://github.com/aeternity/aepp-sdk-js/commit/1e3ac6da6eb4d6b6674913225c2fad88d2c3ac2f))
* **contract:** remove deprecated contractDeploy ([08e423e](https://github.com/aeternity/aepp-sdk-js/commit/08e423e12e31c8c3807c5cd018ce0680c33e2afb))
* **crypto:** make (encode/decode)Base(58/64)Check private ([c151183](https://github.com/aeternity/aepp-sdk-js/commit/c1511837abd38bf6c2a6c8215519dba2255c6868))
* **decodeEvents:** accept event schemas as it is in ACI ([17b9cc4](https://github.com/aeternity/aepp-sdk-js/commit/17b9cc42573f58084a1ca4ae96ec2f5d3b743757))
* drop https scheme workaround for hosted compiler ([9fc0a02](https://github.com/aeternity/aepp-sdk-js/commit/9fc0a02e7d26476f0645f9e472f4cf641c12cba8))
* **hd-wallet:** expect that bip39 used externally ([f6243ad](https://github.com/aeternity/aepp-sdk-js/commit/f6243adea2017b5e20c079d51a8e0a469ed9792c))
* **hd-wallet:** remove default export ([951ebb2](https://github.com/aeternity/aepp-sdk-js/commit/951ebb227153b3cf1262f25ff30d4f1308040d89))
* **node:** don't wrap internal endpoints if internalUrl missed ([50d7bba](https://github.com/aeternity/aepp-sdk-js/commit/50d7bbad51fb240f370ad86d6accfbc72d75f6f1))
* **poll:** avoid extra transaction info request to node ([22c4838](https://github.com/aeternity/aepp-sdk-js/commit/22c4838dab7828a9fd53098097c182f100fa83bb))
* remove deprecated topBlock ([4535c07](https://github.com/aeternity/aepp-sdk-js/commit/4535c077d431fec2091f88f87cb96559a65158ff))
* remove unused functions ([8c00de5](https://github.com/aeternity/aepp-sdk-js/commit/8c00de5f0c88a50d5dcaa9656fe64317ea707fc8))
* return empty array instead of throwing UnsignedTxError ([c6bacdf](https://github.com/aeternity/aepp-sdk-js/commit/c6bacdf911b402c6dff57b790950214f74988849))
* **rpc:** remove forceValidation flag ([9f958c3](https://github.com/aeternity/aepp-sdk-js/commit/9f958c3549228c990b4c6074b88ed5b45284bf55))
* **tx builder:** inline VALIDATION\_MESSAGE ([defb7e1](https://github.com/aeternity/aepp-sdk-js/commit/defb7e110ad72c451e59720b25a9a75c04ee39ef))
* **tx schema:** remove default NAME\_FEE equal to 0 ([9d8339a](https://github.com/aeternity/aepp-sdk-js/commit/9d8339ab8ed65dbee846a0e555f13d6f7042d427))
* update rlp to 3.0.0 ([bb32b77](https://github.com/aeternity/aepp-sdk-js/commit/bb32b7721db2596f6218dc51731b681922c914ad))
* use bs58 instead of bs58check ([32e836b](https://github.com/aeternity/aepp-sdk-js/commit/32e836b83e24bdbdb7304af6de90ecb4eb6b6383))
* **wallet-rpc:** inline resolveOnAccount helper ([1277b5b](https://github.com/aeternity/aepp-sdk-js/commit/1277b5bcc53b7577497efb213734579c5e997883))

## [10.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v9.0.1...v10.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](https://github.com/aeternity/aepp-sdk-js/commit/5c690d2d77a433c8496ab9cda6fd66e52a6b4b23))
* **aens:** don't limit pointer keys ([f6b8999](https://github.com/aeternity/aepp-sdk-js/commit/f6b8999ac70d10c5455e9a45d8ad65e161d28ca4))
* **aens:** enable commitmentHash preclaim in tests ([5de05e5](https://github.com/aeternity/aepp-sdk-js/commit/5de05e58d097a2842c78d80a34c49a8e7635997c))
* decode using calldata package ([2bb494d](https://github.com/aeternity/aepp-sdk-js/commit/2bb494d67c02c9abd017274e06c55ed07aef65d7))
* encode using calldata package ([eeebbd5](https://github.com/aeternity/aepp-sdk-js/commit/eeebbd58b860c2e4b35c1ed4cb3aaf12677b0982))
* **poll-interval:** reduce poll interval to be a more sensible default ([9e55b2b](https://github.com/aeternity/aepp-sdk-js/commit/9e55b2be92125b42713f0e2a35916abc9f3c18fb))
* support for new node feature next-nonce of release 6.2.0 ([#1299](https://github.com/aeternity/aepp-sdk-js/issues/1299)) ([e40b046](https://github.com/aeternity/aepp-sdk-js/commit/e40b04678b7c4819074803095da31c813aa367e0))

### Bug Fixes

* commitlint issue ([2c1cf54](https://github.com/aeternity/aepp-sdk-js/commit/2c1cf541e45b87b6acf54c2929847a3d227d8ada))
* **compiler errors:** construct error message by server response ([8621352](https://github.com/aeternity/aepp-sdk-js/commit/8621352691d47373d4e79d495f2d6e6d6e87b432))
* don't accept ak\_ addresses as hash, bytes and signature ([cbaac62](https://github.com/aeternity/aepp-sdk-js/commit/cbaac6263dd1729d64ef3a01c94e10687fed3b0d))
* **events:** don't require function name for events decoding ([f963bdb](https://github.com/aeternity/aepp-sdk-js/commit/f963bdbf2f5eb9284c44b3191c4d61555694030d))
* **events:** fix event decoding order and address prefix ([faad530](https://github.com/aeternity/aepp-sdk-js/commit/faad53057cbf7bca65d0f2c6262b27090773fbb6))
* **events:** fix test for incorrect address return type ([31aaeec](https://github.com/aeternity/aepp-sdk-js/commit/31aaeec87fcd59eb3866682a0d529100a975f7fb))
* **events:** ignore unknown events in decoding ([45795fa](https://github.com/aeternity/aepp-sdk-js/commit/45795fa4eb33fc591b203d9f37501c25803f281e))
* **node errors:** construct error message by server response ([d556936](https://github.com/aeternity/aepp-sdk-js/commit/d5569361c925bca35df76f31bcb049c83a6daf31))
* **semverSatisfies:** ignore build number ([c3cce0a](https://github.com/aeternity/aepp-sdk-js/commit/c3cce0a256b9b0af29b30662e4fa7a08bb9ab187))
* **swagger:** detection of empty response ([9bfab02](https://github.com/aeternity/aepp-sdk-js/commit/9bfab026e0ac980b1bb3181f12c5093996c22710))
* **contract instance:** remove unnecessary `setOptions` function ([b88e767](https://github.com/aeternity/aepp-sdk-js/commit/b88e767c86874f259ff7a1eb1784c368524e7167))
* **contract instance:** thread all extra options as contract's ([10fb7ba](https://github.com/aeternity/aepp-sdk-js/commit/10fb7bad8f61b973c1be5daec50909d251ec1f90))
* **crypto:** remove unused asymmetric encode/decode functions ([51def34](https://github.com/aeternity/aepp-sdk-js/commit/51def34624d57f5cca548481176968dfc8f857d9))
* drop unnecessary skipArgsConvert option ([6d4a599](https://github.com/aeternity/aepp-sdk-js/commit/6d4a59986d6833866b6828085fad96b364e5d315))
* drop unnecessary skipTransformDecoded option ([bb49239](https://github.com/aeternity/aepp-sdk-js/commit/bb492396a29d673f02eee7cfec4e114c2fba2f3c))
* inline getConsensusProtocolVersion function ([75f0447](https://github.com/aeternity/aepp-sdk-js/commit/75f044792bd2d81eca3a2abc8218e8ca5f167134))
* invert and rename forceCodeCheck option to validateByteCode ([72122fa](https://github.com/aeternity/aepp-sdk-js/commit/72122facdcec9921202b210c387c19509b26e578))
* make contractCall/Static a wrapper around getContractInstance ([c4ec019](https://github.com/aeternity/aepp-sdk-js/commit/c4ec019372f5d5745378e781afb1eb6b2b5acfeb))
* make contractDeploy a wrapper, remove unused code ([48d36f9](https://github.com/aeternity/aepp-sdk-js/commit/48d36f9be30805a476590282bffae9944134eb41))
* remove contractDecodeData as extra wrapper ([5df2285](https://github.com/aeternity/aepp-sdk-js/commit/5df2285a7b5694475554e5154c544e0885bd4b33))
* remove contractEncodeCall as extra wrapper ([a4b303f](https://github.com/aeternity/aepp-sdk-js/commit/a4b303fbcc3b7cc544a2b5b3415d0f4a147b488c))
* require compiler 6 and above ([f9cef12](https://github.com/aeternity/aepp-sdk-js/commit/f9cef12a7db4b2559519ef7f8380cc9e89630492))
* specify browserlist to better choice of features to transpile ([c2ec71a](https://github.com/aeternity/aepp-sdk-js/commit/c2ec71a7690ed2590093c0cbff048599b5ca87bd))
* **transformation:** don't export extra functions ([fa38b40](https://github.com/aeternity/aepp-sdk-js/commit/fa38b40ef56744e2941db198533b3f454b3bf53c))
* **transformation:** drop extra wrapper around bindings ([9b70f8e](https://github.com/aeternity/aepp-sdk-js/commit/9b70f8ea0ce509a91ec78f0718574b59c0143de0))

## [10.0.0-beta.1](https://github.com/aeternity/aepp-sdk-js/compare/v9.0.1...v10.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](https://github.com/aeternity/aepp-sdk-js/commit/5c690d2d77a433c8496ab9cda6fd66e52a6b4b23))
* decode using calldata package ([2bb494d](https://github.com/aeternity/aepp-sdk-js/commit/2bb494d67c02c9abd017274e06c55ed07aef65d7))
* encode using calldata package ([eeebbd5](https://github.com/aeternity/aepp-sdk-js/commit/eeebbd58b860c2e4b35c1ed4cb3aaf12677b0982))
* **poll-interval:** reduce poll interval to be a more sensible default ([9e55b2b](https://github.com/aeternity/aepp-sdk-js/commit/9e55b2be92125b42713f0e2a35916abc9f3c18fb))
* support for new node feature next-nonce of release 6.2.0 ([#1299](https://github.com/aeternity/aepp-sdk-js/issues/1299)) ([e40b046](https://github.com/aeternity/aepp-sdk-js/commit/e40b04678b7c4819074803095da31c813aa367e0))
* **aens:** enable commitmentHash preclaim in tests ([5de05e5](https://github.com/aeternity/aepp-sdk-js/commit/5de05e58d097a2842c78d80a34c49a8e7635997c))

### Bug Fixes

* **compiler errors:** construct error message by server response ([8621352](https://github.com/aeternity/aepp-sdk-js/commit/8621352691d47373d4e79d495f2d6e6d6e87b432))
* **events:** fix event decoding order and address prefix ([faad530](https://github.com/aeternity/aepp-sdk-js/commit/faad53057cbf7bca65d0f2c6262b27090773fbb6))
* **events:** fix test for incorrect address return type ([31aaeec](https://github.com/aeternity/aepp-sdk-js/commit/31aaeec87fcd59eb3866682a0d529100a975f7fb))
* **node errors:** construct error message by server response ([d556936](https://github.com/aeternity/aepp-sdk-js/commit/d5569361c925bca35df76f31bcb049c83a6daf31))
* **semverSatisfies:** ignore build number ([c3cce0a](https://github.com/aeternity/aepp-sdk-js/commit/c3cce0a256b9b0af29b30662e4fa7a08bb9ab187))
* commitlint issue ([2c1cf54](https://github.com/aeternity/aepp-sdk-js/commit/2c1cf541e45b87b6acf54c2929847a3d227d8ada))
* don't accept ak\_ addresses as hash, bytes and signature ([cbaac62](https://github.com/aeternity/aepp-sdk-js/commit/cbaac6263dd1729d64ef3a01c94e10687fed3b0d))
* drop unnecessary skipArgsConvert option ([6d4a599](https://github.com/aeternity/aepp-sdk-js/commit/6d4a59986d6833866b6828085fad96b364e5d315))
* drop unnecessary skipTransformDecoded option ([bb49239](https://github.com/aeternity/aepp-sdk-js/commit/bb492396a29d673f02eee7cfec4e114c2fba2f3c))
* inline getConsensusProtocolVersion function ([75f0447](https://github.com/aeternity/aepp-sdk-js/commit/75f044792bd2d81eca3a2abc8218e8ca5f167134))
* invert and rename forceCodeCheck option to validateByteCode ([72122fa](https://github.com/aeternity/aepp-sdk-js/commit/72122facdcec9921202b210c387c19509b26e578))
* make contractCall/Static a wrapper around getContractInstance ([c4ec019](https://github.com/aeternity/aepp-sdk-js/commit/c4ec019372f5d5745378e781afb1eb6b2b5acfeb))
* make contractDeploy a wrapper, remove unused code ([48d36f9](https://github.com/aeternity/aepp-sdk-js/commit/48d36f9be30805a476590282bffae9944134eb41))
* remove contractDecodeData as extra wrapper ([5df2285](https://github.com/aeternity/aepp-sdk-js/commit/5df2285a7b5694475554e5154c544e0885bd4b33))
* require compiler 6 and above ([f9cef12](https://github.com/aeternity/aepp-sdk-js/commit/f9cef12a7db4b2559519ef7f8380cc9e89630492))
* specify browserlist to better choice of features to transpile ([c2ec71a](https://github.com/aeternity/aepp-sdk-js/commit/c2ec71a7690ed2590093c0cbff048599b5ca87bd))
* **contract instance:** remove unnecessary `setOptions` function ([b88e767](https://github.com/aeternity/aepp-sdk-js/commit/b88e767c86874f259ff7a1eb1784c368524e7167))
* **contract instance:** thread all extra options as contract's ([10fb7ba](https://github.com/aeternity/aepp-sdk-js/commit/10fb7bad8f61b973c1be5daec50909d251ec1f90))
* remove contractEncodeCall as extra wrapper ([a4b303f](https://github.com/aeternity/aepp-sdk-js/commit/a4b303fbcc3b7cc544a2b5b3415d0f4a147b488c))
* **transformation:** don't export extra functions ([fa38b40](https://github.com/aeternity/aepp-sdk-js/commit/fa38b40ef56744e2941db198533b3f454b3bf53c))
* **transformation:** drop extra wrapper around bindings ([9b70f8e](https://github.com/aeternity/aepp-sdk-js/commit/9b70f8ea0ce509a91ec78f0718574b59c0143de0))

## [9.0.1](https://github.com/aeternity/aepp-sdk-js/compare/v9.0.0...v9.0.1) (2021-10-04)

### Refactoring

* Remove channel from universal stamp ([63e88ce74](https://github.com/aeternity/aepp-sdk-js/commit/63e88ce74))

## [9.0.0](https://github.com/aeternity/aepp-sdk-js/compare/v8.2.1...v9.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](https://github.com/aeternity/aepp-sdk-js/commit/456fe00cb8b8eba09ea53800e8713550d0f329cc))
  * `delegateNamePreclaimSignature`
  * `delegateNameClaimSignature`
  * `delegateNameTransferSignature`
  * `delegateNameRevokeSignature`
* drop following oracle delegation signature methods over the new common `createOracleDelegationSignature` implementation accepts an object param ([88b7bf3](https://github.com/aeternity/aepp-sdk-js/commit/88b7bf3aa55b3740c9a64fb4049abcc0fdd3b277))
  * `delegateOracleRegisterSignature`
  * `delegateOracleExtendSignature`
  * `delegateOracleRespondSignature`
* drop `assertedType`, use `decode` instead ([00d563f](https://github.com/aeternity/aepp-sdk-js/commit/00d563feca871e2c9474df667696946d1c8d12c7))
* drop `waitMined` static method ([2f299de](https://github.com/aeternity/aepp-sdk-js/commit/2f299de2c985ce2619db10e4a264f7e6d1b7279c))
* tx-validator now gives different, more meaningful, errors ([95a2a23](https://github.com/aeternity/aepp-sdk-js/commit/95a2a232f3fd8b875b223e352445b045a7217dad))
* no longer exports buildHash function, use hash or buildTxHash ([9e1fde7](https://github.com/aeternity/aepp-sdk-js/commit/9e1fde7693986359a9ac0ff80829dbc058882f7b))
* tx-verification is now done by default ([989b36f](https://github.com/aeternity/aepp-sdk-js/commit/989b36f28e9649fd74b384f2a16bf8fd64bac85c))

### Features

* `payForTransaction` method ([fbf204d](https://github.com/aeternity/aepp-sdk-js/commit/fbf204dd2ba333551327adce579b9f9d9edc601b))
  * don't check is GA if innerTx ([0ee9db4](https://github.com/aeternity/aepp-sdk-js/commit/0ee9db4b7e1cbab5b874bee56b5bf8814610b913))
  * don't sent to blockchain if innerTx ([523e9bb](https://github.com/aeternity/aepp-sdk-js/commit/523e9bbd62a506efd8a9d50317bcf3980052948e))
* **deposit-trap:** enforce zero value for `deposit` during contract deploy ([cfb5f22](https://github.com/aeternity/aepp-sdk-js/commit/cfb5f2263316f0f70290cb174c1d334cf49c6db3))

### Maintenance

* change default gas limit to 25000 ([831e4dd](https://github.com/aeternity/aepp-sdk-js/commit/831e4dde12a78583d1a567fdc5a9ef86518d5fe6))

### Bug Fixes

* **AENS:** name length minimum bid fee ([db6ca4c](https://github.com/aeternity/aepp-sdk-js/commit/db6ca4c3d89eedf7fa326bd6d0484ea0d94de19e))
* **delegate-signature:** stop using the default account in the context of signing ([29d760e](https://github.com/aeternity/aepp-sdk-js/commit/29d760ef04591cd9a745a508ff4dfbb8859c347a))
* **mustAccountStamp:** process accounts only if supplied ([10ec2c3](https://github.com/aeternity/aepp-sdk-js/commit/10ec2c37f6f35516023cace435bdde6294786ed7))
* swagger https issue ([3a876bb](https://github.com/aeternity/aepp-sdk-js/commit/3a876bbb80300cbf91891daa642f6daee61c1427))
* **tx serialisation:** accept unpackTx output produced by deserialisator ([ff0b3f5](https://github.com/aeternity/aepp-sdk-js/commit/ff0b3f551f7cf0684ac9c8e528d94eae9c31f226))

## [8.2.1](https://github.com/aeternity/aepp-sdk-js/compare/v8.2.0...v8.2.1) (2021-06-21)

### Bug Fixes

* swagger file of aeternity's compiler ([4001e64](https://github.com/aeternity/aepp-sdk-js/commit/4001e64f8ce90d234c9cd971e05f6b386b54221d))
* swagger file of aeternity's latest compiler ([a1caa03](https://github.com/aeternity/aepp-sdk-js/commit/a1caa0374e3a0be84644d7b8dd846d70193e8242))

## [8.2.0](https://github.com/aeternity/aepp-sdk-js/compare/8.1.0...v8.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](https://github.com/aeternity/aepp-sdk-js/commit/d5d741cfd71c757f1b3e55e6708fb589c8ed6136))
* ponyfill `Buffer` in browser ([953bf08](https://github.com/aeternity/aepp-sdk-js/commit/953bf0845bd64731cd57ed152fed67575120a276))
* ponyfill `process` in browser ([798ab63](https://github.com/aeternity/aepp-sdk-js/commit/798ab63d0f3ebd3648be4bfce88b0b3d38013e6e))
* **rlp:** import as it is ([736b0f5](https://github.com/aeternity/aepp-sdk-js/commit/736b0f5b8a4cfb39c76c2dc57880c234b804a8e2))
* typo name of broadcast failed error generator ([ae7e823](https://github.com/aeternity/aepp-sdk-js/commit/ae7e8238c378e0aa2095328577ef0ce2bd518e49))
* **examlple-aepp:** open only when ready to accept connection ([4872eb9](https://github.com/aeternity/aepp-sdk-js/commit/4872eb979330f1676241dfefc434c0eeafcf5eab))
* **crypto:** drop extra "personal" from message functions ([34288cb](https://github.com/aeternity/aepp-sdk-js/commit/34288cb9adb443d8bd44ba6ddc93edf4de37349a))
* **crypto:** remove outdated generateSaveWallet function ([37298be](https://github.com/aeternity/aepp-sdk-js/commit/37298be567d7065e06904cb0d7d5a01f649131fb))
* **crypto:** remove unused addressToHex function ([93f9def](https://github.com/aeternity/aepp-sdk-js/commit/93f9def0e90bcc20641aab464f93ddcedd1d1aa2))
* **crypto:** remove unused formatAddress function ([a5d4b62](https://github.com/aeternity/aepp-sdk-js/commit/a5d4b6263d45edf0e454addfe1e96b4741b46db3))
* **crypto:** remove unused hexStringToByte function ([ed39a76](https://github.com/aeternity/aepp-sdk-js/commit/ed39a7659ac04abd5dbd80d54d28369bfa4322b9))
* **crypto:** remove unused prepareTx, encodeTx, decodeTx functions ([64d15eb](https://github.com/aeternity/aepp-sdk-js/commit/64d15eb8eb7608b7418eebd84bedb697a1a7b12a))
* **crypto:** rename messageToBinary to messageToHash adding hashing ([df37004](https://github.com/aeternity/aepp-sdk-js/commit/df37004f57a751b0f089dcef7b8fbcdf306bd08f))
* **node-pool:** inline helpers, export by default ([ed1cfb5](https://github.com/aeternity/aepp-sdk-js/commit/ed1cfb59ada165b535a7f9bb7a3f3acdec00aac1))
* **string:** remove unused snakeOrKebabToPascal function ([79bdc04](https://github.com/aeternity/aepp-sdk-js/commit/79bdc0490024e173c7620cfa089a4e84212930b3))
* **string:** use isAddressValid instead of isAeAddress ([ac7d827](https://github.com/aeternity/aepp-sdk-js/commit/ac7d82701e30f9b7f2bc0d40412244face330d18))
* drop compatibility with node\@5 ([f5e2fdb](https://github.com/aeternity/aepp-sdk-js/commit/f5e2fdb42cc115a11c6be6e3dfd5cd1acfd6d3cc))
* drop outdated protocols and transactions schemas ([f18d305](https://github.com/aeternity/aepp-sdk-js/commit/f18d305ca29204f006a438c157add0b511df4e93))

## [8.1.0](https://github.com/aeternity/aepp-sdk-js/compare/8.0.0...8.1.0) (2021-05-31)

### Bug Fixes

* **poi-tx schema:** use proper type name ([9e7c7b2](https://github.com/aeternity/aepp-sdk-js/commit/9e7c7b22c70cb0dcd194f8b1871be8fbf9b914ea))
* **wait-for-tx-confirm:** validate transaction height after awaitHeight ([95e0d93](https://github.com/aeternity/aepp-sdk-js/commit/95e0d9334ffb9bf56f028fcc96d75f5a83905df0))

### Features

* support compiler\@6.0.0 and above ([3cdc7f9](https://github.com/aeternity/aepp-sdk-js/commit/3cdc7f9046b53de5c1ddeb0f7bd1b20af7cf433e))

## [8.0.0](https://github.com/aeternity/aepp-sdk-js/compare/8.0.0-beta.2...8.0.0) (2021-05-18)

### Bug Fixes

* avoid instanceof between possible not/polyfilled objects ([906ee0e](https://github.com/aeternity/aepp-sdk-js/commit/906ee0ea4eb71160c3a482ea068cbb0d857cef8f))

## [8.0.0-beta.2](https://github.com/aeternity/aepp-sdk-js/compare/8.0.0-beta.1...8.0.0-beta.2) (2021-05-12)

### Bug Fixes

* revert conversion of case in calls to compiler ([0a69e49](https://github.com/aeternity/aepp-sdk-js/commit/0a69e4979b20bdd5ee954e2860fdc827f808eb8f))

### Maintenance

* avoid ts definitions based on broken JsDoc ([572d19f](https://github.com/aeternity/aepp-sdk-js/commit/572d19f5ae6bd549c92a1a37452c0270490b9f6e))

## [8.0.0-beta.1](https://github.com/aeternity/aepp-sdk-js/compare/7.7.0...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](https://github.com/aeternity/aepp-sdk-js/commit/254f5a93))
* **refactor:** don't retrieve account from process.env ([59e5c9b5](https://github.com/aeternity/aepp-sdk-js/commit/59e5c9b5))
* **refactor(crypto):** don't reexport RLP methods ([c6004bc7](https://github.com/aeternity/aepp-sdk-js/commit/c6004bc7))
* **refactoring:** remove legacy contractDecodeDataAPI compiler method ([dfadac8d](https://github.com/aeternity/aepp-sdk-js/commit/dfadac8d))
* **refactor:** rename `forceCompatibility` to more clear `ignoreVersion` ([72f1d326](https://github.com/aeternity/aepp-sdk-js/commit/72f1d326))
* **refactoring:** require compiler above or equal to 4.1.0 ([c9f48f91](https://github.com/aeternity/aepp-sdk-js/commit/c9f48f91))
* **RpcClient:** Drop unnecessary action stuff ([84545fd7](https://github.com/aeternity/aepp-sdk-js/commit/84545fd7))
* Combine RpcWallet and RpcClients ([12892002](https://github.com/aeternity/aepp-sdk-js/commit/12892002))
* Drop old names support, split ensureNameValid and isNameValid ([315a78a9](https://github.com/aeternity/aepp-sdk-js/commit/315a78a9))
* **refactor(contract-aci):** export single function instead of stamp ([091b3282](https://github.com/aeternity/aepp-sdk-js/commit/091b3282))
* Combine Accounts and Selector into AccountMultiple ([0cacd3b3](https://github.com/aeternity/aepp-sdk-js/commit/0cacd3b3))
* Use swagger-client instead of a custom implementation ([4b3260d5](https://github.com/aeternity/aepp-sdk-js/commit/4b3260d5))
* Remove OracleNodeAPI wrapper ([c6f9a76d](https://github.com/aeternity/aepp-sdk-js/commit/c6f9a76d))
* Flatten options of contractCallStatic, remove extra dryRunContractTx ([f3ffb664](https://github.com/aeternity/aepp-sdk-js/commit/f3ffb664))
* **txDryRun:** Simplify arguments, support `txEvents` option ([401c53da](https://github.com/aeternity/aepp-sdk-js/commit/401c53da))
* **contracts:** Mark handleCallError as private, simplify arguments ([bdf76e24](https://github.com/aeternity/aepp-sdk-js/commit/bdf76e24))
* import/no-named-as-default linter error ([d63e1511](https://github.com/aeternity/aepp-sdk-js/commit/d63e1511))
* **oracle:** make pollForQueries a sync function ([dc955e14](https://github.com/aeternity/aepp-sdk-js/commit/dc955e14))
* chore: drop aevm support and backend (compiler) option ([6eb702dd](https://github.com/aeternity/aepp-sdk-js/commit/6eb702dd))
* refactor(schema): export enum with consensus protocol versions ([e92f187d](https://github.com/aeternity/aepp-sdk-js/commit/e92f187d))

### Features

* **swagger:** allow to provide external specification ([683082b3](https://github.com/aeternity/aepp-sdk-js/commit/683082b3))
* **swagger:** make compatible with OpenAPI 3 ([1d83f1a4](https://github.com/aeternity/aepp-sdk-js/commit/1d83f1a4))
* switch to v3 endpoints on Iris ([eca6697b](https://github.com/aeternity/aepp-sdk-js/commit/eca6697b))
* **traverse-keys:** add keysOfValuesToIgnore option as a workaround ([8ff5afe4](https://github.com/aeternity/aepp-sdk-js/commit/8ff5afe4))
* Use es modules version in browser if supported ([b49c38f0](https://github.com/aeternity/aepp-sdk-js/commit/b49c38f0))
* Add typescript support ([abde033a](https://github.com/aeternity/aepp-sdk-js/commit/abde033a))

### Docs

* **contract:** fix default backend value ([9fcbeb32](https://github.com/aeternity/aepp-sdk-js/commit/9fcbeb32))
* **wallet-iframe:** fix disconnect button ([59014bd0](https://github.com/aeternity/aepp-sdk-js/commit/59014bd0))
* **examples-browser:** rearrange files and docs ([985e3b96](https://github.com/aeternity/aepp-sdk-js/commit/985e3b96))
* use relative links between docs pages ([d34d8181](https://github.com/aeternity/aepp-sdk-js/commit/d34d8181))
* remove outdated aecrypto example ([7df05bfe](https://github.com/aeternity/aepp-sdk-js/commit/7df05bfe))
* refactor node examples ([e8c443cf](https://github.com/aeternity/aepp-sdk-js/commit/e8c443cf))
* **changelog:** add missed single quote in example ([45fd0002](https://github.com/aeternity/aepp-sdk-js/commit/45fd0002))
* **resolveName:** Document verify option ([ca865596](https://github.com/aeternity/aepp-sdk-js/commit/ca865596))
* Remove outdated docs ([cf9c166f](https://github.com/aeternity/aepp-sdk-js/commit/cf9c166f))
* **decodeTx:** Fix arg naming and annotation ([883819c0](https://github.com/aeternity/aepp-sdk-js/commit/883819c0))
* **contract-events:** Remove outdated contract, update links and markup ([37d39d61](https://github.com/aeternity/aepp-sdk-js/commit/37d39d61))
* Update docs/guides/import-nodejs.md ([9dc274ed](https://github.com/aeternity/aepp-sdk-js/commit/9dc274ed))
* Update docs/guides/import-nodejs.md ([93bfce11](https://github.com/aeternity/aepp-sdk-js/commit/93bfce11))
* break down json obj keys necessary for account initialization in nodejs docs ([af5ee41d](https://github.com/aeternity/aepp-sdk-js/commit/af5ee41d))
* Ignore **pycache** in the docs folder ([9989e8e7](https://github.com/aeternity/aepp-sdk-js/commit/9989e8e7))
* Specify the python version more precisely ([d6204523](https://github.com/aeternity/aepp-sdk-js/commit/d6204523))
* Add **pycache** to .gitignore ([f0b7e1f1](https://github.com/aeternity/aepp-sdk-js/commit/f0b7e1f1))
* Add navigation and update some titles ([8ad15ced](https://github.com/aeternity/aepp-sdk-js/commit/8ad15ced))
* **docco template:** Remove extra new lines around code, skip extra blocks ([65ce3cf1](https://github.com/aeternity/aepp-sdk-js/commit/65ce3cf1))
* **aecontract:** Make a list out of a long sentence ([8ff7839c](https://github.com/aeternity/aepp-sdk-js/commit/8ff7839c))
* **aens-usage:** Use more semantic markup, compatible with mkdocs ([de3d3cd5](https://github.com/aeternity/aepp-sdk-js/commit/de3d3cd5))
* **docs readme:** Fix typos and formatting ([5b0c790d](https://github.com/aeternity/aepp-sdk-js/commit/5b0c790d))
* Add initial mkdocs and readthedocs configuration ([b688a96b](https://github.com/aeternity/aepp-sdk-js/commit/b688a96b))
* Extract quick-start to guides ([28f7e6f7](https://github.com/aeternity/aepp-sdk-js/commit/28f7e6f7))
* Update testnet URL ([7bb823f8](https://github.com/aeternity/aepp-sdk-js/commit/7bb823f8))
* **assertedType:** Make the last parameter more obvious ([50094d3a](https://github.com/aeternity/aepp-sdk-js/commit/50094d3a))
* **travis:** Build docs to gh-pages ([7c935a2b](https://github.com/aeternity/aepp-sdk-js/commit/7c935a2b))
* **Docs root:** Add link to API reference ([4a36102d](https://github.com/aeternity/aepp-sdk-js/commit/4a36102d))
* Move outdated disclaimer to the root readme ([80a6a663](https://github.com/aeternity/aepp-sdk-js/commit/80a6a663))
* Remove generated docs ([fd802b00](https://github.com/aeternity/aepp-sdk-js/commit/fd802b00))
* Fix api docs generation ([56e3aa9d](https://github.com/aeternity/aepp-sdk-js/commit/56e3aa9d))

### Code Refactoring

* use BigNumber constructor instead of custom wrapper ([4488b4d7](https://github.com/aeternity/aepp-sdk-js/commit/4488b4d7))
* avoid extra object nesting ([f99d3045](https://github.com/aeternity/aepp-sdk-js/commit/f99d3045))
* **compiler:** use swagger file ([0d821614](https://github.com/aeternity/aepp-sdk-js/commit/0d821614))
* **semver-satisfies:** remove extra splitting by dash ([35d5c11a](https://github.com/aeternity/aepp-sdk-js/commit/35d5c11a))
* remove extra char in regex ([37eeefae](https://github.com/aeternity/aepp-sdk-js/commit/37eeefae))
* refactor wallet detector ([1bc8d027](https://github.com/aeternity/aepp-sdk-js/commit/1bc8d027))
* **shareWalletInfo:** Don't create unnecessary copy of info ([3a4e50b9](https://github.com/aeternity/aepp-sdk-js/commit/3a4e50b9))
* Inline receive helper that is used once ([a4a13889](https://github.com/aeternity/aepp-sdk-js/commit/a4a13889))
* **rpc:** Inline helpers used once ([21903f4d](https://github.com/aeternity/aepp-sdk-js/commit/21903f4d))
* **rpc:** Prefer default export ([70fc3f0f](https://github.com/aeternity/aepp-sdk-js/commit/70fc3f0f))
* **rpc helpers:** Remove unused getWindow function ([c12b528f](https://github.com/aeternity/aepp-sdk-js/commit/c12b528f))
* don't use AsyncInit where it is not necessary ([84373697](https://github.com/aeternity/aepp-sdk-js/commit/84373697))
* **contract-aci:** reuse defaults from Contract stamp ([47013962](https://github.com/aeternity/aepp-sdk-js/commit/47013962))
* cleanup MIN\_GAS\_PRICE ([a5b28842](https://github.com/aeternity/aepp-sdk-js/commit/a5b28842))
* remove unused option string ([0e28af23](https://github.com/aeternity/aepp-sdk-js/commit/0e28af23))
* remove unused dryRunAccount default option ([8c42b706](https://github.com/aeternity/aepp-sdk-js/commit/8c42b706))
* Consistent new on Error creation ([39f93d3f](https://github.com/aeternity/aepp-sdk-js/commit/39f93d3f))
* **height:** Use a shorter syntax ([b013bf9d](https://github.com/aeternity/aepp-sdk-js/commit/b013bf9d))
* **height:** Improve naming of internal promise ([7915119a](https://github.com/aeternity/aepp-sdk-js/commit/7915119a))
* Move source code to "src" folder ([ddbce389](https://github.com/aeternity/aepp-sdk-js/commit/ddbce389))
* **sign-using-ga:** don't pass extra options ([44bab6d0](https://github.com/aeternity/aepp-sdk-js/commit/44bab6d0))

### Bug Fixes

* **traverse-keys:** add missed null check ([7b724b86](https://github.com/aeternity/aepp-sdk-js/commit/7b724b86))
* **swagger:** add workaround to get transaction details of GAAttachTx ([bb7ec479](https://github.com/aeternity/aepp-sdk-js/commit/bb7ec479))
* **top-block:** use getTopHeader on Iris, mark deprecated ([2b410257](https://github.com/aeternity/aepp-sdk-js/commit/2b410257))
* **nonce-verification:** add missed space ([3f244dfb](https://github.com/aeternity/aepp-sdk-js/commit/3f244dfb))
* missed aepp id in wallet connect handler ([1ed9284a](https://github.com/aeternity/aepp-sdk-js/commit/1ed9284a))
* **get-node-info:** bring url and internalUrl back ([e984f3b3](https://github.com/aeternity/aepp-sdk-js/commit/e984f3b3))
* contract error decoding ([d56931ac](https://github.com/aeternity/aepp-sdk-js/commit/d56931ac))
* **contract-aci:** don't proxy prepareArgsForEncode from helpers ([7e40eda0](https://github.com/aeternity/aepp-sdk-js/commit/7e40eda0))
* Improve handling of call error ([584eb5e4](https://github.com/aeternity/aepp-sdk-js/commit/584eb5e4))

### Maintenance

* Use ts-standard instead of standard ([be5aece7](https://github.com/aeternity/aepp-sdk-js/commit/be5aece7))
* **tsconfig:** Set target version to es5 ([ed131b1b](https://github.com/aeternity/aepp-sdk-js/commit/ed131b1b))
* Fix eslint errors manually ([dfe3a05e](https://github.com/aeternity/aepp-sdk-js/commit/dfe3a05e))
* require node below 7.0.0 ([ae1a5ef5](https://github.com/aeternity/aepp-sdk-js/commit/ae1a5ef5))
* require node above or equal to 5.2.0 ([ebb36f06](https://github.com/aeternity/aepp-sdk-js/commit/ebb36f06))
* update dependencies ([d876cff7](https://github.com/aeternity/aepp-sdk-js/commit/d876cff7))
* **deps:** bump ssri from 6.0.1 to 6.0.2 ([e0dfb8c9](https://github.com/aeternity/aepp-sdk-js/commit/e0dfb8c9))
* **deps:** bump y18n from 4.0.0 to 4.0.1 ([9e4acd61](https://github.com/aeternity/aepp-sdk-js/commit/9e4acd61))
* **deps:** bump elliptic from 6.5.3 to 6.5.4 ([feb3aa68](https://github.com/aeternity/aepp-sdk-js/commit/feb3aa68))
* **deps:** bump axios from 0.19.2 to 0.21.1 ([0f619f27](https://github.com/aeternity/aepp-sdk-js/commit/0f619f27))
* **deps:** bump ini from 1.3.5 to 1.3.7 ([95580324](https://github.com/aeternity/aepp-sdk-js/commit/95580324))
* **deps:** bump highlight.js from 10.4.0 to 10.4.1 ([9fcfadfe](https://github.com/aeternity/aepp-sdk-js/commit/9fcfadfe))
* **deps:** bump highlight.js from 10.1.1 to 10.4.0 ([43aff25f](https://github.com/aeternity/aepp-sdk-js/commit/43aff25f))
* **deps:** bump node-fetch from 2.6.0 to 2.6.1 ([80ed6d70](https://github.com/aeternity/aepp-sdk-js/commit/80ed6d70))
* Update node to 5.8.0 ([b6ff3422](https://github.com/aeternity/aepp-sdk-js/commit/b6ff3422))
* Update .gitignore ([1f1563dc](https://github.com/aeternity/aepp-sdk-js/commit/1f1563dc))
* add vscode .history folder to gitignore ([f4d61df4](https://github.com/aeternity/aepp-sdk-js/commit/f4d61df4))
* Update testnet URL in JS files ([dc1b807a](https://github.com/aeternity/aepp-sdk-js/commit/dc1b807a))
* add Iris consensus protocol ([41fd4a13](https://github.com/aeternity/aepp-sdk-js/commit/41fd4a13))
* add vsn 2 version of GA\_META transaction ([b5abe098](https://github.com/aeternity/aepp-sdk-js/commit/b5abe098))
* add new versions of CHANNEL, CHANNEL\_CREATE transactions ([366981a3](https://github.com/aeternity/aepp-sdk-js/commit/366981a3))
* support compilers below 6.0.0 ([876e5164](https://github.com/aeternity/aepp-sdk-js/commit/876e5164))

### Performance

* Optimize height queries ([f74ca4cb](https://github.com/aeternity/aepp-sdk-js/commit/f74ca4cb))

### Tests

* simplify GA tests ([7b9628c2](https://github.com/aeternity/aepp-sdk-js/commit/7b9628c2))
* **oracle:** avoid explicit waiting for 1 second ([f81cd3a1](https://github.com/aeternity/aepp-sdk-js/commit/f81cd3a1))
* passing of forceCompatibility flag ([6f900b98](https://github.com/aeternity/aepp-sdk-js/commit/6f900b98))
* **contract:** remove extra backend option ([184566f9](https://github.com/aeternity/aepp-sdk-js/commit/184566f9))
* update channel tests to fate ([35a996d8](https://github.com/aeternity/aepp-sdk-js/commit/35a996d8))
* Faster tests ([5d629103](https://github.com/aeternity/aepp-sdk-js/commit/5d629103))
* Extract strings tests into separate file ([f3c7d3fa](https://github.com/aeternity/aepp-sdk-js/commit/f3c7d3fa))
* **ga:** Remove extra await ([72bfc746](https://github.com/aeternity/aepp-sdk-js/commit/72bfc746))
* Make tests more precise ([fe7a8567](https://github.com/aeternity/aepp-sdk-js/commit/fe7a8567))

## [7.7.0](https://github.com/aeternity/aepp-sdk-js/compare/7.6.0...7.7.0) (2020-08-18)

### Features

* **transferFunds:** Accept onAccount option ([#1060](https://github.com/aeternity/aepp-sdk-js/pull/1060))
* **bigNumberToByteArray:** Avoid unexpected behaviour by throwing exception ([#1066](https://github.com/aeternity/aepp-sdk-js/pull/1066))
* **example:** Add disconnect button on wallet side ([#1056](https://github.com/aeternity/aepp-sdk-js/pull/1056))

### Code Refactoring

* Use external version of json-bigint ([#1033](https://github.com/aeternity/aepp-sdk-js/pull/1033))
* Make tests configuration more flexible ([#1037](https://github.com/aeternity/aepp-sdk-js/pull/1037))
* test-else: Exclude aens tests and speedup jobs ([#1040](https://github.com/aeternity/aepp-sdk-js/pull/1040))
* Avoid unnecessary eslint-disable ([#1043](https://github.com/aeternity/aepp-sdk-js/pull/1043))
* Add lint script ([#1045](https://github.com/aeternity/aepp-sdk-js/pull/1045))
* Refactor tests ([#1039](https://github.com/aeternity/aepp-sdk-js/pull/1039))
* Refactor bytes unit tests ([#1050](https://github.com/aeternity/aepp-sdk-js/pull/1050))
* travis: Run linter and unit tests firstly ([#1051](https://github.com/aeternity/aepp-sdk-js/pull/1051))
* Disable Travis on all branches except master, develop ([#1054](https://github.com/aeternity/aepp-sdk-js/pull/1054))
* Refactor contract, oracle, chain ([#1048](https://github.com/aeternity/aepp-sdk-js/pull/1048))
* Refactor state channels ([#1047](https://github.com/aeternity/aepp-sdk-js/pull/1047))

### Docs

* Fix typo in Readme.md ([#1053](https://github.com/aeternity/aepp-sdk-js/pull/1053))

## [7.6.0](https://github.com/aeternity/aepp-sdk-js/compare/7.5.0...7.6.0) (2020-07-22)

### Features

* **wallet-detector:** allow to connect wallet to aepp between iframes ([3f74a05](https://github.com/aeternity/aepp-sdk-js/commit/3f74a05350aac261d9637cf61b5dd519b29b6723))

## [7.5.0](https://github.com/aeternity/aepp-sdk-js/compare/7.4.2...7.5.0) (2020-06-18)

### Features

* **Account:** Build signature from transaction hash ([#1025](https://github.com/aeternity/aepp-sdk-js/issues/1025)) ([2cb8cc2](https://github.com/aeternity/aepp-sdk-js/commit/2cb8cc2))
* **ACI:** External contract integration ([#1027](https://github.com/aeternity/aepp-sdk-js/issues/1027)) ([a14d13a](https://github.com/aeternity/aepp-sdk-js/commit/a14d13a))

### Refactor

* **Deps:** Clean up repository ([#1029](https://github.com/aeternity/aepp-sdk-js/pull/1029))
* **Env:** Simplify Travis and docker-compose ([#1031](https://github.com/aeternity/aepp-sdk-js/pull/1031))
* **Env:** Remove unused packages ([#1032](https://github.com/aeternity/aepp-sdk-js/pull/1032))

## [7.4.2](https://github.com/aeternity/aepp-sdk-js/compare/7.2.1...7.4.2) (2020-06-10)

### Bug Fixes

* **AEX-2:** Handler always as Promise ([#1018](https://github.com/aeternity/aepp-sdk-js/issues/1018)) ([a8b0aab](https://github.com/aeternity/aepp-sdk-js/commit/a8b0aab))

### Refactor

* **AEX-2:** Add debug option for `getHandler`. Hide unknown message logs ([#1021](https://github.com/aeternity/aepp-sdk-js/issues/1021)) ([22c452c](https://github.com/aeternity/aepp-sdk-js/commit/22c452c))
* **Contract** Add AENS name resolver for Contract API

## [7.4.1](https://github.com/aeternity/aepp-sdk-js/compare/7.4.0...7.4.1) (2020-05-30)

### Bug Fixes

* **AEX-2:** Fix `isExtensionContext` check ([#1011](https://github.com/aeternity/aepp-sdk-js/issues/1011)) ([814f99b](https://github.com/aeternity/aepp-sdk-js/commit/814f99b))

## [7.4.0](https://github.com/aeternity/aepp-sdk-js/compare/7.3.1...7.4.0) (2020-05-29)

### Bug Fixes

* **AEX-2:** Fix `getBrowserAPI` helper for cross-browser compatibility ([#1007](https://github.com/aeternity/aepp-sdk-js/issues/1007)) ([98b0e29](https://github.com/aeternity/aepp-sdk-js/commit/98b0e29))

### Features

* **ACI:** Event decoding ([#1006](https://github.com/aeternity/aepp-sdk-js/issues/1006)) ([6b8e6fe](https://github.com/aeternity/aepp-sdk-js/commit/6b8e6fe))

## [7.3.1](https://github.com/aeternity/aepp-sdk-js/compare/7.2.1...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](https://github.com/aeternity/aepp-sdk-js/pull/996))

## [7.3.0](https://github.com/aeternity/aepp-sdk-js/compare/7.2.1...7.3.0) (2020-05-20)

### Bug Fixes

* **example:** Regenerate lock ([#960](https://github.com/aeternity/aepp-sdk-js/issues/960)) ([5b6a30e](https://github.com/aeternity/aepp-sdk-js/commit/5b6a30e))

### Features

* **ACI:** expose events decoding through Contract ACI stamp ([#971](https://github.com/aeternity/aepp-sdk-js/issues/971)) ([4930635](https://github.com/aeternity/aepp-sdk-js/commit/4930635))
* **AEX\_2:** Allow to connect without node ([#991](https://github.com/aeternity/aepp-sdk-js/issues/991)) ([87b9ef9](https://github.com/aeternity/aepp-sdk-js/commit/87b9ef9))
* **AEX\_2:** Connect to extension from iframe ([#992](https://github.com/aeternity/aepp-sdk-js/issues/992)) ([47179f7](https://github.com/aeternity/aepp-sdk-js/commit/47179f7))
* **Build:** Expose `ACIHelpers` and `ACITransformation` to bundle ([#970](https://github.com/aeternity/aepp-sdk-js/issues/970)) ([8b475e0](https://github.com/aeternity/aepp-sdk-js/commit/8b475e0))
* **Chain:** Add option `allowUnsynced` for `poll` method which allow to depend on `get tx/info` API ([9c80ce0](https://github.com/aeternity/aepp-sdk-js/commit/9c80ce0))
* **Channel:** add timeout message handler ([#983](https://github.com/aeternity/aepp-sdk-js/issues/983)) ([1940a15](https://github.com/aeternity/aepp-sdk-js/commit/1940a15))
* **Channel:** Channel force progress ([#964](https://github.com/aeternity/aepp-sdk-js/issues/964)) ([8f15bef](https://github.com/aeternity/aepp-sdk-js/commit/8f15bef))
* **Contract:** Add unpacked transaction to contract call with error ([#981](https://github.com/aeternity/aepp-sdk-js/issues/981)) ([4efd341](https://github.com/aeternity/aepp-sdk-js/commit/4efd341))
* **Node:** Add `debug` option to Channel stamp ([#967](https://github.com/aeternity/aepp-sdk-js/issues/967)) ([68fcba5](https://github.com/aeternity/aepp-sdk-js/commit/68fcba5))

## [7.2.1](https://github.com/aeternity/aepp-sdk-js/compare/7.2.0...7.2.1) (2020-03-25)

### Fix

* **build** Remove resolving of `minimist` using `npx`

## [7.2.0](https://github.com/aeternity/aepp-sdk-js/compare/7.1.1...7.2.0) (2020-03-24)

### Docs

* **Guide:** Adjust guide for RPC Wallet/Aepp usage

### Code Refactoring

* **RPC:** Refactor rpc-related stuff ([#921](https://github.com/aeternity/aepp-sdk-js/pull/921))
* **Build:** Include amountFormatter and SCHEMA in bundle([#936](https://github.com/aeternity/aepp-sdk-js/pull/936))
* **Examples** Update examples apps

### Features

* **TX:** Introduce new stamp `TxObject`([#933](https://github.com/aeternity/aepp-sdk-js/pull/933))\
  This stamp give more flexibility on transaction serialization/deserialization process
* **Keystore:** Allow to store secret as hex or buffer ([#939](https://github.com/aeternity/aepp-sdk-js/pull/939))
* **AEX-2:** Add permission layer for account management ([#937](https://github.com/aeternity/aepp-sdk-js/pull/937))

## [7.1.1](https://github.com/aeternity/aepp-sdk-js/compare/7.1.0...7.1.1) (2020-02-27)

### Bug Fixes

* **TxBuilder:** Fix fee calculation for Oracles ([#924](https://github.com/aeternity/aepp-sdk-js/issues/924)) ([a9d784f](https://github.com/aeternity/aepp-sdk-js/commit/a9d784f))
* **AEX-2:** Broken wallet detection ([#926](https://github.com/aeternity/aepp-sdk-js/pull/926))

## [7.1.0](https://github.com/aeternity/aepp-sdk-js/compare/7.0.0...7.1.0) (2020-02-25)

### Refactor

* **AEX:** Simplify message id processing ([#916](https://github.com/aeternity/aepp-sdk-js/pull/916)). Pass AEEP `origin` to Wallet callback ([#918](https://github.com/aeternity/aepp-sdk-js/pull/918))
* **Node:** Move `getNetworkId` to helpers ([#910](https://github.com/aeternity/aepp-sdk-js/pull/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](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/contract-events.md))
* **Contract:** Helpers for Oracle and AENS signature delegation([Signature delegation guide](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/delegate-signature-to-contract.md))
* **AmountFormatter:** Rework amount formatter. Change formatter units naming. Add more units ([#909](https://github.com/aeternity/aepp-sdk-js/issues/909)) ([6970efe](https://github.com/aeternity/aepp-sdk-js/commit/6970efe))
* **TxBuilder:** Integrate amount formatter to transaction builder ([#897](https://github.com/aeternity/aepp-sdk-js/pull/897))
* **Account:** Implement Message Signing (`singMessage`, `verifyMessage`) ([#903](https://github.com/aeternity/aepp-sdk-js/pull/903))
* **AEX-2:** Add `removeRpcClient` method to RpcClient/RpcWallet stamp's([#912](https://github.com/aeternity/aepp-sdk-js/pull/912))

## [7.0.0](https://github.com/aeternity/aepp-sdk-js/compare/7.0.0-next.3...7.0.0) (2020-01-31)

### Bug Fixes

* **AEX-2:** Fix firefox compatibility issue ([#882](https://github.com/aeternity/aepp-sdk-js/issues/882)) ([2e16e10](https://github.com/aeternity/aepp-sdk-js/commit/2e16e10))

### Features

* **Chain:** add new method `waitFOrTxConfirm`. Add new option { confirm: 3 } to all of high lvl SDK API. Add tests. Adjust docs ([#874](https://github.com/aeternity/aepp-sdk-js/issues/874)) ([43528f9](https://github.com/aeternity/aepp-sdk-js/commit/43528f9))
* **Compiler:** Add new compiler methods API ([#875](https://github.com/aeternity/aepp-sdk-js/issues/875)) ([a939395](https://github.com/aeternity/aepp-sdk-js/commit/a939395))
* **network:** Throw error when can not get networkId ([#863](https://github.com/aeternity/aepp-sdk-js/issues/863)) ([41b7bd1](https://github.com/aeternity/aepp-sdk-js/commit/41b7bd1))

### Docs

* **Guide** [Add 7.0.0 migration guide](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/migration/7.md)
* **Guide:** Add [Oracle](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/oracle-usage.md), [AENS](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/aens-usage.md) and [Contract](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/contract-aci-usage.md) guides

### BREAKING CHANGES

Please check out [7.0.0 migration guide](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/migration/7.md)

This release include all changes from [7.0.0-next.1](https://github.com/aeternity/aepp-sdk-js/releases/tag/7.0.0-next.1), [7.0.0-next.2](https://github.com/aeternity/aepp-sdk-js/releases/tag/7.0.0-next.2), [7.0.0-next.3](https://github.com/aeternity/aepp-sdk-js/releases/tag/7.0.0-next.3)

## [7.0.0-next.3](https://github.com/aeternity/aepp-sdk-js/compare/7.0.0-next.2...7.0.0-next.3) (2020-01-22)

### Features

* **aens:** implement aensExtendTtl function. Refactor aensUpdate ([#866](https://github.com/aeternity/aepp-sdk-js/issues/866)) ([72b073a](https://github.com/aeternity/aepp-sdk-js/commit/72b073a)), closes [#865](https://github.com/aeternity/aepp-sdk-js/issues/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](https://github.com/aeternity/aepp-sdk-js/compare/6.0.1...7.0.0-next.2) (2020-01-10)

### Bug Fixes

* **codecov:** Adjust codecov badge. Move @babel/runtime to dev-deps ([#848](https://github.com/aeternity/aepp-sdk-js/issues/848)) ([109b851](https://github.com/aeternity/aepp-sdk-js/commit/109b851))
* **AEX-2:** Fix `getBrowserAPI` function for firefox ([#853](https://github.com/aeternity/aepp-sdk-js/pull/853))

### Features

* **Account:** Add ability to pass `keypair` or `MemoryAccount` as nAccount\` option ([#847](https://github.com/aeternity/aepp-sdk-js/issues/847)) ([75d8ad8](https://github.com/aeternity/aepp-sdk-js/commit/75d8ad8))
* **Test:** Increase code coverage ([#830](https://github.com/aeternity/aepp-sdk-js/issues/830)) ([6f760fb](https://github.com/aeternity/aepp-sdk-js/commit/6f760fb))
* **Chain:** Extend transaction verification error ([#849](https://github.com/aeternity/aepp-sdk-js/pull/849))
* **Aepp<->Wallet:** Add tests for Aepp<->Wallet communication ([#834](https://github.com/aeternity/aepp-sdk-js/pull/834))

### Documentation

* **Guide:** Add guide for Contract ACI usage ([#852](https://github.com/aeternity/aepp-sdk-js/pull/852))

## [7.0.0-next.1](https://github.com/aeternity/aepp-sdk-js/compare/6.1.3...7.0.0-next.1) (2019-12-18)

### Bug Fixes

* **Contract/Chain:** Using { waitMined: false } with Contract high lvl API ([#828](https://github.com/aeternity/aepp-sdk-js/issues/828)) ([475c2aa](https://github.com/aeternity/aepp-sdk-js/commit/475c2aa))
* **HdWallet:** Fix derive function ([#801](https://github.com/aeternity/aepp-sdk-js/issues/801)) ([6c6177d](https://github.com/aeternity/aepp-sdk-js/commit/6c6177d))
* **Compiler:** Filter compiler options

### Code Refactoring

* **Cross-Node:** Remove cross-node compatibility code ([#829](https://github.com/aeternity/aepp-sdk-js/issues/829)) ([b29a162](https://github.com/aeternity/aepp-sdk-js/commit/b29a162))
* **Chain:** Handle time until tx is not added to mempool ([#816](https://github.com/aeternity/aepp-sdk-js/pull/816))
* **Git:** Update issue template([#806](https://github.com/aeternity/aepp-sdk-js/pull/806))
* **Flavors:** Remove deprecated code ([#697](https://github.com/aeternity/aepp-sdk-js/pull/697))
* **Test:** Increase code covarage ([#830](https://github.com/aeternity/aepp-sdk-js/issues/830)) ([6f760fb](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/how-to-build-aepp-using-new-wallet-api.md) and [Wallet example](https://github.com/aeternity/aepp-sdk-js/blob/develop/docs/guides/how-to-build-an-wallet-app-or-extension.md)
* **Wallet:** Use `postMessage` for communication with extension wall… ([#815](https://github.com/aeternity/aepp-sdk-js/issues/815)) ([dc7b4c2](https://github.com/aeternity/aepp-sdk-js/commit/dc7b4c2))
* **CI:** Move to Travis CI ([#809](https://github.com/aeternity/aepp-sdk-js/issues/809)) ([2d77f20](https://github.com/aeternity/aepp-sdk-js/commit/2d77f20))
* **CI:** enable daily builds on latest node and compiler and enable codecov ([#820](https://github.com/aeternity/aepp-sdk-js/issues/820)) ([3c52a1e](https://github.com/aeternity/aepp-sdk-js/commit/3c52a1e))
* **ACI:** Add check for contract address validity and existence. Add `forceCodeCheck` option for bytecode verification skip ([#788](https://github.com/aeternity/aepp-sdk-js/issues/788)) ([c0cccc9](https://github.com/aeternity/aepp-sdk-js/commit/c0cccc9))
* **Contract:** Add ability to pass arguments or callData for contract `deploy/call/callStatic` API ([#768](https://github.com/aeternity/aepp-sdk-js/issues/768)) ([a828076](https://github.com/aeternity/aepp-sdk-js/commit/a828076))
* **Contract:** Adjust `fee` calculation for `contractCall` tx using `FATE` backend ([#793](https://github.com/aeternity/aepp-sdk-js/issues/793)) ([7254ac1](https://github.com/aeternity/aepp-sdk-js/commit/7254ac1))
* **Compiler:** Add new API `validateByteCodeAPI` available on compiler >= 4.1.0 ([#788](https://github.com/aeternity/aepp-sdk-js/issues/788)) ([c0cccc9](https://github.com/aeternity/aepp-sdk-js/commit/c0cccc9))
* **Tx:** Always verify transaction before send it to the node ([#798](https://github.com/aeternity/aepp-sdk-js/issues/798)) ([170f479](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/compare/6.1.2...6.1.3) (2019-12-11)

### Bug Fixes

* **Channel:** 5.2.0 compatibility ([4be8eb8](https://github.com/aeternity/aepp-sdk-js/commit/4be8eb8))

## [6.1.2](https://github.com/aeternity/aepp-sdk-js/compare/6.1.1...6.1.2) (2019-11-12)

### Bug Fixes

* **Composition:** Chain composition ([9ac705f](https://github.com/aeternity/aepp-sdk-js/commit/9ac705f))

## [6.1.1](https://github.com/aeternity/aepp-sdk-js/compare/6.1.0...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](https://github.com/aeternity/aepp-sdk-js/issues/783)) ([fe6021b](https://github.com/aeternity/aepp-sdk-js/commit/fe6021b))

### Features

* **KeyStore:** Remove `argon2` package, use `libsodium` for both browser and node ([#782](https://github.com/aeternity/aepp-sdk-js/issues/782)) ([c18047e](https://github.com/aeternity/aepp-sdk-js/commit/c18047e))

## [6.1.0](https://github.com/aeternity/aepp-sdk-js/compare/6.0.2...6.1.0) (2019-11-11)

### Bug Fixes

* **AENS:** auction end block calculation ([#746](https://github.com/aeternity/aepp-sdk-js/issues/746)) ([4c1f5e4](https://github.com/aeternity/aepp-sdk-js/commit/4c1f5e4))
* **AENS:** Fix `produceNameId` function(Make name lowercase). Enable … ([#750](https://github.com/aeternity/aepp-sdk-js/issues/750)) ([fd14225](https://github.com/aeternity/aepp-sdk-js/commit/fd14225))
* **state channels:** wait for connection to be established before sending generic message ([#723](https://github.com/aeternity/aepp-sdk-js/issues/723)) ([c5f35d1](https://github.com/aeternity/aepp-sdk-js/commit/c5f35d1))
* **TxHelpers:** Use BigNumber in auction end block calculation ([777c012](https://github.com/aeternity/aepp-sdk-js/commit/777c012))

### Features

* **ACI:** Add validation for contractAddress ([#764](https://github.com/aeternity/aepp-sdk-js/issues/764)) ([07cb0e7](https://github.com/aeternity/aepp-sdk-js/commit/07cb0e7))
* **AENS:** Add nameFee validation to TxValidator ([#765](https://github.com/aeternity/aepp-sdk-js/issues/765)) ([5250e75](https://github.com/aeternity/aepp-sdk-js/commit/5250e75))
* **AENS:** Increase default nameTtl ([#775](https://github.com/aeternity/aepp-sdk-js/issues/775)) ([c5f2582](https://github.com/aeternity/aepp-sdk-js/commit/c5f2582))
* **Contract:** Add ability to pass arguments or callData for contract `deploy/call/callStatic` API ([#768](https://github.com/aeternity/aepp-sdk-js/issues/768)) ([12aaca3](https://github.com/aeternity/aepp-sdk-js/commit/12aaca3))
* **Http:** Assign error object to http error ([#770](https://github.com/aeternity/aepp-sdk-js/issues/770)) ([87062ea](https://github.com/aeternity/aepp-sdk-js/commit/87062ea))
* **state channels:** add round method ([#763](https://github.com/aeternity/aepp-sdk-js/issues/763)) ([c950937](https://github.com/aeternity/aepp-sdk-js/commit/c950937))
* **state channels:** allow off chain updates to be cancelled with custom error code ([#753](https://github.com/aeternity/aepp-sdk-js/issues/753)) ([ae4426e](https://github.com/aeternity/aepp-sdk-js/commit/ae4426e))
* **state channels:** allow to pass metadata to transfer update ([#755](https://github.com/aeternity/aepp-sdk-js/issues/755)) ([ddc6611](https://github.com/aeternity/aepp-sdk-js/commit/ddc6611))
* **state channels:** make state channels compatible with node v5.0.0… ([#688](https://github.com/aeternity/aepp-sdk-js/issues/688)) ([deed7fc](https://github.com/aeternity/aepp-sdk-js/commit/deed7fc)), closes [#632](https://github.com/aeternity/aepp-sdk-js/issues/632) [#653](https://github.com/aeternity/aepp-sdk-js/issues/653) [#658](https://github.com/aeternity/aepp-sdk-js/issues/658) [#660](https://github.com/aeternity/aepp-sdk-js/issues/660) [#680](https://github.com/aeternity/aepp-sdk-js/issues/680) [#693](https://github.com/aeternity/aepp-sdk-js/issues/693) [#687](https://github.com/aeternity/aepp-sdk-js/issues/687)
* **state channels:** make state channels compatible with node v5.1.0… ([#776](https://github.com/aeternity/aepp-sdk-js/issues/776)) ([74952aa](https://github.com/aeternity/aepp-sdk-js/commit/74952aa))

## [6.0.2](https://github.com/aeternity/aepp-sdk-js/compare/6.0.1...6.0.2) (2019-10-31)

### Bug Fixes

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

## [6.0.1](https://github.com/aeternity/aepp-sdk-js/compare/6.0.0...6.0.1) (2019-10-29)

### Bug Fixes

* **aens:** added lower case transformation for aens names ([#730](https://github.com/aeternity/aepp-sdk-js/issues/730)) ([f7f9f17](https://github.com/aeternity/aepp-sdk-js/commit/f7f9f17246c727566ce3c8159d30b7de19b027c9)), closes [#728](https://github.com/aeternity/aepp-sdk-js/issues/728)

## [6.0.0](https://github.com/aeternity/aepp-sdk-js/compare/4.7.0...6.0.0) (2019-10-16)

### Code Refactoring

* **SPEND:** Add additional validation for recipient ([#715](https://github.com/aeternity/aepp-sdk-js/issues/715)) ([c1854bf](https://github.com/aeternity/aepp-sdk-js/commit/c1854bf))

### Features

* **State Channels:** make state channels compatible with node v5.0.0… ([#688](https://github.com/aeternity/aepp-sdk-js/issues/688)) ([23936f5](https://github.com/aeternity/aepp-sdk-js/commit/23936f5)), closes [#632](https://github.com/aeternity/aepp-sdk-js/issues/632) [#653](https://github.com/aeternity/aepp-sdk-js/issues/653) [#658](https://github.com/aeternity/aepp-sdk-js/issues/658) [#660](https://github.com/aeternity/aepp-sdk-js/issues/660) [#680](https://github.com/aeternity/aepp-sdk-js/issues/680) [#693](https://github.com/aeternity/aepp-sdk-js/issues/693) [#687](https://github.com/aeternity/aepp-sdk-js/issues/687)
* **AENS:** Change tld for Lima from `aet` to `chain` ([#714](https://github.com/aeternity/aepp-sdk-js/issues/714)) ([323ef6a](https://github.com/aeternity/aepp-sdk-js/commit/323ef6a))
* **AENS:** Implement name `bid` function ([#706](https://github.com/aeternity/aepp-sdk-js/pull/706)))
* **AENS:** auction name fee calculation. Name fee validation and calculation in `claim/bid` ([#706](https://github.com/aeternity/aepp-sdk-js/pull/706))
* **AENS:** Add `nameId` computation function (#709) ([#706](https://github.com/aeternity/aepp-sdk-js/pull/706))

### BREAKING CHANGES

* **AENS:** Change `tld` for Lima from `.aet` to `.chain`

## [5.0.0](https://github.com/aeternity/aepp-sdk-js/compare/4.7.0...5.0.0) (2019-10-04)

### Bug Fixes

* **rpc:** fix resolution rpc ops ([#669](https://github.com/aeternity/aepp-sdk-js/issues/669)) ([abd7c56](https://github.com/aeternity/aepp-sdk-js/commit/abd7c56))

### Code Refactoring

* **ACI:** rework Sophia Option type representation ([#691](https://github.com/aeternity/aepp-sdk-js/issues/691)) ([0dbb2fe](https://github.com/aeternity/aepp-sdk-js/commit/0dbb2fe))

### Features

* **AENS:** Add ability to spend by name ([#682](https://github.com/aeternity/aepp-sdk-js/issues/682)) ([0d43804](https://github.com/aeternity/aepp-sdk-js/commit/0d43804))
* **AENS:** Add ability to claim contract, oracle, SC ([#671](https://github.com/aeternity/aepp-sdk-js/issues/671)) ([49fd0fd](https://github.com/aeternity/aepp-sdk-js/commit/49fd0fd))
* **GA:** enbale GA ([#692](https://github.com/aeternity/aepp-sdk-js/issues/692)) ([eded912](https://github.com/aeternity/aepp-sdk-js/commit/eded912))
* **Lima:** Lima compatibility ([#683](https://github.com/aeternity/aepp-sdk-js/issues/683)) ([a88042e](https://github.com/aeternity/aepp-sdk-js/commit/a88042e)), closes [#632](https://github.com/aeternity/aepp-sdk-js/issues/632) [#653](https://github.com/aeternity/aepp-sdk-js/issues/653) [#658](https://github.com/aeternity/aepp-sdk-js/issues/658) [#660](https://github.com/aeternity/aepp-sdk-js/issues/660) [#680](https://github.com/aeternity/aepp-sdk-js/issues/680) [#693](https://github.com/aeternity/aepp-sdk-js/issues/693) [#687](https://github.com/aeternity/aepp-sdk-js/issues/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

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

## [5.0.0-next.1](https://github.com/aeternity/aepp-sdk-js/compare/4.6.0...4.7.0-next.1) (2019-09-10)

### Bug Fixes

* **package:** update serialize-javascript to version 2.0.0 ([#647](https://github.com/aeternity/aepp-sdk-js/issues/647)) ([1ddb392](https://github.com/aeternity/aepp-sdk-js/commit/1ddb392))

### Features

* **Contract/ACI** Add `payable` feature
* **Compiler:** Compiler 4.0.0 compatibility ([#632](https://github.com/aeternity/aepp-sdk-js/issues/632)) ([d5f1632](https://github.com/aeternity/aepp-sdk-js/commit/d5f1632))
* **Contract/ACI:** Add ability to use contract with external namespaces(`include "someLib"`) ([#653](https://github.com/aeternity/aepp-sdk-js/issues/653)) ([9708b43](https://github.com/aeternity/aepp-sdk-js/commit/9708b43))

## [4.7.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.7.0) (2019-09-11)

### Features

* **Oracle:** Add methods for polling queries [#637](https://github.com/aeternity/aepp-sdk-js/pull/637)
* **Chain:** Add `getBalance` method ([#655](https://github.com/aeternity/aepp-sdk-js/issues/655)) ([15147af](https://github.com/aeternity/aepp-sdk-js/commit/15147af))
* **state channels:** add reconnect method ([#662](https://github.com/aeternity/aepp-sdk-js/issues/662)) ([9d8d1e8](https://github.com/aeternity/aepp-sdk-js/commit/9d8d1e8))
* **state channels:** add backchannel updates test[#664](https://github.com/aeternity/aepp-sdk-js/pull/664)

## [4.6.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.6.0) (2019-08-28)

### Bug Fixes

* **Compiler:** Fix `forceCompatibility` option ([26beba8](https://github.com/aeternity/aepp-sdk-js/commit/26beba8))

### Features

* **Lima**: add preliminary support for lima
* **ACI/Contract:** Implement static-call for deploy transaction for ACI methods/Contract low lvl API ([#630](https://github.com/aeternity/aepp-sdk-js/issues/630)) ([5b7eeb4](https://github.com/aeternity/aepp-sdk-js/commit/5b7eeb4))

### Notes

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

## [4.5.1](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.5.1) (2019-08-22)

### Refactor

* **Example** Add node info to AEPP ([#620](https://github.com/aeternity/aepp-sdk-js/pull/620))

### Bug Fixes

* **GA** Fix GA account composition ([211e409](https://github.com/aeternity/aepp-sdk-js/pull/620/commits/211e409d785a2962d1220677b0b0bcf00196abc1))

## [4.5.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.5.0) (2019-08-20)

### Bug Fixes

* **Crypto:** Fix `keypair` verification ([#605](https://github.com/aeternity/aepp-sdk-js/issues/605)) ([83a52fb](https://github.com/aeternity/aepp-sdk-js/commit/83a52fb))
* **RPC:** Remove NodePool stamp from AE composition ([#612](https://github.com/aeternity/aepp-sdk-js/issues/612)) ([21af2eb](https://github.com/aeternity/aepp-sdk-js/commit/21af2eb))
* **state channels:** add missing argument in onOnChainTx callback ([#604](https://github.com/aeternity/aepp-sdk-js/issues/604)) ([165cfe8](https://github.com/aeternity/aepp-sdk-js/commit/165cfe8))
* **state channels:** fix awaitingOnChainTx state handler ([#608](https://github.com/aeternity/aepp-sdk-js/issues/608)) ([8b7b65a](https://github.com/aeternity/aepp-sdk-js/commit/8b7b65a))
* **Swagger:** Always throw error from `axios` error handler ([#607](https://github.com/aeternity/aepp-sdk-js/issues/607)) ([0e5cf61](https://github.com/aeternity/aepp-sdk-js/commit/0e5cf61))

### Features

* **MemoryAccount:** Add validation of keypair ([#594](https://github.com/aeternity/aepp-sdk-js/issues/594)) ([b8c2b20](https://github.com/aeternity/aepp-sdk-js/commit/b8c2b20))
* **state channels:** handle BigNumbers with json-bigint ([#596](https://github.com/aeternity/aepp-sdk-js/issues/596)) ([14eaa3d](https://github.com/aeternity/aepp-sdk-js/commit/14eaa3d))
* **state channels:** send generic messages immediately ([#600](https://github.com/aeternity/aepp-sdk-js/issues/600)) ([8ad7583](https://github.com/aeternity/aepp-sdk-js/commit/8ad7583))
* **Generalize Account** Implement Generalized account support ([#449](https://github.com/aeternity/aepp-sdk-js/pull/449))

  ```js
  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](https://github.com/aeternity/aepp-sdk-js/compare/4.3.0...4.4.0) (2019-08-09)

### Bug Fixes

* **Package:** update commander to version 3.0.0 ([#597](https://github.com/aeternity/aepp-sdk-js/issues/597)) ([9aaa05c](https://github.com/aeternity/aepp-sdk-js/commit/9aaa05c))
* **Contract:** Fix dry-run without account ([227fc5c](https://github.com/aeternity/aepp-sdk-js/pull/599/commits/227fc5c9d8369e1c3a3fbba2cf62f0495bcf08ae))

### Features

* **Contract:** add ability to use call-static/dry-run without keyPair ([#577](https://github.com/aeternity/aepp-sdk-js/issues/577)) ([c38edd9](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/issues/594)) ([b8c2b20](https://github.com/aeternity/aepp-sdk-js/commit/b8c2b20))
* **State Channels:** persist connection by pinging every 10 seconds ([#571](https://github.com/aeternity/aepp-sdk-js/issues/571)) ([a70f919](https://github.com/aeternity/aepp-sdk-js/commit/a70f919))

## [4.3.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.3.0) (2019-08-05)

### Bug Fixes

* **State Channels:** Fix onChainTx event params ([#566](https://github.com/aeternity/aepp-sdk-js/issues/566)) ([11c85eb](https://github.com/aeternity/aepp-sdk-js/commit/11c85eb))
* **State Channels:** Fix websocket url ([#558](https://github.com/aeternity/aepp-sdk-js/issues/558)) ([33c1fd8](https://github.com/aeternity/aepp-sdk-js/commit/33c1fd8))
* **Swagger:** Pass query params in case of get request ([#570](https://github.com/aeternity/aepp-sdk-js/pull/570))

### Code Refactoring

* **State Channel:** Do not include white space for outgoing websocket messages ([#559](https://github.com/aeternity/aepp-sdk-js/pull/559))

### Features

* **ACI:** Implement sophia `variant` type ([#567](https://github.com/aeternity/aepp-sdk-js/issues/567)) ([8505dcf](https://github.com/aeternity/aepp-sdk-js/commit/8505dcf))
* **Contract:** add ability to use call-static/dry-run without keyPair ([#577](https://github.com/aeternity/aepp-sdk-js/issues/577)) ([c38edd9](https://github.com/aeternity/aepp-sdk-js/commit/c38edd9))
* **NodePool:** Implement NodePool stamp ([#574](https://github.com/aeternity/aepp-sdk-js/issues/574)) ([674166c](https://github.com/aeternity/aepp-sdk-js/commit/674166c))
* **State Channel:** make state channel compatible with aeternity\@4.0.0 ([#568](https://github.com/aeternity/aepp-sdk-js/issues/568)) ([0d0e09b](https://github.com/aeternity/aepp-sdk-js/commit/0d0e09b))
* **TxBuilder:** Add helper for producing tx hash ([#579](https://github.com/aeternity/aepp-sdk-js/issues/579)) ([e1b405e](https://github.com/aeternity/aepp-sdk-js/commit/e1b405e))
* **AE** Make all AE stamps composed with Accounts ([#581](https://github.com/aeternity/aepp-sdk-js/pull/581))

### Docs

* **ACI** Add some additional clarification to `getContractInstance`

## [4.2.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.2.0) (2019-07-15)

### Bug Fixes

* **package:** update libsodium-wrappers-sumo to version 0.7.5 ([#541](https://github.com/aeternity/aepp-sdk-js/issues/541)) ([956ed75](https://github.com/aeternity/aepp-sdk-js/commit/956ed75))
* **rpc-server:** Fix type 'object' check ([#526](https://github.com/aeternity/aepp-sdk-js/issues/526)) ([48c42e4](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/compare/4.0.1...4.1.0) (2019-06-22)

### Bug Fixes

* **Node:** Do not throw error if `internalUrl` not provided. Instead use `url` ([#503](https://github.com/aeternity/aepp-sdk-js/issues/503)) ([053faae](https://github.com/aeternity/aepp-sdk-js/commit/053faae))
* **TXBuilder:** Fix payload serialization if you try to unpack and pack tx. ([#498](https://github.com/aeternity/aepp-sdk-js/issues/498)) ([73552e5](https://github.com/aeternity/aepp-sdk-js/commit/73552e5))
* **TxValidator:** Fix validation of state channel open transaction ([#496](https://github.com/aeternity/aepp-sdk-js/issues/496)) ([325cc90](https://github.com/aeternity/aepp-sdk-js/commit/325cc90))

### Features

* **ACI:** Refactor ACI module. Split to separated files. ([#505](https://github.com/aeternity/aepp-sdk-js/issues/505)) ([fb7bc00](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...4.0.1) (2019-06-13)

### Bug Fixes

* **RPC:** Add contract contractDecodeCallResultAPI to RPC ([#482](https://github.com/aeternity/aepp-sdk-js/issues/482)) ([7eb6bd8](https://github.com/aeternity/aepp-sdk-js/commit/7eb6bd8))
* **README:** Fix flavor link ([#480](https://github.com/aeternity/aepp-sdk-js/pull/480))

### Code Refactoring

* **Compiler:** Fix compiler compatibility mechanism ([#479](https://github.com/aeternity/aepp-sdk-js/issues/479)) ([78cc990](https://github.com/aeternity/aepp-sdk-js/commit/78cc990))
* **Utils:** Move json-bigint implementation to `utils` ([#486](https://github.com/aeternity/aepp-sdk-js/issues/486)) ([1538867](https://github.com/aeternity/aepp-sdk-js/commit/1538867))

### Build

* **webpack:** Add another bundle(`dist/aepp-sdk.browser-script.js`) for using in `<script>` tag ([#485](https://github.com/aeternity/aepp-sdk-js/pull/485))

## [4.0.0](https://github.com/aeternity/aepp-sdk-js/compare/3.4.1...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](https://github.com/aeternity/aepp-sdk-js/issues/474)) ([a1494fd](https://github.com/aeternity/aepp-sdk-js/commit/a1494fd))
* **Test:** Simplify client creation

### Features

* **Docs** chore(Docs): new docs ([#370](https://github.com/aeternity/aepp-sdk-js/pull/370))
* **Compiler:** Add `getCompilerVersion` to compiler stamp
* **ACI:** Make compatible with compiler 3.1.0 ([#457](https://github.com/aeternity/aepp-sdk-js/issues/457)) ([d92f2c7](https://github.com/aeternity/aepp-sdk-js/commit/d92f2c7)), closes [#458](https://github.com/aeternity/aepp-sdk-js/issues/458)
* **ACI:** Generate JS function proto for each of contract function ([#439](https://github.com/aeternity/aepp-sdk-js/issues/439)) ([2f47b4d](https://github.com/aeternity/aepp-sdk-js/commit/2f47b4d))
* **Compiler/ACI:** Make ACI compatible with compiler 3.0.0 ([#441](https://github.com/aeternity/aepp-sdk-js/issues/441)) ([2a8eb1a](https://github.com/aeternity/aepp-sdk-js/commit/2a8eb1a))
* **Node:** Avoid usage of "universal-url" package ([#434](https://github.com/aeternity/aepp-sdk-js/issues/434)) ([a8268d5](https://github.com/aeternity/aepp-sdk-js/commit/a8268d5))
* **TX:** encode payload as base64 ([#460](https://github.com/aeternity/aepp-sdk-js/issues/460)) ([ad490af](https://github.com/aeternity/aepp-sdk-js/commit/ad490af))
* **TX\_BUILDER:** Fix bug related to contract fee calculation. ([#472](https://github.com/aeternity/aepp-sdk-js/issues/472)) ([7214cfb](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/compare/3.4.0...3.4.1) (2019-06-05)

### Bug Fixes

* **Deps:** Update axios lib to 0.19.0 due to security issue ([f951765](https://github.com/aeternity/aepp-sdk-js/commit/f951765))

## [3.4.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.4.0) (2019-05-22)

### Bug Fixes

* **State Channels:** Remove automatic pinging to fix browser compatibility ([#432](https://github.com/aeternity/aepp-sdk-js/issues/432)) ([0700f3a](https://github.com/aeternity/aepp-sdk-js/commit/0700f3a))

### Features

* **Transaction Builder:** Improve min fee calculation(Reduce the fee) ([#424](https://github.com/aeternity/aepp-sdk-js/pull/424))
* **AXIOS:** Add ability to intercept error from axios ([#431](https://github.com/aeternity/aepp-sdk-js/pull/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](https://github.com/aeternity/aepp-sdk-js/pull/425)) ([#426](https://github.com/aeternity/aepp-sdk-js/pull/426))

## [3.3.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.3.0) (2019-05-17)

### Bug Fixes

* **AEP exampe:** Fix contract in AEPP example ([e2fec19](https://github.com/aeternity/aepp-sdk-js/commit/e2fec19))\
  fix(AEP exampe): Fix contract in AEPP example

### Features

* **Consensus:** Add function to get consensus version. ([#413](https://github.com/aeternity/aepp-sdk-js/issues/413)) ([46027cd](https://github.com/aeternity/aepp-sdk-js/commit/46027cd))
* **State Channels:** Make state channels compatible with aeternity 3.0.0 ([#415](https://github.com/aeternity/aepp-sdk-js/issues/415)) ([668e7f1](https://github.com/aeternity/aepp-sdk-js/commit/668e7f1))
* **Transaction Builder:** Add serializations for transactions introd… ([#416](https://github.com/aeternity/aepp-sdk-js/issues/416)) ([fd7b8ce](https://github.com/aeternity/aepp-sdk-js/commit/fd7b8ce))

### BREAKING CHANGES

* **NODE** Change compatibility from `2.3.0` to `3.0.0`

## [3.2.1](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.2.1) (2019-05-16)

### Bug Fixes

* **Joi:** Add `JOI` browser comparability

## [3.2.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.2.0) (2019-05-16)

### Bug Fixes

* **ACI:** Add ability to pass zero address as number. ([#396](https://github.com/aeternity/aepp-sdk-js/issues/396)) ([b5b5c61](https://github.com/aeternity/aepp-sdk-js/commit/b5b5c61))
* **ACI:** Fix address type transformation when decoding data ([#335](https://github.com/aeternity/aepp-sdk-js/issues/335)) ([e37cdfc](https://github.com/aeternity/aepp-sdk-js/commit/e37cdfc))
* **Contract:** Add error handling(decoding) in low lvl contract API ([#386](https://github.com/aeternity/aepp-sdk-js/issues/386)) ([e1fdce0](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/issues/349)) ([0599d7d](https://github.com/aeternity/aepp-sdk-js/commit/0599d7d))
* **WEBPACK:** webpack configs: Mark all dependencies as external
* **WEBPACK:** Setup webpack-bundle-analyzer plugin
* **ACI:** Add `Option` sophia type to ACI ([#390](https://github.com/aeternity/aepp-sdk-js/issues/390)) ([83f5279](https://github.com/aeternity/aepp-sdk-js/commit/83f5279))
* **ACI:** Implement arguments validation for generic sophia types(list, map, tuple, record) ([#384](https://github.com/aeternity/aepp-sdk-js/issues/384)) ([956e59e](https://github.com/aeternity/aepp-sdk-js/commit/956e59e))
* **ACI:** Update due to compiler API changes ([#331](https://github.com/aeternity/aepp-sdk-js/issues/331)) ([e047f3b](https://github.com/aeternity/aepp-sdk-js/commit/e047f3b))
* **AE:** Allow to spend % of balance. ([#371](https://github.com/aeternity/aepp-sdk-js/issues/371)) ([f97a2ae](https://github.com/aeternity/aepp-sdk-js/commit/f97a2ae)), closes [#336](https://github.com/aeternity/aepp-sdk-js/issues/336)
* **Aepp:** Add Compiler to Aepp rpc methods. Update example app ([#312](https://github.com/aeternity/aepp-sdk-js/issues/312)) ([9c72521](https://github.com/aeternity/aepp-sdk-js/commit/9c72521))
* **Aepp:** Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.
* **Compiler:** Add decode CallData by source/bytecode ([#354](https://github.com/aeternity/aepp-sdk-js/issues/354)) ([761f36b](https://github.com/aeternity/aepp-sdk-js/commit/761f36b))
* **Fortuna:** Node 3.0.0 compatibility ([#397](https://github.com/aeternity/aepp-sdk-js/issues/397)) ([17b78d5](https://github.com/aeternity/aepp-sdk-js/commit/17b78d5))
* **RPC:** Add `getNodeInfo` to AEPP stamp through RPC ([#359](https://github.com/aeternity/aepp-sdk-js/issues/359)) ([2ddeea8](https://github.com/aeternity/aepp-sdk-js/commit/2ddeea8))
* **State Channels:** Add cleanContractCalls method ([#338](https://github.com/aeternity/aepp-sdk-js/issues/338)) ([778159a](https://github.com/aeternity/aepp-sdk-js/commit/778159a))
* **State Channels:** Ping every 10 seconds to persist connection ([#324](https://github.com/aeternity/aepp-sdk-js/issues/324)) ([6d0e156](https://github.com/aeternity/aepp-sdk-js/commit/6d0e156)), closes [#276](https://github.com/aeternity/aepp-sdk-js/issues/276) [#299](https://github.com/aeternity/aepp-sdk-js/issues/299) [#300](https://github.com/aeternity/aepp-sdk-js/issues/300) [#303](https://github.com/aeternity/aepp-sdk-js/issues/303) [#302](https://github.com/aeternity/aepp-sdk-js/issues/302) [#279](https://github.com/aeternity/aepp-sdk-js/issues/279) [#275](https://github.com/aeternity/aepp-sdk-js/issues/275) [#276](https://github.com/aeternity/aepp-sdk-js/issues/276) [#299](https://github.com/aeternity/aepp-sdk-js/issues/299) [#300](https://github.com/aeternity/aepp-sdk-js/issues/300)
* **State Channels:** Remove endpoint param ([#391](https://github.com/aeternity/aepp-sdk-js/issues/391)) ([8d9ea7e](https://github.com/aeternity/aepp-sdk-js/commit/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](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.1.0) (2019-04-24)

### Bug Fixes

* **ACI:** Fix address type transformation when decoding data ([#335](https://github.com/aeternity/aepp-sdk-js/issues/335)) ([e37cdfc](https://github.com/aeternity/aepp-sdk-js/commit/e37cdfc))

### Features

* **ACI:** Add `contract`, `address`, `record` types argument/result transformation ([#349](https://github.com/aeternity/aepp-sdk-js/issues/349)) ([0599d7d](https://github.com/aeternity/aepp-sdk-js/commit/0599d7d))
* **ACI:** Update due to compiler API changes ([#331](https://github.com/aeternity/aepp-sdk-js/issues/331)) ([e047f3b](https://github.com/aeternity/aepp-sdk-js/commit/e047f3b))
* **Aepp:** Add Compiler to Aepp rpc methods. Update example app ([#312](https://github.com/aeternity/aepp-sdk-js/issues/312)) ([9c72521](https://github.com/aeternity/aepp-sdk-js/commit/9c72521))
* **Compiler:** Add decode CallData by source/bytecode ([#354](https://github.com/aeternity/aepp-sdk-js/issues/354)) ([761f36b](https://github.com/aeternity/aepp-sdk-js/commit/761f36b))
* **RPC:** Add getNodeInfo and getNetworkId to AEPP stamp through RPC ([#359](https://github.com/aeternity/aepp-sdk-js/issues/359)) ([2ddeea8](https://github.com/aeternity/aepp-sdk-js/commit/2ddeea8))
* **State Channels:** Add cleanContractCalls method ([#338](https://github.com/aeternity/aepp-sdk-js/issues/338)) ([778159a](https://github.com/aeternity/aepp-sdk-js/commit/778159a))
* **State Channels:** Ping every 10 seconds to persist connection ([#324](https://github.com/aeternity/aepp-sdk-js/issues/324)) ([6d0e156](https://github.com/aeternity/aepp-sdk-js/commit/6d0e156))

## [3.0.0](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...3.0.0) (2019-04-17)

### Bug Fixes

* **ACI:** Fix address type transformation when decoding data ([#335](https://github.com/aeternity/aepp-sdk-js/issues/335)) ([e37cdfc](https://github.com/aeternity/aepp-sdk-js/commit/e37cdfc))

### Features

* **TX\_BUILDER:** Channel tx serializations
* **TxValidator:** Add minGasPrice validation to contract transactions
* **ACI:** Update due to compiler API changes ([#331](https://github.com/aeternity/aepp-sdk-js/issues/331)) ([e047f3b](https://github.com/aeternity/aepp-sdk-js/commit/e047f3b))
* **Aepp:** Add Compiler to Aepp rpc methods. Update example app ([#312](https://github.com/aeternity/aepp-sdk-js/issues/312)) ([9c72521](https://github.com/aeternity/aepp-sdk-js/commit/9c72521))
* **State Channels:** Add cleanContractCalls method ([#338](https://github.com/aeternity/aepp-sdk-js/issues/338)) ([778159a](https://github.com/aeternity/aepp-sdk-js/commit/778159a))

### BREAKING CHANGES

* **ACI** Remove 2.0.0 compiler compatibility

## [2.4.1](https://github.com/aeternity/aepp-sdk-js/compare/2.4.0...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](https://github.com/aeternity/aepp-sdk-js/compare/2.3.2...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](https://github.com/aeternity/aepp-sdk-js/compare/2.3.1...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](https://github.com/aeternity/aepp-sdk-js/compare/2.3.0...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](https://github.com/aeternity/aepp-sdk-js/compare/2.3.0-next...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

* **Node:** Change supported node version range to `1.4.0 <= version < 3.0.0`
* This release contain changes from: [2.3.0-next](https://github.com/aeternity/aepp-sdk-js/releases/tag/2.3.0-next), [2.2.1-next](https://github.com/aeternity/aepp-sdk-js/releases/tag/2.2.1-next), [2.1.1-0.1.0-next](https://github.com/aeternity/aepp-sdk-js/releases/tag/2.1.1-0.1.0-next), [2.1.0](https://github.com/aeternity/aepp-sdk-js/releases/tag/2.1.0)

## [2.3.0-next](https://github.com/aeternity/aepp-sdk-js/compare/2.2.1-next...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](https://github.com/aeternity/aepp-sdk-js/compare/2.1.1-0.1.0-next...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](https://github.com/aeternity/aepp-sdk-js/compare/2.1.0...2.1.1-0.1.0-next) (2019-02-21)

### Bug Fixes

* **Chore:** Fix linter errors

## [2.1.0](https://github.com/aeternity/aepp-sdk-js/compare/2.0.0...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](https://github.com/aeternity/aepp-sdk-js/compare/1.3.2...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](https://github.com/aeternity/aepp-sdk-js/compare/1.3.1...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](https://github.com/aeternity/aepp-sdk-js/compare/1.3.0...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](https://github.com/aeternity/aepp-sdk-js/compare/1.2.1...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](https://github.com/aeternity/aepp-sdk-js/compare/1.1.2...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](https://github.com/aeternity/aepp-sdk-js/compare/1.1.1...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](https://github.com/aeternity/aepp-sdk-js/compare/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](https://github.com/aeternity/aepp-sdk-js/compare/1.0.1...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](https://github.com/aeternity/aepp-sdk-js/compare/1.0.0...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](https://github.com/aeternity/aepp-sdk-js/compare/0.25.0-0.1.1...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

* **Node:** Support for Node < 1.0.0
* **Build:** New NETWORK\_ID (also used in docker/sdk.env for CI tests)
* **Protocol:** Encoding of transaction (and other objects) [changed from base58check to base64check](https://github.com/aeternity/protocol/blob/master/node/api/api_encoding.md)

### 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](https://github.com/aeternity/aepp-sdk-js/compare/0.25.0-0.1.0...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](https://github.com/aeternity/aepp-sdk-js/compare/0.25.0-0.1.0-next...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](https://www.pivotaltracker.com/n/projects/2124891/stories/155155204)

### BREAKING CHANGES

* **CLI** [AE CLI](https://github.com/aeternity/aecli-js) and [AE PROJECT CLI](https://github.com/aeternity/aeproject) moved to separate repos and packages
* **Node** Support for < 0.25.0

## [0.25.0-0.1.0-next](https://github.com/aeternity/aepp-sdk-js/compare/0.24.0-0.2.0...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](https://github.com/aeternity/aepp-sdk-js/commit/9c252f937f7ea501c4aaacbbef53c4c1833e48e4#diff-8ef3b328d008ef3dbb72a0bca42eba37L24))
* **Contract** Use NETWORK\_ID for signing (see [here](https://github.com/aeternity/aepp-sdk-js/commit/9c252f937f7ea501c4aaacbbef53c4c1833e48e4#diff-ffb275ebb09085c85c59f140998199e0R28))

## [0.24.0-0.2.0](https://github.com/aeternity/aepp-sdk-js/compare/v0.24.0-0.1.0...v0.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](https://github.com/aeternity/hd-wallet-js))

### Notes and known Issues

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

## [0.24.0-0.1.0](https://github.com/aeternity/aepp-sdk-js/compare/0.22.0-0.1.0-beta.1...v0.24.0-0.1.0) (2018-10-23)

### Features

* **Node** Full support of [Node-0.24.0](https://github.com/aeternity/aeternity/releases/tag/v0.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](https://github.com/aeternity/aepp-sdk-js/compare/v0.18.0-0.1.1...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](https://github.com/aeternity/aepp-sdk-js/compare/v0.18.0-0.1.0...v0.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
* **Docs**Generated 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](https://github.com/aeternity/aepp-sdk-js/compare/v0.15.0-0.1.0...v0.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](https://github.com/aeternity/aepp-sdk-js/compare/v0.14.0-0.1.0...v0.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](https://www.pivotaltracker.com/n/projects/2124891))

## [0.14.0-0.1.0](https://github.com/aeternity/aepp-sdk-js/compare/v0.13.0-0.1.1...v0.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](https://github.com/aeternity/aepp-sdk-js/compare/v0.13.0-0.1.0...v0.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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
