prediction-market-agent-tooling 0.57.7__tar.gz → 0.57.8__tar.gz

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.
Files changed (112) hide show
  1. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/PKG-INFO +1 -1
  2. prediction_market_agent_tooling-0.57.8/prediction_market_agent_tooling/abis/agentcommunication.abi.json +291 -0
  3. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/seer/data_models.py +5 -1
  4. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/seer/seer_subgraph_handler.py +1 -1
  5. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/contract.py +84 -0
  6. prediction_market_agent_tooling-0.57.8/prediction_market_agent_tooling/tools/data_models.py +23 -0
  7. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/pyproject.toml +1 -1
  8. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/LICENSE +0 -0
  9. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/README.md +0 -0
  10. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/debuggingcontract.abi.json +0 -0
  11. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/depositablewrapper_erc20.abi.json +0 -0
  12. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/erc20.abi.json +0 -0
  13. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/erc4626.abi.json +0 -0
  14. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_agentresultmapping.abi.json +0 -0
  15. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_dxdao.abi.json +0 -0
  16. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_fpmm.abi.json +0 -0
  17. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_fpmm_conditionaltokens.abi.json +0 -0
  18. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_fpmm_factory.abi.json +0 -0
  19. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_kleros.abi.json +0 -0
  20. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_oracle.abi.json +0 -0
  21. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_realitio.abi.json +0 -0
  22. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/omen_thumbnailmapping.abi.json +0 -0
  23. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/ownable_erc721.abi.json +0 -0
  24. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/abis/proxy.abi.json +0 -0
  25. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/benchmark/__init__.py +0 -0
  26. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/benchmark/agents.py +0 -0
  27. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/benchmark/benchmark.py +0 -0
  28. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/benchmark/utils.py +0 -0
  29. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/config.py +0 -0
  30. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/agent.py +0 -0
  31. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/agent_example.py +0 -0
  32. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/betting_strategy.py +0 -0
  33. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/constants.py +0 -0
  34. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/gcp/deploy.py +0 -0
  35. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/gcp/kubernetes_models.py +0 -0
  36. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/gcp/utils.py +0 -0
  37. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/deploy/trade_interval.py +0 -0
  38. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/gtypes.py +0 -0
  39. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/jobs/__init__.py +0 -0
  40. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/jobs/jobs_models.py +0 -0
  41. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/jobs/omen/omen_jobs.py +0 -0
  42. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/loggers.py +0 -0
  43. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/agent_market.py +0 -0
  44. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/base_subgraph_handler.py +0 -0
  45. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/categorize.py +0 -0
  46. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/data_models.py +0 -0
  47. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/manifold/__init__.py +0 -0
  48. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/manifold/api.py +0 -0
  49. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/manifold/data_models.py +0 -0
  50. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/manifold/manifold.py +0 -0
  51. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/manifold/utils.py +0 -0
  52. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/market_fees.py +0 -0
  53. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/markets.py +0 -0
  54. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/metaculus/api.py +0 -0
  55. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/metaculus/data_models.py +0 -0
  56. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/metaculus/metaculus.py +0 -0
  57. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/__init__.py +0 -0
  58. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/data_models.py +0 -0
  59. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/omen.py +0 -0
  60. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/omen_contracts.py +0 -0
  61. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/omen_resolving.py +0 -0
  62. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/omen/omen_subgraph_handler.py +0 -0
  63. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/polymarket/api.py +0 -0
  64. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/polymarket/data_models.py +0 -0
  65. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/polymarket/data_models_web.py +0 -0
  66. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/polymarket/polymarket.py +0 -0
  67. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/markets/polymarket/utils.py +0 -0
  68. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/financial_metrics/financial_metrics.py +0 -0
  69. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/markets/manifold.py +0 -0
  70. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/markets/metaculus.py +0 -0
  71. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/markets/omen.py +0 -0
  72. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/markets/polymarket.py +0 -0
  73. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/monitor.py +0 -0
  74. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/monitor_app.py +0 -0
  75. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/monitor/monitor_settings.py +0 -0
  76. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/py.typed +0 -0
  77. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/balances.py +0 -0
  78. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/betting_strategies/kelly_criterion.py +0 -0
  79. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/betting_strategies/market_moving.py +0 -0
  80. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/betting_strategies/minimum_bet_to_win.py +0 -0
  81. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/betting_strategies/stretch_bet_between.py +0 -0
  82. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/betting_strategies/utils.py +0 -0
  83. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/caches/db_cache.py +0 -0
  84. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/caches/inmemory_cache.py +0 -0
  85. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/caches/serializers.py +0 -0
  86. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/costs.py +0 -0
  87. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/custom_exceptions.py +0 -0
  88. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/datetime_utc.py +0 -0
  89. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/db/db_manager.py +0 -0
  90. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/google_utils.py +0 -0
  91. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/hexbytes_custom.py +0 -0
  92. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/httpx_cached_client.py +0 -0
  93. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/image_gen/image_gen.py +0 -0
  94. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/image_gen/market_thumbnail_gen.py +0 -0
  95. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/ipfs/ipfs_handler.py +0 -0
  96. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/is_invalid.py +0 -0
  97. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/is_predictable.py +0 -0
  98. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/langfuse_.py +0 -0
  99. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/langfuse_client_utils.py +0 -0
  100. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/omen/reality_accuracy.py +0 -0
  101. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/parallelism.py +0 -0
  102. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/relevant_news_analysis/data_models.py +0 -0
  103. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_analysis.py +0 -0
  104. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/relevant_news_analysis/relevant_news_cache.py +0 -0
  105. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/safe.py +0 -0
  106. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/singleton.py +0 -0
  107. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/streamlit_user_login.py +0 -0
  108. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/tavily/tavily_models.py +0 -0
  109. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/tavily/tavily_search.py +0 -0
  110. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/transaction_cache.py +0 -0
  111. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/utils.py +0 -0
  112. {prediction_market_agent_tooling-0.57.7 → prediction_market_agent_tooling-0.57.8}/prediction_market_agent_tooling/tools/web3_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prediction-market-agent-tooling
3
- Version: 0.57.7
3
+ Version: 0.57.8
4
4
  Summary: Tools to benchmark, deploy and monitor prediction market agents.
5
5
  Author: Gnosis
6
6
  Requires-Python: >=3.10,<3.12
@@ -0,0 +1,291 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [],
5
+ "stateMutability": "nonpayable"
6
+ },
7
+ {
8
+ "type": "function",
9
+ "name": "adjustMinimumValueForSendingMessage",
10
+ "inputs": [
11
+ {
12
+ "name": "newValue",
13
+ "type": "uint256",
14
+ "internalType": "uint256"
15
+ }
16
+ ],
17
+ "outputs": [],
18
+ "stateMutability": "nonpayable"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "countMessages",
23
+ "inputs": [
24
+ {
25
+ "name": "agentAddress",
26
+ "type": "address",
27
+ "internalType": "address"
28
+ }
29
+ ],
30
+ "outputs": [
31
+ {
32
+ "name": "",
33
+ "type": "uint256",
34
+ "internalType": "uint256"
35
+ }
36
+ ],
37
+ "stateMutability": "view"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "getAtIndex",
42
+ "inputs": [
43
+ {
44
+ "name": "agentAddress",
45
+ "type": "address",
46
+ "internalType": "address"
47
+ },
48
+ {
49
+ "name": "idx",
50
+ "type": "uint256",
51
+ "internalType": "uint256"
52
+ }
53
+ ],
54
+ "outputs": [
55
+ {
56
+ "name": "",
57
+ "type": "tuple",
58
+ "internalType": "struct DoubleEndedStructQueue.MessageContainer",
59
+ "components": [
60
+ {
61
+ "name": "sender",
62
+ "type": "address",
63
+ "internalType": "address"
64
+ },
65
+ {
66
+ "name": "recipient",
67
+ "type": "address",
68
+ "internalType": "address"
69
+ },
70
+ {
71
+ "name": "message",
72
+ "type": "bytes",
73
+ "internalType": "bytes"
74
+ },
75
+ {
76
+ "name": "value",
77
+ "type": "uint256",
78
+ "internalType": "uint256"
79
+ }
80
+ ]
81
+ }
82
+ ],
83
+ "stateMutability": "view"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "name": "minimumValueForSendingMessageInWei",
88
+ "inputs": [],
89
+ "outputs": [
90
+ {
91
+ "name": "",
92
+ "type": "uint256",
93
+ "internalType": "uint256"
94
+ }
95
+ ],
96
+ "stateMutability": "view"
97
+ },
98
+ {
99
+ "type": "function",
100
+ "name": "owner",
101
+ "inputs": [],
102
+ "outputs": [
103
+ {
104
+ "name": "",
105
+ "type": "address",
106
+ "internalType": "address"
107
+ }
108
+ ],
109
+ "stateMutability": "view"
110
+ },
111
+ {
112
+ "type": "function",
113
+ "name": "popNextMessage",
114
+ "inputs": [
115
+ {
116
+ "name": "agentAddress",
117
+ "type": "address",
118
+ "internalType": "address"
119
+ }
120
+ ],
121
+ "outputs": [
122
+ {
123
+ "name": "",
124
+ "type": "tuple",
125
+ "internalType": "struct DoubleEndedStructQueue.MessageContainer",
126
+ "components": [
127
+ {
128
+ "name": "sender",
129
+ "type": "address",
130
+ "internalType": "address"
131
+ },
132
+ {
133
+ "name": "recipient",
134
+ "type": "address",
135
+ "internalType": "address"
136
+ },
137
+ {
138
+ "name": "message",
139
+ "type": "bytes",
140
+ "internalType": "bytes"
141
+ },
142
+ {
143
+ "name": "value",
144
+ "type": "uint256",
145
+ "internalType": "uint256"
146
+ }
147
+ ]
148
+ }
149
+ ],
150
+ "stateMutability": "nonpayable"
151
+ },
152
+ {
153
+ "type": "function",
154
+ "name": "queues",
155
+ "inputs": [
156
+ {
157
+ "name": "",
158
+ "type": "address",
159
+ "internalType": "address"
160
+ }
161
+ ],
162
+ "outputs": [
163
+ {
164
+ "name": "_begin",
165
+ "type": "uint128",
166
+ "internalType": "uint128"
167
+ },
168
+ {
169
+ "name": "_end",
170
+ "type": "uint128",
171
+ "internalType": "uint128"
172
+ }
173
+ ],
174
+ "stateMutability": "view"
175
+ },
176
+ {
177
+ "type": "function",
178
+ "name": "renounceOwnership",
179
+ "inputs": [],
180
+ "outputs": [],
181
+ "stateMutability": "nonpayable"
182
+ },
183
+ {
184
+ "type": "function",
185
+ "name": "sendMessage",
186
+ "inputs": [
187
+ {
188
+ "name": "agentAddress",
189
+ "type": "address",
190
+ "internalType": "address"
191
+ },
192
+ {
193
+ "name": "message",
194
+ "type": "bytes",
195
+ "internalType": "bytes"
196
+ }
197
+ ],
198
+ "outputs": [],
199
+ "stateMutability": "payable"
200
+ },
201
+ {
202
+ "type": "function",
203
+ "name": "transferOwnership",
204
+ "inputs": [
205
+ {
206
+ "name": "newOwner",
207
+ "type": "address",
208
+ "internalType": "address"
209
+ }
210
+ ],
211
+ "outputs": [],
212
+ "stateMutability": "nonpayable"
213
+ },
214
+ {
215
+ "type": "event",
216
+ "name": "LogMessage",
217
+ "inputs": [
218
+ {
219
+ "name": "sender",
220
+ "type": "address",
221
+ "indexed": true,
222
+ "internalType": "address"
223
+ },
224
+ {
225
+ "name": "agentAddress",
226
+ "type": "address",
227
+ "indexed": true,
228
+ "internalType": "address"
229
+ },
230
+ {
231
+ "name": "message",
232
+ "type": "bytes",
233
+ "indexed": false,
234
+ "internalType": "bytes"
235
+ },
236
+ {
237
+ "name": "value",
238
+ "type": "uint256",
239
+ "indexed": false,
240
+ "internalType": "uint256"
241
+ }
242
+ ],
243
+ "anonymous": false
244
+ },
245
+ {
246
+ "type": "event",
247
+ "name": "OwnershipTransferred",
248
+ "inputs": [
249
+ {
250
+ "name": "previousOwner",
251
+ "type": "address",
252
+ "indexed": true,
253
+ "internalType": "address"
254
+ },
255
+ {
256
+ "name": "newOwner",
257
+ "type": "address",
258
+ "indexed": true,
259
+ "internalType": "address"
260
+ }
261
+ ],
262
+ "anonymous": false
263
+ },
264
+ {
265
+ "type": "error",
266
+ "name": "MessageNotSentByAgent",
267
+ "inputs": []
268
+ },
269
+ {
270
+ "type": "error",
271
+ "name": "OwnableInvalidOwner",
272
+ "inputs": [
273
+ {
274
+ "name": "owner",
275
+ "type": "address",
276
+ "internalType": "address"
277
+ }
278
+ ]
279
+ },
280
+ {
281
+ "type": "error",
282
+ "name": "OwnableUnauthorizedAccount",
283
+ "inputs": [
284
+ {
285
+ "name": "account",
286
+ "type": "address",
287
+ "internalType": "address"
288
+ }
289
+ ]
290
+ }
291
+ ]
@@ -3,13 +3,17 @@ from pydantic import BaseModel, ConfigDict, Field
3
3
  from prediction_market_agent_tooling.gtypes import HexBytes
4
4
 
5
5
 
6
+ class SeerParentMarket(BaseModel):
7
+ id: HexBytes
8
+
9
+
6
10
  class SeerMarket(BaseModel):
7
11
  model_config = ConfigDict(populate_by_name=True)
8
12
 
9
13
  id: HexBytes
10
14
  title: str = Field(alias="marketName")
11
15
  outcomes: list[str]
12
- parent_market: HexBytes = Field(alias="parentMarket")
16
+ parent_market: SeerParentMarket | None = Field(alias="parentMarket")
13
17
  wrapped_tokens: list[HexBytes] = Field(alias="wrappedTokens")
14
18
 
15
19
 
@@ -47,7 +47,7 @@ class SeerSubgraphHandler(BaseSubgraphHandler):
47
47
  markets_field.creator,
48
48
  markets_field.marketName,
49
49
  markets_field.outcomes,
50
- markets_field.parentMarket,
50
+ markets_field.parentMarket.id,
51
51
  markets_field.finalizeTs,
52
52
  markets_field.wrappedTokens,
53
53
  ]
@@ -18,6 +18,8 @@ from prediction_market_agent_tooling.gtypes import (
18
18
  TxReceipt,
19
19
  Wei,
20
20
  )
21
+ from prediction_market_agent_tooling.tools.data_models import MessageContainer
22
+ from prediction_market_agent_tooling.tools.hexbytes_custom import HexBytes
21
23
  from prediction_market_agent_tooling.tools.utils import DatetimeUTC, should_not_happen
22
24
  from prediction_market_agent_tooling.tools.web3_utils import (
23
25
  call_function_on_contract,
@@ -533,6 +535,88 @@ class DebuggingContract(ContractOnGnosisChain):
533
535
  )
534
536
 
535
537
 
538
+ class AgentCommunicationContract(ContractOnGnosisChain):
539
+ # Contract ABI taken from built https://github.com/gnosis/labs-contracts.
540
+ abi: ABI = abi_field_validator(
541
+ os.path.join(
542
+ os.path.dirname(os.path.realpath(__file__)),
543
+ "../abis/agentcommunication.abi.json",
544
+ )
545
+ )
546
+
547
+ address: ChecksumAddress = Web3.to_checksum_address(
548
+ "0x62872578920427ae24b2527697dAb90CD1F4CA45"
549
+ )
550
+
551
+ def count_unseen_messages(
552
+ self,
553
+ agent_address: ChecksumAddress,
554
+ web3: Web3 | None = None,
555
+ ) -> int:
556
+ unseen_message_count: int = self.call(
557
+ "countMessages", function_params=[agent_address], web3=web3
558
+ )
559
+ return unseen_message_count
560
+
561
+ def get_at_index(
562
+ self,
563
+ agent_address: ChecksumAddress,
564
+ idx: int,
565
+ web3: Web3 | None = None,
566
+ ) -> MessageContainer:
567
+ message_container_raw: t.Tuple[t.Any] = self.call(
568
+ "getAtIndex", function_params=[agent_address, idx], web3=web3
569
+ )
570
+ return MessageContainer.from_tuple(message_container_raw)
571
+
572
+ def pop_message(
573
+ self,
574
+ api_keys: APIKeys,
575
+ agent_address: ChecksumAddress,
576
+ web3: Web3 | None = None,
577
+ ) -> MessageContainer:
578
+ """
579
+ Retrieves and removes the first message from the agent's message queue.
580
+
581
+ This method first retrieves the message at the front of the queue without removing it,
582
+ allowing us to return the message content directly. The actual removal of the message
583
+ from the queue is performed by sending a transaction to the contract, which executes
584
+ the `popNextMessage` function. The transaction receipt is not used to obtain the message
585
+ content, as it only contains event data, not the returned struct.
586
+ """
587
+
588
+ # Peek first element before popping.
589
+ message_container = self.get_at_index(
590
+ agent_address=agent_address, idx=0, web3=web3
591
+ )
592
+
593
+ # Next, pop that element and discard the transaction receipt.
594
+ self.send(
595
+ api_keys=api_keys,
596
+ function_name="popNextMessage",
597
+ function_params=[agent_address],
598
+ web3=web3,
599
+ )
600
+
601
+ return message_container
602
+
603
+ def send_message(
604
+ self,
605
+ api_keys: APIKeys,
606
+ agent_address: ChecksumAddress,
607
+ message: HexBytes,
608
+ amount_wei: Wei,
609
+ web3: Web3 | None = None,
610
+ ) -> TxReceipt:
611
+ return self.send_with_value(
612
+ api_keys=api_keys,
613
+ function_name="sendMessage",
614
+ amount_wei=amount_wei,
615
+ function_params=[agent_address, message],
616
+ web3=web3,
617
+ )
618
+
619
+
536
620
  def contract_implements_function(
537
621
  contract_address: ChecksumAddress,
538
622
  function_name: str,
@@ -0,0 +1,23 @@
1
+ import typing as t
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field
4
+
5
+ from prediction_market_agent_tooling.gtypes import ChecksumAddress, HexBytes, Wei
6
+
7
+
8
+ # Taken from https://github.com/gnosis/labs-contracts/blob/main/src/NFT/DoubleEndedStructQueue.sol
9
+ class MessageContainer(BaseModel):
10
+ model_config = ConfigDict(populate_by_name=True)
11
+ sender: ChecksumAddress
12
+ recipient: ChecksumAddress = Field(alias="agentAddress")
13
+ message: HexBytes
14
+ value: Wei
15
+
16
+ @staticmethod
17
+ def from_tuple(values: tuple[t.Any, ...]) -> "MessageContainer":
18
+ return MessageContainer(
19
+ sender=values[0],
20
+ recipient=values[1],
21
+ message=HexBytes(values[2]),
22
+ value=values[3],
23
+ )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "prediction-market-agent-tooling"
3
- version = "0.57.7"
3
+ version = "0.57.8"
4
4
  description = "Tools to benchmark, deploy and monitor prediction market agents."
5
5
  authors = ["Gnosis"]
6
6
  readme = "README.md"