Skip to content

Commit 48a5d56

Browse files
authored
feat: signer-types (#21)
added signer types
1 parent e74a470 commit 48a5d56

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "omni-transaction"
3-
version = "0.1.2"
3+
version = "0.1.3"
44
authors = ["Proximity Labs Limited"]
55
license = "Apache-2.0"
66
edition = "2021"

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@ pub mod evm;
66
pub mod near;
77

88
pub mod constants;
9+
pub mod signer;
910
pub mod transaction_builder;
1011
pub mod types;

src/signer/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pub mod types;

src/signer/types.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
use near_sdk::ext_contract;
2+
use near_sdk::serde::{Deserialize, Serialize};
3+
use near_sdk::NearToken;
4+
use schemars::JsonSchema;
5+
6+
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
7+
#[serde(crate = "near_sdk::serde")]
8+
pub struct SignatureResponse {
9+
pub big_r: SerializableAffinePoint,
10+
pub s: SerializableScalar,
11+
pub recovery_id: u8,
12+
}
13+
14+
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
15+
#[serde(crate = "near_sdk::serde")]
16+
pub struct SerializableAffinePoint {
17+
pub affine_point: String,
18+
}
19+
20+
#[derive(Serialize, Deserialize, Debug, Clone, JsonSchema)]
21+
#[serde(crate = "near_sdk::serde")]
22+
pub struct SerializableScalar {
23+
pub scalar: String,
24+
}
25+
26+
#[derive(Debug, Serialize)]
27+
#[serde(crate = "near_sdk::serde")]
28+
pub struct SignRequest {
29+
pub payload: [u8; 32],
30+
pub path: String,
31+
pub key_version: u32,
32+
}
33+
34+
#[allow(dead_code)]
35+
#[ext_contract(mpc_contract)]
36+
pub trait MPCContract {
37+
fn sign(&self, request: SignRequest);
38+
fn experimental_signature_deposit(&self) -> NearToken;
39+
}

0 commit comments

Comments
 (0)