Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 32 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,31 @@ All notable changes to this project are documented here. The format follows

### Breaking

- `/wallet/sendbegin` requires `expiration_timestamp`: the recipient invoice's
absolute Unix deadline (the earliest one for a batch). A missing, past or
out-of-range value is rejected with `InvalidExpiration`.
- `/wallet/receive` invoices always expire: `duration_seconds: null` now means
the default one hour instead of "never expires".
- rgb-lib moved to `UTEXO-Protocol/rgb-lib-bfa` tag
`v0.3.0-beta.7-upstream-dev-bfa.3`. Its wallet database history diverges
from the previous `0.3.0-beta.46-bfa` tag: use a fresh `data_dir`, do not
open wallets created by the previous build. It speaks proxy protocol v1,
so the RGB proxy must be `rgb-proxy-server` 0.4.0 or later.
- BFA config needs `eth_chain_id` next to `eth_rpc_url`, and BFA is rejected on
mainnet.
- `/wallet/sendbegin` recipients carry their invoice's `public_key`,
`encryption` (default `Required`, as for an invoice without `enc`) and
`expiration_timestamp`; rgb-lib needs the key and the expiration for proxy
recipients. The transfer's `expiration_timestamp` is optional and defaults
to the earliest invoice expiration, minus 10 minutes only for non-donations.
An explicit one must be at least 5 minutes ahead and, for non-donation proxy
transfers, at least 10 minutes before the earliest invoice expiration.
- Responses follow the new rgb-lib models: BFA uses mint rights
(`MintRight` allocations, `Mint` transfers, `mint` in assignment totals)
instead of bridge and link rights; transfers gain
`sender_transport_endpoint` and lose `proxy_recipient_id`; receive data gains
`public_key`; IFA link fields are gone.
- `/wallet/burnbegin` passes `burn_recipient` to rgb-lib as the burn reason
(also accepted as `burn_reason`): 32 bytes, hex, optional `0x`.
- `/wallet/blindreceive` invoices always expire: omitted or null
`duration_seconds` uses a two-hour default. This leaves time to start a BFA
mint, which requires at least one hour remaining on the invoice. Explicit
durations are preserved.

### Added

Expand All @@ -21,7 +41,8 @@ All notable changes to this project are documented here. The format follows
- `/wallet/witnessreceive` creates an RGB invoice paid to a new output of the
sender's transaction, so the wallet needs no colorable UTXO up front. It
takes the same body as `/wallet/blindreceive`.
- Opt-in BFA support: set `bfa_enabled = true` and `eth_rpc_url` in `[wallet]`.
- Opt-in BFA support: set `bfa_enabled = true`, `eth_rpc_url` and `eth_chain_id`
in `[wallet]`.
Wallets then accept the BFA schema and validate BFA consignments against the
EVM RPC. BFA stays disabled without the opt-in.
- IFA support on every network except mainnet, where rgb-lib does not allow
Expand All @@ -30,17 +51,18 @@ All notable changes to this project are documented here. The format follows
- `/wallet/inflatebegin` and `/wallet/inflateend` create additional IFA tokens
using the wallet's inflation rights and a PSBT signed by the client.
- `/wallet/burnbegin` and `/wallet/burnend` support burning BFA and IFA assets.
BFA burns require a 32-byte `burn_recipient`, encoded as hex.
An optional 32-byte hex burn reason is accepted as `burn_recipient` or
`burn_reason`.
- `/wallet/getconsignment` returns the hex consignment of a send or burn by
`asset_id` and `txid`.

### Changed

- Responses follow the pinned rgb-lib models: `listassets` has a `bfa` group,
transfers can be `WaitingBroadcast`, allocations can be `BridgeRight` and
transfers can be `WaitingBroadcast`, allocations can be `MintRight` and
UTXOs carry `derivation_index`.
- rgb-lib pinned to tag `0.3.0-beta.46-bfa`, with its BFA RGB crate patches
mirrored in `[patch.crates-io]`.
- rgb-lib pinned to `rgb-lib-bfa` tag `v0.3.0-beta.7-upstream-dev-bfa.3`. BFA
is in the published RGB crates, so `[patch.crates-io]` is gone.

## [0.2.0] - 2026-08-03

Expand Down
Loading
Loading