crossbario / autobahn-python

WebSocket and WAMP in Python for Twisted and asyncio
https://crossbar.io/autobahn
MIT License
2.48k stars 766 forks source link

wildcard subscription not possible if simplebuyer is used with wamp ticket #1248

Open albertxos opened 5 years ago

albertxos commented 5 years ago

tested with local teststack docker -> crossbario/crossbarfx:cpy-slim-amd64-19.9.4 + ganache

oberstet commented 5 years ago

the problem is, there are no errors thrown, but a wildcard receiver simply does not receive events published (which it should receive):

seller:

seller-team1_1     | 2019-09-25T08:50:42+0000 Published event 2637558457112246: {'data': 'py-seller', 'counter': 7567}
seller-team1_1     | 2019-09-25T08:50:43+0000 Published event 222155475136723: {'data': 'py-seller', 'counter': 7568}
seller-team1_1     | 2019-09-25T08:50:43+0000 Published event 8109138076800687: {'data': 'py-seller', 'counter': 7568}
seller-team1_1     | 2019-09-25T08:50:44+0000 XBR ROTATE key "2c386b05-e2e0-c714-eb0e-29f2d1a9f2fa" rotated [api_id="1e704a19-6f2a-4182-88fe-e9050bdfec61"]
seller-team1_1     | 2019-09-25T08:50:44+0000 XBR OFFER  key "2c386b05-e2e0-c714-eb0e-29f2d1a9f2fa" offered for 35 XBR [api_id=1e704a19-6f2a-4182-88fe-e9050bdfec61, prefix="com.<REDACTED>.hackathon.team1.1234.poi", delegate="0144dc2c98d4c58c055bb0388280ef2a2f5da625"]
seller-team1_1     | 2019-09-25T08:50:44+0000 Published event 2970740966144068: {'data': 'py-seller', 'counter': 7569}
seller-team1_1     | 2019-09-25T08:50:44+0000 Published event 5068745648588662: {'data': 'py-seller', 'counter': 7569}
seller-team1_1     | 2019-09-25T08:50:45+0000 Published event 2164374173682937: {'data': 'py-seller', 'counter': 7570}
seller-team1_1     | 2019-09-25T08:50:45+0000 Published event 8452933301021851: {'data': 'py-seller', 'counter': 7570}
seller-team1_1     | 2019-09-25T08:50:46+0000 Published event 4681861152068381: {'data': 'py-seller', 'counter': 7571}
seller-team1_1     | 2019-09-25T08:50:46+0000 Published event 7683379879487366: {'data': 'py-seller', 'counter': 7571}
seller-team1_1     | 2019-09-25T08:50:47+0000 Published event 1554717696715210: {'data': 'py-seller', 'counter': 7572}
seller-team1_1     | 2019-09-25T08:50:47+0000 Published event 813707365113856: {'data': 'py-seller', 'counter': 7572}
seller-team1_1     | 2019-09-25T08:50:48+0000 Published event 5484026237762968: {'data': 'py-seller', 'counter': 7573}

buyer:

<REDACTED>:<REDACTED>$ source <REDACTED>/proj/dsq/fleet-seller/venv-dmp/bin/activate
(venv-dmp) <REDACTED>:<REDACTED>$ cd <REDACTED> ; env XBR_AUTHID=team1 'XBR_TICKET=<REDACTED>' XBR_DEBUG_NETWORK_ADDR=0x254dffcd3277c0b1660f6d42efbb754edababc2b XBR_DEBUG_TOKEN_ADDR=0xcfeb869f69431e42cdb54a4f4f105c19c080a601 XBR_MARKET_MAKER_ADDR=0xf173dAf2aff98f89848B3e45d6B74f4f6B947e38 XBR_INSTANCE=ws://localhost:8080/ws SELLER_TOPIC=com.<REDACTED>.hackathon.team1 PYTHONIOENCODING=UTF-8 PYTHONUNBUFFERED=1 <REDACTED>/proj/dsq/fleet-seller/venv-dmp/bin/python <REDACTED>/.vscode/extensions/ms-python.python-2019.9.34911/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 44145 <REDACTED>/hackathon-buybot/main.py --gateway http://localhost:7545 
Address 0x3fD652C93dFA333979ad762Cf581Df89BaBa6795 is already a member (level=1, eula=QmV1eeDextSdUrRUQp9tUXF8SdvVeykaiwYLgrXHHVyULY, profile=)
 ====> Bot  balance         99999999999999997195758 ETH                              0 XBR 
2019-09-25T11:00:18+0200 connecting once using transport type "websocket" over endpoint "tcp"
2019-09-25T11:00:18+0200 Starting factory <autobahn.twisted.websocket.WampWebSocketClientFactory object at 0x7fda105ee0b8>
2019-09-25T11:00:19+0200 Buyer session joined SessionDetails(realm=<realm1>, session=6136621855414148, authid=<team1>, authrole=<team1>, authmethod=ticket, authprovider=static, authextra={'service_name': 'bot1', 'x_cb_node_id': None, 'x_cb_peer': 'tcp4:127.0.0.1:48320', 'x_cb_pid': 21}, resumed=None, resumable=None, resume_token=None)
2019-09-25T11:00:19+0200 Using market maker adr: 0x3e5e9111ae8eb78fe1cc3bb8915d5d461f3ef9a9
2019-09-25T11:00:19+0200 Start buying from consumer delegate address 0x0x325A621DeA613BCFb5B1A69a7aCED0ea4AfBD73A (public key 0xd65265f5e7008a45ef7a..)
2019-09-25T11:00:19+0200 Delegate has current payment channel address 0xd2d98a3c14926e641b4490a0e04e260fd8b48e95 (remaining balance 1300000000000000000000 at sequence 21)
2019-09-25T11:00:19+0200 Remaining delegate balance: 1300 XBR
2019-09-25T11:00:19+0200 wildcard subscription to: com.<REDACTED>.hackathon.team1..poi
oberstet commented 5 years ago

it does work using prefix subscriptions .. and of course using exact subscriptions. obviously, would be good to have CI tests for that: xbr pubsub with exact/prefix/wildcard subscriptions