Rename tycho to tycho_client
This commit is contained in:
@@ -5,7 +5,9 @@ FROM --platform=linux/amd64 continuumio/miniconda3:24.4.0-0
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Add current directory code to /app in container
|
# Add current directory code to /app in container
|
||||||
ADD . /app/testing
|
ADD ./testing /app/testing
|
||||||
|
ADD ./tycho_client /app/tycho_client
|
||||||
|
|
||||||
RUN chmod +x /app/testing/tycho-indexer
|
RUN chmod +x /app/testing/tycho-indexer
|
||||||
|
|
||||||
# Create a new conda environment and install pip
|
# Create a new conda environment and install pip
|
||||||
@@ -20,7 +22,7 @@ RUN apt-get update \
|
|||||||
&& pip install psycopg2 \
|
&& pip install psycopg2 \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
RUN /bin/bash -c "source activate myenv && pip install --no-cache-dir -r testing/requirements.txt"
|
RUN /bin/bash -c "source activate myenv && pip install --no-cache-dir -r testing/requirements.txt && cd /app/tycho_client && pip install -r requirements-docker.txt && cd -"
|
||||||
|
|
||||||
# Make port 80 available to the world outside this container
|
# Make port 80 available to the world outside this container
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ services:
|
|||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
app:
|
app:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: ..
|
||||||
dockerfile: Dockerfile
|
dockerfile: testing/Dockerfile
|
||||||
volumes:
|
volumes:
|
||||||
- ${SUBSTREAMS_PATH}:/app/substreams/my_substream
|
- ${SUBSTREAMS_PATH}:/app/substreams/my_substream
|
||||||
- ../substreams:/app/substreams
|
- ../substreams:/app/substreams
|
||||||
|
|||||||
@@ -15,9 +15,7 @@ from evm import get_token_balance, get_block_header
|
|||||||
from tycho import TychoRunner
|
from tycho import TychoRunner
|
||||||
from tycho_client.tycho.decoders import ThirdPartyPoolTychoDecoder
|
from tycho_client.tycho.decoders import ThirdPartyPoolTychoDecoder
|
||||||
from tycho_client.tycho.models import Blockchain, EVMBlock
|
from tycho_client.tycho.models import Blockchain, EVMBlock
|
||||||
from tycho_client.tycho.tycho_adapter import (
|
from tycho_client.tycho.tycho_adapter import TychoPoolStateStreamAdapter
|
||||||
TychoPoolStateStreamAdapter,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class TestResult:
|
class TestResult:
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
# Tycho Adapter
|
||||||
|
|
||||||
|
This repository contains the Tycho Adapter, a tool that allows you to interact with the Tycho API.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- Python 3.9
|
||||||
|
|
||||||
|
### Install with pip
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Create conda environment
|
||||||
|
conda create -n tycho pip python=3.9
|
||||||
|
# Activate environment
|
||||||
|
conda activate tycho
|
||||||
|
# Install packages
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```python
|
||||||
|
from tycho_client.tycho.decoders import ThirdPartyPoolTychoDecoder
|
||||||
|
from tycho_client.tycho.models import Blockchain
|
||||||
|
from tycho_client.tycho.tycho_adapter import TychoPoolStateStreamAdapter
|
||||||
|
|
||||||
|
decoder = ThirdPartyPoolTychoDecoder(
|
||||||
|
"MyProtocolSwapAdapter.evm.runtime", minimum_gas=0, hard_limit=False
|
||||||
|
)
|
||||||
|
stream_adapter = TychoPoolStateStreamAdapter(
|
||||||
|
tycho_url="0.0.0.0:4242",
|
||||||
|
protocol="my_protocol",
|
||||||
|
decoder=decoder,
|
||||||
|
blockchain=Blockchain.ethereum,
|
||||||
|
)
|
||||||
|
```
|
||||||
7
tycho_client/requirements-docker.txt
Normal file
7
tycho_client/requirements-docker.txt
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
./tycho/bins/protosim_py-0.4.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
||||||
|
requests==2.32.2
|
||||||
|
eth-abi==2.2.0
|
||||||
|
eth-typing==2.3.0
|
||||||
|
eth-utils==1.9.5
|
||||||
|
hexbytes==0.3.1
|
||||||
|
pydantic==2.8.2
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
./tycho/bins/protosim_py-0.4.9-cp39-cp39-macosx_11_0_arm64.whl
|
||||||
|
requests==2.32.2
|
||||||
|
eth-abi==2.2.0
|
||||||
|
eth-typing==2.3.0
|
||||||
|
eth-utils==1.9.5
|
||||||
|
hexbytes==0.3.1
|
||||||
|
pydantic==2.8.2
|
||||||
@@ -343,3 +343,4 @@ class TychoPoolStateStreamAdapter:
|
|||||||
|
|
||||||
block_header = BlockHeader(block.id, block.hash_, int(block.ts.timestamp()))
|
block_header = BlockHeader(block.id, block.hash_, int(block.ts.timestamp()))
|
||||||
TychoDBSingleton.get_instance().update(vm_updates, block_header)
|
TychoDBSingleton.get_instance().update(vm_updates, block_header)
|
||||||
|
|
||||||
Reference in New Issue
Block a user