MCPcopy Create free account
hub / github.com/cowprotocol/services / post_validate_err_zero_amount

Function post_validate_err_zero_amount

crates/shared/src/order_validation.rs:2123–2174  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2121
2122 #[tokio::test]
2123 async fn post_validate_err_zero_amount() {
2124 let mut order_quoter = MockOrderQuoting::new();
2125 let mut balance_fetcher = MockBalanceFetching::new();
2126 order_quoter
2127 .expect_find_quote()
2128 .returning(|_, _| Ok(Default::default()));
2129 balance_fetcher
2130 .expect_can_transfer()
2131 .returning(|_, _| Ok(()));
2132 let mut limit_order_counter = MockLimitOrderCounting::new();
2133 limit_order_counter.expect_count().returning(|_| Ok(0u64));
2134 let native_token = WETH9::Instance::new([0xef; 20].into(), ethrpc::mock::web3().provider);
2135 let validator = OrderValidator::new(
2136 native_token,
2137 Arc::new(order_validation::banned::Users::none()),
2138 OrderValidPeriodConfiguration::any(),
2139 false,
2140 Default::default(),
2141 HooksTrampoline::Instance::new(
2142 Address::repeat_byte(0xcf),
2143 ProviderBuilder::new()
2144 .connect_mocked_client(Asserter::new())
2145 .erased(),
2146 ),
2147 Arc::new(order_quoter),
2148 Arc::new(balance_fetcher),
2149 Arc::new(MockSignatureValidating::new()),
2150 None,
2151 Arc::new(limit_order_counter),
2152 0,
2153 Default::default(),
2154 u64::MAX,
2155 SameTokensPolicy::Disallow,
2156 );
2157 let order = OrderCreation {
2158 valid_to: time::now_in_epoch_seconds() + 2,
2159 sell_token: Address::with_last_byte(1),
2160 buy_token: Address::with_last_byte(2),
2161 buy_amount: alloy::primitives::U256::from(0),
2162 sell_amount: alloy::primitives::U256::from(0),
2163 fee_amount: alloy::primitives::U256::from(1),
2164 signature: Signature::Eip712(EcdsaSignature::non_zero()),
2165 app_data: OrderCreationAppData::Full {
2166 full: "{}".to_string(),
2167 },
2168 ..Default::default()
2169 };
2170 let result = validator
2171 .validate_and_construct_order(order, &Default::default(), Default::default(), None)
2172 .await;
2173 assert!(matches!(result, Err(ValidationError::ZeroAmount)));
2174 }
2175
2176 #[tokio::test]
2177 async fn post_validate_err_wrong_owner() {

Callers

nothing calls this directly

Calls 6

now_in_epoch_secondsFunction · 0.85
to_stringMethod · 0.80
web3Function · 0.70
newFunction · 0.50
intoMethod · 0.45

Tested by

no test coverage detected