Skip to content

Chore/rgb lib bfa upstream dev bfa.3 - #8

Merged
bandrivskiy merged 2 commits into
mainfrom
chore/rgb-lib-bfa-upstream-dev-bfa.3
Oct 29, 2026
Merged

bandrivskiy merged 2 commits into
mainfrom
chore/rgb-lib-bfa-upstream-dev-bfa.3

Conversation

@bandrivskiy

Copy link
Copy Markdown
Contributor

Changes

  • Upgrade the shared API/CLI dependency to rgb-lib-bfa tag v0.3.0-beta.7-upstream-dev-bfa.3 (4b78c22).
  • Remove RGB crate forks from [patch.crates-io]; use published crates.
  • Adapt wallet initialization to explicit indexer configuration and EVM RPCs keyed by eth_chain_id.
  • Update send recipients to carry invoice public keys, encryption preferences and expiration timestamps.
  • Default send expiration to the earliest invoice expiration, subtracting 10 minutes for non-donation transfers.
  • Increase the default receive duration to 7200 seconds, allowing time to initiate BFA mints. Omitted and null durations use the same default.
  • Map burn_recipient to the library’s burn reason and accept burn_reason as an alias.
  • Update response models and error mapping for mint rights and proxy protocol v1.
  • Upgrade the Docker Compose proxy to 0.4.0 and update Swagger and documentation.

Compatibility

  • Existing wallet databases from 0.3.0-beta.46-bfa are incompatible. Use a fresh data_dir; preserve existing wallet data separately.
  • Proxy deployments must support protocol v1.
  • Clients must provide the new recipient fields for proxy transfers.
  • BFA configuration requires both eth_rpc_url and eth_chain_id. The pinned library rejects BFA on Bitcoin mainnet.
  • Explicit receive durations and send expiration timestamps remain supported.

bandrivskiy and others added 2 commits October 28, 2026 11:51
BFA now ships in the published RGB crates, so the [patch.crates-io]
forks are gone. Adapt to the new rgb-lib API:

- go online with an explicit indexer config (probed as before), the
  EVM RPC keyed by chain ID (new `eth_chain_id` config) and no proxy
  auth keys; reject BFA on mainnet like rgb-lib does
- send recipients carry the invoice public key, encryption and
  expiration; the transfer expiration defaults to the earliest invoice
  expiration minus rgb-lib's 10 minute margin; our first proxy is the
  sender transport endpoint
- burn_recipient becomes rgb-lib's burn_reason (alias accepted)
- receive reserves the recipient ID on the proxy
- classify the new rgb-lib error variants
- docker-compose proxy 0.4.0 (proxy protocol v1); docs and swagger

The wallet DB history diverges from 0.3.0-beta.46-bfa: use a fresh
data_dir.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bandrivskiy
bandrivskiy force-pushed the chore/rgb-lib-bfa-upstream-dev-bfa.3 branch from 8d13a78 to 4e8f615 Compare October 28, 2026 09:53
@bandrivskiy
bandrivskiy merged commit 65e1caf into main Oct 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants