Releases: aeternity/aepp-sdk-go
v9.0.0 - Iris
v9.0.0 (2021-06-15)
Bug Fixes
- define items field to fix generation error (2c42678)
- define items field to fix generation error (c688250)
- revert serialisation to string of compiler models (bfbb64a)
- remove incompatible definitions (1f4d7b9)
- remove incompatible definitions (fd9ff9b)
- don't fail on getting nonce for new account (8ef7545)
- don't panic on Invalid tx (06b545a)
- big-int: add missed ContextValidate method (31b0075)
- node-error: revert removed String method (90ae4b4)
- node-error: revert removed String method (2ed984c)
- node-error: revert removed String method (ae6f6df)
Chore
- regenerate changelog (d416701)
- remove unused bytecode (25e16bf)
- setup changelog generator (113e1a4)
- bump version to 9 (2464486)
- remove extra dependencies using
go mod tidy
(03de926) - enable Iris protocol (26f720c)
- update compiler api to 6.0.0 (1fa699c)
- manually fix generic_tx.go according to readme (62fb47d)
- run generic_tx_json_fix.py (b09ee44)
- regenerate node api (e4e5daf)
- manually fix generic_tx.go according to readme (bfc7047)
- update node api to 6.0.0 (e7984a9)
- run generic_tx_json_fix.py (580ce75)
- regenerate node api (ae79858)
- update node api to 5.11.0 (9af9723)
- fix linter errors manually (2257666)
- manually fix generic_tx.go according to readme (01126e1)
- run generic_tx_json_fix.py (e4fa90f)
- regenerate node api using latest go-swagger (4cdc679)
- process node.js (9cae02a)
- update api readme (037ddbd)
- regenerate compiler api (9624325)
- update compiler api to 4.3.2 (2ca70fb)
- reformat compiler api with jq (3150369)
- regenerate compiler api using latest go-swagger (f6713eb)
- switch to a not deprecated linter package (4e223f8)
- simplify node configuration (315f5ae)
- run tests at GitHub Actions (bbce116)
- changelog: rename sections and add links (0aa5091)
Ci
- simplify configuration (672d3ba)
Code Refactoring
- drop old nodes support and compiler switch (f8ab7a5)
- fix linter errors manually (52a8066)
- fix linter errors manually (f78ad17)
- simplify Makefile (daef543)
- remove Jenkins-related report package (815a94f)
- update go version (e548512)
- update dependencies (5e71e07)
- depend on organisation fork of rlp for aeternity (8f661f0)
- update node URLs (a2648aa)
Docs
- add go-swagger version (ab5ab0d)
Test
aepp-sdk-go v8.0.0 "Final Fantasy"
Breaking Changes
Unfortunately, this will be the final release of aepp-sdk-go. I have written DESIGN.md
to allow the community to support this work.
If you have any further requests, please redirect them to the forum instead.
TxReceipt
now contains all information about a submitted transaction.
TxReceipt.Watch()
returns a value thorugh a go channel when the transaction is mined.
aeternity.WaitSynchronous()
enables the old synchronous wait behaviour, used in Context.SignBroadcastWait()
.
TTLer, Noncer
has been deprecated in favour of a single TTLNoncer
closure.
WaitTransactionForXBlocks()
is now obsolete and removed.
Features
NamePointer
previously only allowed one to point to an account_pubkey
. Now, the NamePointer type can be anything, and it also supports the canonical types account_pubkey
, oracle_pubkey
, contract_pubkey
, channel
. This is to enable AENS to be used as an arbitrary key-value store.
aeternity.Contract
higher level interface, handles contract deploying and calling. Beta quality.
aeternity.Oracle
wraps around a func(query string) (response string, err error)
, and you can now Listen()
- which means you can now build long-running oracles that will automatically respond to any incoming queries.
aeternity.AENS
- unfinished. AENS operations are not complex enough to really require a higher level interface anyway.
Known Issues
aeternity.DefaultCallResultListener
works, but may need further analysis before one can truly rely on it.
Fixes
aepp-sdk-go v7.0.1
Breaking Changes
Features
Updated ContractCallTx fee calculation for FATE contracts (cheaper)
Known Issues
Fixes
CLI account sign was not printing the base64 serialized form of the Tx before
Better documentation
aepp-sdk-go v7.0.0
Breaking Changes
To facilitate the higher level interface, the Context{}
struct has been turned into the TTLer, Noncer, TTLNoncer closure types in package transaction
.
SignBroadcastWaitTransaction()
takes an interface instead of *naet.Node
Features
Supports Node v5.0, v5.1 and Compiler v4.0
HD Wallet creation and mnemonic parsing now supported.
Higher level interface in aeternity/contracts.go
, aeternity/aens.go
.
CreateContract()
lets one deploy a contract with minimum fuss, handling the transaction sending as well.
RegisterName()
handles AENS name registration for names that are not subject to the AENS name bidding procedure (>13 characters).
Known Issues
GAMetaTx fee calculation does not take into account the fees of wrapped transactions.
Fixes
OracleTx transaction fee calculation was inaccurate.
Oracles have an ABIVersion, not VMVersion as incorrectly named.
aepp-sdk-go v6.0.0
Breaking Changes
package aeternity
has been split up into naet
, aeternity
, account
, config
, binary
, transactions
to make it more Go-ish and enable proper use of Go documentation facilities.
Features
Node v5.0.0-rc4 support
Compiler v4.0.0-rc5 support
Accurate Transaction Fee calculation with unittests. See transactions.go:CalculateFee()
. Future versions may roll this functionality into the New*Tx() constructors.
Documentation and code examples for various operations
Known Issues
GA does not work because it is disabled on the node front because error messages from the contract may get included in consensus.
Fixes
big.Int
and *big.Int
were passed around in some places. Standardized on only passing *big.Int
TransactionTypes
map from RLP code to actual transaction type was being overwritten in some cases. Fixed.
aepp-sdk-go v5.1.2
Breaking Changes
Features
Known Issues
Fixes
Supports compiler v4.0.0-rc4's extra error messages.
aepp-sdk-go v5.1.1
Breaking Changes
Features
Known Issues
Fixes
Using aepp-sdk-go
with go modules should work now. Previously, as a module, import paths were using v1 of aepp-sdk-go
.
aepp-sdk-go v5.1.0
Breaking Changes
Context.ContractCreateTx()
no longer takes a GasPrice argument, because it is fixed by protocol.
Compiler v4 support - won't work with compiler v3
Features
SignBroadcastWaitTransaction()
simplifies transaction handling after you have created your transaction.
Helpers replaced by closures for TTL, Account Nonce getting - see Generate*
functions in helpers.go
Known Issues
GA Transactions won't work - disabled on the node anyway.
Fixes
Gas
has been renamed to GasLimit
- a better name for its true meaning
BigInts JSON marshaling was not working - thanks smirkcat
CLI chain play
was supposed to print contents of microblocks too - thanks smirkcat
Many code cleanups
Better documentation for https://godoc.org/github.com/aeternity/aepp-sdk-go/aeternity
aepp-sdk-go v5.0.0
Breaking Changes
Signing functions accept Tx structs, not RLP serialized input
Features
Generalized Accounts support
Contract{}
struct helps you analyze cb_
compiled smart contract blobs
tx_
transactions can now be deserialized into their Tx{}
structs, allowing you to inspect and change their values.
SpendTx helper on Context{}
Known Issues
aeternity.WaitForTransactionUntilHeight() won't work with GA transactions because the node does not expose them via swagger yet.
decodeCalldata/Compiler.DecodeCalldata() does not work because the swagger description file was missing a required function (will be fixed with the next compiler release)
Fixes
JSON serialized Tx structs had big.Int always serialize to 0. Fixed.
SpendTx Payload should actually be a bytearray
aepp-sdk-go v4.0.0
Breaking Changes
HTTP client to the node is now named Node instead of Client. Its methods have dropped the API prefix, e.g. Client.APIGetStatus() -> Client.GetStatus()
The helper structs are gone, replaced with a Context{}, which holds the connection to the node Node{} and an Address (string).
e.g.
before
aens := Aens{Client: nodeConnection, Account: alice}
oracle := Oracle{Client: nodeConnection, Account: alice}
tx, err := aens.NameRevokeTx('fdsa.test')
tx2, err := oracle.OracleRegister(...)
after
c := Context{Client: nodeConnection, Address: aliceAddress}
tx, err := c.NameRevokeTx('fdsa.test')
tx2, err := c.OracleRegister(...)
NameRevokeTx() helper does not need an address, so its signature changed.
Features
Preliminary smart contract support: Supports the compiler v3.1.x, you can call its HTTP endpoints via the SDK.
CLI now supports a few contract subcommands: aecli contract compile/decodeCalldata/encodeCalldata.
You can change which compiler to connect to with the flag --compiler-url.
Known Issues
Cannot parse ContractTxs from the node because the node returns VMVersion, ABIVersion as a string instead of an integer
decodeCalldata/Compiler.DecodeCalldata() does not work because the swagger description file was missing a required function (will be fixed with the next compiler release)
Fixes
aecli chain top does not crash anymore
Use custom fork of RLP library