Skip to content

Releases: aeternity/aepp-sdk-go

v9.0.0 - Iris

16 Jun 07:10
22c8b7c
Compare
Choose a tag to compare

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

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

Test

  • fix oracle (0ff2f08)
  • generate random name to don't cleanup node each run (078f642)
  • fix GA (951b02e)
  • update bob address because of lack of private key (2967e12)
  • don't connect to incompatible public testnet (d56bb06)

aepp-sdk-go v8.0.0 "Final Fantasy"

21 Jan 15:30
Compare
Choose a tag to compare

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

26 Nov 21:11
Compare
Choose a tag to compare

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

11 Nov 14:11
Compare
Choose a tag to compare

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

10 Oct 15:55
Compare
Choose a tag to compare

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

26 Sep 08:00
Compare
Choose a tag to compare

Breaking Changes

Features

Known Issues

Fixes

Supports compiler v4.0.0-rc4's extra error messages.

aepp-sdk-go v5.1.1

13 Sep 10:53
Compare
Choose a tag to compare

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

11 Sep 12:36
Compare
Choose a tag to compare

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

13 Aug 15:10
Compare
Choose a tag to compare

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

05 Jul 12:26
Compare
Choose a tag to compare

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