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

gotham-city goes gotham-engine #86

Merged
merged 10 commits into from
Nov 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 2 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,5 @@ jsonwebtoken = "8"
hex = "0.4"
secp256k1 = {version = "0.21.0", features = ["global-context"]}
rand = "0.8"

two-party-ecdsa = { git = "https://github.com/ZenGo-X/two-party-ecdsa.git" }
kms = { git = "https://github.com/ZenGo-X/kms-secp256k1.git", branch = "2.0" }
two-party-ecdsa = { git = "https://github.com/ZenGo-X/two-party-ecdsa.git", branch="compatibility_gotham_engine" }
gotham-engine = { git = "https://github.com/ZenGo-X/gotham-engine.git" }
1 change: 0 additions & 1 deletion demo-wallet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ uuid = { version = "0.7", features = ["v4"] }
bitcoin = "0.27.1"
itertools = "0.11.0"
electrumx_client = { git = "https://github.com/ZenGo-X/rust-electrumx-client.git", tag = "[email protected]"}
kms.workspace = true
two-party-ecdsa.workspace = true
log.workspace = true
hex.workspace = true
Expand Down
4 changes: 2 additions & 2 deletions demo-wallet/src/bitcoin/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ use bitcoin::util::bip143::SigHashCache;
use bitcoin::{Address, SigHashType, TxIn, TxOut};
use electrumx_client::interface::Electrumx;
use hex;
use kms::ecdsa::two_party::MasterKey2;
use kms::ecdsa::two_party::*;
use serde::{Deserialize, Serialize};
use serde_json;
use std::fs;
use two_party_ecdsa::centipede::juggling::proof_system::{Helgamalsegmented, Proof};
use two_party_ecdsa::curv::elliptic::curves::secp256_k1::{GE, PK};
use two_party_ecdsa::curv::elliptic::curves::traits::ECPoint;
use two_party_ecdsa::curv::BigInt;
use two_party_ecdsa::kms::ecdsa::two_party::MasterKey2;
use two_party_ecdsa::kms::ecdsa::two_party::*;
use uuid::Uuid;

use client_lib::ecdsa;
Expand Down
4 changes: 1 addition & 3 deletions gotham-client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
name = "gotham-client"
version = "0.1.0"
authors = [
"gbenattar <[email protected]>",
"Oded Leiba <[email protected]"
"[email protected]"
]
edition = "2021"

Expand All @@ -26,7 +25,6 @@ reqwest.workspace = true
failure.workspace = true
floating-duration.workspace = true
two-party-ecdsa.workspace = true
kms.workspace = true

[dev-dependencies]
mockall = "0.11"
4 changes: 2 additions & 2 deletions gotham-client/src/ecdsa/keygen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ use floating_duration::TimeFormat;

use two_party_ecdsa::curv::cryptographic_primitives::twoparty::dh_key_exchange_variant_with_pok_comm::*;
use two_party_ecdsa::party_one;
use kms::chain_code::two_party as chain_code;
use kms::ecdsa::two_party::{MasterKey2, party1};
use two_party_ecdsa::kms::chain_code::two_party as chain_code;
use two_party_ecdsa::kms::ecdsa::two_party::{MasterKey2, party1};
// iOS bindings
use std::ffi::{CStr, CString};
use std::os::raw::c_char;
Expand Down
2 changes: 1 addition & 1 deletion gotham-client/src/ecdsa/recover.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
// version 3 of the License, or (at your option) any later version.
//

use kms::ecdsa::two_party::{MasterKey1, MasterKey2};
use serde_json::Error;
use two_party_ecdsa::centipede::juggling::proof_system::Helgamalsegmented;
use two_party_ecdsa::centipede::juggling::segmentation::Msegmentation;
use two_party_ecdsa::curv::arithmetic::traits::{Converter, Modulo};
use two_party_ecdsa::curv::elliptic::curves::secp256_k1::{FE, GE};
use two_party_ecdsa::curv::elliptic::curves::traits::{ECPoint, ECScalar};
use two_party_ecdsa::curv::BigInt;
use two_party_ecdsa::kms::ecdsa::two_party::{MasterKey1, MasterKey2};
// iOS bindings
use std::ffi::{CStr, CString};
use std::os::raw::c_char;
Expand Down
2 changes: 1 addition & 1 deletion gotham-client/src/ecdsa/sign.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use failure::format_err;
use kms::ecdsa::two_party::{party2, MasterKey2};
use serde::{Deserialize, Serialize};
use two_party_ecdsa::kms::ecdsa::two_party::{party2, MasterKey2};
use two_party_ecdsa::{curv::BigInt, party_one, party_two};
// iOS bindings
use std::ffi::{CStr, CString};
Expand Down
2 changes: 1 addition & 1 deletion gotham-client/src/ecdsa/types.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use kms::ecdsa::two_party::MasterKey2;
use serde::{Deserialize, Serialize};
use two_party_ecdsa::curv::BigInt;
use two_party_ecdsa::kms::ecdsa::two_party::MasterKey2;

#[derive(Serialize, Deserialize)]
pub struct PrivateShare {
Expand Down
24 changes: 13 additions & 11 deletions gotham-server/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gotham-server"
version = "1.0.0"
version = "2.0.0"
authors = [
"[email protected]"
]
Expand All @@ -25,20 +25,22 @@ failure.workspace = true
jsonwebtoken.workspace = true
hex.workspace = true
two-party-ecdsa.workspace = true
kms.workspace = true
rocksdb = { version = "0.20.1", optional = true }
rusoto_dynamodb = {version = "0.47", optional = true}
rusoto_core = {version = "0.47", optional = true}
gotham-engine.workspace = true

rocksdb = { version = "0.21.0" , optional = true}
chrono = "0.4.26"
cargo-pants = "0.4.16"
redis = { version = "0.23.0", features = ["cluster"] }
thiserror = "1.0"
erased-serde = "0.3"
async-trait = "0.1.73"
tokio = { version = "1", features = ["full"] }

[features]
default = ["local", "aws"]
default = ["local"]
local = ["rocksdb"]
aws = ["rusoto_dynamodb", "rusoto_core"]

[dependencies.serde_dynamodb]
git = "https://github.com/KZen-networks/serde_dynamodb"
features = ["native-tls"]
default-features = false


[dev-dependencies]
time-test = "0.2.1"
Expand Down
4 changes: 0 additions & 4 deletions gotham-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@ cargo run --release
```

* By default, the server will use a local [RocksDB](https://rocksdb.org/).<br>
Optionally, it can use a remote [AWS DynamoDB](https://aws.amazon.com/dynamodb/),
by setting the environment variable `DB` to the value `AWS`, and the AWS credentials `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.

* By default, the server will use no authentication (PASSTHROUGH).<br>
Optionally, it can use JWT with AWS Cognito as a service provider by setting proper environment variable (audience, region, pool_id, issuer).

### Running tests
#### Without timing output
Expand Down
142 changes: 0 additions & 142 deletions gotham-server/src/auth/cognito.rs

This file was deleted.

Loading
Loading