All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
14.0.0 (2024-10-20)
Please check out the migration guide and a tool to convert to convert secret keys.
- CommonJS bundles have cjs extension instead js
- aepp: AeSdkWallet requires
onAskToSelectNetwork
constructor option - tx-builder:
ChannelClientReconnectTx
removed - node: Node returns time in KeyBlock and MicroBlockHeader as Date
- middleware: require 1.81.0
- sdk requires [email protected] or newer
- sdk types requires [email protected] or newer
- account: Save HD wallets methods removed
- account:
sign
,signMessage
removed - account:
isValidKeypair
removed - account:
getAddressFromPriv
removed - account:
generateKeyPair
removed - account:
generateKeyPairFromSecret
removed recover
,dump
removed (AEX-3 keystore implementation)- node,compiler,middleware: $host is readonly in generated APIs
- account: MemoryAccount accepts secret key as sk_-prefixed string
- account:
generateKeyPair
returns secretKey encoded as sk_-prefixed string - aepp: RpcBroadcastError not exported anymore
NAME_BID_MAX_LENGTH
not exported anymore- contract:
encodeFateValue
,decodeFateValue
not exported anymore - Iris is not supported
- middleware: sdk requires [email protected] and above
- node: sdk requires aeternity node 7.1.0 and above
- account: AccountBase inheritors required to implement
signTypedData
,signDelegation
signDelegationToContract
removedsignNameDelegationToContract
removedsignAllNamesDelegationToContract
removedsignOracleQueryDelegationToContract
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 acceptprefix
anymore - contract:
AeSdk:initializeContract
removed
- account: add
ensureReady
method to AccountLedgerFactory (5047e43) - account: add AccountMetamaskFactory (e9f9694)
- account: add AccountMnemonicFactory (c785521)
- account: encode secret key as sk_-prefixed string (b94e198)
- account: expose
secretKey
in MemoryAccount (d4320e6) - aepp: add api to ask wallet to select network (9871c91)
- aepp: extract class to connect to wallet from AeSdkAepp (c3570ac)
- middleware: add
requestByPath
method (ee5ac0c) - middleware: allow navigate to next/prev pages (b89cf5b)
- middleware: mark as stable api (e25b06d)
- middleware: prefixed types provided by OpenApi instead of strings (0b16a32)
- middleware: return time as Date instance (e48ffd1)
- middleware: switch to v3 api (b0015c0)
- node: return time as Date instance (e0e33ea)
- oracle: add
includeResponded
option to Oracle:pollQueries (78a07ab) - oracle: add Oracle:handleQueries method (03c77c0)
- account: improve Account:publicKey type (1652a4b)
- aens: validate minus chars in name as node does (329de9e)
- aepp: don't require subscription to request addresses (2b247ff)
- channel:
channelId
type, more accurate types (e572fae) - channel: accept
host
only if initiator (a7d4dde) - channel: reestablish flow (1f4a0c1)
- channel: remove
statePassword
unsupported on node side (5cec07b) - channel: remove unsupported ways to reopen channel by a transaction (f3746a1)
- middleware: accurate coin amounts (00a4f3e)
- middleware: word casing in activity types (f1fbb29)
- node,compiler,middleware: mark $host as readonly (9e47d5c)
- node: avoid complex types by code replacements instead generics (4f531b1)
- oracle: emit unhandled rejection instead printing error (3a57665)
- tx-builder: count amount in execution cost when spend to yourself (5153649)
- tx-builder: remove unused
ChannelClientReconnectTx
(e6e954a) - wallet: generate random string instead using external uuid dep (f8640d4)
- wallet: origin if opened over file:// (cordova) (d529f30)
- account: make
signTypedData
,signDelegation
abstract (f2c6d1d) - account: remove
generateKeyPair
(18c6789) - account: remove
generateKeyPairFromSecret
(2cbaa7c) - account: remove
getAddressFromPriv
(9446639) - account: remove
isValidKeypair
(512385a) - account: remove
sign
,signMessage
(30077bc) - account: remove save HD wallet functions (10e7c89)
- aens: replace aens methods with Name class (956daac)
- aepp: remove RpcBroadcastError (1f0b3bb)
- compiler: drop aesophia@7 support (df0e050)
- contract: don't depend on Contract in AeSdk (00b4f86)
- contract: remove
encodeFateValue
,decodeFateValue
(c521597) - drop Iris support (61554b3)
- drop [email protected] support (4008d12)
- middleware: require 1.77.5 (08783fd)
- middleware: require 1.81.0 (3243768)
- node: require 7.1.0 (0dd3b49)
- oracle: add Oracle class (54ee614)
- oracle: add OracleClient class (0293fe4)
- oracle: replace
getQueryObject
with OracleBase (bcab498) - remove
createDelegationSignature
(651b6ec) - remove
NAME_BID_MAX_LENGTH
(83797a4) - remove
signAllNamesDelegationToContract
(60a729d) - remove
signDelegationToContract
(cd495a6) - remove
signNameDelegationToContract
(9ab8f41) - remove
signOracleQueryDelegationToContract
(f948492) - remove keystore implementation (5e64ec9)
- rename legacy bundles to cjs (46cd27b)
- require [email protected] or newer (84d868c)
- tx-builder: extract entries into separate builder (d5fde18)
- tx-builder: remove deprecated constant exports (2ecf0f4)
- tx-builder: remove deprecated constant exports (2342aa6)
- update @types/node, drop TS below 4.8 (9d36e6c)
- wallet,aepp: remove
delegationToContract.sign
method (c4d62b0)
13.3.3 (2024-07-17)
- account: improve Account:publicKey type (0524553)
- aens: validate minus chars in name as node does (15063c6)
- aepp: don't require subscription to request addresses (8ce976e)
- channel:
channelId
type, more accurate types (2b064d8) - channel: accept
host
only if initiator (cfdfd72) - channel: remove
statePassword
unsupported on node side (74db9bb) - don't allow upgrades
@azure/core-rest-pipeline
(03058d4) - don't allow upgrades
@ledgerhq/hw-transport
to 6.31.0 (1ef43e6) - wallet: origin if opened over file:// (cordova) (4ee44be)
13.3.2 (2024-04-22)
- contract: detect if ACI doesn't match called contract (8c4287f)
- ttl validation error in dev mode by reducing polling intervals (6f8cdc9)
13.3.1 (2024-04-19)
- node: mark as compatible with 7.0.0 (562eda9)
13.3.0 (2024-04-08)
- accept multiple encodings in
isAddressValid
, add TS asserts (2c21139) - add
getContext
method to AeSdk (04508d0) - aens: support update with raw pointers (db2659a)
- aepp,wallet: allow raw data sign (7d0136d)
- chain: add
cache
option togetHeight
(c7d0955) - compiler: add CompilerCli8 class (29f1cd3)
- compiler: provide compilation warnings (d0ec012)
- compiler: update cli and http compilers to 7.4.0 (2041d8b)
- contract: resolve names on node side in Ceres (474f0fd)
- contract: support all names delegation to contract (92dae86)
- jwt utilities (c747ce6)
- node: add param indicating retry (6f0dbd8)
- node: show error code if available (2cce91d)
- spend to payable contract (7621716)
- support new delegation format in Ceres (786e954)
- tx-builder: get actual gas price from node (09d19bf)
- tx-builder: pick
queryFee
from the node if not provided (ca495c8) - tx-builder: reject used accounts in GaAttachTx in Ceres (88b1d5d)
- tx-builder: validate
nameTtl
in NameUpdateTx (bca877e)
- aens: make
extendTtl
argument optional (028876f) - aens: reduce default client ttl to one hour (daf7fa0)
- chain: poll till ttl if defined to ensure tx can't be mined (0751244)
- contract: build address by signed tx (60a283b)
- contract: don't duplicate NoSuchContractFunctionError message (2f3bba5)
- improve error message when no wrapped value (054bc89)
- node,middleware,compiler: version check if deployed at path (450296e)
- node,middleware: remove duplicate retry policy (f6470a2)
- node: add missed conversion of
difficulty
andhashrate
to number (271ff5e) - node: don't remember failed version request (fba0e79)
- node: show correct error message if body is missed (ed10482)
- node: show correct error message if ECONNREFUSED (ef347a1)
- tx-builder: don't accept ttl equal to block height (d9cde12)
- tx-builder: don't estimate gas for non-transactions (f72167a)
- tx-builder: limit ttl to 3 in case tx built internally (08d14c2)
- tx-builder: remove invalid oracle tx type in validator (78e7c48)
13.2.2 (2023-09-20)
- use proper vm version in Ceres (bcaa5cf)
- aepp,wallet: connect to web-extension if opened over file:/// (da6a025)
- aepp: use complete type of WalletInfo object (eeba565)
- contract: don't mark contract as deployed if tx failed (cc4222d)
- contract: use current nonce in static calls (758bdfc)
- node: don't retry 500 code responses (696e7db)
- node: throw clear error message if unsupported protocol (21dfe34)
- node: uncatchable exception if request failed in queue (dec62a4)
- typos in error messages and docs (5c84671)
13.2.1 (2023-07-28)
- use
Number
instead of unary plus for BigInt (33fcfb4)
13.2.0 (2023-07-28)
- account: add methods to generate delegation signatures (18bdf5a)
- aepp,wallet: support delegation signatures (fd0dc43)
- account: add implementation of
signTypedData
in AccountBase (fc6e42f) - wallet: don't ask to confirm unsubscription (e2ffc25)
- wallet: don't require to be subscribed to request addresses (36920b4)
- wallet: return accounts according to subscription (fa900c0)
13.1.0 (2023-07-07)
- account: support signing typed data (e5acdd4)
- aens: add
ensureName
helper to check names (f1322b1) - aens: support unicode names claim (f837e90)
- aepp,wallet: support inner transaction signing (725782b)
- aepp,wallet: support signing typed data (78ce3b2)
- compiler: add
generateAci
,generateAciBySourceCode
(981bcf2) - middleware: generate autorest wrapper (bd08a08)
- middleware: implement MiddlewareSubscriber (b51b0a3)
onAccount
option in AeSdkMethods (290758b)- aens: more accurate name check in
isNameValid
(b62dcc6) - aepp: call
onDetected
always withnewWallet
(80d97fa) - contract: use fallback account if
onAccount
not provided (9033cd7) - converting proxied options to JSON (efebbd1)
- provide types in exports field of package.json (dbd19e7)
- reject prefixes other than provided in isAddressValid (9462add)
- tx-builder:
buildTx
produces the same type asunpackTx
accepts (d3d6c88) - tx-builder: decode tag in entry error message (db0d96f)
- wallet: emit internal error if something broke while broadcast (332d1b5)
- wallet: throw reason of internal error to handle it in wallet (276699b)
13.0.1 (2023-04-24)
13.0.0 (2023-04-06)
Please check out migration guide, and release notes for the beta release.
- aepp: All wallet provided nodes have the same name
Specified in
name
option ofconnectToWallet
. - aepp: Select option removed from connectToWallet
If you are using
connectNode
then the current node would always be the same as wallet provides.
-
aepp: use the same name for all nodes provided by wallet (0ece313)
-
chain: reduce /2 number of blocks to wait before throwing timeout (44de66b)
-
contract: add missed
sourceCodePath
cases (5be4cd9) -
aepp: remove select option in connectToWallet (adf9c3e)
13.0.0-beta.0 (2023-03-01)
onSign
,onMessageSign
callbacks were removed on the wallet side
- ACI format used the same as returned by aesophia_cli
createAensDelegationSignature
,createOracleDelegationSignature
replaced withcreateDelegationSignature
params
argument in$deploy
and$call
is requiredAeSdk.getContractInstance
renamed toAeSdk.initializeContract
getContractInstance
function replaced with Contract class- Contract methods accessible on the instance itself
contract.methods.<name>.get,send
removedcontract.bytecode,sourceCode
moved tocontract.$options
contract.calldata
renamed tocontract._calldata
contract.deployInfo
removedcontract.options
renamed tocontract.$options
contract.decodeEvents
renamed tocontract.$decodeEvents
contract.call
renamed tocontract.$call
contract.compile
renamed tocontract.$compile
contract.deploy
renamed tocontract.$deploy
- use
sourceCode
instead ofsource
getContractInstance
acceptsaddress
instead ofcontractAddress
prepareTxParams
,getVmVersion
are not exported anymoreisGA
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
acceptsdenomination
in the first argument - Enum
FIELD_TYPES
is not exported anymore - Not able to build/unpack CompilerSophia entry (tag 70)
- Enums
PROTOCOL_VM_ABI
, interfaceCtVersion
not exported anymore - Enums
VM_VERSIONS
,ABI_VERSIONS
,PROTOCOL_VERSIONS
renamed stateHash
of Channel entry decoded asst_
-prefixed string instead of hexkey
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 parametersunpackTx
doesn't returnrlpEncoded
anymoreverifyTransaction
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 argumentbuildTx
return string instead of objectbuildTx
doesn't returntxObject
anymorebuildTx
doesn't returnbinary
anymorebuildTx
doesn't returnrlpEncoded
anymorebuildTx
doesn't acceptexcludeKeys
option anymore- Use
version
instead ofVSN
,vsn
inunpackTx
,buildTx
txType
property ofunpackTx
removedget
method of MPTree accepts and returns typed valueswriteInt
function removedreturnType
of contract call result structure is a value of CallReturnType enumwriteId
,readId
functions removedreadPointers
,buildPointers
functions removedformatSalt
function removedvalidateParams
,unpackRawTx
functions removedAMOUNT
constant removed
- Methods of
CompilerHttp
moved toapi
property Compiler
export renamed toCompilerHttp
- removed
compilerUrl
,setCompilerUrl
- Dropped compatibility with aesophia_http below 7.1.1, aesophia_cli below 7.0.1
createGeneralizedAccount
acceptssourceCode
in optionscreateMetaTx
removedAccountRpc
constructor accepts arguments one by oneAccountMemory
requiresnetworkId
insignTransaction
AccountBase
simplifiedaddress
inAccountBase
is a property- MemoryAccount accepts only secretKey
- MemoryAccount is not compatible with GA
url
property ofNode
removed
QUERY_FEE
is not exported anymore- Oracles created without queryFee by default
- AeSdk:extendOracleTtl, AeSdk:respondToQuery doesn't accept oracleId
onQuery
callback ofpollForQueries
,oracle.pollQueries
accepts a single query
send
inlined intosendTransaction
height
removed from the output ofaensPreclaim
- Channel:state returns unpacked entries
- All channel events emitted in snakeCase
- Channel:poi returns unpacked TreesPoi
onAccount
doesn't accept keypairbigNumberToByteArray
removedstr2buf
function removedgetAddressFromPriv
doesn't accept private key as base64-encoded or raw stringisValidKeypair
doesn't accept public key as base64-encoded stringbytesToHex
function removedhexToBytes
function removed- rename umd export to
Aeternity
- Subpaths imports of SDK are not allowed
- Removed
getNetworkId
fromAeSdkBase
address
a getter in AeSdkBaseaddAccount
is a sync functionverifyMessage
removed from accounts and AeSdkBaseverify
andverifyMessage
accepts address instead of hex string or Uint8Array- node@12 not supported
removeAccount
throws an error if the account is not foundsignMessage
always returnsUint8Array
encryptKey
,decryptKey
are not exported anymoresha256hash
not exported anymoreheight
method removedsignUsingGA
method removedPOINTER_KEY_BY_PREFIX
removedID_TAG_PREFIX
,PREFIX_ID_TAG
,ID_TAG
removedTX_TYPE
removed.GAS_MAX
removedcalculateMinFee
removedsalt
,createSalt
removedPointer
removed
- account: accept async function in
authData
of AccountGeneralized (c1066c5) - account: override
fee
,gasPrice
of GaMetaTx inauthData
(177a100) - chain:
getBalance
accepts OracleAddress (df2e5e3) - channel: emit
newContract
event (8d71bba) - contract: add ability to compile by path in node.js (74867b7)
- contract: add CompilerCli (de56cbe)
- contract: allow to create GA using
sourceCodePath
,bytecode
(9410af2) - contract: decode emitted events of contract deploy (bf46eb6)
- contract: don't require compiler (d2f9fa8)
- contract: extract $getCallResultByTxHash method (0a8d138)
- contract: support unit type (b5bf7a8)
- node: exponential retry of requests on failure (aadec0d)
- setup downleveled types for [email protected] and above (fd2b97f)
- support CERES protocol version (8960a91)
- tx-builder: deserialisation of
channels.get.offchain_state
(ed31aff) - tx-builder: implement buildAuthTxHashByGaMetaTx (bd656c2)
- tx-builder: implement getExecutionCost and related functions (33085c2)
- tx-builder: implement getTransactionSignerAddress function (2360cd2)
- tx-builder: support incomplete MPTrees (115bcf5)
- tx-builder: support recursive types (4f4dff6)
- tx-builder: typed decoding of MPTrees (da1e35a)
- tx-builder: unpack
poi
field of channel CloseSolo Slash tx (4a49b03) - tx-builder: validate address and enum fields in runtime (5898b3a)
- account: add
generate
method to MemoryAccount (e0fa641) - add Ledger HW support (587e058)
- ensure that used correct account type while signing transaction (46e8db3)
- extract AeSdkMethods class with minimal interface (fd0fe76)
- restore the ability to specify an array of accounts in AeSdk constructor (aba9b9f)
- aepp: don't require connection to wallet to make a static call (bab9eee)
- channel: increase pong timeout 3 times (to 15 seconds) (d03ec1c)
- channel: return type of
state
(3c34457) - compatibility with @vue/cli@4 (41521ff)
- contract: avoid
any
in arguments (70453f1) - contract: don't mark
event
field as required in Aci (2c44cd1) - contract: dry-run accept
top
as number (ebe5986) - contract: static call at specific height (99441dd)
- contract: type of FunctionAci (0929304)
- node: don't throw unhandled exception if version check failed (d4e5250)
- oracle: ask height right before querying oracle to avoid not found (42706ca)
- oracle: import
getHeight
instead of using a missing context (565c827) - tx-builder: calculation of
gasLimitMax
(0fb8a37) - tx-builder: don't check consensus protocol if sdk knows a single (6b8888b)
- tx-builder: drop nonce validator to avoid false positive (a669aae)
- tx-builder: ensure that TX RLP have the same length as schema (c042d73)
- tx-builder: field DelegateIds in ChannelCreateTx (405243c)
- tx-builder: provide proper type depending on checks being done (3cff062)
- wallet: don't use Event.hasListeners that is not available in FF (05c0424)
- wallet: explicitly convert error to JSON to don't pass stack trace (3948153)
- wallet: provide origin on webext side instead of empty string (662d8d0)
- channel:
log
field type in result ofgetContractCall
(600d9e7) - channel: add missed types for
minimumDepth
,fee
,gasPrice
(a14ddfc) - channel: emit incoming message handler error instead of printing (d71efad)
- channel: messageQueue type (1197ec4)
- contract: don't throw ambiguous error if event types the same (669c326)
- contract: don't throw error if already compiled (dcedb61)
- contract: more specific error on calling without address (5c5a241)
- don't swallow errors without checking their type and message (7456b0f)
- don't use any in AeSdkBase constructor options (51fd3ae)
- sync options between Contract and AeSdkBase (6acebaf)
- tx-builder: avoid extra requests in tx validator (03c77e5)
- tx-builder: mark
nameTtl
asshortUInt
inNameUpdateTx
(3bfbb52) - tx-builder: type of binary fields (e979224)
- use crypto random to generate salt (88dcf38)
13.0.0-alpha.1 (2023-01-13)
13.0.0-alpha.0 (2022-12-08)
12.1.3 (2022-08-24)
- deps: update calldata to 1.3.0 (3eacc29)
12.1.2 (2022-08-09)
12.1.1 (2022-07-28)
- export and implementation of calculateMinFee (cee0f7c)
12.1.0 (2022-07-28)
- export Encoding enum (7ebc67f)
- ability to use sdk without nodes (8fa29e4)
- aepp,wallet: avoid invalid message errors using third-party tools (4d4d117)
- AeSdkBase: don't mutate the options argument (a574b7f)
- awaitHeight: allow to wait for arbitrary number of blocks (918a885)
- channel: handle round as number (97d7984)
- getNetworkId throw proper error without node (3d9e73c)
- move type packages required by TS projects to dependencies (90c5eb8)
- node: avoid ts-expect-error missed in generated d.ts file (60d9755)
- node: don't transform autorest properties (7982327)
- Node: tread
nameTtl
,clientTtl
as number (b82c398) - pollForQueryResponse: poll until query is expired (436f4a9)
- sendTransaction: don't fall if
onAccount
missed in AeSdkBase (eebbcb7) - switch to aepp-calldata with fixed decoding of lists (c1a3b24)
12.0.0 (2022-06-17)
Universal
,RpcAepp
,RpcWallet
stamps replaced withAeSdk
,AeSdkAepp
,AeSdkWallet
classes- all combined exports are inlined (
require('@aeternity/aepp-sdk').generateKeyPair()
) AccountBase
and inheritors are classes nowChainNode
,Contract
,Oracle
,Aens
,Ae
,GeneralizedAccount
stamps not exported in the root, their methods exported instead
Node
,Compiler
(previouslyContractCompilerHttp
) are classes instead of a stampsNode
,Compiler
doesn't check version on the first request instead of initgetNetworkId
returns a promisegetNetworkId
ignoresforce
optionapi
and static properties are removed inNode
Node
returns BigInts for coin amount fields instead of string or numberNode
not acceptsinternalUrl
- removed
mempool
method inNode
compilerVersion
is removed inCompiler
setCompilerUrl
changes compiler URL in sync- methods of
Compiler
requiresoptions
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 stringsgas
renamed togasLimit
unpackTx
not accepting transaction asBuffer
, only as tx-encoded stringunpackTx
doesn't havebinary
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 anymoreTX_TYPE
mapped to tag (number) instead of stringOBJECT_ID_TX_TYPE
not exported anymoreTX_SERIALIZATION_SCHEMA
combined withTX_DESERIALIZATION_SCHEMA
- Transaction schemas doesn't contain tag anymore
computeBidFee
acceptsstartFee
,increment
as optionsNAME_BID_TIMEOUTS
not exposed anymorecomputeAuctionEndBlock
accepts and returns height as number- removed
ensureNameValid
name.update
,name.revoke
doesn't accept address inonAccount
, only instances ofAccountBase
extendOracleTtl
accepts oracle ttl inoracleTtlType
andoracleTtlValue
fieldsdecode
method ofgetQueryObject
removed
createAensDelegationSignature
acceptscontractId
,name
, optionscreateOracleDelegationSignature
acceptscontractId
,queryId
as a property of options- call arguments in
createGeneralizedAccount
is required filesystem
option renamed tofileSystem
- Contract instance doesn't accept address in
onAccount
, only instances ofAccountBase
- removed
balance
,tx
,getTxInfo
methods
getAccountNonce
removedAeSdk
doesn't accept array of accountsdestroyInstance
method removedNodePool
,AccountMultiple
are removed (reimplemented inAeSdk
)DENOMINATION_MAGNITUDE
not exposed anymore- The result of
unpackTx
returned instead ofTxObject
(intxObject
option ofonSign
handler on wallet side; intx
field of contract call result) validateKeyObj
removedderiveKeyUsingArgon2id
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 argumentdisconnectWallet
runs in sync andsendDisconnect
arg removedsendConnectRequest
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 removedshareWalletInfo
accepts rpcClientId instead of callbackshareNode
argument in accept callback ofonConnection
removed- can't handle specific set of accounts for an app
txObject
parameter ofonSign
callback is removed- callbacks accepts aeppId, params, and origin
rpcClients
in wallet is not exposed anymoreonDisconnect
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
- aepp: support external accounts in
onAccount
(9745c73) - ga: implement buildAuthTxHash function (73eae4e)
- NodeInvocationError: store tx-encoded transaction (a74da7c)
- aepp: use networkId in rpc tx signing (916dba0)
- importing in mjs (0fc7418)
- messageToHash: support messages longer than 252 chars (b4aa456)
- wallet: revert to returning complete tx data instead of just hash in rpc wallet signing (c3ada74)
- generate compiler api in TypeScript using autorest (777e990)
- generate node api in TypeScript (5576cf9)
- compiler: init in sync, check version on making request (a7fe956)
- aci: accept onAccount as AccountBase (e816428)
- ae: drop stamps and use plain functions (8ed55d0)
- aepp rpc: accept wallet info separately (baad98e)
- aepp-rpc: depend on simplified version of RpcClient (f329549)
- aepp-rpc: extract common error checks (eaa8683)
- aepp-wallet: rewrite to ts all except rpc (19cb42f)
- AeppRpc: make to init in sync (86c9d6c)
- chain: drop stamps and use plain functions (4197b3d)
- chain: remove deprecated methods (cefaa55)
- compiler: extract genVersionCheckPolicy (ac14fd1)
- don't provide default fee when transaction is not present (b004694)
- drop
ensureNameValid
(d0d1258) - drop compiler stamp (ddf1363)
- drop functions to generate txs with specific type (3cf767d)
- drop TxObject wrapper (a083c7b)
- encoder: remove required prefix param (dec13d7)
- export in tree shaking friendly way (40aca86)
- extract all fee-related stuff into a separate module (cebb90b)
- extract base sdk classes (487cc14)
- fix spend types (6b089e7)
- getNetworkId: drop unnecessary
force
option (7d6549a) - getQueryObject: remove deprecated
decode
method (7e9835c) - inline NAME_BID_TIMEOUTS into computeAuctionEndBlock (5fdb80e)
- NodeApi: return BigInt instead of string | number (7f37e74)
- node: drop
internalUrl
(8336673) - node: rewrite to ts, drop stamp (370635e)
- oracle: drop stamps and use plain functions (04ce814)
- prepareTxParams: inline calculateTtl (2f03793)
- remove ability to connect without sharing node if requested (7dd4af5)
- remove extra
getAddressFromPriv
(0f88c39) - remove getAccountNonce (62a00e5)
- remove outdated destroyInstance method (0213375)
- rename
gas
togasLimit
where possible (dece758) - rewrite AE_AMOUNT_FORMATS to enum (448a2a3)
- rewrite ae/contract to ts (8159d84)
- rewrite TX_TYPE to enum (f97e479)
- rpc account: don't pass extra options through rpc connection (141e932)
- rpc-client: add notify method (9e97a1a)
- rpc-client: provide method handlers instead of onMessage (5f1a007)
- RpcClient: remove custom set of accounts (5c26f3a)
- RpcClient: remove origin property (7155ed3)
- rpc: inline extra helpers (9a0a2eb)
- rpc: use webextension-polyfill (a54fdfd)
- simplify transaction schema (5f720ec)
- tests: migrate remaining tests ts (4e2ece7)
- tx schema: add shortInt type for fields not needed big numbers (0095455)
- unpackTx: accept only tx_string, don't return binary (658adee)
- use
calculateMinFee
instead ofcalculateFee
(4ea59d7) - utils: migrate keystore.js to ts (c013c01)
- wallet rpc: don't pass networkId from aepp to wallet (153fd89)
- wallet-rpc: drop
info
object in RpcClient (010ebbb) - wallet-rpc: remove
meta, condition
unused by known wallets (4630643) - wallet-rpc: return value/throw error instead of accept/deny (98b9955)
- wallet-rpc: rewrite to TypeScript (930e7d7)
- wallet-rpc: simplify callback arguments (5fc6f8a)
- wallet-rpc: store rpc data in maps instead of objects (0d3f04f)
- wallet-rpc: switch to TypeScript version of RpcClient (7d8f6d7)
11.0.1 (2022-04-07)
- contract: do not check payable if contract call is init (c09fc0c)
- importing in mjs (01d493b)
- oracle: do not include address for oracle respond signature (ad4bddc)
11.0.0 (2022-03-18)
Request batching: SDK now supports batching transactions
Custom error types: Introduced error types
- 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
- aci: use dry-run to estimate gas and get rich errors (bb6977d)
- calculate default polling intervals depending on node settings (d9c6cf9)
- chain: combine multiple dry-run requests at one (ddcdaef)
- contract events: ability to resolve multiple definitions of event (c5b77fa)
- contract events: remote contract support (c7599c7)
- createGeneralizeAccount: estimate gas limit instead of using const (da88852)
- decode encode: validate base58 prefix and payload length (e836260)
- error: introduce error types (#1345) (444bb33)
- package: build es version compatible with node (480c747)
- poll: use getCheckTxInPool if available (690db5b)
- swagger: converts operationId in snake case to pascal (e52b739)
- swagger: split transactions by queues to post batch of txs from one account (0023fc7)
- tx builder: accept unencoded name in nameClaimTx (eea92be)
- tx builder: don't require produceNameId to create AENS txs (57ef9c7)
- tx builder: provide default name fee (18e4bab)
- validator: check contractId (5e667a5)
- wallet: add switch for aepp wallet node sharing (b5640d6)
- wallet: enable aepp to wallet node connection (d87e1fa)
- wallet: provide switch for aepp wallet node connection (dfbab59)
-
aens helpers: improve naming, add additional validations (d2a10e1)
-
babel: compatibility with create-react-app (e4b56fe)
-
babel: depend on buffer package in es build (0ba51e9)
-
babel: don't rewrite import of rlp package for @vue/[email protected] (0fdd296)
-
chain: don't require address function to post transaction (07bc105)
-
channel force progress: add missed binary prefixes (78660d2)
-
channel: ignore messages that can't be handled, print to console (aaad8e3)
-
compatibility: update argon2-browser to version with default export (0e69d8b)
-
compatibility: use blakejs that doesn't refer to Buffer (94f1879)
-
contract events: don't throw error if events emitted by remote (fa1c569)
-
delegate signature: don't encode address depending on onAccount (563a972)
-
dry-run: don't combine requests by default (0f36efc)
-
error: remove duplicate error message (8b4df9a)
-
es: babel build on windows (30f5213)
-
keystore: encoding of hex privateKey, simplify tests (9f3ad6b)
-
spelling of GeneralizedAccount (21c1dd3)
-
tx builder: reject more than 32 pointers (9c06dab)
-
tx builder: throw exception if deposit is not zero (7b3d0e3)
-
aci: drop redundant per-method event decoding (a84d781)
-
aci: remove call/callStatic from deployInfo (84d082d)
-
aci: remove createdAt property generated at client (406684c)
-
aepp-wallet schema: convert to TS (1775e91)
-
aepp-wallet schema: rearrange METHODS enum (8a40105)
-
aepp-wallet schema: remove unused enums (95bf0e9)
-
compiler: remove contractEncodeCallDataAPI (7d02317)
-
compiler: remove getBytecodeCompilerVersion (13283be)
-
compiler: remove getCompilerVersion (fb929f8)
-
compiler: remove getFateAssembler (165d492)
-
compiler: remove validateByteCodeAPI (90ba164)
-
contract instance: store aci as it is (978225e)
-
contractCompile: remove encodeCall (6d0ade5)
-
contract: remove already processed fields from decoded events (45bae5f)
-
contract: remove compileContractAPI (5ae9c62)
-
contract: remove contractCompile (7390629)
-
contract: remove contractDecodeCallDataByCodeAPI (2fe798a)
-
contract: remove contractDecodeCallDataBySourceAPI (8b13f70)
-
contract: remove contractDecodeCallResultAPI (b9fbfa6)
-
contract: remove contractGetACI (23ada71)
-
contract: remove deprecated contractCall (c079e6e)
-
contract: remove deprecated contractCallStatic (1e3ac6d)
-
contract: remove deprecated contractDeploy (08e423e)
-
crypto: make (encode/decode)Base(58/64)Check private (c151183)
-
decodeEvents: accept event schemas as it is in ACI (17b9cc4)
-
drop https scheme workaround for hosted compiler (9fc0a02)
-
hd-wallet: expect that bip39 used externally (f6243ad)
-
hd-wallet: remove default export (951ebb2)
-
node: don't wrap internal endpoints if internalUrl missed (50d7bba)
-
poll: avoid extra transaction info request to node (22c4838)
-
remove deprecated topBlock (4535c07)
-
remove unused functions (8c00de5)
-
return empty array instead of throwing UnsignedTxError (c6bacdf)
-
rpc: remove forceValidation flag (9f958c3)
-
tx builder: inline VALIDATION_MESSAGE (defb7e1)
-
tx schema: remove default NAME_FEE equal to 0 (9d8339a)
-
update rlp to 3.0.0 (bb32b77)
-
use bs58 instead of bs58check (32e836b)
-
wallet-rpc: inline resolveOnAccount helper (1277b5b)
10.0.0 (2021-12-07)
- 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
- aci: don't require source code (5c690d2)
- aens: don't limit pointer keys (f6b8999)
- aens: enable commitmentHash preclaim in tests (5de05e5)
- decode using calldata package (2bb494d)
- encode using calldata package (eeebbd5)
- poll-interval: reduce poll interval to be a more sensible default (9e55b2b)
- support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)
- commitlint issue (2c1cf54)
- compiler errors: construct error message by server response (8621352)
- don't accept ak_ addresses as hash, bytes and signature (cbaac62)
- events: don't require function name for events decoding (f963bdb)
- events: fix event decoding order and address prefix (faad530)
- events: fix test for incorrect address return type (31aaeec)
- events: ignore unknown events in decoding (45795fa)
- node errors: construct error message by server response (d556936)
- semverSatisfies: ignore build number (c3cce0a)
- swagger: detection of empty response (9bfab02)
- contract instance: remove unnecessary
setOptions
function (b88e767) - contract instance: thread all extra options as contract's (10fb7ba)
- crypto: remove unused asymmetric encode/decode functions (51def34)
- drop unnecessary skipArgsConvert option (6d4a599)
- drop unnecessary skipTransformDecoded option (bb49239)
- inline getConsensusProtocolVersion function (75f0447)
- invert and rename forceCodeCheck option to validateByteCode (72122fa)
- make contractCall/Static a wrapper around getContractInstance (c4ec019)
- make contractDeploy a wrapper, remove unused code (48d36f9)
- remove contractDecodeData as extra wrapper (5df2285)
- remove contractEncodeCall as extra wrapper (a4b303f)
- require compiler 6 and above (f9cef12)
- specify browserlist to better choice of features to transpile (c2ec71a)
- transformation: don't export extra functions (fa38b40)
- transformation: drop extra wrapper around bindings (9b70f8e)
10.0.0-beta.1 (2021-11-24)
- 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
- aci: don't require source code (5c690d2)
- decode using calldata package (2bb494d)
- encode using calldata package (eeebbd5)
- poll-interval: reduce poll interval to be a more sensible default (9e55b2b)
- support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)
- aens: enable commitmentHash preclaim in tests (5de05e5)
- compiler errors: construct error message by server response (8621352)
- events: fix event decoding order and address prefix (faad530)
- events: fix test for incorrect address return type (31aaeec)
- node errors: construct error message by server response (d556936)
- semverSatisfies: ignore build number (c3cce0a)
- commitlint issue (2c1cf54)
- don't accept ak_ addresses as hash, bytes and signature (cbaac62)
- drop unnecessary skipArgsConvert option (6d4a599)
- drop unnecessary skipTransformDecoded option (bb49239)
- inline getConsensusProtocolVersion function (75f0447)
- invert and rename forceCodeCheck option to validateByteCode (72122fa)
- make contractCall/Static a wrapper around getContractInstance (c4ec019)
- make contractDeploy a wrapper, remove unused code (48d36f9)
- remove contractDecodeData as extra wrapper (5df2285)
- require compiler 6 and above (f9cef12)
- specify browserlist to better choice of features to transpile (c2ec71a)
- contract instance: remove unnecessary
setOptions
function (b88e767) - contract instance: thread all extra options as contract's (10fb7ba)
- remove contractEncodeCall as extra wrapper (a4b303f)
- transformation: don't export extra functions (fa38b40)
- transformation: drop extra wrapper around bindings (9b70f8e)
9.0.1 (2021-10-04)
- Remove channel from universal stamp (63e88ce74)
9.0.0 (2021-09-30)
- drop following AENS delegation signature methods over the new common
createAensDelegationSignature
implementation which accepts an object as param (456fe00)delegateNamePreclaimSignature
delegateNameClaimSignature
delegateNameTransferSignature
delegateNameRevokeSignature
- drop following oracle delegation signature methods over the new common
createOracleDelegationSignature
implementation accepts an object param (88b7bf3)delegateOracleRegisterSignature
delegateOracleExtendSignature
delegateOracleRespondSignature
- drop
assertedType
, usedecode
instead (00d563f) - drop
waitMined
static method (2f299de) - tx-validator now gives different, more meaningful, errors (95a2a23)
- no longer exports buildHash function, use hash or buildTxHash (9e1fde7)
- tx-verification is now done by default (989b36f)
payForTransaction
method (fbf204d)- deposit-trap: enforce zero value for
deposit
during contract deploy (cfb5f22)
- change default gas limit to 25000 (831e4dd)
- AENS: name length minimum bid fee (db6ca4c)
- delegate-signature: stop using the default account in the context of signing (29d760e)
- mustAccountStamp: process accounts only if supplied (10ec2c3)
- swagger https issue (3a876bb)
- tx serialisation: accept unpackTx output produced by deserialisator (ff0b3f5)
8.2.1 (2021-06-21)
- swagger file of aeternity's compiler (4001e64)
- swagger file of aeternity's latest compiler (a1caa03)
8.2.0 (2021-06-17)
- 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
-
export aepp-wallet-communication (d5d741c)
-
ponyfill
Buffer
in browser (953bf08) -
ponyfill
process
in browser (798ab63) -
rlp: import as it is (736b0f5)
-
typo name of broadcast failed error generator (ae7e823)
-
examlple-aepp: open only when ready to accept connection (4872eb9)
-
crypto: drop extra "personal" from message functions (34288cb)
-
crypto: remove outdated generateSaveWallet function (37298be)
-
crypto: remove unused addressToHex function (93f9def)
-
crypto: remove unused formatAddress function (a5d4b62)
-
crypto: remove unused hexStringToByte function (ed39a76)
-
crypto: remove unused prepareTx, encodeTx, decodeTx functions (64d15eb)
-
crypto: rename messageToBinary to messageToHash adding hashing (df37004)
-
node-pool: inline helpers, export by default (ed1cfb5)
-
string: remove unused snakeOrKebabToPascal function (79bdc04)
-
string: use isAddressValid instead of isAeAddress (ac7d827)
-
drop compatibility with node@5 (f5e2fdb)
-
drop outdated protocols and transactions schemas (f18d305)
8.1.0 (2021-05-31)
- poi-tx schema: use proper type name (9e7c7b2)
- wait-for-tx-confirm: validate transaction height after awaitHeight (95e0d93)
- support [email protected] and above (3cdc7f9)
8.0.0 (2021-05-18)
- avoid instanceof between possible not/polyfilled objects (906ee0e)
8.0.0-beta.2 (2021-05-12)
- revert conversion of case in calls to compiler (0a69e49)
- avoid ts definitions based on broken JsDoc (572d19f)
8.0.0-beta.1 (2021-05-6)
- 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
- Drop old aepp-wallet RPC interface (254f5a93)
- refactor: don't retrieve account from process.env (59e5c9b5)
- refactor(crypto): don't reexport RLP methods (c6004bc7)
- refactoring: remove legacy contractDecodeDataAPI compiler method (dfadac8d)
- refactor: rename
forceCompatibility
to more clearignoreVersion
(72f1d326) - refactoring: require compiler above or equal to 4.1.0 (c9f48f91)
- RpcClient: Drop unnecessary action stuff (84545fd7)
- Combine RpcWallet and RpcClients (12892002)
- Drop old names support, split ensureNameValid and isNameValid (315a78a9)
- refactor(contract-aci): export single function instead of stamp (091b3282)
- Combine Accounts and Selector into AccountMultiple (0cacd3b3)
- Use swagger-client instead of a custom implementation (4b3260d5)
- Remove OracleNodeAPI wrapper (c6f9a76d)
- Flatten options of contractCallStatic, remove extra dryRunContractTx (f3ffb664)
- txDryRun: Simplify arguments, support
txEvents
option (401c53da) - contracts: Mark handleCallError as private, simplify arguments (bdf76e24)
- import/no-named-as-default linter error (d63e1511)
- oracle: make pollForQueries a sync function (dc955e14)
- chore: drop aevm support and backend (compiler) option (6eb702dd)
- refactor(schema): export enum with consensus protocol versions (e92f187d)
- swagger: allow to provide external specification (683082b3)
- swagger: make compatible with OpenAPI 3 (1d83f1a4)
- switch to v3 endpoints on Iris (eca6697b)
- traverse-keys: add keysOfValuesToIgnore option as a workaround (8ff5afe4)
- Use es modules version in browser if supported (b49c38f0)
- Add typescript support (abde033a)
- contract: fix default backend value (9fcbeb32)
- wallet-iframe: fix disconnect button (59014bd0)
- examples-browser: rearrange files and docs (985e3b96)
- use relative links between docs pages (d34d8181)
- remove outdated aecrypto example (7df05bfe)
- refactor node examples (e8c443cf)
- changelog: add missed single quote in example (45fd0002)
- resolveName: Document verify option (ca865596)
- Remove outdated docs (cf9c166f)
- decodeTx: Fix arg naming and annotation (883819c0)
- contract-events: Remove outdated contract, update links and markup (37d39d61)
- Update docs/guides/import-nodejs.md (9dc274ed)
- Update docs/guides/import-nodejs.md (93bfce11)
- break down json obj keys necessary for account initialization in nodejs docs (af5ee41d)
- Ignore pycache in the docs folder (9989e8e7)
- Specify the python version more precisely (d6204523)
- Add pycache to .gitignore (f0b7e1f1)
- Add navigation and update some titles (8ad15ced)
- docco template: Remove extra new lines around code, skip extra blocks (65ce3cf1)
- aecontract: Make a list out of a long sentence (8ff7839c)
- aens-usage: Use more semantic markup, compatible with mkdocs (de3d3cd5)
- docs readme: Fix typos and formatting (5b0c790d)
- Add initial mkdocs and readthedocs configuration (b688a96b)
- Extract quick-start to guides (28f7e6f7)
- Update testnet URL (7bb823f8)
- assertedType: Make the last parameter more obvious (50094d3a)
- travis: Build docs to gh-pages (7c935a2b)
- Docs root: Add link to API reference (4a36102d)
- Move outdated disclaimer to the root readme (80a6a663)
- Remove generated docs (fd802b00)
- Fix api docs generation (56e3aa9d)
- use BigNumber constructor instead of custom wrapper (4488b4d7)
- avoid extra object nesting (f99d3045)
- compiler: use swagger file (0d821614)
- semver-satisfies: remove extra splitting by dash (35d5c11a)
- remove extra char in regex (37eeefae)
- refactor wallet detector (1bc8d027)
- shareWalletInfo: Don't create unnecessary copy of info (3a4e50b9)
- Inline receive helper that is used once (a4a13889)
- rpc: Inline helpers used once (21903f4d)
- rpc: Prefer default export (70fc3f0f)
- rpc helpers: Remove unused getWindow function (c12b528f)
- don't use AsyncInit where it is not necessary (84373697)
- contract-aci: reuse defaults from Contract stamp (47013962)
- cleanup MIN_GAS_PRICE (a5b28842)
- remove unused option string (0e28af23)
- remove unused dryRunAccount default option (8c42b706)
- Consistent new on Error creation (39f93d3f)
- height: Use a shorter syntax (b013bf9d)
- height: Improve naming of internal promise (7915119a)
- Move source code to "src" folder (ddbce389)
- sign-using-ga: don't pass extra options (44bab6d0)
- traverse-keys: add missed null check (7b724b86)
- swagger: add workaround to get transaction details of GAAttachTx (bb7ec479)
- top-block: use getTopHeader on Iris, mark deprecated (2b410257)
- nonce-verification: add missed space (3f244dfb)
- missed aepp id in wallet connect handler (1ed9284a)
- get-node-info: bring url and internalUrl back (e984f3b3)
- contract error decoding (d56931ac)
- contract-aci: don't proxy prepareArgsForEncode from helpers (7e40eda0)
- Improve handling of call error (584eb5e4)
- Use ts-standard instead of standard (be5aece7)
- tsconfig: Set target version to es5 (ed131b1b)
- Fix eslint errors manually (dfe3a05e)
- require node below 7.0.0 (ae1a5ef5)
- require node above or equal to 5.2.0 (ebb36f06)
- update dependencies (d876cff7)
- deps: bump ssri from 6.0.1 to 6.0.2 (e0dfb8c9)
- deps: bump y18n from 4.0.0 to 4.0.1 (9e4acd61)
- deps: bump elliptic from 6.5.3 to 6.5.4 (feb3aa68)
- deps: bump axios from 0.19.2 to 0.21.1 (0f619f27)
- deps: bump ini from 1.3.5 to 1.3.7 (95580324)
- deps: bump highlight.js from 10.4.0 to 10.4.1 (9fcfadfe)
- deps: bump highlight.js from 10.1.1 to 10.4.0 (43aff25f)
- deps: bump node-fetch from 2.6.0 to 2.6.1 (80ed6d70)
- Update node to 5.8.0 (b6ff3422)
- Update .gitignore (1f1563dc)
- add vscode .history folder to gitignore (f4d61df4)
- Update testnet URL in JS files (dc1b807a)
- add Iris consensus protocol (41fd4a13)
- add vsn 2 version of GA_META transaction (b5abe098)
- add new versions of CHANNEL, CHANNEL_CREATE transactions (366981a3)
- support compilers below 6.0.0 (876e5164)
- Optimize height queries (f74ca4cb)
- simplify GA tests (7b9628c2)
- oracle: avoid explicit waiting for 1 second (f81cd3a1)
- passing of forceCompatibility flag (6f900b98)
- contract: remove extra backend option (184566f9)
- update channel tests to fate (35a996d8)
- Faster tests (5d629103)
- Extract strings tests into separate file (f3c7d3fa)
- ga: Remove extra await (72bfc746)
- Make tests more precise (fe7a8567)
7.7.0 (2020-08-18)
- transferFunds: Accept onAccount option (#1060)
- bigNumberToByteArray: Avoid unexpected behaviour by throwing exception (#1066)
- example: Add disconnect button on wallet side (#1056)
- Use external version of json-bigint (#1033)
- Make tests configuration more flexible (#1037)
- test-else: Exclude aens tests and speedup jobs (#1040)
- Avoid unnecessary eslint-disable (#1043)
- Add lint script (#1045)
- Refactor tests (#1039)
- Refactor bytes unit tests (#1050)
- travis: Run linter and unit tests firstly (#1051)
- Disable Travis on all branches except master, develop (#1054)
- Refactor contract, oracle, chain (#1048)
- Refactor state channels (#1047)
- Fix typo in Readme.md (#1053)
7.6.0 (2020-07-22)
- wallet-detector: allow to connect wallet to aepp between iframes (3f74a05)
7.5.0 (2020-06-18)
- Account: Build signature from transaction hash (#1025) (2cb8cc2)
- ACI: External contract integration (#1027) (a14d13a)
- Deps: Clean up repository (#1029)
- Env: Simplify Travis and docker-compose (#1031)
- Env: Remove unused packages (#1032)
7.4.2 (2020-06-10)
- AEX-2: Add debug option for
getHandler
. Hide unknown message logs (#1021) (22c452c) - Contract Add AENS name resolver for Contract API
7.4.1 (2020-05-30)
7.4.0 (2020-05-29)
7.3.1 (2020-05-25)
- AEX_2: Handle network switch and update state on both sides. Adjust networkId check for signing request. Add node switcher for example apps (#996)
7.3.0 (2020-05-20)
- ACI: expose events decoding through Contract ACI stamp (#971) (4930635)
- AEX_2: Allow to connect without node (#991) (87b9ef9)
- AEX_2: Connect to extension from iframe (#992) (47179f7)
- Build: Expose
ACIHelpers
andACITransformation
to bundle (#970) (8b475e0) - Chain: Add option
allowUnsynced
forpoll
method which allow to depend onget tx/info
API (9c80ce0) - Channel: add timeout message handler (#983) (1940a15)
- Channel: Channel force progress (#964) (8f15bef)
- Contract: Add unpacked transaction to contract call with error (#981) (4efd341)
- Node: Add
debug
option to Channel stamp (#967) (68fcba5)
7.2.1 (2020-03-25)
- build Remove resolving of
minimist
usingnpx
7.2.0 (2020-03-24)
- Guide: Adjust guide for RPC Wallet/Aepp usage
- RPC: Refactor rpc-related stuff (#921)
- Build: Include amountFormatter and SCHEMA in bundle(#936)
- Examples Update examples apps
- TX: Introduce new stamp
TxObject
(#933) This stamp give more flexibility on transaction serialization/deserialization process - Keystore: Allow to store secret as hex or buffer (#939)
- AEX-2: Add permission layer for account management (#937)
7.1.1 (2020-02-27)
7.1.0 (2020-02-25)
- AEX: Simplify message id processing (#916). Pass AEEP
origin
to Wallet callback (#918) - Node: Move
getNetworkId
to helpers (#910) - ACI: Minor ACI validation improvement. Move decoding of events to builder. Add ability to decode events without ACI
- ACI: Implement Contract Events for ACI(Contract Event Guide)
- Contract: Helpers for Oracle and AENS signature delegation(Signature delegation guide)
- AmountFormatter: Rework amount formatter. Change formatter units naming. Add more units (#909) (6970efe)
- TxBuilder: Integrate amount formatter to transaction builder (#897)
- Account: Implement Message Signing (
singMessage
,verifyMessage
) (#903) - AEX-2: Add
removeRpcClient
method to RpcClient/RpcWallet stamp's(#912)
7.0.0 (2020-01-31)
- Chain: add new method
waitFOrTxConfirm
. Add new option { confirm: 3 } to all of high lvl SDK API. Add tests. Adjust docs (#874) (43528f9) - Compiler: Add new compiler methods API (#875) (a939395)
- network: Throw error when can not get networkId (#863) (41b7bd1)
- Guide Add 7.0.0 migration guide
- Guide: Add Oracle, AENS and Contract guides
Please check out 7.0.0 migration guide
This release include all changes from 7.0.0-next.1, 7.0.0-next.2, 7.0.0-next.3
7.0.0-next.3 (2020-01-22)
- aens: implement aensExtendTtl function. Refactor aensUpdate (#866) (72b073a), closes #865
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 to4.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
7.0.0-next.2 (2020-01-10)
- codecov: Adjust codecov badge. Move @babel/runtime to dev-deps (#848) (109b851)
- AEX-2: Fix
getBrowserAPI
function for firefox (#853)
- Account: Add ability to pass
keypair
orMemoryAccount
as nAccount` option (#847) (75d8ad8) - Test: Increase code coverage (#830) (6f760fb)
- Chain: Extend transaction verification error (#849)
- Aepp<->Wallet: Add tests for Aepp<->Wallet communication (#834)
- Guide: Add guide for Contract ACI usage (#852)
7.0.0-next.1 (2019-12-18)
- Contract/Chain: Using { waitMined: false } with Contract high lvl API (#828) (475c2aa)
- HdWallet: Fix derive function (#801) (6c6177d)
- Compiler: Filter compiler options
- Cross-Node: Remove cross-node compatibility code (#829) (b29a162)
- Chain: Handle time until tx is not added to mempool (#816)
- Git: Update issue template(#806)
- Flavors: Remove deprecated code (#697)
- Test: Increase code covarage (#830) (6f760fb)
-
Wallet<->AEPP: Add new Wallet<->Aepp communication API
Add two new stamps
RpcWallet
andRpcAepp
Example of usage you can find heere: Aepp example and Wallet example -
Wallet: Use
postMessage
for communication with extension wall… (#815) (dc7b4c2) -
CI: enable daily builds on latest node and compiler and enable codecov (#820) (3c52a1e)
-
ACI: Add check for contract address validity and existence. Add
forceCodeCheck
option for bytecode verification skip (#788) (c0cccc9) -
Contract: Add ability to pass arguments or callData for contract
deploy/call/callStatic
API (#768) (a828076) -
Contract: Adjust
fee
calculation forcontractCall
tx usingFATE
backend (#793) (7254ac1) -
Compiler: Add new API
validateByteCodeAPI
available on compiler >= 4.1.0 (#788) (c0cccc9) -
Tx: Always verify transaction before send it to the node (#798) (170f479)
- Tx: By default
sdk
make a transactionverification
- 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
andinternalUrl
instead usenodes: [ { name: 'NODE_NAME', instance: await Node({ url, internalUrl }) } ]
- remove
keypair
params instead useaccounts: [MemmoryAccount({ keypair })]
- remove
setKeypair
function fromAccount
stamps
6.1.3 (2019-12-11)
- Channel: 5.2.0 compatibility (4be8eb8)
6.1.2 (2019-11-12)
- Composition: Chain composition (9ac705f)
6.1.1 (2019-11-12)
- ACI: Disable bytecode check for source and code on-chain. This changes will be included in next major release (#783) (fe6021b)
6.1.0 (2019-11-11)
- AENS: auction end block calculation (#746) (4c1f5e4)
- AENS: Fix
produceNameId
function(Make name lowercase). Enable … (#750) (fd14225) - state channels: wait for connection to be established before sending generic message (#723) (c5f35d1)
- TxHelpers: Use BigNumber in auction end block calculation (777c012)
- ACI: Add validation for contractAddress (#764) (07cb0e7)
- AENS: Add nameFee validation to TxValidator (#765) (5250e75)
- AENS: Increase default nameTtl (#775) (c5f2582)
- Contract: Add ability to pass arguments or callData for contract
deploy/call/callStatic
API (#768) (12aaca3) - Http: Assign error object to http error (#770) (87062ea)
- state channels: add round method (#763) (c950937)
- state channels: allow off chain updates to be cancelled with custom error code (#753) (ae4426e)
- state channels: allow to pass metadata to transfer update (#755) (ddc6611)
- state channels: make state channels compatible with node v5.0.0… (#688) (deed7fc), closes #632 #653 #658 #660 #680 #693 #687
- state channels: make state channels compatible with node v5.1.0… (#776) (74952aa)
6.0.2 (2019-10-31)
- name claim: Revert ignoring waitMined from user passed options (#727)
6.0.1 (2019-10-29)
6.0.0 (2019-10-16)
- State Channels: make state channels compatible with node v5.0.0… (#688) (23936f5), closes #632 #653 #658 #660 #680 #693 #687
- AENS: Change tld for Lima from
aet
tochain
(#714) (323ef6a) - AENS: Implement name
bid
function (#706)) - AENS: auction name fee calculation. Name fee validation and calculation in
claim/bid
(#706) - AENS: Add
nameId
computation function (#709) (#706)
- AENS: Change
tld
for Lima from.aet
to.chain
5.0.0 (2019-10-04)
- AENS: Add ability to spend by name (#682) (0d43804)
- AENS: Add ability to claim contract, oracle, SC (#671) (49fd0fd)
- GA: enbale GA (#692) (eded912)
- Lima: Lima compatibility (#683) (a88042e), closes #632 #653 #658 #660 #680 #693 #687
- AENS auction support
- compiler 4.0.0 support
- node 5.0.0 support
- SDK use
FATE
for contract by default
- AE: Add pointers verification for spend by name
- aci: Change Sophia option type representation in ACI
// from
await contract.methods.optionFn(Promise.resolve(1) || Promise.reject());
// to
await contract.methods.optionFn(1 || undefined);
5.0.0-next.1 (2019-09-10)
- Contract/ACI Add
payable
feature - Compiler: Compiler 4.0.0 compatibility (#632) (d5f1632)
- Contract/ACI: Add ability to use contract with external namespaces(
include "someLib"
) (#653) (9708b43)
4.7.0 (2019-09-11)
- Oracle: Add methods for polling queries #637
- Chain: Add
getBalance
method (#655) (15147af) - state channels: add reconnect method (#662) (9d8d1e8)
- state channels: add backchannel updates test#664
4.6.0 (2019-08-28)
- Compiler: Fix
forceCompatibility
option (26beba8)
- Lima: add preliminary support for lima
- ACI/Contract: Implement static-call for deploy transaction for ACI methods/Contract low lvl API (#630) (5b7eeb4)
GA support has been disabled until further notice due to node compatibility issues This version support aeternity node up to 5.0.0-rc.1
4.5.1 (2019-08-22)
- Example Add node info to AEPP (#620)
- GA Fix GA account composition (211e409)
4.5.0 (2019-08-20)
- Crypto: Fix
keypair
verification (#605) (83a52fb) - RPC: Remove NodePool stamp from AE composition (#612) (21af2eb)
- state channels: add missing argument in onOnChainTx callback (#604) (165cfe8)
- state channels: fix awaitingOnChainTx state handler (#608) (8b7b65a)
- Swagger: Always throw error from
axios
error handler (#607) (0e5cf61)
-
state channels: handle BigNumbers with json-bigint (#596) (14eaa3d)
-
state channels: send generic messages immediately (#600) (8ad7583)
-
Generalize Account Implement Generalized account support (#449)
const authContract = `YOUR_AUTH_CONTRACT` // Make current account Generalized await client.createGeneralizeAccount(authFnName, authContract, [...authFnArguments] // Make spend transaction using GA // One Way // encoded call data for auth contract const callData = 'cb_...' await client.spend(10000, receiverPub, { authData: { callData } }) // or // sdk will prepare callData itself await client.spend(10000, receiverPub, { authData: { source: authContract, args: [...authContractArgs] } })
4.4.0 (2019-08-09)
- Package: update commander to version 3.0.0 (#597) (9aaa05c)
- Contract: Fix dry-run without account (227fc5c)
- Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)
- AE: Add ability to make operation on specific account using
onAccount
option.Exm: await client.spend(1, receiver, { onAccount: 'PUBLIC_KEY' }) Add `onAccount` to `AENS`, `Contract`, `Oracle`. Add tests for using specific account to Contract, ACI, Account.
- JSON:: Add serialization to JSON for bigNumbers
- MemoryAccount: Add validation of
keypair
(#594) (b8c2b20) - State Channels: persist connection by pinging every 10 seconds (#571) (a70f919)
4.3.0 (2019-08-05)
- State Channels: Fix onChainTx event params (#566) (11c85eb)
- State Channels: Fix websocket url (#558) (33c1fd8)
- Swagger: Pass query params in case of get request (#570)
- State Channel: Do not include white space for outgoing websocket messages (#559)
- ACI: Implement sophia
variant
type (#567) (8505dcf) - Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)
- NodePool: Implement NodePool stamp (#574) (674166c)
- State Channel: make state channel compatible with [email protected] (#568) (0d0e09b)
- TxBuilder: Add helper for producing tx hash (#579) (e1b405e)
- AE Make all AE stamps composed with Accounts (#581)
- ACI Add some additional clarification to
getContractInstance
4.2.0 (2019-07-15)
- package: update libsodium-wrappers-sumo to version 0.7.5 (#541) (956ed75)
- rpc-server: Fix type 'object' check (#526) (48c42e4)
- 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
4.1.0 (2019-06-22)
- Node: Do not throw error if
internalUrl
not provided. Instead useurl
(#503) (053faae) - TXBuilder: Fix payload serialization if you try to unpack and pack tx. (#498) (73552e5)
- TxValidator: Fix validation of state channel open transaction (#496) (325cc90)
- ACI: Refactor ACI module. Split to separated files. (#505) (fb7bc00)
- Selector: If default account
address
not provided use the first - ACI: Handle ACI without init function
- ACI: Automatically decide to send transaction on-chai or call-static.
Add
options
object like last arguments of generate fn underinstance.methods
const instance = await client.getContractInstance(source) // Deploy contract await.contract.init(100, 'test', options) //or await.contract.deploy([100, 'test'], options) // Call function const result = await instance.call('sum', [2, 5], options) // // Automatically decide to send tx on-chain or call-static(dry-run) base on if function stateful or not const result = await instance.methods.sum(2, 5, options) // Manually make on-chain const result = await instance.methods.sum.send(2, 5, options) // Manually make call-static const result = await instance.methods.sum.get(2, 5, options) //
- Usage:: Add instructions about how to include directly the
SDK
in ahtml page
4.0.1 (2019-06-13)
- RPC: Add contract contractDecodeCallResultAPI to RPC (#482) (7eb6bd8)
- README: Fix flavor link (#480)
- Compiler: Fix compiler compatibility mechanism (#479) (78cc990)
- Utils: Move json-bigint implementation to
utils
(#486) (1538867)
- webpack: Add another bundle(
dist/aepp-sdk.browser-script.js
) for using in<script>
tag (#485)
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
getCompilerVersion
to compiler stamp - ACI: Make compatible with compiler 3.1.0 (#457) (d92f2c7), closes #458
- ACI: Generate JS function proto for each of contract function (#439) (2f47b4d)
- Compiler/ACI: Make ACI compatible with compiler 3.0.0 (#441) (2a8eb1a)
- Node: Avoid usage of "universal-url" package (#434) (a8268d5)
- TX: encode payload as base64 (#460) (ad490af)
- TX_BUILDER: Fix bug related to contract fee calculation. (#472) (7214cfb)
- 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
iscallType
from 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
axiosConfig
Example:
Universal({ axiosConfig: { config: { // axios config object }, errorHandler: (err) => throw err }})
-
Transaction Builder: Implement vm/abi validation for contract/oracle tx based on consensus protocol version. Add custom verification based on transaction type (#425) (#426)
3.3.0 (2019-05-17)
- 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.0
to3.0.0
3.2.1 (2019-05-16)
- Joi: Add
JOI
browser 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
,record
types argument/result transformation (#349) (0599d7d) - WEBPACK: webpack configs: Mark all dependencies as external
- WEBPACK: Setup webpack-bundle-analyzer plugin
- ACI: Add
Option
sophia type to ACI (#390) (83f5279) - ACI: Implement arguments validation for generic sophia types(list, map, tuple, record) (#384) (956e59e)
- ACI: Update due to compiler API changes (#331) (e047f3b)
- AE: Allow to spend % of balance. (#371) (f97a2ae), closes #336
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Aepp: Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- Fortuna: Node 3.0.0 compatibility (#397) (17b78d5)
- RPC: Add
getNodeInfo
to AEPP stamp through RPC (#359) (2ddeea8) - State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156), closes #276 #299 #300 #303 #302 #279 #275 #276 #299 #300
- State Channels: Remove endpoint param (#391) (8d9ea7e)
- 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
,record
types argument/result transformation (#349) (0599d7d) - ACI: Update due to compiler API changes (#331) (e047f3b)
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- RPC: Add getNodeInfo and getNetworkId to AEPP stamp through RPC (#359) (2ddeea8)
- State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156)
3.0.0 (2019-04-17)
- 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(...).state
has been renamed tosignedTx
channel.withdraw(...).state
has been renamed tosignedTx
channel.deposit(...).state
has been renamed tosignedTx
channel.leave().state
has been renamed tosignedTx
channel.createContract(...).state
has been renamed tosignedTx
channel.callContract(...).state
has been renamed tosignedTx
2.4.0 (2019-04-17)
-
Chore: Install and configure
commitizen
-
Crypto: Add
formatAddress
function toCrypto
-
Contract: Add Contract Compiler API stamp to
es/contract
(now using instead contract node API) -
Utils: Add basic
http
client stamp (es/utils/http
) -
Contract: ACI stamp (New Contract interface base on contract ACI schema)
const contractIns = await client.getContractInstance(contractSourceCode) console.log(contract) { interface: String, // Contract interface source code aci: String, // Contract interface json schema source: String, // Contract source code compiled: String, // Compiled contract code deployInfo: { address: contractAddress } // Object with deploy transaction, // Function compile: () => this, // Compile contract, deploy: (init = [], options = { skipArgsConvert: false }) => this, // Deploy contract (compile before if needed) call: (fn, params = [], options = { skipArgsConvert: false, skipTransformDecoded: false, callStatic: false } => CallRersult: Object // Call contract function }
-
Account: Extend
Account.address()
withaccountFormatter
now 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/balance
on specific blockhash/height
-
Universal: Add
{ compilerUrl }
toUniversal, Contract, Wallet
stamp initialization
- Contract: decode node error coming from contract
call
andcallStatic
- 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 inCrypto
- Contract: Remove
ContractNodeAPI
stamp - Contract: Change Contract stamp API
1) Use Compiler instead of node API for encode/decode call-data and compile. 2) Change Contract interface: - contractCallStatic (address, abi = 'sophia-address', name, { top, args = '()', call, options = {} } = {}) -> (source, address, name, args = [], { top, options = {} } = {})) - contractCall (code, abi, address, name, { args = '()', options = {}, call } = {}) -> (source, address, name, args = [], options = {}) - contractDeploy (code, abi, { initState = '()', options = {} } = {}) -> (code, source, initState = [], options = {}) - contractEncodeCall (code, abi, name, args, call) -> (source, name, args) // 'source' is -> Contract source code or ACI interface source
2.3.2 (2019-03-04)
- Contract: Change default
gasPrice
from1e6
to `1e9z - AEPP: Fix
AEPP
example app - Build: Force
image
pull beforebuilds
2.3.1 (2019-02-22)
- Oracle:
Oracle
fee calculation - Tx:
getAccountNonce
function totx
stamp - TX_BUILDER: Change
FEE_BYTE_SIZE
from 1 to 8 bytes infee
calculation - TX_BUILDER: Improve error handling in
tx
builder
2.3.0 (2019-02-22)
- Node:
Minerva
comparability - Utils:
Mnemonic
wallet implementationes/utils/hd-wallet
- Oracle: Change Channel
legacy
API toJSON RPC
- Oracle: Change default
gasPrice
to1e6
- Oracle: Change
minFee
calculation, 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:
channel
withdraw
anddeposit
methods - TX_BUILDER: Change default
gasPrice
inContract
stamp andTx
stamp to1e9
- TX: Fix
contract
txfee
calculation - Chain: Refactor error handling in
sendTransaction
function - Contract: Change default
gasPrice
to1e9
- TX_BUILDER: Change
Fee
byte_size to 1
2.2.1-next (2019-02-21)
- TX_BUILDER: Add
deserialization
schema forChannel
transactions(channelCreate
,channelCloseMutual
,channelDeposit
,channelWithdraw
,channelSettle
) - Chain: Add
rawTx
andverifyTx
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 toJSON RPC
- TX_BUILDER: Change
minFee
calculation, 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:
Minerva
comparability - Utils: Add
Mnemonic
wallet 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
,txType
andsignature
tovalidate
transaction function - Contract: Add
top
param to contractstatic call(dry-run)
- Contract: Add errors handling for
dry-run
- Docs: Add
keystore
docs - Ae: Add
verify
options tosend
function which verify tx before broadcasting and throw error if tx is invalid - Rpc: Add
dryRun
toRPC
methods - Rpc: Add
Oracle
transaction creation toAepp
rpc - Docs: Add
tx builder
docs - Docs: Add doc's for
utils/bytes
and tx builderschema
- TX_BUILDER: refactor
calculateFee
function inTxBuilder
(use BigNumber) - TX_BUILDER: Extend response of
Oracle
,Aens
,Contrat
withrawTx
- Ae: Change response of
send
function now it's and object with transaction data(hash, rawTxHash, ...) - Chain: Move
Contract
andOracle
API wrapper's toChain
stamp - Chore: Rename
epoch
inCHANGELOG
,README
,HACKING
- Rpc:
RpcServer
: Avoid storing ofwindow
ininstance
properties - Chain: Disable
balance formatting
by default - Chain: Move
verification of transaction
tochain
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 usees/tx/builder
instead) - Chore: Rename
es/epoch.js
toes/node.js
- Chore: Rename
Oracle
,Contract
,Chain
API wrapper files fromepoch
tonode
- Chore: Rename
Contract
api wrapper method's
1.3.2 (2019-02-01)
- Ae: Add
destroyInstance
function toAe
stamp which remove all listeners for RPC event's - Docs: Add docs for
TransactionValidator
andTxBuilder
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
andAens
stamp'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
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.
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
prepare
instead 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 exa
for 10 AE)
- Chore:
10 exa
should be10 ae
- Chain: format shouldn't be a flag, but a request for
unit
eg.{ 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
/examples
folder)
- 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
fee
usingbignum.js
- Account Add
networkId
as param toAccount
flavor(default:ae_mainnet
) - Tx Implement native build of
AENS
transaction. - 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
.test
instead 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
onContract
Guard - CLI born
- CLI
Host
parameter becameUrl
. (-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 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 base58
address command incrypto
module - CLI Add
nonce
param to all tx command's - CLI Add
gas
param todeploy
andcall
commands - Tx Add ability to create
spend
transaction natively - Keystore Implement
ethereum keystore
usingAES-126-CTR
andSCRYPT
as key derivation function - CLI Change
--privateKey
toflag
onACCOUNT ADDRESS
command - Build Change
node version
inDockerfile
- Node API endpoints to meet new Node specifications
- Chore Update
docco
config and changerename
package torecursive-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
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.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 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
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
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
AUTHORS
instead 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