v0.2.11-pre.002-fix.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-offchain-transport-lib/tests/public_api.rs
|
||||
// version: 2
|
||||
// version: 3
|
||||
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -8,34 +8,34 @@
|
||||
//! Public API canaries for the first Off-chain Transport market-price capability family.
|
||||
|
||||
#[test]
|
||||
fn public_pre_002_price_foundation_is_available_from_crate_root() -> ksp_core_lib::Result<()> {
|
||||
assert_eq!(ksp_offchain_transport_lib::PricePair::SolUsd.code(), "SOL/USD");
|
||||
assert_eq!(ksp_offchain_transport_lib::PRICE_DECIMAL_MAX_SCALE, 18);
|
||||
let price = match ksp_offchain_transport_lib::PriceDecimal::parse("201.2500") {
|
||||
fn public_pre_002_market_price_foundation_is_available_from_crate_root() -> ksp_core_lib::Result<()> {
|
||||
assert_eq!(ksp_offchain_transport_lib::MarketPricePair::SolUsd.code(), "SOL/USD");
|
||||
assert_eq!(ksp_offchain_transport_lib::MARKET_PRICE_DECIMAL_MAX_SCALE, 18);
|
||||
let price = match ksp_offchain_transport_lib::MarketPriceDecimal::parse("201.2500") {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert_eq!(price.to_canonical_string(), "201.25");
|
||||
let id = match ksp_offchain_transport_lib::PriceProviderId::new("provider-canary") {
|
||||
let id = match ksp_offchain_transport_lib::MarketPriceProviderId::new("provider-canary") {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let common = ksp_offchain_transport_lib::PriceProviderCommonSettings::new(id.clone(), true);
|
||||
let common = ksp_offchain_transport_lib::MarketPriceProviderCommonSettings::new(id.clone(), true);
|
||||
assert_eq!(common.provider_id(), &id);
|
||||
let rate_limit = match ksp_offchain_transport_lib::PriceProviderRateLimit::fixed(
|
||||
let rate_limit = match ksp_offchain_transport_lib::MarketPriceProviderRateLimit::fixed(
|
||||
1,
|
||||
1,
|
||||
std::option::Option::None,
|
||||
ksp_offchain_transport_lib::PriceProviderRateLimitScope::Ip,
|
||||
ksp_offchain_transport_lib::MarketPriceProviderRateLimitScope::Ip,
|
||||
) {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let descriptor = match ksp_offchain_transport_lib::PriceProviderDescriptor::new(
|
||||
let descriptor = match ksp_offchain_transport_lib::MarketPriceProviderDescriptor::new(
|
||||
id.clone(),
|
||||
"Provider Canary",
|
||||
ksp_offchain_transport_lib::PriceSemantics::AggregatedMarket,
|
||||
ksp_offchain_transport_lib::PriceProviderAuthMode::None,
|
||||
ksp_offchain_transport_lib::MarketPriceSemantics::AggregatedMarket,
|
||||
ksp_offchain_transport_lib::MarketPriceProviderAuthMode::None,
|
||||
rate_limit,
|
||||
std::option::Option::None,
|
||||
true,
|
||||
@@ -44,15 +44,15 @@ fn public_pre_002_price_foundation_is_available_from_crate_root() -> ksp_core_li
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert!(descriptor.supports_sol_usd());
|
||||
let provenance = match ksp_offchain_transport_lib::PriceProvenance::new("canary") {
|
||||
let provenance = match ksp_offchain_transport_lib::MarketPriceProvenance::new("canary") {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let timestamp = ksp_offchain_transport_lib::PriceTimestamp::from_unix_millis(1);
|
||||
let observation = match ksp_offchain_transport_lib::SolUsdPriceObservation::new(
|
||||
let timestamp = ksp_offchain_transport_lib::MarketPriceTimestamp::from_unix_millis(1);
|
||||
let observation = match ksp_offchain_transport_lib::MarketPriceObservation::new(
|
||||
id,
|
||||
price,
|
||||
ksp_offchain_transport_lib::PriceSemantics::AggregatedMarket,
|
||||
ksp_offchain_transport_lib::MarketPriceSemantics::AggregatedMarket,
|
||||
timestamp,
|
||||
timestamp,
|
||||
std::option::Option::None,
|
||||
@@ -68,11 +68,11 @@ fn public_pre_002_price_foundation_is_available_from_crate_root() -> ksp_core_li
|
||||
#[test]
|
||||
fn offchain_error_codes_use_owned_domain() {
|
||||
let codes = [
|
||||
ksp_offchain_transport_lib::ERROR_CODE_PRICE_DECIMAL_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_PROVIDER_DESCRIPTOR_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_PROVIDER_ID_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_PROVIDER_OBSERVATION_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_PROVIDER_SETTINGS_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_MARKET_PRICE_DECIMAL_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_MARKET_PRICE_PROVIDER_DESCRIPTOR_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_MARKET_PRICE_PROVIDER_ID_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_MARKET_PRICE_OBSERVATION_INVALID,
|
||||
ksp_offchain_transport_lib::ERROR_CODE_MARKET_PRICE_PROVIDER_SETTINGS_INVALID,
|
||||
];
|
||||
for code in codes {
|
||||
assert_eq!(code.domain(), "offchain_transport");
|
||||
|
||||
Reference in New Issue
Block a user