Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
14.0.0 (2024-10-20)
⚠ BREAKING CHANGES
Please check out the migration guide and a tool to convert to convert secret keys.
- CommonJS bundles have cjs extension instead js
- aepp: AeSdkWallet requires
onAskToSelectNetwork
constructor option - tx-builder:
ChannelClientReconnectTx
removed - node: Node returns time in KeyBlock and MicroBlockHeader as Date
- middleware: require 1.81.0
- sdk requires [email protected] or newer
- sdk types requires [email protected] or newer
- account: Save HD wallets methods removed
- account:
sign
,signMessage
removed - account:
isValidKeypair
removed - account:
getAddressFromPriv
removed - account:
generateKeyPair
removed - account:
generateKeyPairFromSecret
removed recover
,dump
removed (AEX-3 keystore implementation)- node,compiler,middleware: $host is readonly in generated APIs
- account: MemoryAccount accepts secret key as sk_-prefixed string
- account:
generateKeyPair
returns secretKey encoded as sk_-prefixed string - aepp: RpcBroadcastError not exported anymore
NAME_BID_MAX_LENGTH
not exported anymore- contract:
encodeFateValue
,decodeFateValue
not exported anymore - Iris is not supported
- middleware: sdk requires [email protected] and above
- node: sdk requires aeternity node 7.1.0 and above
- account: AccountBase inheritors required to implement
signTypedData
,signDelegation
signDelegationToContract
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
Features
- account: add
ensureReady
method to AccountLedgerFactory (5047e43) - account: add AccountMetamaskFactory (e9f9694)
- account: add AccountMnemonicFactory (c785521)
- account: encode secret key as sk_-prefixed string (b94e198)
- account: expose
secretKey
in MemoryAccount (d4320e6) - aepp: add api to ask wallet to select network (9871c91)
- aepp: extract class to connect to wallet from AeSdkAepp (c3570ac)
- middleware: add
requestByPath
method (ee5ac0c) - middleware: allow navigate to next/prev pages (b89cf5b)
- middleware: mark as stable api (e25b06d)
- middleware: prefixed types provided by OpenApi instead of strings (0b16a32)
- middleware: return time as Date instance (e48ffd1)
- middleware: switch to v3 api (b0015c0)
- node: return time as Date instance (e0e33ea)
- oracle: add
includeResponded
option to Oracle:pollQueries (78a07ab) - oracle: add Oracle:handleQueries method (03c77c0)
Bug Fixes
- account: improve Account:publicKey type (1652a4b)
- aens: validate minus chars in name as node does (329de9e)
- aepp: don't require subscription to request addresses (2b247ff)
- channel:
channelId
type, more accurate types (e572fae) - channel: accept
host
only if initiator (a7d4dde) - channel: reestablish flow (1f4a0c1)
- channel: remove
statePassword
unsupported on node side (5cec07b) - channel: remove unsupported ways to reopen channel by a transaction (f3746a1)
- middleware: accurate coin amounts (00a4f3e)
- middleware: word casing in activity types (f1fbb29)
- node,compiler,middleware: mark $host as readonly (9e47d5c)
- node: avoid complex types by code replacements instead generics (4f531b1)
- oracle: emit unhandled rejection instead printing error (3a57665)
- tx-builder: count amount in execution cost when spend to yourself (5153649)
- tx-builder: remove unused
ChannelClientReconnectTx
(e6e954a) - wallet: generate random string instead using external uuid dep (f8640d4)
- wallet: origin if opened over file:// (cordova) (d529f30)
Commits with breaking changes
- account: make
signTypedData
,signDelegation
abstract (f2c6d1d) - account: remove
generateKeyPair
(18c6789) - account: remove
generateKeyPairFromSecret
(2cbaa7c) - account: remove
getAddressFromPriv
(9446639) - account: remove
isValidKeypair
(512385a) - account: remove
sign
,signMessage
(30077bc) - account: remove save HD wallet functions (10e7c89)
- aens: replace aens methods with Name class (956daac)
- aepp: remove RpcBroadcastError (1f0b3bb)
- compiler: drop aesophia@7 support (df0e050)
- contract: don't depend on Contract in AeSdk (00b4f86)
- contract: remove
encodeFateValue
,decodeFateValue
(c521597) - drop Iris support (61554b3)
- drop [email protected] support (4008d12)
- middleware: require 1.77.5 (08783fd)
- middleware: require 1.81.0 (3243768)
- node: require 7.1.0 (0dd3b49)
- oracle: add Oracle class (54ee614)
- oracle: add OracleClient class (0293fe4)
- oracle: replace
getQueryObject
with OracleBase (bcab498) - remove
createDelegationSignature
(651b6ec) - remove
NAME_BID_MAX_LENGTH
(83797a4) - remove
signAllNamesDelegationToContract
(60a729d) - remove
signDelegationToContract
(cd495a6) - remove
signNameDelegationToContract
(9ab8f41) - remove
signOracleQueryDelegationToContract
(f948492) - remove keystore implementation (5e64ec9)
- rename legacy bundles to cjs (46cd27b)
- require [email protected] or newer (84d868c)
- tx-builder: extract entries into separate builder (d5fde18)
- tx-builder: remove deprecated constant exports (2ecf0f4)
- tx-builder: remove deprecated constant exports (2342aa6)
- update @types/node, drop TS below 4.8 (9d36e6c)
- wallet,aepp: remove
delegationToContract.sign
method (c4d62b0)
13.3.3 (2024-07-17)
Bug Fixes
- account: improve Account:publicKey type (0524553)
- aens: validate minus chars in name as node does (15063c6)
- aepp: don't require subscription to request addresses (8ce976e)
- channel:
channelId
type, more accurate types (2b064d8) - channel: accept
host
only if initiator (cfdfd72) - channel: remove
statePassword
unsupported on node side (74db9bb) - don't allow upgrades
@azure/core-rest-pipeline
(03058d4) - don't allow upgrades
@ledgerhq/hw-transport
to 6.31.0 (1ef43e6) - wallet: origin if opened over file:// (cordova) (4ee44be)
13.3.2 (2024-04-22)
Bug Fixes
- contract: detect if ACI doesn't match called contract (8c4287f)
- ttl validation error in dev mode by reducing polling intervals (6f8cdc9)
13.3.1 (2024-04-19)
Bug Fixes
- node: mark as compatible with 7.0.0 (562eda9)
13.3.0 (2024-04-08)
⚠ Ceres and aehopsia@8 compatibility not stable, since they are not officially released yet
Features
- accept multiple encodings in
isAddressValid
, add TS asserts (2c21139) - add
getContext
method to AeSdk (04508d0) - aens: support update with raw pointers (db2659a)
- aepp,wallet: allow raw data sign (7d0136d)
- chain: add
cache
option 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)
Bug Fixes
- aens: make
extendTtl
argument optional (028876f) - aens: reduce default client ttl to one hour (daf7fa0)
- chain: poll till ttl if defined to ensure tx can't be mined (0751244)
- contract: build address by signed tx (60a283b)
- contract: don't duplicate NoSuchContractFunctionError message (2f3bba5)
- improve error message when no wrapped value (054bc89)
- node,middleware,compiler: version check if deployed at path (450296e)
- node,middleware: remove duplicate retry policy (f6470a2)
- node: add missed conversion of
difficulty
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)
Bug Fixes
- use proper vm version in Ceres (bcaa5cf)
- aepp,wallet: connect to web-extension if opened over file:/// (da6a025)
- aepp: use complete type of WalletInfo object (eeba565)
- contract: don't mark contract as deployed if tx failed (cc4222d)
- contract: use current nonce in static calls (758bdfc)
- node: don't retry 500 code responses (696e7db)
- node: throw clear error message if unsupported protocol (21dfe34)
- node: uncatchable exception if request failed in queue (dec62a4)
- typos in error messages and docs (5c84671)
13.2.1 (2023-07-28)
Bug Fixes
- use
Number
instead of unary plus for BigInt (33fcfb4)
13.2.0 (2023-07-28)
Features
- account: add methods to generate delegation signatures (18bdf5a)
- aepp,wallet: support delegation signatures (fd0dc43)
Bug Fixes
- account: add implementation of
signTypedData
in AccountBase (fc6e42f) - wallet: don't ask to confirm unsubscription (e2ffc25)
- wallet: don't require to be subscribed to request addresses (36920b4)
- wallet: return accounts according to subscription (fa900c0)
13.1.0 (2023-07-07)
Features
- account: support signing typed data (e5acdd4)
- aens: add
ensureName
helper to check names (f1322b1) - aens: support unicode names claim (f837e90)
- aepp,wallet: support inner transaction signing (725782b)
- aepp,wallet: support signing typed data (78ce3b2)
- compiler: add
generateAci
,generateAciBySourceCode
(981bcf2) - middleware: generate autorest wrapper (bd08a08)
- middleware: implement MiddlewareSubscriber (b51b0a3)
Bug Fixes
onAccount
option in AeSdkMethods (290758b)- aens: more accurate name check in
isNameValid
(b62dcc6) - aepp: call
onDetected
always 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)
Bug Fixes
13.0.0 (2023-04-06)
⚠ BREAKING CHANGES
Please check out migration guide, and release notes for the beta release.
- aepp: All wallet provided nodes have the same name
Specified in
name
option ofconnectToWallet
. - aepp: Select option removed from connectToWallet
If you are using
connectNode
then the current node would always be the same as wallet provides.
Features
Bug Fixes
- aepp: use the same name for all nodes provided by wallet (0ece313)
- chain: reduce /2 number of blocks to wait before throwing timeout (44de66b)
-
contract: add missed
sourceCodePath
cases (5be4cd9) -
aepp: remove select option in connectToWallet (adf9c3e)
13.0.0-beta.0 (2023-03-01)
⚠ BREAKING CHANGES
Wallet
onSign
,onMessageSign
callbacks were removed on the wallet side
Contract
- ACI format used the same as returned by aesophia_cli
createAensDelegationSignature
,createOracleDelegationSignature
replaced 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
Transaction builder
- StateTrees fields decoded as objects mapping key to decoded entry instead of internals
- The content of Tag.*Mtree entries decoded and moved to
payload
field - TX_SCHEMA, TxParamsCommon, TxSchema, TxTypeSchemas not exported anymore
- AeSdk.buildTx accepts
tag
in options TX_TTL
not exported anymore- sync
buildTx
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
Compiler
- 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
Account
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
Node
url
property ofNode
removed
Oracle
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
Chain
send
inlined intosendTransaction
AENS
height
removed from the output ofaensPreclaim
Channel
- Channel:state returns unpacked entries
- All channel events emitted in snakeCase
- Channel:poi returns unpacked TreesPoi
Other
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
Features
- 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)
Bug Fixes
- aepp: don't require connection to wallet to make a static call (bab9eee)
- channel: increase pong timeout 3 times (to 15 seconds) (d03ec1c)
- channel: return type of
state
(3c34457) - compatibility with @vue/cli@4 (41521ff)
- contract: avoid
any
in arguments (70453f1) - contract: don't mark
event
field as required in Aci (2c44cd1) - contract: dry-run accept
top
as number (ebe5986) - contract: static call at specific height (99441dd)
- contract: type of FunctionAci (0929304)
- node: don't throw unhandled exception if version check failed (d4e5250)
- oracle: ask height right before querying oracle to avoid not found (42706ca)
- oracle: import
getHeight
instead of using a missing context (565c827) - tx-builder: calculation of
gasLimitMax
(0fb8a37) - tx-builder: don't check consensus protocol if sdk knows a single (6b8888b)
- tx-builder: drop nonce validator to avoid false positive (a669aae)
- tx-builder: ensure that TX RLP have the same length as schema (c042d73)
- tx-builder: field DelegateIds in ChannelCreateTx (405243c)
- tx-builder: provide proper type depending on checks being done (3cff062)
- wallet: don't use Event.hasListeners that is not available in FF (05c0424)
- wallet: explicitly convert error to JSON to don't pass stack trace (3948153)
- wallet: provide origin on webext side instead of empty string (662d8d0)
- channel:
log
field type in result 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)
Bug Fixes
- deps: update calldata to 1.3.0 (3eacc29)
12.1.2 (2022-08-09)
Bug Fixes
12.1.1 (2022-07-28)
Bug Fixes
- export and implementation of calculateMinFee (cee0f7c)
12.1.0 (2022-07-28)
Features
- export Encoding enum (7ebc67f)
Bug Fixes
- ability to use sdk without nodes (8fa29e4)
- aepp,wallet: avoid invalid message errors using third-party tools (4d4d117)
- AeSdkBase: don't mutate the options argument (a574b7f)
- awaitHeight: allow to wait for arbitrary number of blocks (918a885)
- channel: handle round as number (97d7984)
- getNetworkId throw proper error without node (3d9e73c)
- move type packages required by TS projects to dependencies (90c5eb8)
- node: avoid ts-expect-error missed in generated d.ts file (60d9755)
- node: don't transform autorest properties (7982327)
- Node: tread
nameTtl
,clientTtl
as number (b82c398) - pollForQueryResponse: poll until query is expired (436f4a9)
- sendTransaction: don't fall if
onAccount
missed in AeSdkBase (eebbcb7) - switch to aepp-calldata with fixed decoding of lists (c1a3b24)
12.0.0 (2022-06-17)
⚠ BREAKING CHANGES
General
Universal
,RpcAepp
,RpcWallet
stamps replaced 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 and Compiler
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
Transaction builder
- removed methods to generate a transaction of specific type
- removed ability to generate transaction on the node side
nonce
,ttl
,gas
decoded and accepted as numbers instead of 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
AENS
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
Oracle
extendOracleTtl
accepts oracle ttl inoracleTtlType
andoracleTtlValue
fieldsdecode
method ofgetQueryObject
removed
Contract
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
Chain
- removed
balance
,tx
,getTxInfo
methods
Other
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
Aepp Wallet communication
- BrowserRuntimeConnection, BrowserWindowMessageConnection are classes
- ContentScriptBridge, WalletDetector rewrited to plain functions (
connectionProxy
,walletDetector
) - RpcClient: removed
origin
property - RpcClient:
sendMessage
is a private method - RpcClient:
handlers
parameter is removed - RpcClient: doesn't contain aepp info anymore
- RpcClient: doesn't contain
networkId
anymore - RPC helpers are not exposed anymore (
isInIframe
,sendMessage
,getHandler
,message
,responseMessage
,sendResponseMessage
,isValidAccounts
)
Aepp
connectToWallet
accepts wallet connection as the first argumentdisconnectWallet
runs in sync andsendDisconnect
arg removedsendConnectRequest
removed- doesn't accept
connection
anymore - removed
isConnected
,isSubscribedAccount
methods signMessage
returns Buffer by default
Wallet
- BrowserRuntimeConnection requires
port
parameter - requires
id
,type
in params getBrowserAPI
helper 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
Features
- aepp: support external accounts in
onAccount
(9745c73) - ga: implement buildAuthTxHash function (73eae4e)
- NodeInvocationError: store tx-encoded transaction (a74da7c)
Bug Fixes
- aepp: use networkId in rpc tx signing (916dba0)
- importing in mjs (0fc7418)
- messageToHash: support messages longer than 252 chars (b4aa456)
- wallet: revert to returning complete tx data instead of just hash in rpc wallet signing (c3ada74)
Refactoring with breaking changes
- generate compiler api in TypeScript using autorest (777e990)
- generate node api in TypeScript (5576cf9)
- compiler: init in sync, check version on making request (a7fe956)
- aci: accept onAccount as AccountBase (e816428)
- ae: drop stamps and use plain functions (8ed55d0)
- aepp rpc: accept wallet info separately (baad98e)
- aepp-rpc: depend on simplified version of RpcClient (f329549)
- aepp-rpc: extract common error checks (eaa8683)
- aepp-wallet: rewrite to ts all except rpc (19cb42f)
- AeppRpc: make to init in sync (86c9d6c)
- chain: drop stamps and use plain functions (4197b3d)
- chain: remove deprecated methods (cefaa55)
- compiler: extract genVersionCheckPolicy (ac14fd1)
- don't provide default fee when transaction is not present (b004694)
- drop
ensureNameValid
(d0d1258) - drop compiler stamp (ddf1363)
- drop functions to generate txs with specific type (3cf767d)
- drop TxObject wrapper (a083c7b)
- encoder: remove required prefix param (dec13d7)
- export in tree shaking friendly way (40aca86)
- extract all fee-related stuff into a separate module (cebb90b)
- extract base sdk classes (487cc14)
- fix spend types (6b089e7)
- getNetworkId: drop unnecessary
force
option (7d6549a) - getQueryObject: remove deprecated
decode
method (7e9835c) - inline NAME_BID_TIMEOUTS into computeAuctionEndBlock (5fdb80e)
- NodeApi: return BigInt instead of string | number (7f37e74)
- node: drop
internalUrl
(8336673) - node: rewrite to ts, drop stamp (370635e)
- oracle: drop stamps and use plain functions (04ce814)
- prepareTxParams: inline calculateTtl (2f03793)
- remove ability to connect without sharing node if requested (7dd4af5)
- remove extra
getAddressFromPriv
(0f88c39) - remove getAccountNonce (62a00e5)
- remove outdated destroyInstance method (0213375)
- rename
gas
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)
Bug Fixes
- contract: do not check payable if contract call is init (c09fc0c)
- importing in mjs (01d493b)
- oracle: do not include address for oracle respond signature (ad4bddc)
11.0.0 (2022-03-18)
Request batching: SDK now supports batching transactions
Custom error types: Introduced error types
Naming convention: Instances of the SDK in the examples and tests are now called as aeSdk
.
⚠ BREAKING CHANGES
- return empty array instead of throwing UnsignedTxError
- rpc: remove forceValidation flag
- hd-wallet: expect that bip39 used externally
- hd-wallet: remove default export
- crypto: make (encode/decode)Base(58/64)Check private
- use bs58 instead of bs58check
- update rlp to 3.0.0
- tx builder: throw exception if deposit is not zero
- tx schema: remove default NAME_FEE equal to 0
- tx builder: accept unencoded name in nameClaimTx
- spelling of GeneralizedAccount
- aci: remove call/callStatic from deployInfo
- aci: remove createdAt property generated at client
- contract: remove deprecated contractCallStatic
- contract: remove deprecated contractDeploy
- contract: remove contractCompile
- contract: remove deprecated contractCall
- remove deprecated topBlock
- remove unused functions
- contract events: remote contract support
- contract instance: store aci as it is
- wallet-rpc: inline resolveOnAccount helper
- aepp-wallet schema: convert to TS
- aepp-wallet schema: rearrange METHODS enum
- aepp-wallet schema: remove unused enums
- contractCompile: remove encodeCall
- compiler: remove contractEncodeCallDataAPI
- compiler: remove getCompilerVersion
- contract: remove compileContractAPI
- contract: remove contractGetACI
- contract: remove contractDecodeCallDataByCodeAPI
- contract: remove contractDecodeCallDataBySourceAPI
- contract: remove contractDecodeCallResultAPI
- compiler: remove validateByteCodeAPI
- compiler: remove getFateAssembler
- compiler: remove getBytecodeCompilerVersion
- poll: avoid extra transaction info request to node
- drop https scheme workaround for hosted compiler
- node: don't wrap internal endpoints if internalUrl missed
- tx builder: inline VALIDATION_MESSAGE
- decodeEvents: accept event schemas as it is in ACI
- contract: remove already processed fields from decoded events
- aci: drop redundant per-method event decoding
Features
- aci: use dry-run to estimate gas and get rich errors (bb6977d)
- calculate default polling intervals depending on node settings (d9c6cf9)
- chain: combine multiple dry-run requests at one (ddcdaef)
- contract events: ability to resolve multiple definitions of event (c5b77fa)
- contract events: remote contract support (c7599c7)
- createGeneralizeAccount: estimate gas limit instead of using const (da88852)
- decode encode: validate base58 prefix and payload length (e836260)
- error: introduce error types (#1345) (444bb33)
- package: build es version compatible with node (480c747)
- poll: use getCheckTxInPool if available (690db5b)
- swagger: converts operationId in snake case to pascal (e52b739)
- swagger: split transactions by queues to post batch of txs from one account (0023fc7)
- tx builder: accept unencoded name in nameClaimTx (eea92be)
- tx builder: don't require produceNameId to create AENS txs (57ef9c7)
- tx builder: provide default name fee (18e4bab)
- validator: check contractId (5e667a5)
- wallet: add switch for aepp wallet node sharing (b5640d6)
- wallet: enable aepp to wallet node connection (d87e1fa)
- wallet: provide switch for aepp wallet node connection (dfbab59)
Bug Fixes
- aens helpers: improve naming, add additional validations (d2a10e1)
- babel: compatibility with create-react-app (e4b56fe)
- babel: depend on buffer package in es build (0ba51e9)
- babel: don't rewrite import of rlp package for @vue/[email protected] (0fdd296)
- chain: don't require address function to post transaction (07bc105)
- channel force progress: add missed binary prefixes (78660d2)
- channel: ignore messages that can't be handled, print to console (aaad8e3)
- compatibility: update argon2-browser to version with default export (0e69d8b)
- compatibility: use blakejs that doesn't refer to Buffer (94f1879)
- contract events: don't throw error if events emitted by remote (fa1c569)
- delegate signature: don't encode address depending on onAccount (563a972)
- dry-run: don't combine requests by default (0f36efc)
- error: remove duplicate error message (8b4df9a)
- es: babel build on windows (30f5213)
- keystore: encoding of hex privateKey, simplify tests (9f3ad6b)
- spelling of GeneralizedAccount (21c1dd3)
- tx builder: reject more than 32 pointers (9c06dab)
-
tx builder: throw exception if deposit is not zero (7b3d0e3)
-
aci: drop redundant per-method event decoding (a84d781)
- aci: remove call/callStatic from deployInfo (84d082d)
- aci: remove createdAt property generated at client (406684c)
- aepp-wallet schema: convert to TS (1775e91)
- aepp-wallet schema: rearrange METHODS enum (8a40105)
- aepp-wallet schema: remove unused enums (95bf0e9)
- compiler: remove contractEncodeCallDataAPI (7d02317)
- compiler: remove getBytecodeCompilerVersion (13283be)
- compiler: remove getCompilerVersion (fb929f8)
- compiler: remove getFateAssembler (165d492)
- compiler: remove validateByteCodeAPI (90ba164)
- contract instance: store aci as it is (978225e)
- contractCompile: remove encodeCall (6d0ade5)
- contract: remove already processed fields from decoded events (45bae5f)
- contract: remove compileContractAPI (5ae9c62)
- contract: remove contractCompile (7390629)
- contract: remove contractDecodeCallDataByCodeAPI (2fe798a)
- contract: remove contractDecodeCallDataBySourceAPI (8b13f70)
- contract: remove contractDecodeCallResultAPI (b9fbfa6)
- contract: remove contractGetACI (23ada71)
- contract: remove deprecated contractCall (c079e6e)
- contract: remove deprecated contractCallStatic (1e3ac6d)
- contract: remove deprecated contractDeploy (08e423e)
- crypto: make (encode/decode)Base(58/64)Check private (c151183)
- decodeEvents: accept event schemas as it is in ACI (17b9cc4)
- drop https scheme workaround for hosted compiler (9fc0a02)
- hd-wallet: expect that bip39 used externally (f6243ad)
- hd-wallet: remove default export (951ebb2)
- node: don't wrap internal endpoints if internalUrl missed (50d7bba)
- poll: avoid extra transaction info request to node (22c4838)
- remove deprecated topBlock (4535c07)
- remove unused functions (8c00de5)
- return empty array instead of throwing UnsignedTxError (c6bacdf)
- rpc: remove forceValidation flag (9f958c3)
- tx builder: inline VALIDATION_MESSAGE (defb7e1)
- tx schema: remove default NAME_FEE equal to 0 (9d8339a)
- update rlp to 3.0.0 (bb32b77)
- use bs58 instead of bs58check (32e836b)
- wallet-rpc: inline resolveOnAccount helper (1277b5b)
10.0.0 (2021-12-07)
⚠ BREAKING CHANGES
- crypto: remove unused asymmetric encode/decode functions
- aens: don't limit pointer keys
- specify browserlist to better choice of features to transpile
- aci: don't require source code
- make contractDeploy a wrapper, remove unused code
- inline getConsensusProtocolVersion function
- invert and rename forceCodeCheck option to validateByteCode
- require compiler 6 and above
- make contractCall/Static a wrapper around getContractInstance
- contract instance: thread all extra options as contract's
- contract instance: remove unnecessary
setOptions
function - remove contractDecodeData as extra wrapper
- remove contractEncodeCall as extra wrapper
- don't accept ak_ addresses as hash, bytes and signature
- transformation: drop extra wrapper around bindings
- transformation: don't export extra functions
- drop unnecessary skipTransformDecoded option
- drop unnecessary skipArgsConvert option
Features
- aci: don't require source code (5c690d2)
- aens: don't limit pointer keys (f6b8999)
- aens: enable commitmentHash preclaim in tests (5de05e5)
- decode using calldata package (2bb494d)
- encode using calldata package (eeebbd5)
- poll-interval: reduce poll interval to be a more sensible default (9e55b2b)
- support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)
Bug Fixes
- commitlint issue (2c1cf54)
- compiler errors: construct error message by server response (8621352)
- don't accept ak_ addresses as hash, bytes and signature (cbaac62)
- events: don't require function name for events decoding (f963bdb)
- events: fix event decoding order and address prefix (faad530)
- events: fix test for incorrect address return type (31aaeec)
- events: ignore unknown events in decoding (45795fa)
- node errors: construct error message by server response (d556936)
- semverSatisfies: ignore build number (c3cce0a)
- swagger: detection of empty response (9bfab02)
- contract instance: remove unnecessary
setOptions
function (b88e767) - contract instance: thread all extra options as contract's (10fb7ba)
- crypto: remove unused asymmetric encode/decode functions (51def34)
- drop unnecessary skipArgsConvert option (6d4a599)
- drop unnecessary skipTransformDecoded option (bb49239)
- inline getConsensusProtocolVersion function (75f0447)
- invert and rename forceCodeCheck option to validateByteCode (72122fa)
- make contractCall/Static a wrapper around getContractInstance (c4ec019)
- make contractDeploy a wrapper, remove unused code (48d36f9)
- remove contractDecodeData as extra wrapper (5df2285)
- remove contractEncodeCall as extra wrapper (a4b303f)
- require compiler 6 and above (f9cef12)
- specify browserlist to better choice of features to transpile (c2ec71a)
- transformation: don't export extra functions (fa38b40)
- transformation: drop extra wrapper around bindings (9b70f8e)
10.0.0-beta.1 (2021-11-24)
⚠ BREAKING CHANGES
- specify browserlist to better choice of features to transpile
- aci: don't require source code
- make contractDeploy a wrapper, remove unused code
- inline getConsensusProtocolVersion function
- invert and rename forceCodeCheck option to validateByteCode
- require compiler 6 and above
- make contractCall/Static a wrapper around getContractInstance
- contract instance: thread all extra options as contract's
- contract instance: remove unnecessary
setOptions
function - remove contractDecodeData as extra wrapper
- remove contractEncodeCall as extra wrapper
- don't accept ak_ addresses as hash, bytes and signature
- transformation: drop extra wrapper around bindings
- transformation: don't export extra functions
- drop unnecessary skipTransformDecoded option
- drop unnecessary skipArgsConvert option
Features
- aci: don't require source code (5c690d2)
- decode using calldata package (2bb494d)
- encode using calldata package (eeebbd5)
- poll-interval: reduce poll interval to be a more sensible default (9e55b2b)
- support for new node feature next-nonce of release 6.2.0 (#1299) (e40b046)
- aens: enable commitmentHash preclaim in tests (5de05e5)
Bug Fixes
- compiler errors: construct error message by server response (8621352)
- events: fix event decoding order and address prefix (faad530)
- events: fix test for incorrect address return type (31aaeec)
- node errors: construct error message by server response (d556936)
- semverSatisfies: ignore build number (c3cce0a)
- commitlint issue (2c1cf54)
- don't accept ak_ addresses as hash, bytes and signature (cbaac62)
- drop unnecessary skipArgsConvert option (6d4a599)
- drop unnecessary skipTransformDecoded option (bb49239)
- inline getConsensusProtocolVersion function (75f0447)
- invert and rename forceCodeCheck option to validateByteCode (72122fa)
- make contractCall/Static a wrapper around getContractInstance (c4ec019)
- make contractDeploy a wrapper, remove unused code (48d36f9)
- remove contractDecodeData as extra wrapper (5df2285)
- require compiler 6 and above (f9cef12)
- specify browserlist to better choice of features to transpile (c2ec71a)
- contract instance: remove unnecessary
setOptions
function (b88e767) - contract instance: thread all extra options as contract's (10fb7ba)
- remove contractEncodeCall as extra wrapper (a4b303f)
- transformation: don't export extra functions (fa38b40)
- transformation: drop extra wrapper around bindings (9b70f8e)
9.0.1 (2021-10-04)
Refactoring
- Remove channel from universal stamp (63e88ce74)
9.0.0 (2021-09-30)
⚠ BREAKING CHANGES
- drop following AENS delegation signature methods over the new common
createAensDelegationSignature
implementation which accepts an object as param (456fe00) delegateNamePreclaimSignature
delegateNameClaimSignature
delegateNameTransferSignature
delegateNameRevokeSignature
- drop following oracle delegation signature methods over the new common
createOracleDelegationSignature
implementation accepts an object param (88b7bf3) delegateOracleRegisterSignature
delegateOracleExtendSignature
delegateOracleRespondSignature
- drop
assertedType
, 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)
Features
payForTransaction
method (fbf204d)- don't check is GA if innerTx (0ee9db4)
- don't sent to blockchain if innerTx (523e9bb)
- deposit-trap: enforce zero value for
deposit
during contract deploy (cfb5f22)
Maintenance
- change default gas limit to 25000 (831e4dd)
Bug Fixes
- AENS: name length minimum bid fee (db6ca4c)
- delegate-signature: stop using the default account in the context of signing (29d760e)
- mustAccountStamp: process accounts only if supplied (10ec2c3)
- swagger https issue (3a876bb)
- tx serialisation: accept unpackTx output produced by deserialisator (ff0b3f5)
8.2.1 (2021-06-21)
Bug Fixes
- swagger file of aeternity's compiler (4001e64)
- swagger file of aeternity's latest compiler (a1caa03)
8.2.0 (2021-06-17)
⚠ BREAKING CHANGES
- crypto: remove outdated generateSaveWallet function
- crypto: remove unused prepareTx, encodeTx, decodeTx functions
- crypto: remove unused hexStringToByte function
- crypto: rename messageToBinary to messageToHash adding hashing
- crypto: drop extra "personal" from message functions
- crypto: remove unused formatAddress function
- crypto: remove unused addressToHex function
- node-pool: inline helpers, export by default
- string: use isAddressValid instead of isAeAddress
- string: remove unused snakeOrKebabToPascal function
- drop outdated protocols and transactions schemas
- drop compatibility with node@5
Bug Fixes
- export aepp-wallet-communication (d5d741c)
- ponyfill
Buffer
in browser (953bf08) - ponyfill
process
in browser (798ab63) - rlp: import as it is (736b0f5)
- typo name of broadcast failed error generator (ae7e823)
-
examlple-aepp: open only when ready to accept connection (4872eb9)
-
crypto: drop extra "personal" from message functions (34288cb)
- crypto: remove outdated generateSaveWallet function (37298be)
- crypto: remove unused addressToHex function (93f9def)
- crypto: remove unused formatAddress function (a5d4b62)
- crypto: remove unused hexStringToByte function (ed39a76)
- crypto: remove unused prepareTx, encodeTx, decodeTx functions (64d15eb)
- crypto: rename messageToBinary to messageToHash adding hashing (df37004)
- node-pool: inline helpers, export by default (ed1cfb5)
- string: remove unused snakeOrKebabToPascal function (79bdc04)
- string: use isAddressValid instead of isAeAddress (ac7d827)
- drop compatibility with node@5 (f5e2fdb)
- drop outdated protocols and transactions schemas (f18d305)
8.1.0 (2021-05-31)
Bug Fixes
- poi-tx schema: use proper type name (9e7c7b2)
- wait-for-tx-confirm: validate transaction height after awaitHeight (95e0d93)
Features
- support [email protected] and above (3cdc7f9)
8.0.0 (2021-05-18)
Bug Fixes
- avoid instanceof between possible not/polyfilled objects (906ee0e)
8.0.0-beta.2 (2021-05-12)
Bug Fixes
- revert conversion of case in calls to compiler (0a69e49)
Maintenance
- avoid ts definitions based on broken JsDoc (572d19f)
8.0.0-beta.1 (2021-05-6)
Important changes
- Iris compatibility (compatible with nodes >= 5.2.0 < 7.0.0)
- initial TypeScript support (not enough type definitions yet)
- documentation is generated using MkDocs on Travis
BREAKING CHANGES
- Drop old aepp-wallet RPC interface (254f5a93)
- refactor: don't retrieve account from process.env (59e5c9b5)
- refactor(crypto): don't reexport RLP methods (c6004bc7)
- refactoring: remove legacy contractDecodeDataAPI compiler method (dfadac8d)
- refactor: rename
forceCompatibility
to more 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)
Features
- swagger: allow to provide external specification (683082b3)
- swagger: make compatible with OpenAPI 3 (1d83f1a4)
- switch to v3 endpoints on Iris (eca6697b)
- traverse-keys: add keysOfValuesToIgnore option as a workaround (8ff5afe4)
- Use es modules version in browser if supported (b49c38f0)
- Add typescript support (abde033a)
Docs
- contract: fix default backend value (9fcbeb32)
- wallet-iframe: fix disconnect button (59014bd0)
- examples-browser: rearrange files and docs (985e3b96)
- use relative links between docs pages (d34d8181)
- remove outdated aecrypto example (7df05bfe)
- refactor node examples (e8c443cf)
- changelog: add missed single quote in example (45fd0002)
- resolveName: Document verify option (ca865596)
- Remove outdated docs (cf9c166f)
- decodeTx: Fix arg naming and annotation (883819c0)
- contract-events: Remove outdated contract, update links and markup (37d39d61)
- Update docs/guides/import-nodejs.md (9dc274ed)
- Update docs/guides/import-nodejs.md (93bfce11)
- break down json obj keys necessary for account initialization in nodejs docs (af5ee41d)
- Ignore pycache in the docs folder (9989e8e7)
- Specify the python version more precisely (d6204523)
- Add pycache to .gitignore (f0b7e1f1)
- Add navigation and update some titles (8ad15ced)
- docco template: Remove extra new lines around code, skip extra blocks (65ce3cf1)
- aecontract: Make a list out of a long sentence (8ff7839c)
- aens-usage: Use more semantic markup, compatible with mkdocs (de3d3cd5)
- docs readme: Fix typos and formatting (5b0c790d)
- Add initial mkdocs and readthedocs configuration (b688a96b)
- Extract quick-start to guides (28f7e6f7)
- Update testnet URL (7bb823f8)
- assertedType: Make the last parameter more obvious (50094d3a)
- travis: Build docs to gh-pages (7c935a2b)
- Docs root: Add link to API reference (4a36102d)
- Move outdated disclaimer to the root readme (80a6a663)
- Remove generated docs (fd802b00)
- Fix api docs generation (56e3aa9d)
Code Refactoring
- use BigNumber constructor instead of custom wrapper (4488b4d7)
- avoid extra object nesting (f99d3045)
- compiler: use swagger file (0d821614)
- semver-satisfies: remove extra splitting by dash (35d5c11a)
- remove extra char in regex (37eeefae)
- refactor wallet detector (1bc8d027)
- shareWalletInfo: Don't create unnecessary copy of info (3a4e50b9)
- Inline receive helper that is used once (a4a13889)
- rpc: Inline helpers used once (21903f4d)
- rpc: Prefer default export (70fc3f0f)
- rpc helpers: Remove unused getWindow function (c12b528f)
- don't use AsyncInit where it is not necessary (84373697)
- contract-aci: reuse defaults from Contract stamp (47013962)
- cleanup MIN_GAS_PRICE (a5b28842)
- remove unused option string (0e28af23)
- remove unused dryRunAccount default option (8c42b706)
- Consistent new on Error creation (39f93d3f)
- height: Use a shorter syntax (b013bf9d)
- height: Improve naming of internal promise (7915119a)
- Move source code to "src" folder (ddbce389)
- sign-using-ga: don't pass extra options (44bab6d0)
Bug Fixes
- traverse-keys: add missed null check (7b724b86)
- swagger: add workaround to get transaction details of GAAttachTx (bb7ec479)
- top-block: use getTopHeader on Iris, mark deprecated (2b410257)
- nonce-verification: add missed space (3f244dfb)
- missed aepp id in wallet connect handler (1ed9284a)
- get-node-info: bring url and internalUrl back (e984f3b3)
- contract error decoding (d56931ac)
- contract-aci: don't proxy prepareArgsForEncode from helpers (7e40eda0)
- Improve handling of call error (584eb5e4)
Maintenance
- Use ts-standard instead of standard (be5aece7)
- tsconfig: Set target version to es5 (ed131b1b)
- Fix eslint errors manually (dfe3a05e)
- require node below 7.0.0 (ae1a5ef5)
- require node above or equal to 5.2.0 (ebb36f06)
- update dependencies (d876cff7)
- deps: bump ssri from 6.0.1 to 6.0.2 (e0dfb8c9)
- deps: bump y18n from 4.0.0 to 4.0.1 (9e4acd61)
- deps: bump elliptic from 6.5.3 to 6.5.4 (feb3aa68)
- deps: bump axios from 0.19.2 to 0.21.1 (0f619f27)
- deps: bump ini from 1.3.5 to 1.3.7 (95580324)
- deps: bump highlight.js from 10.4.0 to 10.4.1 (9fcfadfe)
- deps: bump highlight.js from 10.1.1 to 10.4.0 (43aff25f)
- deps: bump node-fetch from 2.6.0 to 2.6.1 (80ed6d70)
- Update node to 5.8.0 (b6ff3422)
- Update .gitignore (1f1563dc)
- add vscode .history folder to gitignore (f4d61df4)
- Update testnet URL in JS files (dc1b807a)
- add Iris consensus protocol (41fd4a13)
- add vsn 2 version of GA_META transaction (b5abe098)
- add new versions of CHANNEL, CHANNEL_CREATE transactions (366981a3)
- support compilers below 6.0.0 (876e5164)
Performance
- Optimize height queries (f74ca4cb)
Tests
- simplify GA tests (7b9628c2)
- oracle: avoid explicit waiting for 1 second (f81cd3a1)
- passing of forceCompatibility flag (6f900b98)
- contract: remove extra backend option (184566f9)
- update channel tests to fate (35a996d8)
- Faster tests (5d629103)
- Extract strings tests into separate file (f3c7d3fa)
- ga: Remove extra await (72bfc746)
- Make tests more precise (fe7a8567)
7.7.0 (2020-08-18)
Features
- transferFunds: Accept onAccount option (#1060)
- bigNumberToByteArray: Avoid unexpected behaviour by throwing exception (#1066)
- example: Add disconnect button on wallet side (#1056)
Code Refactoring
- Use external version of json-bigint (#1033)
- Make tests configuration more flexible (#1037)
- test-else: Exclude aens tests and speedup jobs (#1040)
- Avoid unnecessary eslint-disable (#1043)
- Add lint script (#1045)
- Refactor tests (#1039)
- Refactor bytes unit tests (#1050)
- travis: Run linter and unit tests firstly (#1051)
- Disable Travis on all branches except master, develop (#1054)
- Refactor contract, oracle, chain (#1048)
- Refactor state channels (#1047)
Docs
- Fix typo in Readme.md (#1053)
7.6.0 (2020-07-22)
Features
- wallet-detector: allow to connect wallet to aepp between iframes (3f74a05)
7.5.0 (2020-06-18)
Features
- Account: Build signature from transaction hash (#1025) (2cb8cc2)
- ACI: External contract integration (#1027) (a14d13a)
Refactor
- Deps: Clean up repository (#1029)
- Env: Simplify Travis and docker-compose (#1031)
- Env: Remove unused packages (#1032)
7.4.2 (2020-06-10)
Bug Fixes
Refactor
- AEX-2: Add debug option for
getHandler
. Hide unknown message logs (#1021) (22c452c) - Contract Add AENS name resolver for Contract API
7.4.1 (2020-05-30)
Bug Fixes
7.4.0 (2020-05-29)
Bug Fixes
Features
7.3.1 (2020-05-25)
Improvements
- AEX_2: Handle network switch and update state on both sides. Adjust networkId check for signing request. Add node switcher for example apps (#996)
7.3.0 (2020-05-20)
Bug Fixes
Features
- ACI: expose events decoding through Contract ACI stamp (#971) (4930635)
- AEX_2: Allow to connect without node (#991) (87b9ef9)
- AEX_2: Connect to extension from iframe (#992) (47179f7)
- Build: Expose
ACIHelpers
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)
Fix
- build Remove resolving of
minimist
usingnpx
7.2.0 (2020-03-24)
Docs
- Guide: Adjust guide for RPC Wallet/Aepp usage
Code Refactoring
- RPC: Refactor rpc-related stuff (#921)
- Build: Include amountFormatter and SCHEMA in bundle(#936)
- Examples Update examples apps
Features
- TX: Introduce new stamp
TxObject
(#933) This stamp give more flexibility on transaction serialization/deserialization process - Keystore: Allow to store secret as hex or buffer (#939)
- AEX-2: Add permission layer for account management (#937)
7.1.1 (2020-02-27)
Bug Fixes
7.1.0 (2020-02-25)
Refactor
- AEX: Simplify message id processing (#916). Pass AEEP
origin
to Wallet callback (#918) - Node: Move
getNetworkId
to helpers (#910) - ACI: Minor ACI validation improvement. Move decoding of events to builder. Add ability to decode events without ACI
Features
- ACI: Implement Contract Events for ACI(Contract Event Guide)
- Contract: Helpers for Oracle and AENS signature delegation(Signature delegation guide)
- AmountFormatter: Rework amount formatter. Change formatter units naming. Add more units (#909) (6970efe)
- TxBuilder: Integrate amount formatter to transaction builder (#897)
- Account: Implement Message Signing (
singMessage
,verifyMessage
) (#903) - AEX-2: Add
removeRpcClient
method to RpcClient/RpcWallet stamp's(#912)
7.0.0 (2020-01-31)
Bug Fixes
Features
- Chain: add new method
waitFOrTxConfirm
. Add new option { confirm: 3 } to all of high lvl SDK API. Add tests. Adjust docs (#874) (43528f9) - Compiler: Add new compiler methods API (#875) (a939395)
- network: Throw error when can not get networkId (#863) (41b7bd1)
Docs
- Guide Add 7.0.0 migration guide
- Guide: Add Oracle, AENS and Contract guides
BREAKING CHANGES
Please check out 7.0.0 migration guide
This release include all changes from 7.0.0-next.1, 7.0.0-next.2, 7.0.0-next.3
7.0.0-next.3 (2020-01-22)
Features
- aens: implement aensExtendTtl function. Refactor aensUpdate (#866) (72b073a), closes #865
aensUpdate
now accept array of 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
BREAKING CHANGES
- 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)
Bug Fixes
- codecov: Adjust codecov badge. Move @babel/runtime to dev-deps (#848) (109b851)
- AEX-2: Fix
getBrowserAPI
function for firefox (#853)
Features
- Account: Add ability to pass
keypair
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)
Documentation
- Guide: Add guide for Contract ACI usage (#852)
7.0.0-next.1 (2019-12-18)
Bug Fixes
- Contract/Chain: Using { waitMined: false } with Contract high lvl API (#828) (475c2aa)
- HdWallet: Fix derive function (#801) (6c6177d)
- Compiler: Filter compiler options
Code Refactoring
- Cross-Node: Remove cross-node compatibility code (#829) (b29a162)
- Chain: Handle time until tx is not added to mempool (#816)
- Git: Update issue template(#806)
- Flavors: Remove deprecated code (#697)
- Test: Increase code covarage (#830) (6f760fb)
Features
- Wallet<->AEPP: Add new Wallet<->Aepp communication API
Add two new stamps
RpcWallet
andRpcAepp
Example of usage you can find heere: Aepp example and Wallet example
- Wallet: Use
postMessage
for communication with extension wall… (#815) (dc7b4c2) - CI: Move to Travis CI (#809) (2d77f20)
- CI: enable daily builds on latest node and compiler and enable codecov (#820) (3c52a1e)
- ACI: Add check for contract address validity and existence. Add
forceCodeCheck
option for bytecode verification skip (#788) (c0cccc9) - Contract: Add ability to pass arguments or callData for contract
deploy/call/callStatic
API (#768) (a828076) - Contract: Adjust
fee
calculation 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)
BREAKING CHANGES
- 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)
Bug Fixes
- Channel: 5.2.0 compatibility (4be8eb8)
6.1.2 (2019-11-12)
Bug Fixes
- Composition: Chain composition (9ac705f)
6.1.1 (2019-11-12)
Bug Fixes
- ACI: Disable bytecode check for source and code on-chain. This changes will be included in next major release (#783) (fe6021b)
Features
6.1.0 (2019-11-11)
Bug Fixes
- AENS: auction end block calculation (#746) (4c1f5e4)
- AENS: Fix
produceNameId
function(Make name lowercase). Enable … (#750) (fd14225) - state channels: wait for connection to be established before sending generic message (#723) (c5f35d1)
- TxHelpers: Use BigNumber in auction end block calculation (777c012)
Features
- ACI: Add validation for contractAddress (#764) (07cb0e7)
- AENS: Add nameFee validation to TxValidator (#765) (5250e75)
- AENS: Increase default nameTtl (#775) (c5f2582)
- Contract: Add ability to pass arguments or callData for contract
deploy/call/callStatic
API (#768) (12aaca3) - Http: Assign error object to http error (#770) (87062ea)
- state channels: add round method (#763) (c950937)
- state channels: allow off chain updates to be cancelled with custom error code (#753) (ae4426e)
- state channels: allow to pass metadata to transfer update (#755) (ddc6611)
- state channels: make state channels compatible with node v5.0.0… (#688) (deed7fc), closes #632 #653 #658 #660 #680 #693 #687
- state channels: make state channels compatible with node v5.1.0… (#776) (74952aa)
6.0.2 (2019-10-31)
Bug Fixes
- name claim: Revert ignoring waitMined from user passed options (#727)
6.0.1 (2019-10-29)
Bug Fixes
6.0.0 (2019-10-16)
Code Refactoring
Features
- State Channels: make state channels compatible with node v5.0.0… (#688) (23936f5), closes #632 #653 #658 #660 #680 #693 #687
- AENS: Change tld for Lima from
aet
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)
BREAKING CHANGES
- AENS: Change
tld
for Lima from.aet
to.chain
5.0.0 (2019-10-04)
Bug Fixes
Code Refactoring
Features
- AENS: Add ability to spend by name (#682) (0d43804)
- AENS: Add ability to claim contract, oracle, SC (#671) (49fd0fd)
- GA: enbale GA (#692) (eded912)
- Lima: Lima compatibility (#683) (a88042e), closes #632 #653 #658 #660 #680 #693 #687
- AENS auction support
- compiler 4.0.0 support
- node 5.0.0 support
- SDK use
FATE
for contract by default - AE: Add pointers verification for spend by name
BREAKING CHANGES
- aci: Change Sophia option type representation in ACI
// from
await contract.methods.optionFn(Promise.resolve(1) || Promise.reject());
// to
await contract.methods.optionFn(1 || undefined);
5.0.0-next.1 (2019-09-10)
Bug Fixes
Features
- Contract/ACI Add
payable
feature - Compiler: Compiler 4.0.0 compatibility (#632) (d5f1632)
- Contract/ACI: Add ability to use contract with external namespaces(
include "someLib"
) (#653) (9708b43)
4.7.0 (2019-09-11)
Features
- Oracle: Add methods for polling queries #637
- Chain: Add
getBalance
method (#655) (15147af) - state channels: add reconnect method (#662) (9d8d1e8)
- state channels: add backchannel updates test#664
4.6.0 (2019-08-28)
Bug Fixes
- Compiler: Fix
forceCompatibility
option (26beba8)
Features
- Lima: add preliminary support for lima
- ACI/Contract: Implement static-call for deploy transaction for ACI methods/Contract low lvl API (#630) (5b7eeb4)
Notes
GA support has been disabled until further notice due to node compatibility issues This version support aeternity node up to 5.0.0-rc.1
4.5.1 (2019-08-22)
Refactor
- Example Add node info to AEPP (#620)
Bug Fixes
- GA Fix GA account composition (211e409)
4.5.0 (2019-08-20)
Bug Fixes
- Crypto: Fix
keypair
verification (#605) (83a52fb) - RPC: Remove NodePool stamp from AE composition (#612) (21af2eb)
- state channels: add missing argument in onOnChainTx callback (#604) (165cfe8)
- state channels: fix awaitingOnChainTx state handler (#608) (8b7b65a)
- Swagger: Always throw error from
axios
error handler (#607) (0e5cf61)
Features
- MemoryAccount: Add validation of keypair (#594) (b8c2b20)
- state channels: handle BigNumbers with json-bigint (#596) (14eaa3d)
- state channels: send generic messages immediately (#600) (8ad7583)
- Generalize Account Implement Generalized account support (#449)
const authContract = `YOUR_AUTH_CONTRACT`
// Make current account Generalized
await client.createGeneralizeAccount(authFnName, authContract, [...authFnArguments]
// Make spend transaction using GA
// One Way
// encoded call data for auth contract
const callData = 'cb_...'
await client.spend(10000, receiverPub, { authData: { callData } })
// or
// sdk will prepare callData itself
await client.spend(10000, receiverPub, { authData: { source: authContract, args: [...authContractArgs] } })
4.4.0 (2019-08-09)
Bug Fixes
- Package: update commander to version 3.0.0 (#597) (9aaa05c)
- Contract: Fix dry-run without account (227fc5c)
Features
- Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)
- AE: Add ability to make operation on specific account using
onAccount
option.Exm: await client.spend(1, receiver, { onAccount: 'PUBLIC_KEY' }) Add `onAccount` to `AENS`, `Contract`, `Oracle`. Add tests for using specific account to Contract, ACI, Account.
- JSON:: Add serialization to JSON for bigNumbers
- MemoryAccount: Add validation of
keypair
(#594) (b8c2b20) - State Channels: persist connection by pinging every 10 seconds (#571) (a70f919)
4.3.0 (2019-08-05)
Bug Fixes
- State Channels: Fix onChainTx event params (#566) (11c85eb)
- State Channels: Fix websocket url (#558) (33c1fd8)
- Swagger: Pass query params in case of get request (#570)
Code Refactoring
- State Channel: Do not include white space for outgoing websocket messages (#559)
Features
- ACI: Implement sophia
variant
type (#567) (8505dcf) - Contract: add ability to use call-static/dry-run without keyPair (#577) (c38edd9)
- NodePool: Implement NodePool stamp (#574) (674166c)
- State Channel: make state channel compatible with [email protected] (#568) (0d0e09b)
- TxBuilder: Add helper for producing tx hash (#579) (e1b405e)
- AE Make all AE stamps composed with Accounts (#581)
Docs
- ACI Add some additional clarification to
getContractInstance
4.2.0 (2019-07-15)
Bug Fixes
- package: update libsodium-wrappers-sumo to version 0.7.5 (#541) (956ed75)
- rpc-server: Fix type 'object' check (#526) (48c42e4)
Code Refactoring
- swagger: Speedup initialisation
- AENS: Remove unused param from claim method
- AENS: Fix exception if not waiting for mining(claim)
- Test: Add test for contract namespaces
Features
- Node: Add 4.0.0 node compatibility
- Compiler: Add compatibility with compiler 3.2.0
- Channel: Implement GA awareness of State Channels
4.1.0 (2019-06-22)
Bug Fixes
- Node: Do not throw error if
internalUrl
not provided. Instead 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)
Features
- ACI: Refactor ACI module. Split to separated files. (#505) (fb7bc00)
- Selector: If default account
address
not provided use the first - ACI: Handle ACI without init function
- ACI: Automatically decide to send transaction on-chai or call-static.
Add
options
object like last arguments of generate fn 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) //
Docs
- Usage:: Add instructions about how to include directly the
SDK
in ahtml page
4.0.1 (2019-06-13)
Bug Fixes
- RPC: Add contract contractDecodeCallResultAPI to RPC (#482) (7eb6bd8)
- README: Fix flavor link (#480)
Code Refactoring
- Compiler: Fix compiler compatibility mechanism (#479) (78cc990)
- Utils: Move json-bigint implementation to
utils
(#486) (1538867)
Build
- webpack: Add another bundle(
dist/aepp-sdk.browser-script.js
) for using in<script>
tag (#485)
4.0.0 (2019-06-12)
Bug Fixes
- Ae: Fix exception when it used without Contract stamp
Code Refactoring
- SCM: Update compatibility range for node: 3.0.1 - 4 and compiler 3.1.0 - 4 (#474) (a1494fd)
- Test: Simplify client creation
Features
- Docs chore(Docs): new docs (#370)
- Compiler: Add
getCompilerVersion
to compiler stamp - ACI: Make compatible with compiler 3.1.0 (#457) (d92f2c7), closes #458
- ACI: Generate JS function proto for each of contract function (#439) (2f47b4d)
- Compiler/ACI: Make ACI compatible with compiler 3.0.0 (#441) (2a8eb1a)
- Node: Avoid usage of "universal-url" package (#434) (a8268d5)
- TX: encode payload as base64 (#460) (ad490af)
- TX_BUILDER: Fix bug related to contract fee calculation. (#472) (7214cfb)
BREAKING CHANGES
- DOCS Restructure and rework sdk documentation
- SCM: This change will make the release not compatible with older version of the node and compiler
- ACI: Change Contract low lvl API:
- change
contractDecodeData
interface from:(type:String, data: String) => Any
to(source: String, fn: String, callValue: String, callResult:String) => Any
. (callResult
iscallType
from call result, can beok
,revert
, ...)
3.4.1 (2019-06-05)
Bug Fixes
- Deps: Update axios lib to 0.19.0 due to security issue (f951765)
3.4.0 (2019-05-22)
Bug Fixes
Features
- Transaction Builder: Improve min fee calculation(Reduce the fee) (#424)
- AXIOS: Add ability to intercept error from axios (#431)
Added additional param to sdk initialization
axiosConfig
Example:
Universal({ axiosConfig: { config: { // axios config object }, errorHandler: (err) => throw err }})
- Transaction Builder: Implement vm/abi validation for contract/oracle tx based on consensus protocol version. Add custom verification based on transaction type (#425) (#426)
3.3.0 (2019-05-17)
Bug Fixes
- AEP exampe: Fix contract in AEPP example (e2fec19) fix(AEP exampe): Fix contract in AEPP example
Features
- Consensus: Add function to get consensus version. (#413) (46027cd)
- State Channels: Make state channels compatible with aeternity 3.0.0 (#415) (668e7f1)
- Transaction Builder: Add serializations for transactions introd… (#416) (fd7b8ce)
BREAKING CHANGES
- NODE Change compatibility from
2.3.0
to3.0.0
3.2.1 (2019-05-16)
Bug Fixes
- Joi: Add
JOI
browser comparability
3.2.0 (2019-05-16)
Bug Fixes
- ACI: Add ability to pass zero address as number. (#396) (b5b5c61)
- ACI: Fix address type transformation when decoding data (#335) (e37cdfc)
- Contract: Add error handling(decoding) in low lvl contract API (#386) (e1fdce0)
- Dependencies: Use URL class instead of "url" package
- Dependencies: Use custom version of json-bigint
- Dependencies: Avoid usage of semver package and cleanup deps
- RPC: rpc client: Handle case if aepp opened without wallet
- Channels: Fix state channel test's
Features
- KEYSTORE: Add browser compatibility
- TX: Handle VM/ABI fields serialization and validation basaed on tx type and node version
- ACI: Add
contract
,address
,record
types argument/result transformation (#349) (0599d7d) - WEBPACK: webpack configs: Mark all dependencies as external
- WEBPACK: Setup webpack-bundle-analyzer plugin
- ACI: Add
Option
sophia type to ACI (#390) (83f5279) - ACI: Implement arguments validation for generic sophia types(list, map, tuple, record) (#384) (956e59e)
- ACI: Update due to compiler API changes (#331) (e047f3b)
- AE: Allow to spend % of balance. (#371) (f97a2ae), closes #336
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Aepp: Refactor Aepp example app. Allow to spend with payload and add reverse iframe approach.
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- Fortuna: Node 3.0.0 compatibility (#397) (17b78d5)
- RPC: Add
getNodeInfo
to AEPP stamp through RPC (#359) (2ddeea8) - State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156), closes #276 #299 #300 #303 #302 #279 #275 #276 #299 #300
- State Channels: Remove endpoint param (#391) (8d9ea7e)
BREAKING CHANGES
- State Channels: Endpoint param is removed and no longer defaults to "/channel". This means that "/channel" (or other path) must be appendend to url para
3.1.0 (2019-04-24)
Bug Fixes
Features
- ACI: Add
contract
,address
,record
types argument/result transformation (#349) (0599d7d) - ACI: Update due to compiler API changes (#331) (e047f3b)
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- Compiler: Add decode CallData by source/bytecode (#354) (761f36b)
- RPC: Add getNodeInfo and getNetworkId to AEPP stamp through RPC (#359) (2ddeea8)
- State Channels: Add cleanContractCalls method (#338) (778159a)
- State Channels: Ping every 10 seconds to persist connection (#324) (6d0e156)
3.0.0 (2019-04-17)
Bug Fixes
Features
- TX_BUILDER: Channel tx serializations
- TxValidator: Add minGasPrice validation to contract transactions
- ACI: Update due to compiler API changes (#331) (e047f3b)
- Aepp: Add Compiler to Aepp rpc methods. Update example app (#312) (9c72521)
- State Channels: Add cleanContractCalls method (#338) (778159a)
BREAKING CHANGES
- ACI Remove 2.0.0 compiler compatibility
2.4.1 (2019-04-17)
Features
- ACI: Add transform decoded data for 'address' type
- AEPP: Add Compiler to Aepp rpc methods. Update example app
- Channel: Add call contract static support
- Channel: Add get contract state support
- Channel: Get full channel state support
- DOCS: Adjust ACI, Contract and Usage
Bug Fixes
- HTTP: Handle no response in http stamp error handler
- Crypto: Fix crypto
formatAddress
- Crypto: Move ADDRESS_FORMAT to crypto
BREAKING CHANGES
- Channels:
channel.state()
now returns offchain state instead of last co-signed offchain 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)
Features
- 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 do
export const ADDRESS_FORMAT = {
sophia: 1, // return address like `0xHEX_ADDRESS`
api: 2, // return address like `ak_9LJ8ne9tks78hTD2Tp571f7w2MJmzQMRsiZxKCkMA2d2Sbrc4`
}
//
export { ADDRESS_FORMAT } from 'es/account'
await account.address(format: ADDRESS_FORMAT) // default ADDRESS_FORMAT.api
- Channel: Improve channel rpc usage
- Channel: Improve channel tests and error handling
- Channel: Improve state channel params handling
- Chain: Add ability to get
account/balance
on specific blockhash/height
- Universal: Add
{ compilerUrl }
toUniversal, Contract, Wallet
stamp initialization
Bug Fixes
- 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
BREAKING CHANGES
- Contract: Remove
ContractNodeAPI
stamp - Contract: Change Contract stamp API
1) Use Compiler instead of node API for encode/decode call-data and compile. 2) Change Contract interface: - contractCallStatic (address, abi = 'sophia-address', name, { top, args = '()', call, options = {} } = {}) -> (source, address, name, args = [], { top, options = {} } = {})) - contractCall (code, abi, address, name, { args = '()', options = {}, call } = {}) -> (source, address, name, args = [], options = {}) - contractDeploy (code, abi, { initState = '()', options = {} } = {}) -> (code, source, initState = [], options = {}) - contractEncodeCall (code, abi, name, args, call) -> (source, name, args) // 'source' is -> Contract source code or ACI interface source
2.3.2 (2019-03-04)
Features
- Contract: Change default
gasPrice
from1e6
to `1e9z - AEPP: Fix
AEPP
example app - Build: Force
image
pull beforebuilds
2.3.1 (2019-02-22)
Features
- 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)
Features
- 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
BREAKING CHANGES
- Node: Change supported node version range to
1.4.0 <= version < 3.0.0
- This release contain changes from: 2.3.0-next, 2.2.1-next, 2.1.1-0.1.0-next, 2.1.0
2.3.0-next (2019-02-21)
Features
- 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)
Feature
- 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)
Bug Fixes
- Chore: Fix linter errors
2.1.0 (2019-02-21)
Features
- Node:
Minerva
comparability - Utils: Add
Mnemonic
wallet implementationes/utils/hd-wallet
BREAKING CHANGES
- Node: Change supported node version range to
1.4.0 <= version < 3.0.0
2.0.0 (2019-02-21)
Features
- TX_BUILDER: Add
unpackedTx
,txType
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
Bug Fixes
- 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
BREAKING CHANGES
- 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)
Features
- 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
Changed
- Docs: Adjust doc's for
Contract
andAens
stamp's - Chore: Fix decoding of address from contract call
1.3.1 (2019-01-29)
Features
- Build: Remove KeyStore from bundle due to build issue(for now you can export it only using tree-shaking
import * as Keystore from '@aeternity/aepp-sdk/utils/keystore'
)
1.3.0 (2019-01-29)
Features
- Channel: Add support for State Channels
- TX_BUILDER: New transaction builder going through schema(build, unpack)
- TX_VALIDATOR: Add new stamp
TransactionValidator
which can verify your transaction - Chore: Rename epoch to aeternity node(docker configs, some docs)
- Tx: Use new tx builder in TX stamp
- Contract: Set default values for amount and deposit to 0 for
contract
transaction - Rpc: Improve RPC server
Notes and known Issues
- Old transaction builder
es/tx/js.js
will be removed in next major release.
1.2.1 (2018-12-21)
Features
- Chain: amount formatter
- Chain: amount format balance
client.balance('AK_PUBLICKEY', { format: true })
- Aepp: Oracle and Contracts API to Aepp stamp
- Chore: Use
prepare
instead ofpostinstall-build
(thanks @davidyuk) - Docs: Refreshed Docs: README.md + docs/usage.md
Bug Fixes
- Chr: Fix Import RLP package (thanks @davidyuk)
- Rpc: Fix for NetworkId propagation and override
- Tx: TxJS is not a stamp anymore, and instead: it exports helper functions
BREAKING CHANGES
- Tx: TxJs stamp (not a stamp anymore)
- Chain: balance now answer a formatted string composed of
AMOUNT + ' ' + unit
(eg.10 exa
for 10 AE)
Notes and known Issues
- Chore:
10 exa
should be10 ae
- Chain: format shouldn't be a flag, but a request for
unit
eg.{ format:
ae}
1.1.2 (2018-12-15)
Feature
- Chore: isAddressValid check
- Tx: Tx Fee formulas
Bug Fixes
- Rpc: Fixed networkId propagation (and overriding on init of Flavors)
- Crypto: Fixed encodeBase58Check by feeding Buffered input
BREAKING CHANGES
- Chore: Compatibility with Node >= 1.0.0 and <= 1.1.0
1.1.1 (2018-12-11)
Features
- Rpc: Added a command to remove images after CI testing
Bug Fixes
- Rpc: Fix Testing
- Rpc: Fixed Oracle error for Wallet flavor
1.1.0 (2018-12-11)
Features
- Oracle: Oracles functionality and flavor
- Aepp: Simple example of aepp-in-aepp (see
/examples
folder)
Bug Fixes
- Tx: Fixed issue with big numbers and
TX
1.0.1 (2018-11-30)
Features
- Node: ability to support Node range(s) using semver package (see https://www.npmjs.com/package/semver#ranges)
BREAKING CHANGES
- Node: Support for Node >= 1.0.0 and < 2.0.0
1.0.0 (2018-11-30)
Features
- Contract: Contract native Transactions
Bug Fixes
- BigNumber: Rolled back to bignumbers.js for easier fix with axios.get/post
BREAKING CHANGES
- 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
Notes and known Issues
- Channel: State Channels have been excluded for problems with CI, will be included in next release
0.25.0-0.1.1 (2018-11-30)
Notes and known Issues
- Chore: See [0.25.0-0.1.0]
0.25.0-0.1.0 (2018-11-30)
Features
- Utils Parsing of
fee
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
BREAKING CHANGES
- 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)
Features
- Contract Contract type checked call (Ability to call contract using contract address)
- Contract Use ES methods instead of Ramda, where possible
Bug Fixes
- Contract Fixed keystore by adding a salt param for derivedKey function
Breaking Changes
- Contract Support for < 0.25.0
- Contract Aens use domain
.test
instead of.aet
(see here) - Contract Use NETWORK_ID for signing (see here)
0.24.0-0.2.0 (2018-10-30)
Features
- Rpc RPC Client improvements
- Rpc
onContract
Guard - CLI born
- CLI
Host
parameter becameUrl
. (-u
for hostname,-U
for internal) - CLI New keystore following these specifications: https://www.pivotaltracker.com/n/projects/2124891/stories/155155204
BREAKING CHANGES
- Chore The
Cli
flavor is nowUniversal
- Chore the keypair keys changed from
{ pub, priv }
to{ publicKey, secretKey }
for consistency with other systems using them (eg. AirGap and HD Wallet)
Notes and known Issues
- Chore CLI and AE PROJECT CLI will move to a separate package
0.24.0-0.1.0 (2018-10-23)
Features
- Node Full support of Node-0.24.0
- CLI Develop
decode base58
address command 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
BREAKING CHANGES
- Node Support for < 0.24.0
- Keystore
ethereum keystore
usage will be removed in the next release - CLI CLI will move to a separate package
0.22.0-0.1.0-beta.1 (2018-10-02)
Features
- CLI Add CLI implementation
- Crypto nameId function for commitment hash calculations
- Node API endpoints to meet new Node specifications
- Tx Add Nonce calculation on SDK side
- Contract Add check for MAX_GAS in call and deploy contract
- Chore change hash prefix separator from $ to _
- Chore Add keywords ('SDK', 'CLI') to package.json
- CLI Link aecli to
./bin/aecli.js
in package.json (After "npm link" you can use CLI globally) - Aens Wait until pre-claim transaction block was mined before send claim transaction
- Build Updated
webpack
,webpack-cli
and added new dev deps accordingly - Node Add Node Compatibility Check
Bug Fixes
- Crypto Fixes commitment hash calculations in naming system, to be
Hash(nameId(name) + name_salt)
instead ofHash(Hash(name + name_salt))
.
BREAKING CHANGES
- Node Support for < 0.22.0
0.18.0-0.1.1 (2018-07-31)
Features
- Docs Lots of new documentation (prose and API)
- Docs Fancy badges to README
- Build Transitive dev dependencies for standard-loader not covered by pnpm
- Build CI Dockerfile to include pnpm
- Docs Fancy-shmancy diagram in README
- DocsGenerated documentation files since they are linked in static docs
- Build Switch from Yarn to pnpm for building
- Docs Structure of documentation
- Docs Generate Markdown from Docco
0.18.0-0.1.0 (2018-07-24)
Features
- Node Support for Node 0.18.0 (changed endpoints)
- RPC Wallet/Aepp RPC support
- Contract Contract call result decoding support
- Docs Per-module API documentation (Markdown based on JSDoc)
- Docs More API documentation (still incomplete)
- Build SDK entrypoint factories (in
/es/ae/universal.js
) - Build Module load path (src -> es)
- Chore Lower mining rate (5s) in docker-compose
Bug Fixes
- Crypto Symmetric key encryption/decryption
BREAKING CHANGES
- Node Support for < 0.18.0 (changed endpoints)
0.15.0-0.1.0 (2018-06-12)
Features
- Node Legacy Swagger file loading
- Node Compatibility with < 0.15.0
Bug Fixes
- Contract Contract unit state initialization
- Node Missing required parameter for name transfers (workaround for Swagger file bug)
0.14.0-0.1.0 (2018-06-11)
Features
- API New, opinionated top-level API
- API Rest of legacy API now uses new API as well
- API Generated API now encapsulated in
api
object - API Automatic case conversion for remote parameter names
- API Remaining tests to use new API
- API Adapted new method of obtaining transaction hash, breaks compatibility (see below)
Bug Fixes
- API [GH-49]: Handle existing path components correctly
BREAKING CHANGES
- API Remove Oracle API (for the time being)
- API Remove Legacy API and tests
- API Remove Compatibility with older versions of Node which provide the transaction hash the old way
0.13.0-0.1.1 (2018-05-24)
Features
- Node Switch to curve ed25519 (from secp256k1) to align with Node protocol changes
- Node Generate basic API directly from Swagger files, also validate input data
- Build Compiled library now self-contained with all dependencies
- Build Use Webpack 4 based cross-platform (Node/Web) compilation
- Docs Package description now reads
SDK for the æternity blockchain
- Chore Authors are now taken from
AUTHORS
instead ofpackage.json
- Docs Moved code examples from README to separate file in docs
BREAKING CHANGES
- Node Defunct scripts; will be brought back later
Bug Fixes
- Chore More consistent code examples