-
Notifications
You must be signed in to change notification settings - Fork 137
Description
In #1476 it is requested to allow making on chain payments without requiring a proof courier service to be used. I would also like to see this option for FundChannel as it previously was available by default.
I've just tried to use https://github.com/lightninglabs/tapdvalidation with a recent version of litd/tapd/lnd (lightninglabs/lightning-terminal#987) and I now get the following error:
controller-1 | alice funding a 23f2924c049e18eb39e92092338524986f32e345ba5556b83097955b8e9bca79 channel with bob
controller-1 | alice connecting to bob
controller-1 | syncing the universe of alice to bob (172.99.0.4:8443)
controller-1 | done syncing universe
controller-1 | unknown
controller-1 | ERROR MESSAGE: error funding channel: unable to fund channel, local proof courier is invalid: unsupported proof courier type 'hashmail', please set a universe based (universerpc://) proof courier in the proofcourieraddr configuration option or command line flag
controller-1 | Traceback (most recent call last):
controller-1 | File "/mini_META/scripts/init_network", line 139, in <module>
controller-1 | OpenTaprootAssetChannel(funder='alice', peer='bob', AssetID=TheAssetID, AssetCapacity=200000000)
controller-1 | File "/mini_META/scripts/mini_META_lib.py", line 551, in OpenTaprootAssetChannel
controller-1 | litd_node_objects[funder]['tapd'].fund_taprootasset_channel(asset_amount=AssetCapacity, asset_id=AssetID, peer_pubkey=bytes.fromhex(litd_node_objects[peer]['lnd'].get_info().identity_pubkey), fee_rate_sat_per_vbyte=10,push_sat=int(5*10**4))
controller-1 | File "/usr/local/lib/python3.10/dist-packages/lndgrpc/errors.py", line 50, in wrapper
controller-1 | raise exc
controller-1 | File "/usr/local/lib/python3.10/dist-packages/lndgrpc/errors.py", line 26, in wrapper
controller-1 | return fnc(*args, **kwargs)
controller-1 | File "/usr/local/lib/python3.10/dist-packages/lndgrpc/tapchannel.py", line 37, in fund_taprootasset_channel
controller-1 | response = self.get_tapchannel_stub().FundChannel(request)
controller-1 | File "/usr/local/lib/python3.10/dist-packages/grpc/_channel.py", line 1181, in __call__
controller-1 | return _end_unary_response_blocking(state, call, False, None)
controller-1 | File "/usr/local/lib/python3.10/dist-packages/grpc/_channel.py", line 1006, in _end_unary_response_blocking
controller-1 | raise _InactiveRpcError(state) # pytype: disable=not-instantiable
controller-1 | grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
controller-1 | status = StatusCode.UNKNOWN
controller-1 | details = "error funding channel: unable to fund channel, local proof courier is invalid: unsupported proof courier type 'hashmail', please set a universe based (universerpc://) proof courier in the proofcourieraddr configuration option or command line flag"
controller-1 | debug_error_string = "UNKNOWN:Error received from peer ipv4:172.99.0.4:8443 {grpc_message:"error funding channel: unable to fund channel, local proof courier is invalid: unsupported proof courier type \'hashmail\', please set a universe based (universerpc://) proof courier in the proofcourieraddr configuration option or command line flag", grpc_status:2, created_time:"2025-04-24T02:48:34.461005356-04:00"}"
controller-1 | >
tapdvalidation manually syncs the universe before trying to fund the channel. I'm not sure why we need a proof courier if we've done that manually before trying to fund the channel? This was not a problem in earlier versions.
I'm running on regtest and I don't have proofcourieraddr defined. I'm not sure if the default value of universerpc://testnet.universe.lightning.finance:10029 is used for regtest?
I've tried to figure out what itest is doing. I find a few cases where a proof courier is defined when making on chain payments.
Can that get inherited/remembered for channel funding?
There are also a few spots in itest where the courier is explicitly defined like this
As a workaround in tapdvalidation, I've added --taproot-assets.proofcourieraddr=universerpc://alice:8443 and I no longer get the error above.
Also, the error message says unsupported proof courier type 'hashmail', but I've not set a hashmail server and I can't find any documentation on setting up a hashmail server address. I think this error message should be less confusing.