4.0.0 (2019-06-12)
- Ae: Fix exception when it used without Contract stamp
- SCM: Update compatibility range for node: 3.0.1 - 4 and compiler 3.1.0 - 4 (#474) (a1494fd)
- Test: Simplify client creation
- Docs chore(Docs): new docs (#370)
- Compiler: Add
getCompilerVersionto compiler stamp - ACI: Make compatible with compiler 3.1.0 (#457) (d92f2c7), closes #458
- ACI: Generate JS function proto for each of contract function (#439) (2f47b4d)
- Compiler/ACI: Make ACI compatible with compiler 3.0.0 (#441) (2a8eb1a)
- Node: Avoid usage of "universal-url" package (#434) (a8268d5)
- TX: encode payload as base64 (#460) (ad490af)
- TX_BUILDER: Fix bug related to contract fee calculation. (#472) (7214cfb)
- 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
contractDecodeDatainterface from:(type:String, data: String) => Anyto(source: String, fn: String, callValue: String, callResult:String) => Any. (callResultiscallTypefrom call result, can beok,revert, ...)
- change
3.4.1 (2019-06-05)
- Deps: Update axios lib to 0.19.0 due to security issue (f951765)
3.4.0 (2019-05-22)
-
Transaction Builder: Improve min fee calculation(Reduce the fee) (#424)
-
AXIOS: Add ability to intercept error from axios (#431)
Added additional param to sdk initialization
axiosConfigExample:
Universal({ axiosConfig: { config: { // axios config object }, errorHandler: (err) => throw err }}) -
Transaction Builder: Implement vm/abi validation for contract/oracle tx based on consensus protocol version. Add custom verification based on transaction type (#425) (#426)
3.3.0 (2019-05-17)
- AEP exampe: Fix contract in AEPP example (e2fec19) fix(AEP exampe): Fix contract in AEPP example
- Consensus: Add function to get consensus version. (#413) (46027cd)
- State Channels: Make state channels compatible with aeternity 3.0.0 (#415) (668e7f1)
- Transaction Builder: Add serializations for transactions introd… (#416) (fd7b8ce)
- NODE Change compatibility from
2.3.0to3.0.0
3.2.1 (2019-05-16)
- Joi: Add
JOIbrowser comparability
3.2.0 (2019-05-16)
- ACI: Add ability to pass zero address as number. (#396) (b5b5c61)
- ACI: Fix address type transformation when decoding data (#335) (e37cdfc)
- Contract: Add error handling(decoding) in low lvl contract API (#386) (e1fdce0)
- Dependencies: Use URL class instead of "url" package
- Dependencies: Use custom version of json-bigint
- Dependencies: Avoid usage of semver package and cleanup deps
- RPC: rpc client: Handle case if aepp opened without wallet
- Channels: Fix state channel test's
- KEYSTORE: Add browser compatibility
- TX: Handle VM/ABI fields serialization and validation basaed on tx type and node version
- ACI: Add
contract,address,recordtypes argument/result transformation (#349) (0599d7d) - WEBPACK: webpack configs: Mark all dependencies as external
- WEBPACK: Setup webpack-bundle-analyzer plugin
- ACI: Add
Optionsophia type to ACI (#390) (83f5279) - ACI: Implement arguments validation for generic sophia types(list, map, tuple, record) (#384) (956e59e)
- ACI: Update due to compiler API changes (#331) (e047f3b)
- AE: Allow to spend % of balance. (#371) (f97a2ae), closes #336
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Aepp: Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- Fortuna: Node 3.0.0 compatibility (#397) (17b78d5)
- RPC: Add
getNodeInfoto AEPP stamp through RPC (#359) (2ddeea8) - State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156), closes #276 #299 #300 #303 #302 #279 #275 #276 #299 #300
- State Channels: Remove endpoint param (#391) (8d9ea7e)
- State Channels: Endpoint param is removed and no longer defaults to "/channel". This means that "/channel" (or other path) must be appendend to url para
3.1.0 (2019-04-24)
- ACI: Add
contract,address,recordtypes argument/result transformation (#349) (0599d7d) - ACI: Update due to compiler API changes (#331) (e047f3b)
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- RPC: Add getNodeInfo and getNetworkId to AEPP stamp through RPC (#359) (2ddeea8)
- State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156)
3.0.0 (2019-04-17)
- TX_BUILDER: Channel tx serializations
- TxValidator: Add minGasPrice validation to contract transactions
- ACI: Update due to compiler API changes (#331) (e047f3b)
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- State Channels: Add cleanContractCalls method (#338) (778159a)
- ACI Remove 2.0.0 compiler compatibility
2.4.1 (2019-04-17)
- 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
- HTTP: Handle no response in http stamp error handler
- Crypto: Fix crypto
formatAddress - Crypto: Move ADDRESS_FORMAT to crypto
- Channels:
channel.state()now returns offchain state instead of last co-signed offchain transactionchannel.update(...).statehas been renamed tosignedTxchannel.withdraw(...).statehas been renamed tosignedTxchannel.deposit(...).statehas been renamed tosignedTxchannel.leave().statehas been renamed tosignedTxchannel.createContract(...).statehas been renamed tosignedTxchannel.callContract(...).statehas been renamed tosignedTx
2.4.0 (2019-04-17)
- Chore: Install and configure
commitizen - Crypto: Add
formatAddressfunction toCrypto - Contract: Add Contract Compiler API stamp to
es/contract(now using instead contract node API) - Utils: Add basic
httpclient 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()withaccountFormatternow you can doexport 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/balanceon specific blockhash/height - Universal: Add
{ compilerUrl }toUniversal, Contract, Walletstamp initialization
- Contract: decode node error coming from contract
callandcallStatic - Chain: Throw native error instead of object in chain
chain.sendTransaction - Crypto: fix arguments parsing in
Crypto.sing - Crypto: Fix
name hashfunction arguments parsing inCrypto
- Contract: Remove
ContractNodeAPIstamp - Contract: Change Contract stamp API
1) Use Compiler instead of node API for encode/decode call-data and compile. 2) Change Contract interface: - contractCallStatic (address, abi = 'sophia-address', name, { top, args = '()', call, options = {} } = {}) -> (source, address, name, args = [], { top, options = {} } = {})) - contractCall (code, abi, address, name, { args = '()', options = {}, call } = {}) -> (source, address, name, args = [], options = {}) - contractDeploy (code, abi, { initState = '()', options = {} } = {}) -> (code, source, initState = [], options = {}) - contractEncodeCall (code, abi, name, args, call) -> (source, name, args) // 'source' is -> Contract source code or ACI interface source
2.3.2 (2019-03-04)
- Contract: Change default
gasPricefrom1e6to `1e9z - AEPP: Fix
AEPPexample app - Build: Force
imagepull beforebuilds
2.3.1 (2019-02-22)
- Oracle:
Oraclefee calculation - Tx:
getAccountNoncefunction totxstamp - TX_BUILDER: Change
FEE_BYTE_SIZEfrom 1 to 8 bytes infeecalculation - TX_BUILDER: Improve error handling in
txbuilder
2.3.0 (2019-02-22)
- Node:
Minervacomparability - Utils:
Mnemonicwallet implementationes/utils/hd-wallet - Oracle: Change Channel
legacyAPI toJSON RPC - Oracle: Change default
gasPriceto1e6 - Oracle: Change
minFeecalculation, multiply min fee by1e9
- Node: Change supported node version range to
1.4.0 <= version < 3.0.0 - This release contain changes from: 2.3.0-next, 2.2.1-next, 2.1.1-0.1.0-next, 2.1.0
2.3.0-next (2019-02-21)
- Channel:
channelwithdrawanddepositmethods - TX_BUILDER: Change default
gasPriceinContractstamp andTxstamp to1e9 - TX: Fix
contracttxfeecalculation - Chain: Refactor error handling in
sendTransactionfunction - Contract: Change default
gasPriceto1e9 - TX_BUILDER: Change
Feebyte_size to 1
2.2.1-next (2019-02-21)
- TX_BUILDER: Add
deserializationschema forChanneltransactions(channelCreate,channelCloseMutual,channelDeposit,channelWithdraw,channelSettle) - Chain: Add
rawTxandverifyTxto error from poll function(when you wait for transaction will mined) - Chore: Depend on
bip39from npm instead of git repo - Channel: Change Channel
legacyAPI toJSON RPC - TX_BUILDER: Change
minFeecalculation, multiply min fee by 10^9
2.1.1-0.1.0-next (2019-02-21)
- Chore: Fix linter errors
2.1.0 (2019-02-21)
- Node:
Minervacomparability - Utils: Add
Mnemonicwallet implementationes/utils/hd-wallet
- Node: Change supported node version range to
1.4.0 <= version < 3.0.0
2.0.0 (2019-02-21)
- TX_BUILDER: Add
unpackedTx,txTypeandsignaturetovalidatetransaction function - Contract: Add
topparam to contractstatic call(dry-run) - Contract: Add errors handling for
dry-run - Docs: Add
keystoredocs - Ae: Add
verifyoptions tosendfunction which verify tx before broadcasting and throw error if tx is invalid - Rpc: Add
dryRuntoRPCmethods - Rpc: Add
Oracletransaction creation toAepprpc - Docs: Add
tx builderdocs - Docs: Add doc's for
utils/bytesand tx builderschema - TX_BUILDER: refactor
calculateFeefunction inTxBuilder(use BigNumber) - TX_BUILDER: Extend response of
Oracle,Aens,ContratwithrawTx - Ae: Change response of
sendfunction now it's and object with transaction data(hash, rawTxHash, ...) - Chain: Move
ContractandOracleAPI wrapper's toChainstamp - Chore: Rename
epochinCHANGELOG,README,HACKING
- Rpc:
RpcServer: Avoid storing ofwindowininstanceproperties - Chain: Disable
balance formattingby default - Chain: Move
verification of transactiontochainstamp - Node: Retrieve
nodeversion from/api - Chore: Fix unpack tx example in
bin/aecrypto.js - Chore: Remove unused function's from
crypto.js
- TX: Remove old transaction builder
es/tx/js.js(Please usees/tx/builderinstead) - Chore: Rename
es/epoch.jstoes/node.js - Chore: Rename
Oracle,Contract,ChainAPI wrapper files fromepochtonode - Chore: Rename
Contractapi wrapper method's
1.3.2 (2019-02-01)
- Ae: Add
destroyInstancefunction toAestamp which remove all listeners for RPC event's - Docs: Add docs for
TransactionValidatorandTxBuilderstamp's - Build: Add
TxBuilderHelperto bundle - Chore: Contract call static now using
dry-runAPI - Test: Improve test's for Transaction verification
- Docs: Adjust doc's for
ContractandAensstamp's - Chore: Fix decoding of address from contract call
1.3.1 (2019-01-29)
- Build: Remove KeyStore from bundle due to build issue(for now you can export it only using tree-shaking
import * as Keystore from '@aeternity/aepp-sdk/utils/keystore')
1.3.0 (2019-01-29)
- Channel: Add support for State Channels
- TX_BUILDER: New transaction builder going through schema(build, unpack)
- TX_VALIDATOR: Add new stamp
TransactionValidatorwhich 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
contracttransaction - Rpc: Improve RPC server
- Old transaction builder
es/tx/js.jswill be removed in next major release.
1.2.1 (2018-12-21)
- Chain: amount formatter
- Chain: amount format balance
client.balance('AK_PUBLICKEY', { format: true }) - Aepp: Oracle and Contracts API to Aepp stamp
- Chore: Use
prepareinstead ofpostinstall-build(thanks @davidyuk) - Docs: Refreshed Docs: README.md + docs/usage.md
- 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
- Tx: TxJs stamp (not a stamp anymore)
- Chain: balance now answer a formatted string composed of
AMOUNT + ' ' + unit(eg.10 exafor 10 AE)
- Chore:
10 exashould be10 ae - Chain: format shouldn't be a flag, but a request for
uniteg.{ format:ae}
1.1.2 (2018-12-15)
- Chore: isAddressValid check
- Tx: Tx Fee formulas
- Rpc: Fixed networkId propagation (and overriding on init of Flavors)
- Crypto: Fixed encodeBase58Check by feeding Buffered input
- Chore: Compatibility with Node >= 1.0.0 and <= 1.1.0
1.1.1 (2018-12-11)
- Rpc: Added a command to remove images after CI testing
- Rpc: Fix Testing
- Rpc: Fixed Oracle error for Wallet flavor
1.1.0 (2018-12-11)
- Oracle: Oracles functionality and flavor
- Aepp: Simple example of aepp-in-aepp (see
/examplesfolder)
- Tx: Fixed issue with big numbers and
TX
1.0.1 (2018-11-30)
- Node: ability to support Node range(s) using semver package (see https://www.npmjs.com/package/semver#ranges)
- Node: Support for Node >= 1.0.0 and < 2.0.0
1.0.0 (2018-11-30)
- Contract: Contract native Transactions
- BigNumber: Rolled back to bignumbers.js for easier fix with axios.get/post
- 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
- Channel: State Channels have been excluded for problems with CI, will be included in next release
0.25.0-0.1.1 (2018-11-30)
- Chore: See [0.25.0-0.1.0]
0.25.0-0.1.0 (2018-11-30)
- Utils Parsing of
feeusingbignum.js - Account Add
networkIdas param toAccountflavor(default:ae_mainnet) - Tx Implement native build of
AENStransaction. - Keystore Update keystore for new requirements
- CLI AE CLI and AE PROJECT CLI moved to separate repos and packages
- Node Support for < 0.25.0
0.25.0-0.1.0-next (2018-11-30)
- Contract Contract type checked call (Ability to call contract using contract address)
- Contract Use ES methods instead of Ramda, where possible
- Contract Fixed keystore by adding a salt param for derivedKey function
- Contract Support for < 0.25.0
- Contract Aens use domain
.testinstead of.aet(see here) - Contract Use NETWORK_ID for signing (see here)
0.24.0-0.2.0 (2018-10-30)
- Rpc RPC Client improvements
- Rpc
onContractGuard - CLI born
- CLI
Hostparameter becameUrl. (-ufor hostname,-Ufor internal) - CLI New keystore following these specifications: https://www.pivotaltracker.com/n/projects/2124891/stories/155155204
- Chore The
Cliflavor is nowUniversal - Chore the keypair keys changed from
{ pub, priv }to{ publicKey, secretKey }for consistency with other systems using them (eg. AirGap and HD Wallet)
- Chore CLI and AE PROJECT CLI will move to a separate package
0.24.0-0.1.0 (2018-10-23)
- Node Full support of Node-0.24.0
- CLI Develop
decode base58address command incryptomodule - CLI Add
nonceparam to all tx command's - CLI Add
gasparam todeployandcallcommands - Tx Add ability to create
spendtransaction natively - Keystore Implement
ethereum keystoreusingAES-126-CTRandSCRYPTas key derivation function - CLI Change
--privateKeytoflagonACCOUNT ADDRESScommand - Build Change
node versioninDockerfile - Node API endpoints to meet new Node specifications
- Chore Update
doccoconfig and changerenamepackage torecursive-rename - Docs Improved documentation
- Node Support for < 0.24.0
- Keystore
ethereum keystoreusage will be removed in the next release - CLI CLI will move to a separate package
0.22.0-0.1.0-beta.1 (2018-10-02)
- 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.jsin 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-cliand added new dev deps accordingly - Node Add Node Compatibility Check
- Crypto Fixes commitment hash calculations in naming system, to be
Hash(nameId(name) + name_salt)instead ofHash(Hash(name + name_salt)).
- Node Support for < 0.22.0
0.18.0-0.1.1 (2018-07-31)
- Docs Lots of new documentation (prose and API)
- Docs Fancy badges to README
- Build Transitive dev dependencies for standard-loader not covered by pnpm
- Build CI Dockerfile to include pnpm
- Docs Fancy-shmancy diagram in README
- DocsGenerated documentation files since they are linked in static docs
- Build Switch from Yarn to pnpm for building
- Docs Structure of documentation
- Docs Generate Markdown from Docco
0.18.0-0.1.0 (2018-07-24)
- 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
- Crypto Symmetric key encryption/decryption
- Node Support for < 0.18.0 (changed endpoints)
0.15.0-0.1.0 (2018-06-12)
- Node Legacy Swagger file loading
- Node Compatibility with < 0.15.0
- Contract Contract unit state initialization
- Node Missing required parameter for name transfers (workaround for Swagger file bug)
0.14.0-0.1.0 (2018-06-11)
- API New, opinionated top-level API
- API Rest of legacy API now uses new API as well
- API Generated API now encapsulated in
apiobject - 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)
- API [GH-49]: Handle existing path components correctly
- API Remove Oracle API (for the time being)
- API Remove Legacy API and tests
- API Remove Compatibility with older versions of Node which provide the transaction hash the old way
0.13.0-0.1.1 (2018-05-24)
- 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
AUTHORSinstead ofpackage.json - Docs Moved code examples from README to separate file in docs
- Node Defunct scripts; will be brought back later
- Chore More consistent code examples