Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: subgraphs #41

Merged
merged 28 commits into from
Feb 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
bfd6cd0
feat: draft --watch option
lgalabru Feb 13, 2025
4fb2f83
feat: import admin RPC stubs
lgalabru Feb 13, 2025
516e81a
fix: iterate on plugin loading
lgalabru Feb 13, 2025
07e1692
feat: subgraph plugin boilerplate
lgalabru Feb 13, 2025
7e1a34b
wip
lgalabru Feb 14, 2025
83ba148
fix(cli): get gql server responding
MicaiahReid Feb 14, 2025
1dcaf6d
fix(core): simulate tx before execution (if !config.skip_preflight); …
MicaiahReid Feb 14, 2025
21b60e8
fix(svm): add missing types
MicaiahReid Feb 14, 2025
6ba8547
feat: subgraph runloop
lgalabru Feb 14, 2025
f6fa6c7
Merge branch 'feat/subgraph' of github.com:txtx/surfpool into feat/su…
lgalabru Feb 14, 2025
11a5be9
feat: ability to observe a subgraph
lgalabru Feb 14, 2025
6bf8393
fix: runloop
lgalabru Feb 14, 2025
42ec0a5
fix(core): make subgraph plugin config's subgraph_request non-optional
MicaiahReid Feb 14, 2025
5556935
feat(plugin): first attempt at filtering event data on `notify_transa…
MicaiahReid Feb 14, 2025
6fc369a
fix: functional runloop
lgalabru Feb 14, 2025
caf4ba9
Merge branch 'feat/subgraph' of github.com:txtx/surfpool into feat/su…
lgalabru Feb 14, 2025
e408e24
fix: graphql endpoint, build error
lgalabru Feb 14, 2025
019ec6f
feat: graphql insertion
lgalabru Feb 15, 2025
406b37f
feat: implement gql schema updates
lgalabru Feb 15, 2025
6916f83
wip
lgalabru Feb 15, 2025
876e216
feat: draft resolver
lgalabru Feb 16, 2025
add3bb8
chore: clean logs / dead code
lgalabru Feb 16, 2025
14ddb1e
chore: update crates
lgalabru Feb 17, 2025
1e95232
Merge branch 'main' into feat/subgraph
lgalabru Feb 17, 2025
24be23b
fix: reconciliate main
lgalabru Feb 17, 2025
cc285b1
Merge branch 'main' into feat/subgraph
lgalabru Feb 17, 2025
c30bc7a
fix: merge conflicts
lgalabru Feb 17, 2025
033a4ce
fix: build warnings
lgalabru Feb 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
371 changes: 358 additions & 13 deletions Cargo.lock

Large diffs are not rendered by default.

50 changes: 48 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[workspace.package]
version = "0.1.7"
version = "0.1.8"
edition = "2021"
description = "Surfpool is the best place to train before surfing Solana."
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/txtx/surfpool"
Expand All @@ -10,10 +11,55 @@ categories = ["cryptography"]
[workspace]
members = [
"crates/cli",
"crates/core"
"crates/core",
"crates/gql",
"crates/subgraph"
]
default-members = ["crates/cli"]
resolver = "2"

[workspace.dependencies]
surfpool-core = { path = "crates/core", default-features = false }
surfpool-gql = { path = "crates/gql", default-features = false }
agave-geyser-plugin-interface = "2.1.10"
solana-sdk = "=2.1.10"
solana-program = "2.1.10"
solana-program-test = "2.1.10"
solana-rpc-client = "2.1.10"
solana-account = "2.1.10"
solana-account-decoder = "2.1.10"
solana-accounts-db = "2.1.10"
solana-client = "2.1.10"
solana-entry = "2.1.10"
solana-faucet = "2.1.10"
solana-feature-set = "2.1.10"
solana-gossip = "2.1.10"
solana-inline-spl = "2.1.10"
solana-ledger = "2.1.10"
solana-metrics = "2.1.10"
solana-perf = "2.1.10"
solana-rpc-client-api = "2.1.10"
solana-rpc = "2.1.10"
solana-runtime = "2.1.10"
solana-runtime-transaction = "2.1.10"
solana-send-transaction-service = "2.1.10"
solana-stake-program = "2.1.10"
solana-storage-bigtable = "2.1.10"
solana-transaction-status = "2.1.10"
solana-vote-program = "2.1.10"
solana-version = "2.1.10"
solana-poh = "2.1.10"
solana-svm = "2.1.10"
solana-program-runtime = "2.1.10"
solana-geyser-plugin-manager = "2.1.10"
solana-streamer = "2.1.10"
ipc-channel = "0.19.0"
serde = "1.0.217"
serde_derive = "1.0.217" # must match the serde version, see https://github.com/serde-rs/serde/issues/2584#issuecomment-1685252251
serde_json = "1.0.135"
# txtx-core = { path = "../txtx/crates/txtx-core" }
# txtx-addon-network-svm = { package = "txtx-addon-network-svm", path = "../txtx/addons/svm" }
txtx-core = { version = "0.2.3" }
txtx-addon-network-svm = { version = "0.1.4" }
bincode = "1.3.3"
uuid = "1.7.0"
14 changes: 10 additions & 4 deletions crates/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ path = "src/main.rs"

[dependencies]
surfpool-core = { workspace = true }
surfpool-gql = { workspace = true }
# surfpool-core = { version = "0.1" }
# txtx-core = { path = "../../../txtx/crates/txtx-core" }
# txtx-addon-network-svm = { package = "txtx-addon-network-svm", path = "../../../txtx/addons/svm" }
txtx-core = { version = "0.2.2" }
txtx-addon-network-svm = { version = "0.1.3" }
txtx-core = { workspace = true }
txtx-addon-network-svm = { workspace = true }
hiro-system-kit = "0.3.1"
atty = "0.2.13"
ansi_term = "0.12.1"
Expand All @@ -44,6 +43,13 @@ actix-web = "4"
actix-cors = "0.7.0"
rust-embed="8.2.0"
mime_guess = "2.0.4"
notify = { version = "8.0.0" }
juniper_actix = {version = "0.6.0", features = ["subscriptions"] }
juniper_graphql_ws = { version = "0.4.0", features = ["graphql-transport-ws"] }
juniper = { version = "0.16.1", features = ["schema-language"] }
ipc-channel = { workspace = true }
bincode = { workspace = true }
convert_case = "0.7.1"

[features]
default = ["cli"]
Expand Down
3 changes: 3 additions & 0 deletions crates/cli/src/cli/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ pub struct StartSimnet {
/// Disable explorer (default: false)
#[clap(long = "no-explorer")]
pub no_explorer: bool,
/// Watch programs (default: false)
#[clap(long = "watch", action=ArgAction::SetTrue)]
pub watch: bool,
/// List of geyser plugins to load
#[arg(long = "geyser-plugin-config", short = 'g')]
pub plugin_config_path: Vec<String>,
Expand Down
Loading