[bug]: Unable to generate taproot asset address
Background
-
On Signet Node A, I minted an asset, then expanded its supply.
-
I only added the
universe.signet.laisee.org:8443server to the local federation of Node A after. In the logs I observed that the proofs were pushed to the universe shortly after.
2025-10-09 21:12:30.876 [INF] UNIV: Pushing proof to 1 federation members, proof_key=(universe.BaseLeafKey) {
OutPoint: (wire.OutPoint) 70172aff37b10b71470499dab03f19262b02e28d461bf60aa4f4c430a61f1b41:0,
ScriptKey: (*asset.ScriptKey)(0xc000ca9a50)({
PubKey: (*secp256k1.PublicKey)(0xc0000df220)({
x: (secp256k1.FieldVal) 307fc15ec5c10f0bfef9a7547c4e974ee383752522deaf83b04685eff4ca536c,
y: (secp256k1.FieldVal) 386c8dd3d7669fccba8e6b793c57f65dbefae6676dcaccc2b427aa670d2d449e
}),
TweakedScriptKey: (*asset.TweakedScriptKey)(<nil>)
})
}
- I then synced to the universe from Node B with command
tapcli universe sync --universe_host universe.signet.laisee.org:8443 --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981
This returns:
{
"synced_universes": []
}
- I then try to generate a taproot asset address for the asset in question with
tapcli addrs new --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981
Your environment
(both sender and receiver)
tapd: 0.7.0-alpha.rc1 commit=v0.7.0-rc1-7-gcbf1dff2
lnd: 0.20.0-beta.rc1 commit=v0.20.0-beta.rc1
tapcli getinfo # version of `tapd`, `lnd`, and network
uname -mrsv # operating system
bitcoind --version || btcd --version # version of `btcd`, `bitcoind`, or other backend
- any other relevant environment details
Steps to reproduce
Tell us how to reproduce this issue. Please provide stacktraces and links to code in question.
Expected behavior
I expect to be given an address.
2025-10-09_universe.log 2025-10-09_tapd.log
Actual behavior
The resulting error:
[tapcli] unable to make addr: rpc error: code = Unknown desc = unable to make new addr: unable to make address for unknown asset AssetSpecifier(id=, group_pub_key=02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981): asset lookup failed for asset: issuance-0389c8fb2a8691e31d311329782b320ac941765c0d50f7d40db03102fa26388f
The tapd node attempted to sync with the universe, but it looks like there was no diff. @Liongrass Could you try syncing again and then generate a new address to see if it succeeds?
This might be a timing issue between pushing the proof into the universe and the tapd node syncing the universe while generating an address.
I see what you meant earlier when you suggested that the NewAddr endpoint could handle universe syncing automatically in the background if needed.
I've also seen a few spots where we can improve logging.
Running tapcli universe sync --universe_host universe.signet.laisee.org:8443 --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981 returns:
{
"synced_universes": []
}
I am still unable to generate a taproot assets address for this asset with this node.
[tapcli] unable to make addr: rpc error: code = Unknown desc = unable to make new addr: unable to make address for unknown asset AssetSpecifier(id=, group_pub_key=02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981): asset lookup failed for asset: issuance-0389c8fb2a8691e31d311329782b320ac941765c0d50f7d40db03102fa26388f
I have since updated to the latest master (version": "0.7.0-alpha.rc1 commit=v0.7.0-rc1-149-ge6ae082c) and restarted both the sender and receiver nodes.
In the 2025-10-09_tapd.log you shared, I see the following entry:
2025-10-09 21:18:27.986 [WRN] UNIV: Cannot push proof via logged server push: cannot push proof to remote server(signet.universe.lightning.finance:443): cannot push proof to remote server(signet.universe.lightning.finance:443): rpc error: code = Unknown desc = proof insert is disabled for the given universe
I wonder if the initial proof push actually succeeded. Are these logs from node A or node B in your setup?
Even if 2025-10-09_tapd.log corresponds to node B, the failed insertion indicates that your universe server may not be configured to accept proof insertion for the specified asset group. This raises the question of whether node A was ever able to sync the proof to the universe in the first place.
I think you should double-check your universe server configuration to confirm that proof insertion is enabled for the relevant group key.
We need to improve the output of command:
tapcli universe sync --universe_host universe.signet.laisee.org:8443 --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981
It isn't communicating the current universe state adequately.
On both the sender and recipient node the command tapcli universe sync --universe_host universe.signet.laisee.org:8443 --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981 returns:
{
"synced_universes": []
}
The logs should be from the recipient node.
I think the log entry Cannot push proof via logged server push refers to a different asset though, and also to a different universe. The default universe to my knowledge is not upgraded, so it's no surprise that it cannot handle the proofs.
2025-10-09 21:18:27.986 [WRN] UNIV: Cannot push proof via logged server push: cannot push proof to remote server(signet.universe.lightning.finance:443): cannot push proof to remote server(signet.universe.lightning.finance:443): rpc error: code = Unknown desc = proof insert is disabled for the given universe
I made sure that my universe (universe.signet.laisee.org:8443) is configured properly. The command tapcli universe federation config info on the universe node returns:
{
"global_sync_configs": [
{
"proof_type": "PROOF_TYPE_ISSUANCE",
"allow_sync_insert": true,
"allow_sync_export": true
},
{
"proof_type": "PROOF_TYPE_TRANSFER",
"allow_sync_insert": true,
"allow_sync_export": true
}
],
"asset_sync_configs": []
}
That's the configuration I'm looking for, right?
I'm now running your patch from #1853. I then restart tapd (0.7.0-alpha.rc1 commit=v0.7.0-rc1-156-gce30ec95).
I run the command tapcli universe sync --universe_host universe.signet.laisee.org:8443 --group_key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981
The output reads:
2025-10-16 18:01:04.836 [INF] TSVR: Connecting to Universe server at universe.signet.laisee.org:8443
2025-10-16 18:01:04.836 [INF] UNIV: Fetching 1 roots
2025-10-16 18:01:04.884 [DBG] UNIV: UniverseRoot(issuance-0389c8fb2a8691e31d311329782b320ac941765c0d50f7d40db03102fa26388f) not found in remote universe
2025-10-16 18:01:04.884 [INF] UNIV: Obtained 0 roots from remote Universe server
Does this include the extra log line you are looking for? These are the logs from the node trying to generate a taproot assets address for group key 02974ff1db5475c7f440d27e3c3a6946498e55ad1f0fe663ec89ef2e00c4618981
^[[A2025-10-16 22:50:08.904 [INF] UNIV: Attempting to sync universe: host=universe.signet.laisee.org:8443, sync_type=issuance, ids=([]universe.Identifier) (len=1 cap=1) {
(universe.Identifier) issuance-0389c8fb2a8691e31d311329782b320ac941765c0d50f7d40db03102fa26388f
}
2025-10-16 22:50:08.905 [INF] TSVR: Connecting to Universe server at universe.signet.laisee.org:8443
2025-10-16 22:50:08.905 [INF] UNIV: Fetching 1 roots
2025-10-16 22:50:08.937 [DBG] UNIV: UniverseRoot(issuance-0389c8fb2a8691e31d311329782b320ac941765c0d50f7d40db03102fa26388f) not found in remote universe
2025-10-16 22:50:08.938 [INF] UNIV: Obtained 0 roots from remote Universe server
I'm having similar problem, Node A minted an asset and I'm able to create an address for that asset in Node A, but Node B cannot create an address for the minted asset. I'm getting this kind of error unable to make new addr: unable to make address for unknown asset xxxxxxxxxxx: asset lookup failed for asset: issuance-xxxxxxxxx
Any idea?
I'm having similar problem, Node A minted an asset and I'm able to create an address for that asset in Node A, but Node B cannot create an address for the minted asset. I'm getting this kind of error
unable to make new addr: unable to make address for unknown asset xxxxxxxxxxx: asset lookup failed for asset: issuance-xxxxxxxxxAny idea?
Please share the following:
- Logs for both nodes A and B.
- The tapd versions for both nodes.
- The universe server address being used.
We need to determine whether node A successfully inserts the issuance proof into the universe server and whether node B can sync and pull it from there.
Does version 0.7 support free transfer of taproot assets?
I believe we established that this one was resolved. @iamgutz please just make a fresh issue if you're still encountering a problem here.