remoteRF-server 1.1.0.dev33__py3-none-any.whl → 1.1.0.dev34__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -623,22 +623,28 @@ def _sync_contract(party: dict, peer: str, directory: list[dict]) -> str:
623
623
  parties = {terms.get("deployment_a"), terms.get("deployment_b")}
624
624
  if parties != {peer, store.local_deployment_id} or item["version"] != 1 or not item.get("events"):
625
625
  continue
626
- store.import_bundle(canonical_json({
627
- "protocol_version": "2", "terms": terms, "events": item["events"],
628
- }))
629
- if store.show(item["contract_id"], 1)["state"] != "revoked":
626
+ if _import(store, terms, item["events"]) != "revoked":
630
627
  candidates.append((terms["valid_from"], item["contract_id"]))
631
628
  if not candidates:
632
629
  return party["state"]
633
630
  party["contract_id"] = max(candidates)[1]
634
631
  for item in directory:
635
632
  if item["contract_id"] == party["contract_id"] and item.get("terms"):
636
- store.import_bundle(canonical_json({
637
- "protocol_version": "2", "terms": item["terms"], "events": item["events"],
638
- }))
633
+ _import(store, item["terms"], item["events"])
639
634
  return store.show(party["contract_id"], 1)["state"]
640
635
 
641
636
 
637
+ def _import(store: ContractStore, terms: dict, events: list) -> str:
638
+ """Import a directory entry; a contract already revoked here (an earlier
639
+ cluster between the same labs) is simply reported as such."""
640
+ try:
641
+ store.import_bundle(canonical_json({"protocol_version": "2", "terms": terms, "events": events}))
642
+ except ContractError as exc:
643
+ if exc.code not in ("contract_revoked", "contract_terminal", "invalid_transition"):
644
+ raise
645
+ return store.show(terms["contract_id"], 1)["state"]
646
+
647
+
642
648
  def _advance(party: dict, peer: str, directory: list[dict], *, label: str, notify, is_member: bool) -> None:
643
649
  """Move one bilateral contract one step; notify on active / revoked."""
644
650
  before = party.get("state")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: remoteRF-server
3
- Version: 1.1.0.dev33
3
+ Version: 1.1.0.dev34
4
4
  Summary: RemoteRF server-side control package
5
5
  License: GPL-3.0-or-later
6
6
  Classifier: Programming Language :: Python :: 3
@@ -71,7 +71,7 @@ remoteRF_server/server/deployment/capabilities.py,sha256=20RxmGG03VoQQZnV3jGhc-3
71
71
  remoteRF_server/server/federation/__init__.py,sha256=auqdGiGnEGIKQiXX2jFVt8iWmfyZ-V3w4dUmtWDKAZE,735
72
72
  remoteRF_server/server/federation/admin.py,sha256=t3F17FIytekzclPICmaFJEA4-F5OuWcDx3rgmFga17A,9187
73
73
  remoteRF_server/server/federation/cli.py,sha256=nFlUGmhpndw0RafjeRQjz7cYieKtKy7U60_n738g-s0,9021
74
- remoteRF_server/server/federation/cluster.py,sha256=dsraUf7wKG4GdqcyhdO195v1ypwSRpFcJdyY5uatHCM,32932
74
+ remoteRF_server/server/federation/cluster.py,sha256=yKGFRAI-RHB_xZivJkxaK_Fniz2XGRUfArJXM_DH2WQ,33207
75
75
  remoteRF_server/server/federation/contracts.py,sha256=NYh7lb_9etJHFfzXwevjC4HfSBUypLxg5xGeBgydLF4,29305
76
76
  remoteRF_server/server/federation/destination.py,sha256=XawmGCiVbL_MfNNn8xwV9_bYxUDW1L7efCpL11K2JAc,35909
77
77
  remoteRF_server/server/federation/devices.py,sha256=n5MvnD0UZyl4sFpiekG9ProanWXTYizYq6YchCflLgY,18061
@@ -90,9 +90,9 @@ remoteRF_server/tools/gen_certs.py,sha256=Vbyu8JjRu__UYPVmyCRXt5SOw0Za1HV7g1md3G
90
90
  remoteRF_server/tools/gist_status.py,sha256=SFv2iQgQrIKT9gxKrU-_Dr7S0p0rE4wQM6J3OC6FcoM,4649
91
91
  remoteRF_server/tools/gist_status_testing.py,sha256=IYw7UkPjAUpKDTtIlnYGb5g6SJkwz4TRGUfJJ6f4LhQ,2690
92
92
  remoteRF_server/tools/introspect_uhd.py,sha256=vUpPb0rM9tsHPxWadS3EfMDE-gMd-TvNV0TjrZOQqBY,4531
93
- remoterf_server-1.1.0.dev33.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
94
- remoterf_server-1.1.0.dev33.dist-info/METADATA,sha256=4m84njQmG2sgUH0guTvQ-t5pjjbnq7nrcPj7EMKqxmU,42069
95
- remoterf_server-1.1.0.dev33.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
96
- remoterf_server-1.1.0.dev33.dist-info/entry_points.txt,sha256=_bbKk65PfYi-n6zUjqOiOwcalf_Ws1TCGATIe1TukxE,136
97
- remoterf_server-1.1.0.dev33.dist-info/top_level.txt,sha256=NuYWe8dSx3qdbxshWBwOgx68EHmJ9I8Zvxam4ARsQ_I,30
98
- remoterf_server-1.1.0.dev33.dist-info/RECORD,,
93
+ remoterf_server-1.1.0.dev34.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
94
+ remoterf_server-1.1.0.dev34.dist-info/METADATA,sha256=HF3Nrx8Y6Id4gZt4THauRMrCve0ZazMtLrMtVsYpyWU,42069
95
+ remoterf_server-1.1.0.dev34.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
96
+ remoterf_server-1.1.0.dev34.dist-info/entry_points.txt,sha256=_bbKk65PfYi-n6zUjqOiOwcalf_Ws1TCGATIe1TukxE,136
97
+ remoterf_server-1.1.0.dev34.dist-info/top_level.txt,sha256=NuYWe8dSx3qdbxshWBwOgx68EHmJ9I8Zvxam4ARsQ_I,30
98
+ remoterf_server-1.1.0.dev34.dist-info/RECORD,,