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

Function interaction_encoding

crates/solver/src/liquidity/zeroex.rs:347–381  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

345
346 #[tokio::test]
347 async fn interaction_encoding() {
348 let sell_token = Address::with_last_byte(1);
349 let zeroex = Arc::new(IZeroex::Instance::new(
350 Default::default(),
351 ethrpc::mock::web3().provider,
352 ));
353 let order_record = OrderRecord::new(
354 zeroex::Order {
355 taker_amount: 100,
356 taker_token: sell_token,
357 ..Default::default()
358 },
359 OrderMetadata::default(),
360 );
361 let handler = OrderSettlementHandler {
362 order_record: order_record.clone(),
363 zeroex: zeroex.clone(),
364 };
365 let mut encoder = SettlementEncoder::default();
366 let execution = LimitOrderExecution::new(U256::from(100), U256::ZERO);
367 handler.encode(execution, &mut encoder).unwrap();
368 let [_, interactions, _] = encoder
369 .finish(InternalizationStrategy::SkipInternalizableInteraction)
370 .interactions
371 .into_array();
372 assert_eq!(
373 interactions,
374 [ZeroExInteraction {
375 order: order_record.order().clone(),
376 taker_token_fill_amount: 100,
377 zeroex: zeroex.clone(),
378 }
379 .encode()],
380 );
381 }
382}

Callers

nothing calls this directly

Calls 7

unwrapMethod · 0.80
into_arrayMethod · 0.80
newFunction · 0.50
web3Function · 0.50
cloneMethod · 0.45
encodeMethod · 0.45
finishMethod · 0.45

Tested by

no test coverage detected