Module 0x7::native_collateral
Native collateral storage, keyed by (exchange, account, scope). Write API
is set_collateral / delete_collateral, gated by a
TradingNativeCapability (re-checked via assert_valid on every call).
Native state is read only on the validator side (Rust), never from Move.
- Function
set_collateral - Function
delete_collateral - Function
native_set_collateral - Function
native_delete_collateral
use 0x7::native_collateral_types;
use 0x7::trading_native_capability;
Function set_collateral
Set the collateral at (exchange, account, scope). exchange is derived
from the cap; every call re-checks the cap via assert_valid.
public fun set_collateral(cap: &trading_native_capability::TradingNativeCapability, account: address, scope: native_collateral_types::CollateralScope, collateral: native_collateral_types::Collateral)
Implementation
public fun set_collateral(
cap: &TradingNativeCapability,
account: address,
scope: CollateralScope,
collateral: Collateral,
) {
trading_native_capability::assert_valid(cap);
native_set_collateral(trading_native_capability::exchange(cap), account, scope, collateral);
}
Function delete_collateral
Delete the collateral at (exchange, account, scope).
public fun delete_collateral(cap: &trading_native_capability::TradingNativeCapability, account: address, scope: native_collateral_types::CollateralScope)
Implementation
public fun delete_collateral(
cap: &TradingNativeCapability,
account: address,
scope: CollateralScope,
) {
trading_native_capability::assert_valid(cap);
native_delete_collateral(trading_native_capability::exchange(cap), account, scope);
}
Function native_set_collateral
fun native_set_collateral(exchange: address, account: address, scope: native_collateral_types::CollateralScope, collateral: native_collateral_types::Collateral)
Implementation
native fun native_set_collateral(
exchange: address,
account: address,
scope: CollateralScope,
collateral: Collateral,
);
Function native_delete_collateral
fun native_delete_collateral(exchange: address, account: address, scope: native_collateral_types::CollateralScope)
Implementation
native fun native_delete_collateral(
exchange: address,
account: address,
scope: CollateralScope,
);