-
Notifications
You must be signed in to change notification settings - Fork 134
Description
In #1326 I ask for clearer messages if the price oracle does not support the asset requested.
However, taking it one step back, we really need to not waste time even trying to do the RFQ if our price oracle does not support the asset requested.
Here, Alice tries to create an invoice with edge node Bob. In this case, both Alice and Bob do not have a price oracle that supports the grouped asset that is trying to be used, however, Alice still tries to do the RFQ with Bob even though she should know it should fail because she won't be able to get enough information from her own price oracle to decide if she wants to accept it or not.
This case should fail before trying to communicate with Bob and it should fail with msg=Unsupported subject asset
.
e563e22bdadf:/$ litcli ln addinvoice --group_key 02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4 --asset_amount 100000
[litcli] error adding invoice: rpc error: code = Unknown desc = peer 03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29 rejected the quote, code: 0, error message: unknown reject error
e563e22bdadf:/$
Alice
2025-04-30 20:08:42.103 [DBG] RFQS: Querying price oracle for bid price (asset_specifier=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), asset_max_amt=Some(100000), payment_max_amt=None, asset_rate_hint=None)
2025-04-30 20:08:42.104 [WRN] RFQS: failed to query bid price from price oracle for outgoing buy request: failed to query price oracle for bid price: OracleError(code=0, msg=Unsupported subject asset)
2025-04-30 20:08:42.104 [DBG] RFQS: Manager handling outgoing message: BuyRequest(peer=03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29, id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, asset=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), max_asset_amount=100000, asset_rate_hint=)
2025-04-30 20:08:42.104 [DBG] RFQS: Stream handling outgoing message: BuyRequest(peer=03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29, id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, asset=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), max_asset_amount=100000, asset_rate_hint=)
2025-04-30 20:08:42.104 [DBG] RPCS: [/lnrpc.Lightning/SendCustomMessage] requested
2025-04-30 20:08:42.104 [DBG] PEER: Peer(03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29): Sending custom(type=52884) to 03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29@172.99.0.5:9735
2025-04-30 20:08:42.106 [DBG] PEER: Peer(03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29): Received custom(type=52886) from 03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29@172.99.0.5:9735
2025-04-30 20:08:42.106 [DBG] SRVR: Custom message received: peer=03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29, type=52886
2025-04-30 20:08:42.106 [DBG] RFQS: Stream handling incoming message: Reject(id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, err_code=0, err_msg=unknown reject error)
2025-04-30 20:08:42.106 [DBG] RFQS: Manager handling incoming message: Reject(id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, err_code=0, err_msg=unknown reject error)
2025-04-30 20:08:42.106 [ERR] RPCS: [/tapchannelrpc.TaprootAssetChannels/AddInvoice]: peer 03ffbcf1d0fa2ddb7834509b446a6e4950184c2ef07b645f0a3e00edac7b62bc29 rejected the quote, code: 0, error message: unknown reject error
Bob
2025-04-30 20:08:42.104 [DBG] PEER: Peer(03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676): Received custom(type=52884) from 03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676@172.99.0.4:54090
2025-04-30 20:08:42.104 [DBG] SRVR: Custom message received: peer=03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676, type=52884
2025-04-30 20:08:42.104 [DBG] RFQS: Stream handling incoming message: BuyRequest(peer=03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676, id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, asset=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), max_asset_amount=100000, asset_rate_hint=)
2025-04-30 20:08:42.104 [DBG] RFQS: Manager handling incoming message: BuyRequest(peer=03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676, id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, asset=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), max_asset_amount=100000, asset_rate_hint=)
2025-04-30 20:08:42.104 [INF] RFQS: Would reject buy request: no suitable buy offer, but ignoring for now
2025-04-30 20:08:42.104 [DBG] RFQS: Querying price oracle for ask price (asset_specifier=AssetSpecifier(id=, group_pub_key=02b931420c9601c1d600c00bc0ad47f68963e298e98bd49f7c7c0ba5b206a43bf4), asset_max_amt=Some(100000), payment_max_amt=None, asset_rate_hint=None)
2025-04-30 20:08:42.105 [DBG] RFQS: Manager handling outgoing message: Reject(id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, err_code=0, err_msg=unknown reject error)
2025-04-30 20:08:42.105 [DBG] RFQS: Stream handling outgoing message: Reject(id=f2b199d2560b562b35b6e50df56250029fc2b4bbd216b441f71273b8095286fd, err_code=0, err_msg=unknown reject error)
2025-04-30 20:08:42.105 [DBG] RPCS: [/lnrpc.Lightning/SendCustomMessage] requested
2025-04-30 20:08:42.106 [DBG] PEER: Peer(03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676): Sending custom(type=52886) to 03bd6d133faaf46bb8699a915e97c1eb68da7c2f1e060553e267a582f9f83aa676@172.99.0.4:54090
2025-04-30 20:08:42.106 [ERR] RFQS: Error in RFQ manager: encountered RFQ subsystem error in main event loop: failed to query ask price from oracle: failed to query price oracle for ask price: OracleError(code=0, msg=Unsupported subject asset)