feat(client): add client metadata and wallet visibility support
This commit is contained in:
@@ -10,7 +10,7 @@ use miette::Diagnostic;
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::{
|
||||
db::models::{self, EvmBasicGrant},
|
||||
db::models::{self, EvmBasicGrant, EvmWalletVisibility},
|
||||
evm::utils,
|
||||
};
|
||||
|
||||
@@ -19,9 +19,8 @@ pub mod token_transfers;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct EvalContext {
|
||||
// Which wallet is this transaction for
|
||||
pub client_id: i32,
|
||||
pub wallet_id: i32,
|
||||
// Which wallet is this transaction for and who requested it
|
||||
pub target: EvmWalletVisibility,
|
||||
|
||||
// The transaction data
|
||||
pub chain: ChainId,
|
||||
@@ -145,8 +144,7 @@ pub struct VolumeRateLimit {
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
|
||||
pub struct SharedGrantSettings {
|
||||
pub wallet_id: i32,
|
||||
pub client_id: i32,
|
||||
pub visibility_id: i32,
|
||||
pub chain: ChainId,
|
||||
|
||||
pub valid_from: Option<DateTime<Utc>>,
|
||||
@@ -161,8 +159,7 @@ pub struct SharedGrantSettings {
|
||||
impl SharedGrantSettings {
|
||||
fn try_from_model(model: EvmBasicGrant) -> QueryResult<Self> {
|
||||
Ok(Self {
|
||||
wallet_id: model.wallet_id,
|
||||
client_id: model.client_id,
|
||||
visibility_id: model.visibility_id,
|
||||
chain: model.chain_id as u64, // safe because chain_id is stored as i32 but is guaranteed to be a valid ChainId by the API when creating grants
|
||||
valid_from: model.valid_from.map(Into::into),
|
||||
valid_until: model.valid_until.map(Into::into),
|
||||
|
||||
Reference in New Issue
Block a user