Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
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 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
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