Changelog
Last updated
Was this helpful?
Last updated
Was this helpful?
All notable changes to this project will be documented in this file. See for commit guidelines.
Please check out the and a to convert to convert secret keys.
CommonJS bundles have cjs extension instead js
aepp: AeSdkWallet requires onAskToSelectNetwork
constructor option
tx-builder: ChannelClientReconnectTx
removed
node: Node returns time in KeyBlock and MicroBlockHeader as Date
middleware: require 1.81.0
sdk requires [email protected] or newer
sdk types requires [email protected] or newer
account: Save HD wallets methods removed
account: sign
, signMessage
removed
account: isValidKeypair
removed
account: getAddressFromPriv
removed
account: generateKeyPair
removed
account: generateKeyPairFromSecret
removed
recover
, dump
removed (AEX-3 keystore implementation)
node,compiler,middleware: $host is readonly in generated APIs
account: MemoryAccount accepts secret key as sk_-prefixed string
account: generateKeyPair
returns secretKey encoded as sk_-prefixed string
aepp: RpcBroadcastError not exported anymore
NAME_BID_MAX_LENGTH
not exported anymore
contract: encodeFateValue
, decodeFateValue
not exported anymore
Iris is not supported
middleware: sdk requires [email protected] and above
node: sdk requires aeternity node 7.1.0 and above
account: AccountBase inheritors required to implement signTypedData
, signDelegation
signDelegationToContract
removed
signNameDelegationToContract
removed
signAllNamesDelegationToContract
removed
signOracleQueryDelegationToContract
removed
wallet,aepp: delegations used in Iris removed from aepp-wallet connection
createDelegationSignature
removed
compiler: CompilerCli uses aesophia@8 by default
compiler: CompilerCli8 removed
compiler: CompilerCli and CompilerHttp requires aesophia@8
aens: aens* methods removed
tx-builder: NAME_*TTL
, CLIENT_TTL
not exported anymore
oracle: pollQueries
don't return responded queries by default
oracle: pollForQueries
method removed
oracle: extendOracleTtl
method removed
oracle: respondToQuery
method removed
oracle: getOracleObject
method removed
oracle: registerOracle
method removed
oracle: getQueryObject
removed
oracle: postQueryToOracle
, pollForQueryResponse
methods removed
tx-builder: ORACLE_TTL
, QUERY_TTL
, RESPONSE_TTL
not exported anymore
tx-builder: buildTx
/unpackTx
works only with transactions
tx-builder: Tag
include only transactions
tx-builder: buildTx
doesn't accept prefix
anymore
contract: AeSdk:initializeContract
removed
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.
onSign
, onMessageSign
callbacks were removed on the wallet side
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
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
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
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
url
property of Node
removed
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
send
inlined into sendTransaction
height
removed from the output of aensPreclaim
Channel:state returns unpacked entries
All channel events emitted in snakeCase
Channel:poi returns unpacked TreesPoi
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
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
, 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
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
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
extendOracleTtl
accepts oracle ttl in oracleTtlType
and oracleTtlValue
fields
decode
method of getQueryObject
removed
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
removed balance
, tx
, getTxInfo
methods
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
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
)
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
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
aeSdk
.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
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
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
delegateNamePreclaimSignature
delegateNameClaimSignature
delegateNameTransferSignature
delegateNameRevokeSignature
delegateOracleRegisterSignature
delegateOracleExtendSignature
delegateOracleRespondSignature
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
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
Contract Add AENS name resolver for Contract API
build Remove resolving of minimist
using npx
Guide: Adjust guide for RPC Wallet/Aepp usage
Examples Update examples apps
ACI: Minor ACI validation improvement. Move decoding of events to builder. Add ability to decode events without ACI
aensUpdate
now accept array of pointersaensUpdate
have new optionextendPointers=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
AENS: Change AENS methods arguments
Now all of AENS module methods accept
name
as a first argument instead ofnameId
Compiler: Filter compiler options
Wallet<->AEPP: Add new Wallet<->Aepp communication API
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
name claim: Revert ignoring waitMined from user passed options (#727)
AENS: Change tld
for Lima from .aet
to .chain
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
aci: Change Sophia option type representation in ACI
Contract/ACI Add payable
feature
Lima: add preliminary support for lima
GA support has been disabled until further notice due to node compatibility issuesThis version support aeternity node up to 5.0.0-rc.1
AE: Add ability to make operation on specific account using onAccount
option.
JSON:: Add serialization to JSON for bigNumbers
ACI Add some additional clarification to getContractInstance
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
Node: Add 4.0.0 node compatibility
Compiler: Add compatibility with compiler 3.2.0
Channel: Implement GA awareness of State Channels
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
Usage:: Add instructions about how to include directly the SDK
in a html page
Ae: Fix exception when it used without Contract stamp
Test: Simplify client creation
Compiler: Add getCompilerVersion
to compiler stamp
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
, ...)
Added additional param to sdk initialization
axiosConfig
Example:
Universal({ axiosConfig: { config: { // axios config object }, errorHandler: (err) => throw err }})
NODE Change compatibility from 2.3.0
to 3.0.0
Joi: Add JOI
browser comparability
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
WEBPACK: webpack configs: Mark all dependencies as external
WEBPACK: Setup webpack-bundle-analyzer plugin
Aepp: Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.
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
TX_BUILDER: Channel tx serializations
TxValidator: Add minGasPrice validation to contract transactions
ACI Remove 2.0.0 compiler compatibility
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 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
Chore: Install and configure commitizen
Crypto: Add formatAddress
function to Crypto
Contract: Add Contract Compiler API stamp to es/contract
(now using instead contract node API)
Utils: Add basic http
client stamp (es/utils/http
)
Contract: ACI stamp (New Contract interface base on contract ACI schema)
Account: Extend Account.address()
with accountFormatter
now you can do
Channel: Improve channel rpc usage
Channel: Improve channel tests and error handling
Channel: Improve state channel params handling
Chain: Add ability to get account/balance
on specific block hash/height
Universal: Add { compilerUrl }
to Universal, Contract, Wallet
stamp initialization
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
Contract: Remove ContractNodeAPI
stamp
Contract: Change Contract stamp API
Contract: Change default gasPrice
from 1e6
to `1e9z
AEPP: Fix AEPP
example app
Build: Force image
pull before builds
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
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
Node: Change supported node version range to 1.4.0 <= version < 3.0.0
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
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
Chore: Fix linter errors
Node: Minerva
comparability
Utils: Add Mnemonic
wallet implementation es/utils/hd-wallet
Node: Change supported node version range to 1.4.0 <= version < 3.0.0
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
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
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
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
Docs: Adjust doc's for Contract
and Aens
stamp's
Chore: Fix decoding of address from contract call
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'
)
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
Old transaction builder es/tx/js.js
will be removed in next major release.
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
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 exa
for 10 AE)
Chore: 10 exa
should be 10 ae
Chain: format shouldn't be a flag, but a request for unit
eg. { format:
ae }
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
Rpc: Added a command to remove images after CI testing
Rpc: Fix Testing
Rpc: Fixed Oracle error for Wallet flavor
Oracle: Oracles functionality and flavor
Aepp: Simple example of aepp-in-aepp (see /examples
folder)
Tx: Fixed issue with big numbers and TX
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
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)
Channel: State Channels have been excluded for problems with CI, will be included in next release
Chore: See [0.25.0-0.1.0]
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.
Node Support for < 0.25.0
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
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
Chore The Cli
flavor is now Universal
Chore CLI and AE PROJECT CLI will move to a separate package
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
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
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
Crypto Fixes commitment hash calculations in naming system, to be Hash(nameId(name) + name_salt)
instead of Hash(Hash(name + name_salt))
.
Node Support for < 0.22.0
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
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)
Node Legacy Swagger file loading
Node Compatibility with < 0.15.0
Contract Contract unit state initialization
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)
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
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
Node Defunct scripts; will be brought back later
Chore More consistent code examples
account: add ensureReady
method to AccountLedgerFactory ()
account: add AccountMetamaskFactory ()
account: add AccountMnemonicFactory ()
account: encode secret key as sk_-prefixed string ()
account: expose secretKey
in MemoryAccount ()
aepp: add api to ask wallet to select network ()
aepp: extract class to connect to wallet from AeSdkAepp ()
middleware: add requestByPath
method ()
middleware: allow navigate to next/prev pages ()
middleware: mark as stable api ()
middleware: prefixed types provided by OpenApi instead of strings ()
middleware: return time as Date instance ()
middleware: switch to v3 api ()
node: return time as Date instance ()
oracle: add includeResponded
option to Oracle:pollQueries ()
oracle: add Oracle:handleQueries method ()
account: improve Account:publicKey type ()
aens: validate minus chars in name as node does ()
aepp: don't require subscription to request addresses ()
channel: channelId
type, more accurate types ()
channel: accept host
only if initiator ()
channel: reestablish flow ()
channel: remove statePassword
unsupported on node side ()
channel: remove unsupported ways to reopen channel by a transaction ()
middleware: accurate coin amounts ()
middleware: word casing in activity types ()
node,compiler,middleware: mark $host as readonly ()
node: avoid complex types by code replacements instead generics ()
oracle: emit unhandled rejection instead printing error ()
tx-builder: count amount in execution cost when spend to yourself ()
tx-builder: remove unused ChannelClientReconnectTx
()
wallet: generate random string instead using external uuid dep ()
wallet: origin if opened over file:// (cordova) ()
account: make signTypedData
, signDelegation
abstract ()
account: remove generateKeyPair
()
account: remove generateKeyPairFromSecret
()
account: remove getAddressFromPriv
()
account: remove isValidKeypair
()
account: remove sign
, signMessage
()
account: remove save HD wallet functions ()
aens: replace aens methods with Name class ()
aepp: remove RpcBroadcastError ()
compiler: drop aesophia@7 support ()
contract: don't depend on Contract in AeSdk ()
contract: remove encodeFateValue
, decodeFateValue
()
drop Iris support ()
drop [email protected] support ()
middleware: require 1.77.5 ()
middleware: require 1.81.0 ()
node: require 7.1.0 ()
oracle: add Oracle class ()
oracle: add OracleClient class ()
oracle: replace getQueryObject
with OracleBase ()
remove createDelegationSignature
()
remove NAME_BID_MAX_LENGTH
()
remove signAllNamesDelegationToContract
()
remove signDelegationToContract
()
remove signNameDelegationToContract
()
remove signOracleQueryDelegationToContract
()
remove keystore implementation ()
rename legacy bundles to cjs ()
require [email protected] or newer ()
tx-builder: extract entries into separate builder ()
tx-builder: remove deprecated constant exports ()
tx-builder: remove deprecated constant exports ()
update @types/node, drop TS below 4.8 ()
wallet,aepp: remove delegationToContract.sign
method ()
account: improve Account:publicKey type ()
aens: validate minus chars in name as node does ()
aepp: don't require subscription to request addresses ()
channel: channelId
type, more accurate types ()
channel: accept host
only if initiator ()
channel: remove statePassword
unsupported on node side ()
don't allow upgrades @azure/core-rest-pipeline
()
don't allow upgrades @ledgerhq/hw-transport
to 6.31.0 ()
wallet: origin if opened over file:// (cordova) ()
contract: detect if ACI doesn't match called contract ()
ttl validation error in dev mode by reducing polling intervals ()
node: mark as compatible with 7.0.0 ()
accept multiple encodings in isAddressValid
, add TS asserts ()
add getContext
method to AeSdk ()
aens: support update with raw pointers ()
aepp,wallet: allow raw data sign ()
chain: add cache
option to getHeight
()
compiler: add CompilerCli8 class ()
compiler: provide compilation warnings ()
compiler: update cli and http compilers to 7.4.0 ()
contract: resolve names on node side in Ceres ()
contract: support all names delegation to contract ()
jwt utilities ()
node: add param indicating retry ()
node: show error code if available ()
spend to payable contract ()
support new delegation format in Ceres ()
tx-builder: get actual gas price from node ()
tx-builder: pick queryFee
from the node if not provided ()
tx-builder: reject used accounts in GaAttachTx in Ceres ()
tx-builder: validate nameTtl
in NameUpdateTx ()
aens: make extendTtl
argument optional ()
aens: reduce default client ttl to one hour ()
chain: poll till ttl if defined to ensure tx can't be mined ()
contract: build address by signed tx ()
contract: don't duplicate NoSuchContractFunctionError message ()
improve error message when no wrapped value ()
node,middleware,compiler: version check if deployed at path ()
node,middleware: remove duplicate retry policy ()
node: add missed conversion of difficulty
and hashrate
to number ()
node: don't remember failed version request ()
node: show correct error message if body is missed ()
node: show correct error message if ECONNREFUSED ()
tx-builder: don't accept ttl equal to block height ()
tx-builder: don't estimate gas for non-transactions ()
tx-builder: limit ttl to 3 in case tx built internally ()
tx-builder: remove invalid oracle tx type in validator ()
use proper vm version in Ceres ()
aepp,wallet: connect to web-extension if opened over file:/// ()
aepp: use complete type of WalletInfo object ()
contract: don't mark contract as deployed if tx failed ()
contract: use current nonce in static calls ()
node: don't retry 500 code responses ()
node: throw clear error message if unsupported protocol ()
node: uncatchable exception if request failed in queue ()
typos in error messages and docs ()
use Number
instead of unary plus for BigInt ()
account: add methods to generate delegation signatures ()
aepp,wallet: support delegation signatures ()
account: add implementation of signTypedData
in AccountBase ()
wallet: don't ask to confirm unsubscription ()
wallet: don't require to be subscribed to request addresses ()
wallet: return accounts according to subscription ()
account: support signing typed data ()
aens: add ensureName
helper to check names ()
aens: support unicode names claim ()
aepp,wallet: support inner transaction signing ()
aepp,wallet: support signing typed data ()
compiler: add generateAci
, generateAciBySourceCode
()
middleware: generate autorest wrapper ()
middleware: implement MiddlewareSubscriber ()
onAccount
option in AeSdkMethods ()
aens: more accurate name check in isNameValid
()
aepp: call onDetected
always with newWallet
()
contract: use fallback account if onAccount
not provided ()
converting proxied options to JSON ()
provide types in exports field of package.json ()
reject prefixes other than provided in isAddressValid ()
tx-builder: buildTx
produces the same type as unpackTx
accepts ()
tx-builder: decode tag in entry error message ()
wallet: emit internal error if something broke while broadcast ()
wallet: throw reason of internal error to handle it in wallet ()
contract: return type of call/deploy on chain ()
export of prefixedAmount
helper ()
Please check out , and release notes for the .
aepp: call onNetworkChange
after connection ()
export Encoded type ()
aepp: use the same name for all nodes provided by wallet ()
chain: reduce /2 number of blocks to wait before throwing timeout ()
contract: add missed sourceCodePath
cases ()
aepp: remove select option in connectToWallet ()
account: accept async function in authData
of AccountGeneralized ()
account: override fee
, gasPrice
of GaMetaTx in authData
()
chain: getBalance
accepts OracleAddress ()
channel: emit newContract
event ()
contract: add ability to compile by path in node.js ()
contract: add CompilerCli ()
contract: allow to create GA using sourceCodePath
, bytecode
()
contract: decode emitted events of contract deploy ()
contract: don't require compiler ()
contract: extract $getCallResultByTxHash method ()
contract: support unit type ()
node: exponential retry of requests on failure ()
setup downleveled types for [email protected] and above ()
support CERES protocol version ()
tx-builder: deserialisation of channels.get.offchain_state
()
tx-builder: implement buildAuthTxHashByGaMetaTx ()
tx-builder: implement getExecutionCost and related functions ()
tx-builder: implement getTransactionSignerAddress function ()
tx-builder: support incomplete MPTrees ()
tx-builder: support recursive types ()
tx-builder: typed decoding of MPTrees ()
tx-builder: unpack poi
field of channel CloseSolo Slash tx ()
tx-builder: validate address and enum fields in runtime ()
account: add generate
method to MemoryAccount ()
add Ledger HW support ()
ensure that used correct account type while signing transaction ()
extract AeSdkMethods class with minimal interface ()
restore the ability to specify an array of accounts in AeSdk constructor ()
aepp: don't require connection to wallet to make a static call ()
channel: increase pong timeout 3 times (to 15 seconds) ()
channel: return type of state
()
compatibility with @vue/cli@4 ()
contract: avoid any
in arguments ()
contract: don't mark event
field as required in Aci ()
contract: dry-run accept top
as number ()
contract: static call at specific height ()
contract: type of FunctionAci ()
node: don't throw unhandled exception if version check failed ()
oracle: ask height right before querying oracle to avoid not found ()
oracle: import getHeight
instead of using a missing context ()
tx-builder: calculation of gasLimitMax
()
tx-builder: don't check consensus protocol if sdk knows a single ()
tx-builder: drop nonce validator to avoid false positive ()
tx-builder: ensure that TX RLP have the same length as schema ()
tx-builder: field DelegateIds in ChannelCreateTx ()
tx-builder: provide proper type depending on checks being done ()
wallet: don't use Event.hasListeners that is not available in FF ()
wallet: explicitly convert error to JSON to don't pass stack trace ()
wallet: provide origin on webext side instead of empty string ()
channel: log
field type in result of getContractCall
()
channel: add missed types for minimumDepth
, fee
, gasPrice
()
channel: emit incoming message handler error instead of printing ()
channel: messageQueue type ()
contract: don't throw ambiguous error if event types the same ()
contract: don't throw error if already compiled ()
contract: more specific error on calling without address ()
don't swallow errors without checking their type and message ()
don't use any in AeSdkBase constructor options ()
sync options between Contract and AeSdkBase ()
tx-builder: avoid extra requests in tx validator ()
tx-builder: mark nameTtl
as shortUInt
in NameUpdateTx
()
tx-builder: type of binary fields ()
use crypto random to generate salt ()
deps: update calldata to 1.3.0 ()
deps: depend on specific version of @azure/core-client to fix ()
export and implementation of calculateMinFee ()
export Encoding enum ()
ability to use sdk without nodes ()
aepp,wallet: avoid invalid message errors using third-party tools ()
AeSdkBase: don't mutate the options argument ()
awaitHeight: allow to wait for arbitrary number of blocks ()
channel: handle round as number ()
getNetworkId throw proper error without node ()
move type packages required by TS projects to dependencies ()
node: avoid ts-expect-error missed in generated d.ts file ()
node: don't transform autorest properties ()
Node: tread nameTtl
, clientTtl
as number ()
pollForQueryResponse: poll until query is expired ()
sendTransaction: don't fall if onAccount
missed in AeSdkBase ()
switch to aepp-calldata with fixed decoding of lists ()
aepp: support external accounts in onAccount
()
ga: implement buildAuthTxHash function ()
NodeInvocationError: store tx-encoded transaction ()
aepp: use networkId in rpc tx signing ()
importing in mjs ()
messageToHash: support messages longer than 252 chars ()
wallet: revert to returning complete tx data instead of just hash in rpc wallet signing ()
generate compiler api in TypeScript using autorest ()
generate node api in TypeScript ()
compiler: init in sync, check version on making request ()
aci: accept onAccount as AccountBase ()
ae: drop stamps and use plain functions ()
aepp rpc: accept wallet info separately ()
aepp-rpc: depend on simplified version of RpcClient ()
aepp-rpc: extract common error checks ()
aepp-wallet: rewrite to ts all except rpc ()
AeppRpc: make to init in sync ()
chain: drop stamps and use plain functions ()
chain: remove deprecated methods ()
compiler: extract genVersionCheckPolicy ()
don't provide default fee when transaction is not present ()
drop ensureNameValid
()
drop compiler stamp ()
drop functions to generate txs with specific type ()
drop TxObject wrapper ()
encoder: remove required prefix param ()
export in tree shaking friendly way ()
extract all fee-related stuff into a separate module ()
extract base sdk classes ()
fix spend types ()
getNetworkId: drop unnecessary force
option ()
getQueryObject: remove deprecated decode
method ()
inline NAME_BID_TIMEOUTS into computeAuctionEndBlock ()
NodeApi: return BigInt instead of string | number ()
node: drop internalUrl
()
node: rewrite to ts, drop stamp ()
oracle: drop stamps and use plain functions ()
prepareTxParams: inline calculateTtl ()
remove ability to connect without sharing node if requested ()
remove extra getAddressFromPriv
()
remove getAccountNonce ()
remove outdated destroyInstance method ()
rename gas
to gasLimit
where possible ()
rewrite AE_AMOUNT_FORMATS to enum ()
rewrite ae/contract to ts ()
rewrite TX_TYPE to enum ()
rpc account: don't pass extra options through rpc connection ()
rpc-client: add notify method ()
rpc-client: provide method handlers instead of onMessage ()
RpcClient: remove custom set of accounts ()
RpcClient: remove origin property ()
rpc: inline extra helpers ()
rpc: use webextension-polyfill ()
simplify transaction schema ()
tests: migrate remaining tests ts ()
tx schema: add shortInt type for fields not needed big numbers ()
unpackTx: accept only tx_string, don't return binary ()
use calculateMinFee
instead of calculateFee
()
utils: migrate keystore.js to ts ()
wallet rpc: don't pass networkId from aepp to wallet ()
wallet-rpc: drop info
object in RpcClient ()
wallet-rpc: remove meta, condition
unused by known wallets ()
wallet-rpc: return value/throw error instead of accept/deny ()
wallet-rpc: rewrite to TypeScript ()
wallet-rpc: simplify callback arguments ()
wallet-rpc: store rpc data in maps instead of objects ()
wallet-rpc: switch to TypeScript version of RpcClient ()
contract: do not check payable if contract call is init ()
importing in mjs ()
oracle: do not include address for oracle respond signature ()
aci: use dry-run to estimate gas and get rich errors ()
calculate default polling intervals depending on node settings ()
chain: combine multiple dry-run requests at one ()
contract events: ability to resolve multiple definitions of event ()
contract events: remote contract support ()
createGeneralizeAccount: estimate gas limit instead of using const ()
decode encode: validate base58 prefix and payload length ()
error: introduce error types () ()
package: build es version compatible with node ()
poll: use getCheckTxInPool if available ()
swagger: converts operationId in snake case to pascal ()
swagger: split transactions by queues to post batch of txs from one account ()
tx builder: accept unencoded name in nameClaimTx ()
tx builder: don't require produceNameId to create AENS txs ()
tx builder: provide default name fee ()
validator: check contractId ()
wallet: add switch for aepp wallet node sharing ()
wallet: enable aepp to wallet node connection ()
wallet: provide switch for aepp wallet node connection ()
aens helpers: improve naming, add additional validations ()
babel: compatibility with create-react-app ()
babel: depend on buffer package in es build ()
babel: don't rewrite import of rlp package for @vue/[email protected] ()
chain: don't require address function to post transaction ()
channel force progress: add missed binary prefixes ()
channel: ignore messages that can't be handled, print to console ()
compatibility: update argon2-browser to version with default export ()
compatibility: use blakejs that doesn't refer to Buffer ()
contract events: don't throw error if events emitted by remote ()
delegate signature: don't encode address depending on onAccount ()
dry-run: don't combine requests by default ()
error: remove duplicate error message ()
es: babel build on windows ()
keystore: encoding of hex privateKey, simplify tests ()
spelling of GeneralizedAccount ()
tx builder: reject more than 32 pointers ()
tx builder: throw exception if deposit is not zero ()
aci: drop redundant per-method event decoding ()
aci: remove call/callStatic from deployInfo ()
aci: remove createdAt property generated at client ()
aepp-wallet schema: convert to TS ()
aepp-wallet schema: rearrange METHODS enum ()
aepp-wallet schema: remove unused enums ()
compiler: remove contractEncodeCallDataAPI ()
compiler: remove getBytecodeCompilerVersion ()
compiler: remove getCompilerVersion ()
compiler: remove getFateAssembler ()
compiler: remove validateByteCodeAPI ()
contract instance: store aci as it is ()
contractCompile: remove encodeCall ()
contract: remove already processed fields from decoded events ()
contract: remove compileContractAPI ()
contract: remove contractCompile ()
contract: remove contractDecodeCallDataByCodeAPI ()
contract: remove contractDecodeCallDataBySourceAPI ()
contract: remove contractDecodeCallResultAPI ()
contract: remove contractGetACI ()
contract: remove deprecated contractCall ()
contract: remove deprecated contractCallStatic ()
contract: remove deprecated contractDeploy ()
crypto: make (encode/decode)Base(58/64)Check private ()
decodeEvents: accept event schemas as it is in ACI ()
drop https scheme workaround for hosted compiler ()
hd-wallet: expect that bip39 used externally ()
hd-wallet: remove default export ()
node: don't wrap internal endpoints if internalUrl missed ()
poll: avoid extra transaction info request to node ()
remove deprecated topBlock ()
remove unused functions ()
return empty array instead of throwing UnsignedTxError ()
rpc: remove forceValidation flag ()
tx builder: inline VALIDATION_MESSAGE ()
tx schema: remove default NAME_FEE equal to 0 ()
update rlp to 3.0.0 ()
use bs58 instead of bs58check ()
wallet-rpc: inline resolveOnAccount helper ()
aci: don't require source code ()
aens: don't limit pointer keys ()
aens: enable commitmentHash preclaim in tests ()
decode using calldata package ()
encode using calldata package ()
poll-interval: reduce poll interval to be a more sensible default ()
support for new node feature next-nonce of release 6.2.0 () ()
commitlint issue ()
compiler errors: construct error message by server response ()
don't accept ak_ addresses as hash, bytes and signature ()
events: don't require function name for events decoding ()
events: fix event decoding order and address prefix ()
events: fix test for incorrect address return type ()
events: ignore unknown events in decoding ()
node errors: construct error message by server response ()
semverSatisfies: ignore build number ()
swagger: detection of empty response ()
contract instance: remove unnecessary setOptions
function ()
contract instance: thread all extra options as contract's ()
crypto: remove unused asymmetric encode/decode functions ()
drop unnecessary skipArgsConvert option ()
drop unnecessary skipTransformDecoded option ()
inline getConsensusProtocolVersion function ()
invert and rename forceCodeCheck option to validateByteCode ()
make contractCall/Static a wrapper around getContractInstance ()
make contractDeploy a wrapper, remove unused code ()
remove contractDecodeData as extra wrapper ()
remove contractEncodeCall as extra wrapper ()
require compiler 6 and above ()
specify browserlist to better choice of features to transpile ()
transformation: don't export extra functions ()
transformation: drop extra wrapper around bindings ()
aci: don't require source code ()
decode using calldata package ()
encode using calldata package ()
poll-interval: reduce poll interval to be a more sensible default ()
support for new node feature next-nonce of release 6.2.0 () ()
aens: enable commitmentHash preclaim in tests ()
compiler errors: construct error message by server response ()
events: fix event decoding order and address prefix ()
events: fix test for incorrect address return type ()
node errors: construct error message by server response ()
semverSatisfies: ignore build number ()
commitlint issue ()
don't accept ak_ addresses as hash, bytes and signature ()
drop unnecessary skipArgsConvert option ()
drop unnecessary skipTransformDecoded option ()
inline getConsensusProtocolVersion function ()
invert and rename forceCodeCheck option to validateByteCode ()
make contractCall/Static a wrapper around getContractInstance ()
make contractDeploy a wrapper, remove unused code ()
remove contractDecodeData as extra wrapper ()
require compiler 6 and above ()
specify browserlist to better choice of features to transpile ()
contract instance: remove unnecessary setOptions
function ()
contract instance: thread all extra options as contract's ()
remove contractEncodeCall as extra wrapper ()
transformation: don't export extra functions ()
transformation: drop extra wrapper around bindings ()
Remove channel from universal stamp ()
drop following AENS delegation signature methods over the new common createAensDelegationSignature
implementation which accepts an object as param ()
drop following oracle delegation signature methods over the new common createOracleDelegationSignature
implementation accepts an object param ()
drop assertedType
, use decode
instead ()
drop waitMined
static method ()
tx-validator now gives different, more meaningful, errors ()
no longer exports buildHash function, use hash or buildTxHash ()
tx-verification is now done by default ()
payForTransaction
method ()
don't check is GA if innerTx ()
don't sent to blockchain if innerTx ()
deposit-trap: enforce zero value for deposit
during contract deploy ()
change default gas limit to 25000 ()
AENS: name length minimum bid fee ()
delegate-signature: stop using the default account in the context of signing ()
mustAccountStamp: process accounts only if supplied ()
swagger https issue ()
tx serialisation: accept unpackTx output produced by deserialisator ()
swagger file of aeternity's compiler ()
swagger file of aeternity's latest compiler ()
export aepp-wallet-communication ()
ponyfill Buffer
in browser ()
ponyfill process
in browser ()
rlp: import as it is ()
typo name of broadcast failed error generator ()
examlple-aepp: open only when ready to accept connection ()
crypto: drop extra "personal" from message functions ()
crypto: remove outdated generateSaveWallet function ()
crypto: remove unused addressToHex function ()
crypto: remove unused formatAddress function ()
crypto: remove unused hexStringToByte function ()
crypto: remove unused prepareTx, encodeTx, decodeTx functions ()
crypto: rename messageToBinary to messageToHash adding hashing ()
node-pool: inline helpers, export by default ()
string: remove unused snakeOrKebabToPascal function ()
string: use isAddressValid instead of isAeAddress ()
drop compatibility with node@5 ()
drop outdated protocols and transactions schemas ()
poi-tx schema: use proper type name ()
wait-for-tx-confirm: validate transaction height after awaitHeight ()
support [email protected] and above ()
avoid instanceof between possible not/polyfilled objects ()
revert conversion of case in calls to compiler ()
avoid ts definitions based on broken JsDoc ()
Drop old aepp-wallet RPC interface ()
refactor: don't retrieve account from process.env ()
refactor(crypto): don't reexport RLP methods ()
refactoring: remove legacy contractDecodeDataAPI compiler method ()
refactor: rename forceCompatibility
to more clear ignoreVersion
()
refactoring: require compiler above or equal to 4.1.0 ()
RpcClient: Drop unnecessary action stuff ()
Combine RpcWallet and RpcClients ()
Drop old names support, split ensureNameValid and isNameValid ()
refactor(contract-aci): export single function instead of stamp ()
Combine Accounts and Selector into AccountMultiple ()
Use swagger-client instead of a custom implementation ()
Remove OracleNodeAPI wrapper ()
Flatten options of contractCallStatic, remove extra dryRunContractTx ()
txDryRun: Simplify arguments, support txEvents
option ()
contracts: Mark handleCallError as private, simplify arguments ()
import/no-named-as-default linter error ()
oracle: make pollForQueries a sync function ()
chore: drop aevm support and backend (compiler) option ()
refactor(schema): export enum with consensus protocol versions ()
swagger: allow to provide external specification ()
swagger: make compatible with OpenAPI 3 ()
switch to v3 endpoints on Iris ()
traverse-keys: add keysOfValuesToIgnore option as a workaround ()
Use es modules version in browser if supported ()
Add typescript support ()
contract: fix default backend value ()
wallet-iframe: fix disconnect button ()
examples-browser: rearrange files and docs ()
use relative links between docs pages ()
remove outdated aecrypto example ()
refactor node examples ()
changelog: add missed single quote in example ()
resolveName: Document verify option ()
Remove outdated docs ()
decodeTx: Fix arg naming and annotation ()
contract-events: Remove outdated contract, update links and markup ()
Update docs/guides/import-nodejs.md ()
Update docs/guides/import-nodejs.md ()
break down json obj keys necessary for account initialization in nodejs docs ()
Ignore pycache in the docs folder ()
Specify the python version more precisely ()
Add pycache to .gitignore ()
Add navigation and update some titles ()
docco template: Remove extra new lines around code, skip extra blocks ()
aecontract: Make a list out of a long sentence ()
aens-usage: Use more semantic markup, compatible with mkdocs ()
docs readme: Fix typos and formatting ()
Add initial mkdocs and readthedocs configuration ()
Extract quick-start to guides ()
Update testnet URL ()
assertedType: Make the last parameter more obvious ()
travis: Build docs to gh-pages ()
Docs root: Add link to API reference ()
Move outdated disclaimer to the root readme ()
Remove generated docs ()
Fix api docs generation ()
use BigNumber constructor instead of custom wrapper ()
avoid extra object nesting ()
compiler: use swagger file ()
semver-satisfies: remove extra splitting by dash ()
remove extra char in regex ()
refactor wallet detector ()
shareWalletInfo: Don't create unnecessary copy of info ()
Inline receive helper that is used once ()
rpc: Inline helpers used once ()
rpc: Prefer default export ()
rpc helpers: Remove unused getWindow function ()
don't use AsyncInit where it is not necessary ()
contract-aci: reuse defaults from Contract stamp ()
cleanup MIN_GAS_PRICE ()
remove unused option string ()
remove unused dryRunAccount default option ()
Consistent new on Error creation ()
height: Use a shorter syntax ()
height: Improve naming of internal promise ()
Move source code to "src" folder ()
sign-using-ga: don't pass extra options ()
traverse-keys: add missed null check ()
swagger: add workaround to get transaction details of GAAttachTx ()
top-block: use getTopHeader on Iris, mark deprecated ()
nonce-verification: add missed space ()
missed aepp id in wallet connect handler ()
get-node-info: bring url and internalUrl back ()
contract error decoding ()
contract-aci: don't proxy prepareArgsForEncode from helpers ()
Improve handling of call error ()
Use ts-standard instead of standard ()
tsconfig: Set target version to es5 ()
Fix eslint errors manually ()
require node below 7.0.0 ()
require node above or equal to 5.2.0 ()
update dependencies ()
deps: bump ssri from 6.0.1 to 6.0.2 ()
deps: bump y18n from 4.0.0 to 4.0.1 ()
deps: bump elliptic from 6.5.3 to 6.5.4 ()
deps: bump axios from 0.19.2 to 0.21.1 ()
deps: bump ini from 1.3.5 to 1.3.7 ()
deps: bump highlight.js from 10.4.0 to 10.4.1 ()
deps: bump highlight.js from 10.1.1 to 10.4.0 ()
deps: bump node-fetch from 2.6.0 to 2.6.1 ()
Update node to 5.8.0 ()
Update .gitignore ()
add vscode .history folder to gitignore ()
Update testnet URL in JS files ()
add Iris consensus protocol ()
add vsn 2 version of GA_META transaction ()
add new versions of CHANNEL, CHANNEL_CREATE transactions ()
support compilers below 6.0.0 ()
Optimize height queries ()
simplify GA tests ()
oracle: avoid explicit waiting for 1 second ()
passing of forceCompatibility flag ()
contract: remove extra backend option ()
update channel tests to fate ()
Faster tests ()
Extract strings tests into separate file ()
ga: Remove extra await ()
Make tests more precise ()
transferFunds: Accept onAccount option ()
bigNumberToByteArray: Avoid unexpected behaviour by throwing exception ()
example: Add disconnect button on wallet side ()
Use external version of json-bigint ()
Make tests configuration more flexible ()
test-else: Exclude aens tests and speedup jobs ()
Avoid unnecessary eslint-disable ()
Add lint script ()
Refactor tests ()
Refactor bytes unit tests ()
travis: Run linter and unit tests firstly ()
Disable Travis on all branches except master, develop ()
Refactor contract, oracle, chain ()
Refactor state channels ()
Fix typo in Readme.md ()
wallet-detector: allow to connect wallet to aepp between iframes ()
Account: Build signature from transaction hash () ()
ACI: External contract integration () ()
Deps: Clean up repository ()
Env: Simplify Travis and docker-compose ()
Env: Remove unused packages ()
AEX-2: Handler always as Promise () ()
AEX-2: Add debug option for getHandler
. Hide unknown message logs () ()
AEX-2: Fix isExtensionContext
check () ()
AEX-2: Fix getBrowserAPI
helper for cross-browser compatibility () ()
ACI: Event decoding () ()
AEX_2: Handle network switch and update state on both sides. Adjust networkId check for signing request. Add node switcher for example apps ()
example: Regenerate lock () ()
ACI: expose events decoding through Contract ACI stamp () ()
AEX_2: Allow to connect without node () ()
AEX_2: Connect to extension from iframe () ()
Build: Expose ACIHelpers
and ACITransformation
to bundle () ()
Chain: Add option allowUnsynced
for poll
method which allow to depend on get tx/info
API ()
Channel: add timeout message handler () ()
Channel: Channel force progress () ()
Contract: Add unpacked transaction to contract call with error () ()
Node: Add debug
option to Channel stamp () ()
RPC: Refactor rpc-related stuff ()
Build: Include amountFormatter and SCHEMA in bundle()
TX: Introduce new stamp TxObject
()
This stamp give more flexibility on transaction serialization/deserialization process
Keystore: Allow to store secret as hex or buffer ()
AEX-2: Add permission layer for account management ()
TxBuilder: Fix fee calculation for Oracles () ()
AEX-2: Broken wallet detection ()
AEX: Simplify message id processing (). Pass AEEP origin
to Wallet callback ()
Node: Move getNetworkId
to helpers ()
ACI: Implement Contract Events for ACI()
Contract: Helpers for Oracle and AENS signature delegation()
AmountFormatter: Rework amount formatter. Change formatter units naming. Add more units () ()
TxBuilder: Integrate amount formatter to transaction builder ()
Account: Implement Message Signing (singMessage
, verifyMessage
) ()
AEX-2: Add removeRpcClient
method to RpcClient/RpcWallet stamp's()
AEX-2: Fix firefox compatibility issue () ()
Chain: add new method waitFOrTxConfirm
. Add new option { confirm: 3 } to all of high lvl SDK API. Add tests. Adjust docs () ()
Compiler: Add new compiler methods API () ()
network: Throw error when can not get networkId () ()
Guide
Guide: Add , and guides
Please check out
This release include all changes from , ,
aens: implement aensExtendTtl function. Refactor aensUpdate () (), closes
codecov: Adjust codecov badge. Move @babel/runtime to dev-deps () ()
AEX-2: Fix getBrowserAPI
function for firefox ()
Account: Add ability to pass keypair
or MemoryAccount
as nAccount` option () ()
Test: Increase code coverage () ()
Chain: Extend transaction verification error ()
Aepp<->Wallet: Add tests for Aepp<->Wallet communication ()
Guide: Add guide for Contract ACI usage ()
Contract/Chain: Using { waitMined: false } with Contract high lvl API () ()
HdWallet: Fix derive function () ()
Cross-Node: Remove cross-node compatibility code () ()
Chain: Handle time until tx is not added to mempool ()
Git: Update issue template()
Flavors: Remove deprecated code ()
Test: Increase code covarage () ()
Add two new stamps RpcWallet
and RpcAepp
Example of usage you can find heere: and
Wallet: Use postMessage
for communication with extension wall… () ()
CI: Move to Travis CI () ()
CI: enable daily builds on latest node and compiler and enable codecov () ()
ACI: Add check for contract address validity and existence. Add forceCodeCheck
option for bytecode verification skip () ()
Contract: Add ability to pass arguments or callData for contract deploy/call/callStatic
API () ()
Contract: Adjust fee
calculation for contractCall
tx using FATE
backend () ()
Compiler: Add new API validateByteCodeAPI
available on compiler >= 4.1.0 () ()
Tx: Always verify transaction before send it to the node () ()
Channel: 5.2.0 compatibility ()
Composition: Chain composition ()
ACI: Disable bytecode check for source and code on-chain. This changes will be included in next major release () ()
KeyStore: Remove argon2
package, use libsodium
for both browser and node () ()
AENS: auction end block calculation () ()
AENS: Fix produceNameId
function(Make name lowercase). Enable … () ()
state channels: wait for connection to be established before sending generic message () ()
TxHelpers: Use BigNumber in auction end block calculation ()
ACI: Add validation for contractAddress () ()
AENS: Add nameFee validation to TxValidator () ()
AENS: Increase default nameTtl () ()
Contract: Add ability to pass arguments or callData for contract deploy/call/callStatic
API () ()
Http: Assign error object to http error () ()
state channels: add round method () ()
state channels: allow off chain updates to be cancelled with custom error code () ()
state channels: allow to pass metadata to transfer update () ()
state channels: make state channels compatible with node v5.0.0… () (), closes
state channels: make state channels compatible with node v5.1.0… () ()
aens: added lower case transformation for aens names () (), closes
SPEND: Add additional validation for recipient () ()
State Channels: make state channels compatible with node v5.0.0… () (), closes
AENS: Change tld for Lima from aet
to chain
() ()
AENS: Implement name bid
function ())
AENS: auction name fee calculation. Name fee validation and calculation in claim/bid
()
AENS: Add nameId
computation function (#709) ()
rpc: fix resolution rpc ops () ()
ACI: rework Sophia Option type representation () ()
AENS: Add ability to spend by name () ()
AENS: Add ability to claim contract, oracle, SC () ()
GA: enbale GA () ()
Lima: Lima compatibility () (), closes
package: update serialize-javascript to version 2.0.0 () ()
Compiler: Compiler 4.0.0 compatibility () ()
Contract/ACI: Add ability to use contract with external namespaces(include "someLib"
) () ()
Oracle: Add methods for polling queries
Chain: Add getBalance
method () ()
state channels: add reconnect method () ()
state channels: add backchannel updates test
Compiler: Fix forceCompatibility
option ()
ACI/Contract: Implement static-call for deploy transaction for ACI methods/Contract low lvl API () ()
Example Add node info to AEPP ()
GA Fix GA account composition ()
Crypto: Fix keypair
verification () ()
RPC: Remove NodePool stamp from AE composition () ()
state channels: add missing argument in onOnChainTx callback () ()
state channels: fix awaitingOnChainTx state handler () ()
Swagger: Always throw error from axios
error handler () ()
MemoryAccount: Add validation of keypair () ()
state channels: handle BigNumbers with json-bigint () ()
state channels: send generic messages immediately () ()
Generalize Account Implement Generalized account support ()
Package: update commander to version 3.0.0 () ()
Contract: Fix dry-run without account ()
Contract: add ability to use call-static/dry-run without keyPair () ()
MemoryAccount: Add validation of keypair
() ()
State Channels: persist connection by pinging every 10 seconds () ()
State Channels: Fix onChainTx event params () ()
State Channels: Fix websocket url () ()
Swagger: Pass query params in case of get request ()
State Channel: Do not include white space for outgoing websocket messages ()
ACI: Implement sophia variant
type () ()
Contract: add ability to use call-static/dry-run without keyPair () ()
NodePool: Implement NodePool stamp () ()
State Channel: make state channel compatible with [email protected] () ()
TxBuilder: Add helper for producing tx hash () ()
AE Make all AE stamps composed with Accounts ()
package: update libsodium-wrappers-sumo to version 0.7.5 () ()
rpc-server: Fix type 'object' check () ()
Node: Do not throw error if internalUrl
not provided. Instead use url
() ()
TXBuilder: Fix payload serialization if you try to unpack and pack tx. () ()
TxValidator: Fix validation of state channel open transaction () ()
ACI: Refactor ACI module. Split to separated files. () ()
RPC: Add contract contractDecodeCallResultAPI to RPC () ()
README: Fix flavor link ()
Compiler: Fix compiler compatibility mechanism () ()
Utils: Move json-bigint implementation to utils
() ()
webpack: Add another bundle(dist/aepp-sdk.browser-script.js
) for using in <script>
tag ()
SCM: Update compatibility range for node: 3.0.1 - 4 and compiler 3.1.0 - 4 () ()
Docs chore(Docs): new docs ()
ACI: Make compatible with compiler 3.1.0 () (), closes
ACI: Generate JS function proto for each of contract function () ()
Compiler/ACI: Make ACI compatible with compiler 3.0.0 () ()
Node: Avoid usage of "universal-url" package () ()
TX: encode payload as base64 () ()
TX_BUILDER: Fix bug related to contract fee calculation. () ()
Deps: Update axios lib to 0.19.0 due to security issue ()
State Channels: Remove automatic pinging to fix browser compatibility () ()
Transaction Builder: Improve min fee calculation(Reduce the fee) ()
AXIOS: Add ability to intercept error from axios ()
Transaction Builder: Implement vm/abi validation for contract/oracle tx based on consensus protocol version. Add custom verification based on transaction type () ()
AEP exampe: Fix contract in AEPP example () fix(AEP exampe): Fix contract in AEPP example
Consensus: Add function to get consensus version. () ()
State Channels: Make state channels compatible with aeternity 3.0.0 () ()
Transaction Builder: Add serializations for transactions introd… () ()
ACI: Add ability to pass zero address as number. () ()
ACI: Fix address type transformation when decoding data () ()
Contract: Add error handling(decoding) in low lvl contract API () ()
ACI: Add contract
, address
, record
types argument/result transformation () ()
ACI: Add Option
sophia type to ACI () ()
ACI: Implement arguments validation for generic sophia types(list, map, tuple, record) () ()
ACI: Update due to compiler API changes () ()
AE: Allow to spend % of balance. () (), closes
Aepp: Add Compiler to Aepp rpc methods. Update example app () ()
Compiler: Add decode CallData by source/bytecode () ()
Fortuna: Node 3.0.0 compatibility () ()
RPC: Add getNodeInfo
to AEPP stamp through RPC () ()
State Channels: Add cleanContractCalls method () ()
State Channels: Ping every 10 seconds to persist connection () (), closes
State Channels: Remove endpoint param () ()
ACI: Fix address type transformation when decoding data () ()
ACI: Add contract
, address
, record
types argument/result transformation () ()
ACI: Update due to compiler API changes () ()
Aepp: Add Compiler to Aepp rpc methods. Update example app () ()
Compiler: Add decode CallData by source/bytecode () ()
RPC: Add getNodeInfo and getNetworkId to AEPP stamp through RPC () ()
State Channels: Add cleanContractCalls method () ()
State Channels: Ping every 10 seconds to persist connection () ()
ACI: Fix address type transformation when decoding data () ()
ACI: Update due to compiler API changes () ()
Aepp: Add Compiler to Aepp rpc methods. Update example app () ()
State Channels: Add cleanContractCalls method () ()
This release contain changes from: , , ,
Protocol: Encoding of transaction (and other objects)
Keystore Update keystore for new
CLI and moved to separate repos and packages
Contract Aens use domain .test
instead of .aet
(see )
Contract Use NETWORK_ID for signing (see )
Chore the keypair keys changed from { pub, priv }
to { publicKey, secretKey }
for consistency with other systems using them (eg. AirGap and )
Node Full support of
Node Missing required parameter for name transfers (workaround for)