Skip to content

Commit

Permalink
feat: rust implementation for some of the Cairo types (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
ctoyan committed Jun 10, 2024
1 parent 6108934 commit e2ce7c2
Show file tree
Hide file tree
Showing 7 changed files with 945 additions and 2 deletions.
117 changes: 117 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions ampd/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ serde_json = { workspace = true }
serde_with = "3.2.0"
service-registry = { workspace = true }
sha3 = { workspace = true }
starknet-core = "0.10.0"
starknet-providers = "0.10.0"
sui-json-rpc-types = { git = "https://github.com/mystenlabs/sui", tag = "mainnet-v1.14.2" }
sui-types = { git = "https://github.com/mystenlabs/sui", features = ["test-utils"], tag = "mainnet-v1.14.2" }
# Need to switch to our own fork of tendermint and tendermint-rpc due to event attribute value being nullable.
Expand Down
9 changes: 7 additions & 2 deletions ampd/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@ use cosmrs::proto::cosmos::{
auth::v1beta1::query_client::QueryClient, tx::v1beta1::service_client::ServiceClient,
};
use error_stack::{report, FutureExt, Result, ResultExt};
use event_processor::EventHandler;
use events::Event;
use evm::finalizer::{pick, Finalization};
use evm::json_rpc::EthereumClient;
use router_api::ChainName;
use thiserror::Error;
use tofnd::grpc::{MultisigClient, SharableEcdsaClient};
use tokio::signal::unix::{signal, SignalKind};
use tokio::sync::oneshot;
use tokio_stream::Stream;
use tokio_util::sync::CancellationToken;
use tracing::info;

use asyncutil::task::{CancellableTask, TaskError, TaskGroup};
use broadcaster::Broadcaster;
use event_processor::EventHandler;
Expand All @@ -26,6 +28,7 @@ use state::StateUpdater;
use tofnd::grpc::{Multisig, MultisigClient};
use types::TMAddress;

use crate::asyncutil::task::{CancellableTask, TaskError, TaskGroup};
use crate::config::Config;
use crate::state::State;

Expand All @@ -43,6 +46,7 @@ mod handlers;
mod health_check;
mod json_rpc;
mod queue;
pub mod starknet;
pub mod state;
mod sui;
mod tm_client;
Expand Down Expand Up @@ -429,7 +433,8 @@ where
broadcaster.run().change_context(Error::Broadcaster)
}))
.add_task(CancellableTask::create(|_| async move {
// assert: the state updater only stops when all handlers that are updating their states have stopped
// assert: the state updater only stops when all handlers that are updating
// their states have stopped
state_tx
.send(state_updater.run().await)
.map_err(|_| report!(Error::ReturnState))
Expand Down
1 change: 1 addition & 0 deletions ampd/src/starknet/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod types;
Loading

0 comments on commit e2ce7c2

Please sign in to comment.