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