v2.3.0
Ledger release v2.3.0
Release date: September 22, 2023
Schemas changes
To support new use cases, we did some changes in the schemas that are not backwards compatible. Here are examples of new schemas, for reference.
Records listed here don’t represent real world use cases but only show how the schemas for records look like. If there are some inconsistencies with data, they can be disregarded.
Intent
Wallet
Bridge
Bridge Entry (prepare)
Bridge Entry (commit/abort)
Bridge signature for intent
Anchors and advices
Introduced 2 new concepts for alias directory (used in account2account process).
More about concepts:
Anchor
Advice alias-resolve (request)
Advice alias-resolve (response)
Intent expiration
- implemented intent expiration job, now intents with status
pending
will be aborted after certain amount of time is passed (by default, 1h) - added optional property
config
to ledger entities with mandatory propertyintentExpiryThresholdMinutes
config
property will be mandatory in the future, it’s optional just to be backwards compatible with existent ledgers
- To read more about intent expiration, refer to this document: About Intents Expiry
Access policies
Policies allows users to define access rules in a centralized manner and reuse them for appropriate records.
- Added policies API to the ledger
v2/policies
- Allow to reference policies in access rules
To read more about policies: About Policies
System journaling
Journaling keeps track of all incoming and outgoing requests of the ledger, including parameters and response.
- implemented requests journaling on ledger
- this feature can be disabled at server level
- implemented
minka request list
andminka request show
actions in CLI to view journaled requests of the ledgerminka request list
prompts for the usage of multiple (optional) filters
Alias bridge
Implemented Alias bridge which serves for sending SMS messages for onboarding if the target wallet is not found in the system (when doing account2phone process).
More about this in the document: About Alias Directory
Custom schemas
- implemented
schema
records to allow creating custom schemas. - added
minka schema *
commands to CLI for managing schemas - implemented validation of records using custom schemas on top of built-in schemas
- implemented validation of custom schema’s format to prevent broken schemas
- To read more about custom schemas, refer to this document: About Schemas
LUID
- added new field for all ledger records: LUID (Ledger Unique Identifier)
- allow to fetch a record either by its LUID or handle
Certification tests
- implemented certification tests for verifying if a bridge that connects to ledger is valid and functional
Other important changes
- implemented max thread size for intents. If routing creates more than 10 intents, it will be aborted
- added “accept” as valid action for the routes
- changed behavior of wallets with routes from default to “accept” and now defaults to “reject” if no matching route is found
- if the wallet doesn’t have any route, it accepts everything
- changed precision of timestamps from 6 (microsecond) to 3 (millisecond)
- improved error handling when delivering intents to bridges
- errors are signed and added as proof to the intents
- upgraded CLI libraries to decrease security errors and warnings
Improvements & Fixes
- changed
minka bridge start
(cli-bridge) to generate JWT token when connecting to ledger - fixed
changes
API to properly return changes of the requested record - fixed Cross ledger tutorial inconsistencies
Cross-ledger payments tutorial
- improved docs about JWTs
- improved error handling on bridge
Studio
N/A