├── .dockerignore ├── .github └── workflows │ ├── image-push.yaml │ ├── rust.yaml │ └── rustfmt.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── canary.md5sum ├── clippy.toml ├── config ├── config.sample.pythnet.toml ├── config.sample.pythtest.toml └── config.toml ├── flake.lock ├── flake.nix ├── integration-tests ├── Dockerfile ├── agent_conf.toml ├── integration_tests │ └── __init__.py ├── message_buffer_client_codegen │ ├── __init__.py │ ├── accounts │ │ ├── __init__.py │ │ ├── message_buffer.py │ │ └── whitelist.py │ ├── errors │ │ ├── __init__.py │ │ ├── anchor.py │ │ └── custom.py │ ├── instructions │ │ ├── __init__.py │ │ ├── create_buffer.py │ │ ├── delete_buffer.py │ │ ├── initialize.py │ │ ├── put_all.py │ │ ├── resize_buffer.py │ │ ├── set_allowed_programs.py │ │ └── update_whitelist_admin.py │ └── program_id.py ├── poetry.lock ├── program-binaries │ ├── message_buffer.so │ ├── message_buffer_idl.json │ └── oracle.so ├── pyproject.toml └── tests │ ├── __init__.py │ └── test_integration.py ├── proptest-regressions └── agent │ └── market_schedule.txt ├── rust-toolchain.toml ├── rustfmt.toml ├── shell.nix ├── src ├── agent.rs ├── agent │ ├── config.rs │ ├── legacy_schedule.rs │ ├── market_schedule.rs │ ├── metrics.rs │ ├── pyth.rs │ ├── pyth │ │ ├── rpc.rs │ │ └── rpc │ │ │ ├── get_all_products.rs │ │ │ ├── get_product.rs │ │ │ ├── get_product_list.rs │ │ │ ├── subscribe_price.rs │ │ │ ├── subscribe_price_sched.rs │ │ │ └── update_price.rs │ ├── services.rs │ ├── services │ │ ├── exporter.rs │ │ ├── keypairs.rs │ │ ├── lazer_exporter.rs │ │ ├── notifier.rs │ │ └── oracle.rs │ ├── solana.rs │ ├── state.rs │ ├── state │ │ ├── api.rs │ │ ├── exporter.rs │ │ ├── global.rs │ │ ├── keypairs.rs │ │ ├── local.rs │ │ ├── oracle.rs │ │ └── transactions.rs │ ├── utils.rs │ └── utils │ │ └── rpc_multi_client.rs ├── bin │ └── agent.rs └── lib.rs └── tests.sh /.dockerignore: -------------------------------------------------------------------------------- 1 | target 2 | Dockerfile 3 | -------------------------------------------------------------------------------- /.github/workflows/image-push.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/.github/workflows/image-push.yaml -------------------------------------------------------------------------------- /.github/workflows/rust.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/.github/workflows/rust.yaml -------------------------------------------------------------------------------- /.github/workflows/rustfmt.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/.github/workflows/rustfmt.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/README.md -------------------------------------------------------------------------------- /canary.md5sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/canary.md5sum -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/clippy.toml -------------------------------------------------------------------------------- /config/config.sample.pythnet.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/config/config.sample.pythnet.toml -------------------------------------------------------------------------------- /config/config.sample.pythtest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/config/config.sample.pythtest.toml -------------------------------------------------------------------------------- /config/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/config/config.toml -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/flake.nix -------------------------------------------------------------------------------- /integration-tests/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/Dockerfile -------------------------------------------------------------------------------- /integration-tests/agent_conf.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/agent_conf.toml -------------------------------------------------------------------------------- /integration-tests/integration_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/accounts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/accounts/__init__.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/accounts/message_buffer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/accounts/message_buffer.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/accounts/whitelist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/accounts/whitelist.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/errors/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/errors/__init__.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/errors/anchor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/errors/anchor.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/errors/custom.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/errors/custom.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/__init__.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/create_buffer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/create_buffer.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/delete_buffer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/delete_buffer.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/initialize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/initialize.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/put_all.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/put_all.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/resize_buffer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/resize_buffer.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/set_allowed_programs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/set_allowed_programs.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/instructions/update_whitelist_admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/instructions/update_whitelist_admin.py -------------------------------------------------------------------------------- /integration-tests/message_buffer_client_codegen/program_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/message_buffer_client_codegen/program_id.py -------------------------------------------------------------------------------- /integration-tests/poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/poetry.lock -------------------------------------------------------------------------------- /integration-tests/program-binaries/message_buffer.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/program-binaries/message_buffer.so -------------------------------------------------------------------------------- /integration-tests/program-binaries/message_buffer_idl.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/program-binaries/message_buffer_idl.json -------------------------------------------------------------------------------- /integration-tests/program-binaries/oracle.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/program-binaries/oracle.so -------------------------------------------------------------------------------- /integration-tests/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/pyproject.toml -------------------------------------------------------------------------------- /integration-tests/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /integration-tests/tests/test_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/integration-tests/tests/test_integration.py -------------------------------------------------------------------------------- /proptest-regressions/agent/market_schedule.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/proptest-regressions/agent/market_schedule.txt -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /shell.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/shell.nix -------------------------------------------------------------------------------- /src/agent.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent.rs -------------------------------------------------------------------------------- /src/agent/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/config.rs -------------------------------------------------------------------------------- /src/agent/legacy_schedule.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/legacy_schedule.rs -------------------------------------------------------------------------------- /src/agent/market_schedule.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/market_schedule.rs -------------------------------------------------------------------------------- /src/agent/metrics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/metrics.rs -------------------------------------------------------------------------------- /src/agent/pyth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/get_all_products.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/get_all_products.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/get_product.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/get_product.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/get_product_list.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/get_product_list.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/subscribe_price.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/subscribe_price.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/subscribe_price_sched.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/subscribe_price_sched.rs -------------------------------------------------------------------------------- /src/agent/pyth/rpc/update_price.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/pyth/rpc/update_price.rs -------------------------------------------------------------------------------- /src/agent/services.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services.rs -------------------------------------------------------------------------------- /src/agent/services/exporter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services/exporter.rs -------------------------------------------------------------------------------- /src/agent/services/keypairs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services/keypairs.rs -------------------------------------------------------------------------------- /src/agent/services/lazer_exporter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services/lazer_exporter.rs -------------------------------------------------------------------------------- /src/agent/services/notifier.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services/notifier.rs -------------------------------------------------------------------------------- /src/agent/services/oracle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/services/oracle.rs -------------------------------------------------------------------------------- /src/agent/solana.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/solana.rs -------------------------------------------------------------------------------- /src/agent/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state.rs -------------------------------------------------------------------------------- /src/agent/state/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/api.rs -------------------------------------------------------------------------------- /src/agent/state/exporter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/exporter.rs -------------------------------------------------------------------------------- /src/agent/state/global.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/global.rs -------------------------------------------------------------------------------- /src/agent/state/keypairs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/keypairs.rs -------------------------------------------------------------------------------- /src/agent/state/local.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/local.rs -------------------------------------------------------------------------------- /src/agent/state/oracle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/oracle.rs -------------------------------------------------------------------------------- /src/agent/state/transactions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/state/transactions.rs -------------------------------------------------------------------------------- /src/agent/utils.rs: -------------------------------------------------------------------------------- 1 | pub mod rpc_multi_client; 2 | -------------------------------------------------------------------------------- /src/agent/utils/rpc_multi_client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/agent/utils/rpc_multi_client.rs -------------------------------------------------------------------------------- /src/bin/agent.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/src/bin/agent.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod agent; 2 | -------------------------------------------------------------------------------- /tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pyth-network/pyth-agent/HEAD/tests.sh --------------------------------------------------------------------------------