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

UI/v0.2.0 #214

Merged
merged 38 commits into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a97d578
refactor(screens): moves old screens, setting up screens for 0.2.0
Alexangelj Dec 5, 2023
e888f47
rpc management in settings
Alexangelj Dec 5, 2023
4b915af
refactor(load): adds a dev client that deploys protocol
Alexangelj Dec 6, 2023
b762c22
anvil snapshot and balance loading
Alexangelj Dec 6, 2023
8eeeb86
executing init in dfmm from app
Alexangelj Dec 6, 2023
ecc9529
styling for portfolio dashboard
Alexangelj Dec 6, 2023
e61af00
feat(fetch-balances): gets position balances from chain
Alexangelj Dec 6, 2023
f2cfcb7
chore(remove-bindings): unused bindings removed from clients crate
Alexangelj Dec 6, 2023
7677fc3
loading screen
Alexangelj Dec 7, 2023
d618768
initial chart component
Alexangelj Dec 7, 2023
e668227
chart mvp
Alexangelj Dec 8, 2023
b621eee
very nice labels for current coords in chart
Alexangelj Dec 8, 2023
d32c6bf
interactive chart with labels and a new skin
Alexangelj Dec 8, 2023
12498d8
new component system
Alexangelj Dec 8, 2023
992b155
docs(ui): adds screenshot for ui components
Alexangelj Dec 8, 2023
9b7546a
rough table, made enough progress to know what we need
Alexangelj Dec 8, 2023
06d3e2d
refactor(great-filter): remove all unused components and made contain…
Alexangelj Dec 8, 2023
8a0d392
refactor(container): remove container in favor of excalibur container
Alexangelj Dec 8, 2023
258c6f2
dfmm arb tests
Alexangelj Dec 9, 2023
a16c1fa
refactor(buttons): makes excalibur button wrapper for custom style
Alexangelj Dec 9, 2023
a3cc0b0
docs(components): adds some docstrings to component files
Alexangelj Dec 9, 2023
e5896fb
remove unused window layout in view
Alexangelj Dec 9, 2023
a475431
labeled data values
Alexangelj Dec 9, 2023
7f67211
rough layout in place for dashboard
Alexangelj Dec 9, 2023
dabc68d
dashboard layout and add ignore bindings to rust fmt toml
Alexangelj Dec 9, 2023
8f4d9bd
an excellent chart api has been created
Alexangelj Dec 10, 2023
e4454c3
full featured interactive chart is live!
Alexangelj Dec 10, 2023
76e7bac
got a sort of complicated trait made for middleware but it will work!
Alexangelj Dec 10, 2023
c2f9322
poc of data model fetcher with alloy sol types
Alexangelj Dec 10, 2023
90143ea
a working data model for portfolio dashboard
Alexangelj Dec 10, 2023
503b87e
update(model): add update to data model portfolio
Alexangelj Dec 10, 2023
9576254
built out a ton of model and data work, time to plug in
Alexangelj Dec 10, 2023
f844c21
its ALIVE
Alexangelj Dec 11, 2023
7cb652c
working live charts with time series
Alexangelj Dec 11, 2023
a8073ff
its beautiful
Alexangelj Dec 11, 2023
1c5f073
fix loading coinlist, create default
Alexangelj Dec 11, 2023
dd980dc
add journal entry
Alexangelj Dec 11, 2023
4e6608d
overwrite bindings
Alexangelj Dec 11, 2023
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
1 change: 1 addition & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.env
4 changes: 3 additions & 1 deletion .rustfmt.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,6 @@ use_field_init_shorthand = true

wrap_comments = true
normalize_comments = true
comment_width = 80
comment_width = 80

ignore = ["crates/bindings/*"]
2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ plotters = "0.3.5"
# math
RustQuant = { version = "0.0.39", features = ["seedable"] }
statrs = "0.16.0"
reikna = "0.12.3"

# Storage
linked-hash-map = "0.5.6"
directories-next = "2.0.0"
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ Excalibur is a full-stack client for interacting with EVM blockchain application
- Excalibur implements its own simulation management framework and communicates with Arbiter via an arbiter client. When combined, Excalibur is capable of running parallelized agent based simulations for any integrated ABS module.
- Excalibur integrates various RPC client connections to enable live transaction execution in the application, including a "dev" client that runs Anvil instances.


## UI Components

Excalibur only has a few underlying primitives that can be chosen from to construct color and text.

![](./assets/excalibur_ui_components.png)

## Future

Excalibur's fully vertical application design makes it easy to plug in more components of the Ethereum stack. In the future, Excalibur will be able to easily connect to local RETH nodes.
Expand Down
Binary file added assets/excalibur_ui_components.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/logos/excalibur_logo_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logos/excalibur_logo_archive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions bin/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ struct Args {

#[clap(long, global = true)]
arbiter_core: bool,

#[clap(long, global = true)]
dev: bool,
}

/// Defines available subcommands for the `Arbiter` tool.
Expand All @@ -41,10 +44,7 @@ enum Commands {
config_path: String,
},
Analyze,
Ui {
#[clap(index = 1, default_value = "")]
app: String,
},
Ui,
}

fn main() -> Result<()> {
Expand Down Expand Up @@ -81,7 +81,7 @@ fn main() -> Result<()> {
match &args.command {
Some(Commands::Simulate { config_path }) => sim::run(config_path, args.verbose)?,
Some(Commands::Analyze) => todo!(),
Some(Commands::Ui { app: _ }) => app::run()?,
Some(Commands::Ui) => app::run(args.dev)?,
None => Args::command().print_long_help()?,
}
Ok(())
Expand Down
9 changes: 9 additions & 0 deletions crates/app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ edition = "2021"
abi = { path = "../abi" }
datatypes = { path = "../datatypes" }
clients = { path = "../clients" }
cfmm_math = { path = "../cfmm_math" }


# deps
Expand Down Expand Up @@ -43,6 +44,12 @@ revm-primitives = { version = "1.3.0" }
sim.workspace = true

# workspace deps
RustQuant.workspace = true
arbiter-bindings.workspace = true
bindings.workspace = true
async-trait.workspace = true
reikna.workspace = true
statrs.workspace = true
alloy-primitives.workspace = true
arbiter-core.workspace = true
anyhow.workspace = true
Expand All @@ -53,6 +60,8 @@ plotters.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
tokio.workspace = true
tokio-util.workspace = true
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
alloy-sol-types = "0.5.2"
Loading
Loading