olas-operate-middleware 0.1.0rc59__py3-none-any.whl → 0.13.2__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.
Files changed (98) hide show
  1. olas_operate_middleware-0.13.2.dist-info/METADATA +75 -0
  2. olas_operate_middleware-0.13.2.dist-info/RECORD +101 -0
  3. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info}/WHEEL +1 -1
  4. operate/__init__.py +17 -0
  5. operate/account/user.py +35 -9
  6. operate/bridge/bridge_manager.py +470 -0
  7. operate/bridge/providers/lifi_provider.py +377 -0
  8. operate/bridge/providers/native_bridge_provider.py +677 -0
  9. operate/bridge/providers/provider.py +469 -0
  10. operate/bridge/providers/relay_provider.py +457 -0
  11. operate/cli.py +1565 -417
  12. operate/constants.py +60 -12
  13. operate/data/README.md +19 -0
  14. operate/data/contracts/{service_staking_token → dual_staking_token}/__init__.py +2 -2
  15. operate/data/contracts/dual_staking_token/build/DualStakingToken.json +443 -0
  16. operate/data/contracts/dual_staking_token/contract.py +132 -0
  17. operate/data/contracts/dual_staking_token/contract.yaml +23 -0
  18. operate/{ledger/base.py → data/contracts/foreign_omnibridge/__init__.py} +2 -19
  19. operate/data/contracts/foreign_omnibridge/build/ForeignOmnibridge.json +1372 -0
  20. operate/data/contracts/foreign_omnibridge/contract.py +130 -0
  21. operate/data/contracts/foreign_omnibridge/contract.yaml +23 -0
  22. operate/{ledger/solana.py → data/contracts/home_omnibridge/__init__.py} +2 -20
  23. operate/data/contracts/home_omnibridge/build/HomeOmnibridge.json +1421 -0
  24. operate/data/contracts/home_omnibridge/contract.py +80 -0
  25. operate/data/contracts/home_omnibridge/contract.yaml +23 -0
  26. operate/data/contracts/l1_standard_bridge/__init__.py +20 -0
  27. operate/data/contracts/l1_standard_bridge/build/L1StandardBridge.json +831 -0
  28. operate/data/contracts/l1_standard_bridge/contract.py +158 -0
  29. operate/data/contracts/l1_standard_bridge/contract.yaml +23 -0
  30. operate/data/contracts/l2_standard_bridge/__init__.py +20 -0
  31. operate/data/contracts/l2_standard_bridge/build/L2StandardBridge.json +626 -0
  32. operate/data/contracts/l2_standard_bridge/contract.py +130 -0
  33. operate/data/contracts/l2_standard_bridge/contract.yaml +23 -0
  34. operate/data/contracts/mech_activity/__init__.py +20 -0
  35. operate/data/contracts/mech_activity/build/MechActivity.json +111 -0
  36. operate/data/contracts/mech_activity/contract.py +44 -0
  37. operate/data/contracts/mech_activity/contract.yaml +23 -0
  38. operate/data/contracts/optimism_mintable_erc20/__init__.py +20 -0
  39. operate/data/contracts/optimism_mintable_erc20/build/OptimismMintableERC20.json +491 -0
  40. operate/data/contracts/optimism_mintable_erc20/contract.py +45 -0
  41. operate/data/contracts/optimism_mintable_erc20/contract.yaml +23 -0
  42. operate/data/contracts/recovery_module/__init__.py +20 -0
  43. operate/data/contracts/recovery_module/build/RecoveryModule.json +811 -0
  44. operate/data/contracts/recovery_module/contract.py +61 -0
  45. operate/data/contracts/recovery_module/contract.yaml +23 -0
  46. operate/data/contracts/requester_activity_checker/__init__.py +20 -0
  47. operate/data/contracts/requester_activity_checker/build/RequesterActivityChecker.json +111 -0
  48. operate/data/contracts/requester_activity_checker/contract.py +33 -0
  49. operate/data/contracts/requester_activity_checker/contract.yaml +23 -0
  50. operate/data/contracts/staking_token/__init__.py +20 -0
  51. operate/data/contracts/staking_token/build/StakingToken.json +1336 -0
  52. operate/data/contracts/{service_staking_token → staking_token}/contract.py +27 -13
  53. operate/data/contracts/staking_token/contract.yaml +23 -0
  54. operate/data/contracts/uniswap_v2_erc20/contract.yaml +3 -1
  55. operate/data/contracts/uniswap_v2_erc20/tests/__init__.py +20 -0
  56. operate/data/contracts/uniswap_v2_erc20/tests/test_contract.py +363 -0
  57. operate/keys.py +118 -33
  58. operate/ledger/__init__.py +159 -56
  59. operate/ledger/profiles.py +321 -18
  60. operate/migration.py +555 -0
  61. operate/{http → operate_http}/__init__.py +3 -2
  62. operate/{http → operate_http}/exceptions.py +6 -4
  63. operate/operate_types.py +544 -0
  64. operate/pearl.py +13 -1
  65. operate/quickstart/analyse_logs.py +118 -0
  66. operate/quickstart/claim_staking_rewards.py +104 -0
  67. operate/quickstart/reset_configs.py +106 -0
  68. operate/quickstart/reset_password.py +70 -0
  69. operate/quickstart/reset_staking.py +145 -0
  70. operate/quickstart/run_service.py +726 -0
  71. operate/quickstart/stop_service.py +72 -0
  72. operate/quickstart/terminate_on_chain_service.py +83 -0
  73. operate/quickstart/utils.py +298 -0
  74. operate/resource.py +62 -3
  75. operate/services/agent_runner.py +202 -0
  76. operate/services/deployment_runner.py +868 -0
  77. operate/services/funding_manager.py +929 -0
  78. operate/services/health_checker.py +280 -0
  79. operate/services/manage.py +2356 -620
  80. operate/services/protocol.py +1246 -340
  81. operate/services/service.py +756 -391
  82. operate/services/utils/mech.py +103 -0
  83. operate/services/utils/tendermint.py +86 -12
  84. operate/settings.py +70 -0
  85. operate/utils/__init__.py +135 -0
  86. operate/utils/gnosis.py +407 -80
  87. operate/utils/single_instance.py +226 -0
  88. operate/utils/ssl.py +133 -0
  89. operate/wallet/master.py +708 -123
  90. operate/wallet/wallet_recovery_manager.py +507 -0
  91. olas_operate_middleware-0.1.0rc59.dist-info/METADATA +0 -304
  92. olas_operate_middleware-0.1.0rc59.dist-info/RECORD +0 -41
  93. operate/data/contracts/service_staking_token/build/ServiceStakingToken.json +0 -1273
  94. operate/data/contracts/service_staking_token/contract.yaml +0 -23
  95. operate/ledger/ethereum.py +0 -48
  96. operate/types.py +0 -260
  97. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info}/entry_points.txt +0 -0
  98. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info/licenses}/LICENSE +0 -0
@@ -1,304 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: olas-operate-middleware
3
- Version: 0.1.0rc59
4
- Summary:
5
- Author: David Vilela
6
- Author-email: dvilelaf@gmail.com
7
- Requires-Python: >=3.8,<3.13
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.8
10
- Classifier: Programming Language :: Python :: 3.9
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Requires-Dist: aiohttp (==3.9.5)
15
- Requires-Dist: clea (==0.1.0rc4)
16
- Requires-Dist: cytoolz (==0.12.3)
17
- Requires-Dist: docker (==6.1.2)
18
- Requires-Dist: eth-abi (==5.1.0)
19
- Requires-Dist: eth-account (==0.8.0)
20
- Requires-Dist: eth-hash (==0.7.0)
21
- Requires-Dist: eth-keyfile (==0.6.1)
22
- Requires-Dist: eth-keys (==0.4.0)
23
- Requires-Dist: eth-rlp (==0.3.0)
24
- Requires-Dist: eth-typing (==3.5.2)
25
- Requires-Dist: eth-utils (==2.3.1)
26
- Requires-Dist: fastapi (==0.110.0)
27
- Requires-Dist: frozenlist (==1.4.1)
28
- Requires-Dist: hexbytes (==0.3.1)
29
- Requires-Dist: ipfshttpclient (==0.8.0a2)
30
- Requires-Dist: jsonschema (==4.3.3)
31
- Requires-Dist: multidict (==6.0.5)
32
- Requires-Dist: open-aea-cli-ipfs (==1.51.0)
33
- Requires-Dist: open-aea-ledger-ethereum (==1.51.0)
34
- Requires-Dist: open-autonomy (==0.14.11.post1)
35
- Requires-Dist: psutil (>=5.9.8,<6.0.0)
36
- Requires-Dist: pyinstaller (>=6.8.0,<7.0.0)
37
- Requires-Dist: requests-toolbelt (==1.0.0)
38
- Requires-Dist: starlette (==0.36.3)
39
- Requires-Dist: uvicorn (==0.27.0)
40
- Requires-Dist: web3 (==6.1.0)
41
- Description-Content-Type: text/markdown
42
-
43
- <h1 align="center">
44
- <b>Pearl</b>
45
- </h1>
46
-
47
- Pearl is an application used to run autonomous agents powered by the OLAS Network.
48
-
49
- ## Technologies Used
50
-
51
- - Electron
52
- - NodeJS (20.11 LTS)
53
- - AntD (^5)
54
- - NextJS (^14)
55
- - Javascript / TypeScript
56
- - Python (3.10)
57
- - Poetry (^1.7.1)
58
- - Docker Engine
59
-
60
- ## Getting Started
61
-
62
- ### Installing system dependencies
63
-
64
- The following installation steps assume you have the following on each OS:
65
-
66
- - Linux: a debian based operating system such as Ubuntu with `apt` to install packages.
67
- - MacOS: [Homebrew](https://brew.sh/)
68
-
69
- <details><summary><h4>NodeJS</summary></h4>
70
-
71
- NodeJS is best installed and managed through NVM. It allows you to install and select specific versions of NodeJS. Pearl has been built using version 20.11, LTS.
72
-
73
- <h5>Linux</h5>
74
-
75
- ```bash
76
- sudo apt install curl
77
- curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
78
- source ~/.bashrc
79
- nvm install --lts
80
- nvm use --lts
81
- ```
82
-
83
- <h5>MacOS</h5>
84
-
85
- ```bash
86
- brew install nvm
87
- ```
88
-
89
- Set up NVM for console usage. Dependant on the shell, you should edit the config file to contain the following code.
90
- If you're using Bash or Zsh, you might add them to your `~/.bash_profile`, `~/.bashrc`, or `~/.zshrc` file:
91
-
92
- ```bash
93
- export NVM_DIR="$HOME/.nvm"
94
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
95
- [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
96
- ```
97
-
98
- Close and reopen Terminal, or run `source ~/.bash_profile`, `source ~/.zshrc`, or `source ~/.bashrc` to reload the shell configuration.
99
-
100
- Verify your installation by running `nvm --version`. Then run:
101
-
102
- ```bash
103
- nvm install --lts
104
- nvm use --lts
105
- ```
106
-
107
- </details>
108
-
109
- <details><summary><h4>Yarn</h4></summary>
110
-
111
- Yarn is the package manager used for dependency management of the Electron app and NextJS frontend.
112
-
113
- ```bash
114
- npm install --global yarn
115
- ```
116
- </details>
117
-
118
- <details><summary><h4>Python</h4></summary>
119
-
120
- <h5>Linux</h5>
121
-
122
- ```bash
123
- sudo apt install python3
124
- ```
125
-
126
- <h5>MacOS</h5>
127
-
128
- ```bash
129
- brew install python
130
- ```
131
-
132
- </details>
133
-
134
- <details><summary><h4>PIPX</h4></summary>
135
-
136
- <h5>Linux</h5>
137
-
138
- ```bash
139
- sudo apt install pipx
140
- ```
141
-
142
- <h5>MacOS</h5>
143
-
144
- ```bash
145
- brew install pipx
146
- ```
147
-
148
- </details>
149
-
150
- <details><summary><h4>Poetry</h4></summary>
151
-
152
- Poetry is used on the backend to install and manage dependencies, and create a virtual environment for the backend API.
153
-
154
- ```bash
155
- pipx install poetry
156
- ```
157
-
158
- If promoted to run `pipx ensurepath`, run it.
159
-
160
- </details>
161
-
162
- <details><summary><h4>Docker</h4></summary>
163
-
164
- <h5>Linux</h5>
165
-
166
- *Update the `ubuntu.22.04~jammy` version string to your current OS version before running the following command:*
167
-
168
- ```bash
169
- VERSION_STRING=5:24.0.7-1~ubuntu.22.04~jammy
170
- sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
171
- sudo usermod -aG docker $USER
172
- ```
173
-
174
- If you are unsure about your current OS version/codename, you can find it by running:
175
-
176
- ```bash
177
- lsb_release -a
178
- ```
179
-
180
- <h5>MacOS</h5>
181
-
182
- You can [install Docker Desktop via the Docker website](https://www.docker.com/products/docker-desktop/). Be sure to select the correct version for your system's CPU architecture.
183
-
184
- If you are unsure about your system's CPU architecture, run the following command:
185
-
186
- ```bash
187
- uname -p
188
- # x86 64 Intel chip
189
- # arm64 Apple chip
190
- ```
191
-
192
- </details>
193
-
194
- <h3>Setting up your .env file</h3>
195
-
196
- Create an `.env` file in the root directory, or rename `.env.example` to `.env`.
197
- Then set the following environment variables.
198
-
199
- <details><summary><h4>NODE_ENV</h4></summary>
200
-
201
- For development usage, set `NODE_ENV=development`.
202
- For production usage, set `NODE_ENV=production`.
203
-
204
- </details>
205
-
206
- <details><summary><h4>FORK_URL</h4></summary>
207
-
208
- **This variable is required for both development and production.**
209
- **Must be a Gnosis Mainnet RPC URL.**
210
-
211
- - In `development` this RPC url is only used if/when forking mainnet with Hardhat (covered later). This process allows you to test without losing funds.
212
- - In `production` this RPC URL is used as the main RPC for Pearl.
213
-
214
- You can get a Gnosis RPC from [Nodies](https://www.nodies.app/).
215
-
216
- Once you have a Gnosis Mainnet RPC URL, set `FORK_URL=YOUR_RPC_URL_HERE` in your .env file.
217
-
218
- Note: this must be an external RPC. If you decide to use Hardhat for testing on a mainnet fork, do _not_ set your Hardhat Node URL here.
219
- </details>
220
-
221
- <details><summary><h4>DEV_RPC</h4></summary>
222
-
223
- This environment variable is only used when `NODE_ENV=development` is set.
224
-
225
- In `development` mode, it is used throughout Pearl as the main RPC.
226
-
227
- If you're using Hardhat, you can set `DEV_RPC=http://localhost:8545`.
228
- Or, you can use another, external RPC URL that wish to test on, ensuring that the chain ID is 100 (Gnosis Mainnet's chain ID).
229
-
230
- </details>
231
-
232
- <h3>Installing project dependencies</h3>
233
-
234
- Run the following command to install all project dependencies.
235
-
236
- ```bash
237
- yarn install-deps
238
- ```
239
-
240
- <h3>Running the application</h3>
241
-
242
- Provided your system dependencies are installed, environment variables are set, and your RPC is running.
243
-
244
- You can start Pearl by running the following command in the root directory:
245
-
246
- ```bash
247
- yarn start
248
- ```
249
-
250
- This will run Electron, which launches the NextJS frontend and the Python backend as child processes.
251
-
252
- <h3>Chain forking (for development)</h3>
253
-
254
- In the interest of protecting your funds during development, you can run a forked version of Gnosis Mainnet.
255
-
256
- There are two recommended options, choose one:
257
-
258
- <details><summary><h4>Tenderly (preferred)</h4></summary>
259
-
260
- [Tenderly](https://tenderly.co/) is a service with a plethora of useful blockchain development tools. The tool required here gives you the ability to **fork networks**.
261
-
262
- You can also monitor all transactions, and fund your accounts with any token that you please.
263
-
264
- 1. Signup to [Tenderly](https://tenderly.co/), and select the plan you desire. **The Free plan should suffice for most users**.
265
- 2. Go to *Forks* under the *Development* tab -- in the left sidebar of your dashboard.
266
- 3. Click *Create Fork*, select "Gnosis Chain" as the network, and use Chain ID `100`.
267
- 4. Copy the RPC url into the appropriate .env variables in your repository. (Recommended to set both `FORK_URL` & `DEV_RPC` to this RPC url during development).
268
- 5. Click the *Fund Accounts* button to fund your accounts with XDAI (native token) and [OLAS](https://gnosisscan.io/token/0xce11e14225575945b8e6dc0d4f2dd4c570f79d9f).
269
-
270
- </details>
271
-
272
- <details><summary><h4>Hardhat</h4></summary>
273
- Note: using Hardhat will result in the loss of chain state once your Hardhat node is turned off.
274
-
275
- Run the following command in the root of your project folder to start your Hardhat node:
276
-
277
- ```bash
278
- npx hardhat node
279
- ```
280
-
281
- **Once Hardhat is running, you will be able to use `http://localhost:8545` as your development RPC.**
282
-
283
- <h5>Funding your addresses with Hardhat</h5>
284
-
285
- There are scripts to fund addresses during testing/development:
286
-
287
- - XDAI funding:
288
-
289
- ```bash
290
- poetry run python scripts/fund.py 0xYOURADDRESS
291
- ```
292
-
293
- - OLAS funding:
294
-
295
- ```bash
296
- poetry run python scripts/transfer_olas.py PATH_TO_KEY_CONTAINING_OLAS ADDRESS_TO_TRANSFER AMOUNT
297
- ```
298
-
299
- </details>
300
-
301
- <h2>Notes and Common Issues</h2>
302
-
303
- - If Pearl is running, it will kill any attempt to run another Pearl instance. This is to ensure there are no port conflicts.
304
- - Enivironment variables are cached in the terminal, if you change them while your terminal is open, you will need to restart the terminal.
@@ -1,41 +0,0 @@
1
- operate/__init__.py,sha256=R6ZsGB_wXxS_kx0GZMHs9-sCz-1SMiZtGOJDwOGn1q0,803
2
- operate/account/__init__.py,sha256=suJ_vBMO7hLCvLYe3MVDtLXTNDd6P03og7bvUN7fZsE,804
3
- operate/account/user.py,sha256=S4RmpL7X-PZMuGJe4ts3mbkZECXD-KckMzMY37F-r88,2109
4
- operate/cli.py,sha256=slhf-d9268Mct-uKLo5EvD3ccME0ep82zuXZ_9kjdq8,27396
5
- operate/constants.py,sha256=bg-R-ROOTzv_-jaFdj6BVb_6gw5XpTSjT6DcKbPERnI,1189
6
- operate/data/__init__.py,sha256=ttC51Yqk9c4ehpIgs1Qbe7aJvzkrbbdZ1ClaCxJYByE,864
7
- operate/data/contracts/__init__.py,sha256=_th54_WvL0ibGy-b6St0Ne9DX-fyjsh-tNOKDn-cWrg,809
8
- operate/data/contracts/service_staking_token/__init__.py,sha256=CLO4Bhl0bgvFosmyYqC91bN4vJeIaAVF9d6ITAvn2Ms,866
9
- operate/data/contracts/service_staking_token/build/ServiceStakingToken.json,sha256=kcxghTySiti3ficcHbKU_q9ocyhyUx6-Qxg7VAvpIxI,54987
10
- operate/data/contracts/service_staking_token/contract.py,sha256=EMAOD69ouZ0oUNNz5mICiyXOcctuN2Ov0TId380xhkI,5833
11
- operate/data/contracts/service_staking_token/contract.yaml,sha256=mRryyAjYZ8FRCAYysgwEDeC7LLe8FNNXyXPndkXvANU,724
12
- operate/data/contracts/uniswap_v2_erc20/__init__.py,sha256=zrX0ZiB1EjaN5j6fwVMmsrShkGAuAl2xXre65jHCFhk,868
13
- operate/data/contracts/uniswap_v2_erc20/build/IUniswapV2ERC20.json,sha256=VQE1d4scixqZDRixk21VJnTJtZS8l7mH9ylm0JetILY,14169
14
- operate/data/contracts/uniswap_v2_erc20/contract.py,sha256=MwBks4QmZ3XouMT_TqWLn7KFpgwyl1x2EphNEiJEHs0,6985
15
- operate/data/contracts/uniswap_v2_erc20/contract.yaml,sha256=cQvXJOB2vXp8Ybd0sSFz41enIiVp45IjGRC_c_oVWCw,574
16
- operate/http/__init__.py,sha256=0Ykm-ACPPr8Fs6vCXs9SI9nNAF9fAsksZJq3iEDuLB0,4646
17
- operate/http/exceptions.py,sha256=K6n9RlsiIt3LUnNY9Hhxnp_PoLOpFcOxFF3XNq1ux6c,1232
18
- operate/keys.py,sha256=DdWmwiFgYkdmDOEr6UiYrY8Gbkdlz2GZbQjsz9-XK3g,2809
19
- operate/ledger/__init__.py,sha256=KP33HaiK0Wo6UC9qRc0fVIf_zSyFR0j66oG6W44ncuE,3391
20
- operate/ledger/base.py,sha256=QgVGQE8BtPbSlND67RiP8HXV19wj3PJELvSdn9_ZGpk,1154
21
- operate/ledger/ethereum.py,sha256=7qrov0LhFJSvPJshugQs-OrYsOVMgeHTYvNFPYe8YvM,1510
22
- operate/ledger/profiles.py,sha256=7P_uCkyBgRI7-JfJCAo0j3qKD-FKijbqZXFC4p4rgDU,1610
23
- operate/ledger/solana.py,sha256=vkZcrmLIySheXvqrvLq7OOpUbB1RGHlKHXkbog7bJCI,1199
24
- operate/pearl.py,sha256=1DLztIp0pB2e2evcHIl3etgkLQQLKaKSoxq1YJWuIIU,1388
25
- operate/resource.py,sha256=Fvs-hw7WrGRMpYST2DG1_MtQq6bxTXYrWkeFyyu0BrE,3880
26
- operate/services/__init__.py,sha256=isrThS-Ccu5Sc15JZgkN4uTAVaSg-NwUUSDeTyJEqLk,855
27
- operate/services/manage.py,sha256=FMN2dX6N90rO-8IB9RHT5NyBhgvkx7dEuseSlq0FR0o,40659
28
- operate/services/protocol.py,sha256=DzcSVxvKLqXNY532Mrk2wqTOKQtyYdx-kSY_Z0k00bg,40019
29
- operate/services/service.py,sha256=Ks9ng5IfVCyrj2JjnpObPZJEl4uq8p9A5drmDUVPcxc,29095
30
- operate/services/utils/__init__.py,sha256=TvioaZ1mfTRUSCtrQoLNAp4WMVXyqEJqFJM4PxSQCRU,24
31
- operate/services/utils/tendermint.py,sha256=U6mTngLbzm47KaCvErzIcygJET_fW3Jm1FEz4CZNwK0,23537
32
- operate/types.py,sha256=A-b2V64U31j611xC5_R3O0xAZbKLEj-QKyVhd7rmn6U,5357
33
- operate/utils/__init__.py,sha256=ng6DAkxed_yogz8dU2ovq5Qp6F2-Wt4QN7LuG5iXx2E,808
34
- operate/utils/gnosis.py,sha256=5fxjTyO44HI-lj3dvYt4zFfm8oGxdF9xekrpdhROidQ,10134
35
- operate/wallet/__init__.py,sha256=NGiozD3XhvkBi7_FaOWQ8x1thZPK4uGpokJaeDY_o2w,813
36
- operate/wallet/master.py,sha256=kuxk6lMn20AUOgI4uulnd5mo9ftFzYqqKZLKfgjucJw,12802
37
- olas_operate_middleware-0.1.0rc59.dist-info/LICENSE,sha256=mdBDB-mWKV5Cz4ejBzBiKqan6Z8zVLAh9xwM64O2FW4,11339
38
- olas_operate_middleware-0.1.0rc59.dist-info/METADATA,sha256=flaoQYl6cfAh-oDCfLD7iUTKLtrPj10tQCCH3GGE53A,8860
39
- olas_operate_middleware-0.1.0rc59.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
40
- olas_operate_middleware-0.1.0rc59.dist-info/entry_points.txt,sha256=dM1g2I7ODApKQFcgl5J4NGA7pfBTo6qsUTXM-j2OLlw,44
41
- olas_operate_middleware-0.1.0rc59.dist-info/RECORD,,