Releases: lightninglabs/taproot-assets
v0.3.0-alpha.rc2
Changes from rc2
- make: enable monitoring build tag by default for release builds by @guggero in #570
- docs+README: add mainnet safety guidelines by @guggero in #569
- tapcfg: fix defaults for testnet universe courier by @Roasbeef in #580
- tapcli: expose universe sync config settings by @jharveyb in #568
- tapdb: populate proof type when fetching uni roots by @Roasbeef in #584
What’s new
- Automatically generated test vectors for all TLV encodings and MS-SMT tree and virtual machine logic
- Chain re-organization protection and automatic proof re-generation
- Add ability to burn assets
- Asset-level coin locking/leasing
- Fully implemented Multiverse tree structure to support syncing both issuance and transfer proofs
- New type of proof courier: Universe RPC courier, transfers proofs from sender to recipient via any public or private universe server
- Proof courier type and server address can now be specified
- Prometheus metrics export support
- Added load test utility for generating asset mints and transfers on
regtest
- Improved universe sync speed by batching database calls
- Easy distinguishability between proof files and individual proofs with magic byte prefixes
- Future proof all data structures by adding version fields
- Tapscript support for group keys to enable richer reissuance workflows
- Enable mainnet as a supported Bitcoin network for
tapd
- Many many bugs fixed and a lot of code cleaned up
RPC changes
- Support for exporting and importing proofs for individual transfers to/from Universes
- The
DecodeProof
RPC now supports both proof files and individual proofs - Support for custom asset metadata types
- Metadata is limited to 1 MiB
- Statistics on the total number of issuances and asset groups for Universe servers
- Better information in the Universe individual asset statistics RPC responses
- Added more information on the minting RPC calls, can now see assets in batch and correct batch state
- Runtime configuration of universe sync settings
- Asset related RPCs now have the asset’s version as a new field
- Proof related Universe RPC calls now expect a proof type alongside the ID to distinguish between issuance and transfer proofs
Migration from previous versions
- There is no migration path, you HAVE to start with a fresh data directory by completely deleting the
~/.tapd
directory. - The public Lightning Labs Universe server was reset as well, all assets minted before
v0.3.0-alpha
cannot be used anymore - This is the last breaking version, all assets minted with
v0.3.0-alpha
and later will be working in all future versions - The
ImportProof
RPC call is now only available in development mode, since transferring proofs over private Universe servers is now possible and should be used - Issuance proofs now have two new fields, one for the genesis reveal and one for the group key reveal
Notes on mainnet
Starting with the release of version v0.3.0
the daemon does support the Bitcoin mainnet
.
IMPORTANT NOTE: To avoid loss of funds, it's imperative that you read the Operational Safety Guidelines before using tapd
on mainnet
!
The daemon is still in alpha
state, which means there can still be bugs and not all desired data safety and backup mechanisms have been implemented yet.
Releasing on mainnet
mainly signals that there will be no breaking changes in the future and that assets minted with v0.3.0
will be compatible with later versions.
Changelog (auto generated)
What's Changed
- taprpc: fix api docs generator hint by @guggero in #411
- cmd/tapcli: add universe info sub command by @guggero in #413
- Preliminary refactor in preparation for adding multiverse support by @ffranr in #346
- multi: add test vectors for asset/address/proof/PSBT TLV encoding and VM/MS-SMT validation by @guggero in #326
- Move importproof RPC endpoint into new tapdev RPC server by @ffranr in #420
- multi: use filepath instead of path to support Windows by @guggero in #422
- GitHub: add automated docker build on tag push by @guggero in #425
- tappsbt: fix incorrect test vectors by @guggero in #429
- re-org safety: preparatory commits by @guggero in #424
- Multiverse fetch/register issuance by @ffranr in #416
- Fix REST parameter issue in GET call by @guggero in #445
- Rename universe forest instances to multiverse by @ffranr in #447
- wallet: add asset coin locking by @guggero in #431
- re-org safety: watch asset transactions and re-create proofs when necessary by @guggero in #419
- Update README.md by @Liongrass in #454
- address: add and populate proof courier addr field in Tap address by @ffranr in #450
- monitoring: add prometheus metrics collector by @positiveblue in #452
- Cleanup proof courier addr by @ffranr in #463
- GitHub: use maintained version of docker layer cache action by @guggero in #471
- itest: abstract the mint batch stress test by @positiveblue in #457
- Chain porter proof courier service initialised using configurable address by @ffranr in #459
- Fix regeneration of static proof files by @guggero in #481
- Small fixes in freighter and wallet by @guggero in #482
- Fix proof courier in integration test by @guggero in #484
- tapdb: allow batch inserting proofs when syncing universe, remove write lock for RegisterIssuance by @guggero in #449
- build: update to Go 1.21.0 by @Roasbeef in #474
- rpcserver: validate rpc requests by @positiveblue in #489
- Fix docker build by @guggero in #491
- Rename aperture courier type to hashmail courier type by @ffranr in #493
- proof: add magic bytes to individual proofs and proof files by @guggero in #488
- tapfreighter: validate proof courier address before commencing send by @ffranr in #497
- Implement sorting functionality and add total_supply for Universe Ass… by @ben2077 in #485
- CLI: Improve minting user experience by @guggero in #492
- Add version field to Tap address by @ffranr in #501
- mssmt: fuzz test for CompressedProof by @Crypt-iQ in #505
- Provable asset burning by @guggero in #477
- Add multiverse RPC proof courier by @ffranr in #473
- multi: add address version to database by @guggero in #509
- proof: fuzz test for File and Proof by @Crypt-iQ in #504
- multi: add CLI flag to enable public access to uni proof courier RPCs by @ffranr in #499
- proof: fix unnecessary trailing newline by @ffranr in #519
- tapgarden: pre proof retrieval delay respects context done signal by @ffranr in #516
- tapgarden: enhance Seedling.validateFields() doc and remove TODO by @ffranr in #521
- Generalise multiverse method names to support all proofs. by @ffranr in #496
- Sanitise asset name by @ffranr in #518
- universe: update pushProofToFederation to make sure all servers are tried by @Roasbeef in #528
- Backoff procedure erroneously resumed between two different send events by @ffranr in #529
- build: update sqlite+sqlc versions by @Roasbeef in #531
- tapdb: fix time zone issue with timestamps by @guggero in #532
- itest: add perf testing bi...
v0.3.0-alpha.rc1
What’s new
- Automatically generated test vectors for all TLV encodings and MS-SMT tree and virtual machine logic
- Chain re-organization protection and automatic proof re-generation
- Add ability to burn assets
- Asset-level coin locking/leasing
- Fully implemented Multiverse tree structure to support syncing both issuance and transfer proofs
- New type of proof courier: Universe RPC courier, transfers proofs from sender to recipient via any public or private universe server
- Proof courier type and server address can now be specified
- Prometheus metrics export support
- Added load test utility for generating asset mints and transfers on
regtest
- Improved universe sync speed by batching database calls
- Easy distinguishability between proof files and individual proofs with magic byte prefixes
- Future proof all data structures by adding version fields
- Tapscript support for group keys to enable richer reissuance workflows
- Enable mainnet as a supported Bitcoin network for
tapd
- Many many bugs fixed and a lot of code cleaned up
RPC changes
- Support for exporting and importing proofs for individual transfers to/from Universes
- The
DecodeProof
RPC now supports both proof files and individual proofs - Support for custom asset metadata types
- Metadata is limited to 1 MiB
- Statistics on the total number of issuances and asset groups for Universe servers
- Better information in the Universe individual asset statistics RPC responses
- Added more information on the minting RPC calls, can now see assets in batch and correct batch state
- Runtime configuration of universe sync settings
- Asset related RPCs now have the asset’s version as a new field
- Proof related Universe RPC calls now expect a proof type alongside the ID to distinguish between issuance and transfer proofs
Migration from previous versions
- There is no migration path, you HAVE to start with a fresh data directory by completely deleting the
~/.tapd
directory. - The public Lightning Labs Universe server was reset as well, all assets minted before
v0.3.0-alpha
cannot be used anymore - This is the last breaking version, all assets minted with
v0.3.0-alpha
and later will be working in all future versions - The
ImportProof
RPC call is now only available in development mode, since transferring proofs over private Universe servers is now possible and should be used - Issuance proofs now have two new fields, one for the genesis reveal and one for the group key reveal
Notes on mainnet
Starting with the release of version v0.3.0
the daemon does support the Bitcoin mainnet
.
IMPORTANT NOTE: To avoid loss of funds, it's imperative that you read the Operational Safety Guidelines before using tapd
on mainnet
!
The daemon is still in alpha
state, which means there can still be bugs and not all desired data safety and backup mechanisms have been implemented yet.
Releasing on mainnet
mainly signals that there will be no breaking changes in the future and that assets minted with v0.3.0
will be compatible with later versions.
Changelog (auto generated)
What's Changed
- taprpc: fix api docs generator hint by @guggero in #411
- cmd/tapcli: add universe info sub command by @guggero in #413
- Preliminary refactor in preparation for adding multiverse support by @ffranr in #346
- multi: add test vectors for asset/address/proof/PSBT TLV encoding and VM/MS-SMT validation by @guggero in #326
- Move importproof RPC endpoint into new tapdev RPC server by @ffranr in #420
- multi: use filepath instead of path to support Windows by @guggero in #422
- GitHub: add automated docker build on tag push by @guggero in #425
- tappsbt: fix incorrect test vectors by @guggero in #429
- re-org safety: preparatory commits by @guggero in #424
- Multiverse fetch/register issuance by @ffranr in #416
- Fix REST parameter issue in GET call by @guggero in #445
- Rename universe forest instances to multiverse by @ffranr in #447
- wallet: add asset coin locking by @guggero in #431
- re-org safety: watch asset transactions and re-create proofs when necessary by @guggero in #419
- Update README.md by @Liongrass in #454
- address: add and populate proof courier addr field in Tap address by @ffranr in #450
- monitoring: add prometheus metrics collector by @positiveblue in #452
- Cleanup proof courier addr by @ffranr in #463
- GitHub: use maintained version of docker layer cache action by @guggero in #471
- itest: abstract the mint batch stress test by @positiveblue in #457
- Chain porter proof courier service initialised using configurable address by @ffranr in #459
- Fix regeneration of static proof files by @guggero in #481
- Small fixes in freighter and wallet by @guggero in #482
- Fix proof courier in integration test by @guggero in #484
- tapdb: allow batch inserting proofs when syncing universe, remove write lock for RegisterIssuance by @guggero in #449
- build: update to Go 1.21.0 by @Roasbeef in #474
- rpcserver: validate rpc requests by @positiveblue in #489
- Fix docker build by @guggero in #491
- Rename aperture courier type to hashmail courier type by @ffranr in #493
- proof: add magic bytes to individual proofs and proof files by @guggero in #488
- tapfreighter: validate proof courier address before commencing send by @ffranr in #497
- Implement sorting functionality and add total_supply for Universe Ass… by @ben2077 in #485
- CLI: Improve minting user experience by @guggero in #492
- Add version field to Tap address by @ffranr in #501
- mssmt: fuzz test for CompressedProof by @Crypt-iQ in #505
- Provable asset burning by @guggero in #477
- Add multiverse RPC proof courier by @ffranr in #473
- multi: add address version to database by @guggero in #509
- proof: fuzz test for File and Proof by @Crypt-iQ in #504
- multi: add CLI flag to enable public access to uni proof courier RPCs by @ffranr in #499
- proof: fix unnecessary trailing newline by @ffranr in #519
- tapgarden: pre proof retrieval delay respects context done signal by @ffranr in #516
- tapgarden: enhance Seedling.validateFields() doc and remove TODO by @ffranr in #521
- Generalise multiverse method names to support all proofs. by @ffranr in #496
- Sanitise asset name by @ffranr in #518
- universe: update pushProofToFederation to make sure all servers are tried by @Roasbeef in #528
- Backoff procedure erroneously resumed between two different send events by @ffranr in #529
- build: update sqlite+sqlc versions by @Roasbeef in #531
- tapdb: fix time zone issue with timestamps by @guggero in #532
- itest: add perf testing binary by @positiveblue in #487
- Generalise universe structs/methods/variables to support transfer proofs in addition to issuance proofs by @ffranr in #534
- Group key witness support by @jharveyb in #490
- multi: merge staging branch into main by @Roasbeef in #542
- tapgarden: use lru.Cache for various new group caches by @Roasbeef in #543
- build: update to lnd 0.17.0 by @Roasbeef in h...
tapd v0.2.3-alpha
What's Changed
- script: pin GOAMD64 for release builds by @jharveyb in #380
- Initialize github issue template by @dstadulis in #353
- Remove lnd references in user-visible issue copy by @dstadulis in #385
- rpc: fix AssetWallet REST API endpoints not found by @rkedez in #388
- QueryAssetStats and UniverseStats no auth client access by @ffranr in #393
- Add block height to asset mint proof by @ffranr in #389
- tapcli: fix flag checking for universe proof cmds by @jharveyb in #397
- Add CLI flag to skip authentication for stats related RPC endpoints by @ffranr in #398
- Improve universe stats by @guggero in #396
- Add proof block height verification by @ffranr in #400
- rpcserver: add missing merkle root and tapscript sibling fields to DecodeProof RPC by @guggero in #408
- version: bump version to v0.2.3-alpha by @guggero in #409
New Contributors
- @dstadulis made their first contribution in #353
- @rkedez made their first contribution in #388
Full Changelog: v0.2.2...v0.2.3
tapd v0.2.2-alpha
There was no v0.2.1-alpha
release, due to a build issue we had to skip that version and go directly to v0.2.2-alpha
.
Release notes (auto generated)
What's Changed
- cmd/tapcli: use proper default tapd directory by @Roasbeef in #281
- Add Signet support by @sputn1ck in #284
- getinfo rpc request by @amovfx in #220
- multi: expose FetchAssetMeta on the cli by @Roasbeef in #280
- build: add prod docker file for official builds by @Roasbeef in #310
- itest: support multiple proof courier service types by @ffranr in #279
- commitment: add asset type field to asset commitment structure by @ffranr in #278
- tapcfg: update default testnet universe port by @guggero in #316
- Use hex encoding for raw bytes in REST API by @guggero in #286
- multi: replace deprecated uses of "io/ioutil" with "os" by @ben2077 in #321
- BIP: re-add submodule for BIPs, remove local copy from docs folder by @guggero in #318
- caretaker: make batch state atomic by @jharveyb in #323
- mint: fix REST encoding of mint RPC by @guggero in #319
- tapdb: properly set max connections for postgres by @Roasbeef in #336
- universe: fix potential loop scoping bugs, add additional debug logging by @Roasbeef in #338
- tapdb: use the serializable isolation by default for postgres by @Roasbeef in #334
- address+tapdb: rename field: Tap.Version -> Tap.AssetVersion by @ffranr in #342
- taprpc: remove
js
build tag fortaprpc
,assetwalletrpc
&universerpc
by @ViktorTigerstrom in #349 - tapdb/universe: fix universe event logging for grouped assets by @Roasbeef in #348
- tapfreighter: resume pending parcels using the main porter goroutine by @ffranr in #358
- cmd/tapcli: add asset ownership proof sub commands by @guggero in #359
- universe: RPC fixes by @jharveyb in #328
- itest: basic send test re-uses the same recv address for multiple sends by @ffranr in #351
- itest: resume pending package send by @ffranr in #365
- Fix universe sync test by @guggero in #366
- itest: fix for-loop indexing by @ffranr in #371
- Asset metadata overwrite fix by @guggero in #370
- rpc+tapcli: Implement method to decode proofs into human-readable format by @habibitcoin in #181
- WIP: Universe root deletion RPC by @jharveyb in #335
- itest: add optional 10k asset test by @jharveyb in #325
- tapcfg: ensure log rotator created after config validation by @Roasbeef in #369
- universe: add server info RPC, check we're not connecting to ourselves by @guggero in #364
- version: bump version to v0.2.1-alpha by @jharveyb in #373
- multi: fix aperture config + bump golang version by @jharveyb in #375
- Fix multiple small issues with release, prepare for 0.2.2-alpha by @guggero in #378
New Contributors
- @sputn1ck made their first contribution in #284
- @amovfx made their first contribution in #220
- @ben2077 made their first contribution in #321
- @ViktorTigerstrom made their first contribution in #349
- @habibitcoin made their first contribution in #181
Full Changelog: v0.2.0...v0.2.2
tapd v0.2.0-alpha
Release notes (auto generated)
What's Changed
- multi: bump lnd to v0.16.0-beta.rc1 and other dependencies to fix dependabot complaints by @guggero
- DB update and reissuance test bugfix by @jharveyb
- tarodb/tarocfg: remove unnecessary type param arguments by @Roasbeef
- multi: remove all unnecessary type param arguments by @positiveblue
- Re-anchor passive assets by @ffranr
- rpc: asset amounts use type uint64 by @ffranr
- minting: Add Finalize, Cancel, and ListBatches methods by @jharveyb
- make: add unit-debug and unit-trace targets by @guggero
- replace legacy comment references to Pool client by @dstadulis
- Add underflow protection to VM split sanity check by @ffranr
- MS-SMT sum overflow checks by @ffranr
- rpc: turn UNKNOWN batch state into err, move mint related RPCs into mintrpc package by @guggero
- RPC asset amount overflow checks by @ffranr
- multi: remove existing meta field in asset TLV to replace w/ meta hash optionally revealed in genesis minting proof by @Roasbeef
- universe: add initial database and API support for base universe publish+boostrap # by @Roasbeef
- psbt script spend [4/3]: interactive full value send and DB refactor by @guggero
- tarodb+sqlite: fix concurrency related config and access patterns for sqlite by @Roasbeef
- update interactive PSBT integration tests with passive assets coverage by @guggero
- build: enable module cache for linter by @jharveyb
- tarorpc: add new gRPC service for initial Universe API by @Roasbeef
- itest: rename for clarity: assertReceiveComplete -> assertNonInteractiveRecvComplete by @ffranr
- tarogarden: fix spurious itest failures by ignoring context.Cancelled by @Roasbeef
- multi: remove genesis boostrap from addresses, use asset ID only by @Roasbeef
- multi: clarify comments by @ffranr
- Support Tapscript siblings in anchor outputs by @guggero
- commitment+script: add func: AssetCommitment direct asset retrieval by @ffranr
- bip: create PSBT BIP draft, fix BIP32 derivation encoding in vPSBT by @guggero
- Fix asset commitment group handling by @jharveyb
- Virtual packet populated with multiple input assets by @ffranr
- rpc: add optional Let's Encrypt integration for RPC server by @Roasbeef
- Stop export of IsValidInput now that multi input validation exists by @ffranr
- add multi address send RPC and itest by @guggero
- freighter+psbt: organize taro commitments by virtual input index by @ffranr
- address: add full tapscript sibling support when sending to address by @guggero
- multi: allow
tarod
to start as a subserver by @positiveblue - Adjust and update README.md by @Liongrass
- Minting multi asset groups by @jharveyb
- multi input spend: non-interactive, homogeneous asset IDs by @ffranr
- universe: add new federation envoy for managing federated universe sync by @Roasbeef
- tarocfg: set proof transfer receiver ack timeout to 10 seconds by @ffranr
- multi: add inputs organisational struct for NewSplitCommitment by @ffranr
- itest: add more test cases that use grouped assets by @guggero
- proof: move proof receiver ack detection into backoff procedure by @ffranr
- Convert
IsSplitRoot
into type to be more informative by @guggero - proofs: add new RPC call that allows users to generate+verify an asset ownership proof by @guggero
- universe: add asset name to universe roots by @guggero
- tarodb: add new tables+queries for aggregate universe stats by @Roasbeef
- itest: add test: receiver can receive after multi failed send attempts by @ffranr
- build: add reproducible build scripts by @guggero
- multi: bump golang version to 1.19.9 by @jharveyb
- CLI fixes: 'batches' moved under mintin + flag parsing fix by @jharveyb
- tarocli: fix deleting universes from federation by @jharveyb
- tarorb: wrap error when adding duplicate universe by @jharveyb
- BIP updates by @guggero
- Rename to Taproot Assets by @guggero
- taprpc: fix CLI commands in proto comments by @jamaljsr
- multi: final touches before next release by @Roasbeef
- docs/bip-taro: add universe BIP by @Roasbeef
- build: bump version to v0.2-alpha by @Roasbeef
- version: bump version to v0.2.0-alpha.rc1 by @guggero
tarod v0.1.1-alpha
This marks the first minor release of the v0.1.x
series. This release includes a series of bug fixes, and also enables two new milestones for sending assets:
- The ability to send "full value assets". This means if you have 10 units of an asset, you can now send those 10 units to another party w/o a change address/split.
- The ability to send collectibles. This is effectively a special case of the above, where the amount is always 1.
There've been a series of breaking changes to the SQL table schema, as well as the various TLV encoding formats. Before updating, users will need to wipe their local storage.
What's Changed
- tarodb: fix data races in unit tests by @jharveyb in #153
- multi: list asset transfers through RPC + cli by @bhandras in #158
- cmd: fix import/export from file, allow stdin/stdout to be used by @guggero in #157
- mutli: fix surpuious timeout due to incorrect quit/wait usage, make usage more consistent by @Roasbeef in #154
- docs: clarify the necessary build tags for lnd in README/Prerequisites by @FelixWeis in #161
- tarofreighter: fix semantic error when accounting for fee delta by @Roasbeef in #155
- multi: refactor proof file format by @guggero in #134
- multi: properly read split commitment roots from disk, eliminate unwarranted input asset mutation by @Roasbeef in #156
- gitignore: ignore IDEA editor config by @halseth in #166
- gitignore: ignore itest log files by @halseth in #169
- taroscript: add add more error context to IsValidInput by @Roasbeef in #173
- Wrap math.MaxInt64 in int64() for 32-bit cross-compilation by @jacohend in #167
- build: get binary build info from
debug/buildinfo
by @positiveblue in #170 - SendAsset: Correct receiver output index by @halseth in #168
- multi: fix input pkscript construction, add round trip spend test by @jharveyb in #172
- multi: support non-interactive full-value sends by @jharveyb in #159
- multi: run make fmt by @halseth in #183
- Add Docker Support by @mroxso in #179
- update readme: remove 🍠 emoji from commands by @airlacodes in #162
- tarodb: fix bug in asset coin selection related to key families by @Roasbeef in #182
- multi: encode/decode keys with their parity byte by @jharveyb in #187
- tarodb: add
chain_fees
tochain_txns
by @positiveblue in #184 - multi: support non-interactive collectible sends by @jharveyb in #176
New Contributors
- @FelixWeis made their first contribution in #161
- @halseth made their first contribution in #166
- @jacohend made their first contribution in #167
- @positiveblue made their first contribution in #170
- @mroxso made their first contribution in #179
- @airlacodes made their first contribution in #162
Full Changelog: v0.1.0-alpha...v0.1.1-alpha
tarod v0.1.0-alpha
What's Changed
- bip-taro: propagate rename of asset script hash to keys in addr bip by @Roasbeef in #13
- mssmt: Add MS-SMT implementation by @wpaulino in #12
- build: add basic Github Actions CI by @Roasbeef in #26
- asset: Introduce Asset struct with leaf TLV encoding by @wpaulino in #14
- mssmt: Add CompressedProof serialization by @wpaulino in #29
- commitment: Add support for minting new Taro commitments by @wpaulino in #23
- multi: create initial daemon+cli project scaffolding by @Roasbeef in #28
- multi: introduce sqlc to project, create sqlite3 based macaroon root key storage, add proper macaroon validation by @Roasbeef in #30
- multi: typo fixes by @bhandras in #40
- tarodb: use the golang-migrate library for schema creation by @Roasbeef in #38
- multi: concretely define split commitments, add routines to generate+verify them by @Roasbeef in #52
- asset+commitment: add new genesis signer interface, use KeyDescriptors everywhere by @Roasbeef in #51
- tarodb+sqlc: update sqlc version, add pragma option scaffolding, active WAL+foreign keys, catch migration error by @Roasbeef in #50
- commitment: fix pointer comparison of family keys by @bhandras in #53
- vm: Implement Taro VM based on initial script version by @wpaulino in #27
- tarodb+tarogarden: add new sub-systems for batched asset minting by @Roasbeef in #46
- asset+commitment: bind to output_index and asset_type in asset ID and asset key family by @guggero in #49
- address: Address type and encoding by @jharveyb in #55
- multi: Commitment updating and exported CommitmentKey functions by @jharveyb in #56
- assets: use lnd's new Schnorr signing API to sign asset ID by @guggero in #58
- scripts: use sed to work around sqlc LEFT JOIN issue by @Roasbeef in #65
- address: fix HRP validation bug on string decode by @jharveyb in #68
- multi: create on-disk storage of addresses, and new RPC calls to: create, query, and decode them by @Roasbeef in #73
- proof: Add full proof file verification by @wpaulino in #34
- vm: export witness creation for keypath spends by @jharveyb in #79
- Address send utils by @jharveyb in #67
- tarodb+tarogarden: construct+store proof files on disk for all minted assets by @Roasbeef in #66
- mssmt: add a compacted MSSMT type to reduce storage burden by @bhandras in #78
- commitment: type commitment stores, expose equally by @jharveyb in #88
- address+chanutils+tarogarden: multiple small fixes by @guggero in #87
- multi: add new RPC calls for ImportProof, VerifyProof, and ExportProof + flat file replication by @Roasbeef in #77
- Add itest framework by @guggero in #72
- tarodb: fix upserts and unique fields by @guggero in #93
- mssmt: add transactional tree storage interface and sqlite implementation by @bhandras in #90
- misc: replace NodeKey and related refs with NodeHash by @bhandras in #97
- tarocfg: correct displayed version by @bhandras in #101
- tarocfg: require master branch of lnd by @guggero in #102
- multi: send utils in taroscript package by @jharveyb in #80
- asset: add fuzz test for asset decoding by @Roasbeef in #105
- add Taro README.md by @Liongrass in #109
- maintenance: more small fixes by @guggero in #108
- multi: fix known fuzzing failures for asset TLV decoding by @Roasbeef in #106
- tarodb: update on disk SMT implementation to support namespacing, and also direct root fetching by @Roasbeef in #111
- multi: move more functionality into taroscript, add TxValidator interface by @jharveyb in #115
- add Signer interface for Taro virtual transactions by @jharveyb in #116
- tarofreighter: introduce new package to house batched sending logic, add coin selection interface + impl by @Roasbeef in #113
- tarofreighter: add new ExportLog interface for committing spends by @Roasbeef in #114
- multi: store optional key tweak in assets table and tweak script keys BIP0086 style by @Roasbeef in #125
- proof: add function to append state transition to proof file by @guggero in #117
- build: update to sqlite version 1.19.1 by @Roasbeef in #126
- taroscript: attach root witness to split assets by @jharveyb in #127
- proof: export append creation, in-place updates by @jharveyb in #129
- taro: extend RPC server with queries to list asset balances by @Roasbeef in #130
- multi: complete new tarofregither sub-system for batched asset sends, add rpc+cli commands by @Roasbeef in #123
- taro: include genesis point and asset version in balances RPC by @bhandras in #131
- Small fixes and cleanup by @guggero in #133
- cmd/tarocli: fix help fall through for assets send by @Roasbeef in #136
- tarodb+tarofreighter: properly handle case when send can't succeed by @Roasbeef in #138
- mssmt: fix unit test data race by @bhandras in #140
- proof: fix tx proof off-by-2, add new test block by @jharveyb in #139
- update README.md with send and receive functionality by @guggero in #151
- make: fix package name for build env variables by @guggero in #152
- tarofreighter: redo fee accounting for PSBT send pkt after adding input by @Roasbeef in #148
- multi: add new proof.Courier interface for async proof distribution by @Roasbeef in #132
New Contributors
- @wpaulino made their first contribution in #12
- @Liongrass made their first contribution in #109
Full Changelog: https://github.com/lightninglabs/taro/commits/v0.1.0-alpha