Releases: ixofoundation/ixo-blockchain
Releases · ixofoundation/ixo-blockchain
v0.12.3
v0.12.2
v0.12.1
#150
Transactions, signatures, encoding:
- Now using StdSignature and StdTx.
- Switched to Cosmos SDK txs routes.
- Added /txs/decode endpoint.
- Set GetSigners() to lists of nil.
- Removed extra txs code.
DIDs:
- Removed extra credentials from did/AddDid.
Projects:
- MsgCreateProject replaced by ProjectDoc as StoredProjectDoc.
- ProjectDoc is now fully flexible (map[string]json.RawMessage), except expected evaluatorPayPerClaim.
- Switched to GenesisAccountMap for genesis due to unmarshalling issues.
#159
v0.12.0
#70
Main accomplishments:
- Added 'treasury' module with a DID-based send message and oracle mint/burn/transfer messages
- Added 'oracle' module with a list of genesis Oracles identified by DID, each with a list of token capabilities
- Fixed project funding, which now checks the balance of the project account
- Removed redundant params module. Params are now in the fees module
- Addresses in project account map now valid length and queryable
- Fixed genesis import/export for multiple modules
- Now using 'ixo' as the primary bech32 prefix for addresses
- Added possibility to broadcast hex-encoded transactions via the REST server
- Added transaction broadcasting (RPC and REST) demos
- Demos are are much more comprehensive in general
Cleanup:
- Cleanup and changes towards Cosmos SDK best practices
- Removed lots of ethereum-related code
- Removed extra contracts module
- Removed extra codec.go files and standardised
- Removed extra jsonhelper.go
Other:
- Added helper IxoSignAndBroadcast to did module (from project module)
- Added 'yaml' tags to any struct
- Scripts now use a 'did:ixo:' prefix for DIDs
- Updated Makefile
#116
General:
- Standardised CLI function checks for number of args (#92)
- Standardised CLI function naming (#80)
- Cleanup and refactoring
- Fixed+updated demo scripts (#118)
- Globalised message Type() return values (#135)
- Removed extra ProjectMsg type
- Reorganised files and functions found under client/ folder
- Can now query tx from cli (this solves a part of #76) (#140)
- Moved a lot of did code to did module, mostly due to invalid import cycles, but also because it makes sense (#140)
Signatures/Signing (#118,#129, #140):
- Now using
msg.GetSignBytes()
to get sorted message sign bytes (#111,#129)- As a result of this, the SignBytes field was removed from each message
- Centralised AnteHandler in ixo module and added GetPubKeyGetter to each module
- AnteHandler now expects full StdSignBytes (incl. chain ID, acc num, acc seq, fee, msgs, memo), obtainable from new
/sign_data
endpoint
- AnteHandler now expects full StdSignBytes (incl. chain ID, acc num, acc seq, fee, msgs, memo), obtainable from new
- Centralised IxoSignAndBroadcast in ixo as signAndBroadcast.
- Centralised UnmarshalSovrinDid in ixo module.
- Centralised String/DidToAddr in ixo module.
- Created IxoMsg as a centralised interface with GetSignerDid()
- Bonds module: Bond creator/editor is now the signer.
- Bonds module: Editor signature now valid even if not editor is not creator. This is then enforced the handler.
- Changed IxoSignature to []byte (like StdSignature)
- More use of standard ed25519 packages
- Added MarshalYAML for IxoSignature (1570d64)
Transactional fees and gas (#118,#129):
- Newly centralised AnteHandler now charges transactional fees
- Adapted CLI signAndBroadcast to use StdSignMsg for fees and message support
- Adapted REST signAndBroadcast to use StdSignMsg but with automatically deduced gas
- Project module: moved project account creation to project creation, for more consistency in charged fees when creating evaluations. Otherwise the first evaluation incurs extra fees to create the necessary accounts for the first time.
- Can now use
--gas=auto
and--dry-run
from the CLI to estimate gas and simulate transactions Added/txs_auto_gas
endpoint for REST which automatically deduces the required gas, if the fee was excluded from the broadcasted transaction.From external components, this endpoint will have to be used now, given that we're charging transaction fees. Otherwise, the fee can be specified when using/txs
.
- Added
/sign_data
endpoint to get full StdSignBytes and estimate gas fee.- Fee for project creation has been fixed to 1,000,000 tokens (via the new special-purpose ProjectCreationAnteHandler)
- Implemented consumeSimSigGas (like Cosmos SDK)
Payments module (previously Fees module):
- Implemented new payment functionality (#106), including
- Three main types:
PaymentTemplate
,PaymentContract
,Subscription
- Other types:
Discount
,Period
(TimePeriod
andBlockPeriod
),Distribution
- User actions:
PaymentTemplate
/PaymentContract
/Subscription
creation,PaymentContract
(de)authorisation, grant/revoke discounts, charge fee - Queries: for specific
PaymentTemplate
,PaymentContract
,Subscription
- Three main types:
- Added payments module data to
add_dummy_testnet_data.sh
- Added payments module demo script with samples
getFees
query is nowparams
, as per Cosmos SDK best practices- Fees module keeper testing
- Renamed module to
payments
module
DIDs:
- Changed
nil
DidDoc Credentials to empty slices - Added custom unmarshal function for
MsgAddDid
- Renamed sovrin types to ixo (#140)
Pubkeys (#140):
- Now using pubkey stored in did docs
Bonddoc module (#142):
- Removed