| 516 | |
| 517 | #[tokio::test(flavor = "multi_thread")] |
| 518 | async fn post_simulate_bundle_multiple_block_numbers() { |
| 519 | let filter = filter(config()); |
| 520 | |
| 521 | let json = serde_json::json!([{ |
| 522 | "chainId": 1, |
| 523 | "from": "0x93621dca56fe26cdee86e4f6b18e116e9758ff11", |
| 524 | "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", |
| 525 | "data": "0x095ea7b300000000000000000000000060f727bdead2ce49b00f2a2133fc707b931d130b0000000000000000000000000000000000000000000000000000000000989680", |
| 526 | "gasLimit": 5000000, |
| 527 | "blockNumber": 16968595, |
| 528 | }, { |
| 529 | "chainId": 1, |
| 530 | "from": "0x93621dca56fe26cdee86e4f6b18e116e9758ff11", |
| 531 | "to": "0x60f727bdead2ce49b00f2a2133fc707b931d130b", |
| 532 | "data": "0x8fd8d1bbffc9011b73f477fef5d4ebdd0903025283464275113654045eef0ce1ba22ccea000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000006f8b2cb4f0100ffffffffff057e7d64d987cab6eed08a191c4c2459daf2f8ed0b095ea7b3010102ffffffffffdac17f958d2ee523a2206206994597c13d831ec719198595a183ffffffffffffdef1c0ded9bec7f1a1670819833240f027b25efff8b2cb4f0100ffffffffff007e7d64d987cab6eed08a191c4c2459daf2f8ed0bb67d77c5010005ffffffff00742f2c5d96c0858d00860039c22d2805bed420e8a1903eab030004ffffffffffae7ab96520de3a18e5e111b5eaab095312d7fe84000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000002000000000000000000000000060f727bdead2ce49b00f2a2133fc707b931d130b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000009896800000000000000000000000000000000000000000000000000000000000000128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000130e53e715e8a500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee869584cd00000000000000000000000010000000000000000000000000000000000000110000000000000000000000000000000000000000000000cef2d4383a642acb0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", |
| 533 | "gasLimit": 5000000, |
| 534 | "blockNumber": 16968596, |
| 535 | }, |
| 536 | { |
| 537 | "chainId": 1, |
| 538 | "from": "0x93621dca56fe26cdee86e4f6b18e116e9758ff11", |
| 539 | "to": "0x7E7d64D987cAb6EeD08A191C4C2459dAF2f8ED0B", |
| 540 | "data": "0x796b89b9", |
| 541 | "gasLimit": 5000000, |
| 542 | "blockNumber": 16968597, |
| 543 | }, |
| 544 | { |
| 545 | "chainId": 1, |
| 546 | "from": "0x93621dca56fe26cdee86e4f6b18e116e9758ff11", |
| 547 | "to": "0x7E7d64D987cAb6EeD08A191C4C2459dAF2f8ED0B", |
| 548 | "data": "0x796b89b9", |
| 549 | "gasLimit": 5000000, |
| 550 | "blockNumber": 16968598, |
| 551 | }]); |
| 552 | |
| 553 | let res = warp::test::request() |
| 554 | .method("POST") |
| 555 | .path("/simulate-bundle") |
| 556 | .json(&json) |
| 557 | .reply(&filter) |
| 558 | .await; |
| 559 | |
| 560 | assert_eq!(res.status(), 200); |
| 561 | |
| 562 | let body: Vec<SimulationResponse> = serde_json::from_slice(res.body()).unwrap(); |
| 563 | |
| 564 | assert_eq!(body.len(), 4); |
| 565 | assert!(body[0].success); |
| 566 | assert!(!body[1].success); |
| 567 | assert!(body[2].success); |
| 568 | assert!(body[3].success); |
| 569 | |
| 570 | assert_eq!(body[0].block_number, 16968595); |
| 571 | assert_eq!(body[1].block_number, 16968596); |
| 572 | assert_eq!(body[2].block_number, 16968597); |
| 573 | assert_eq!(body[3].block_number, 16968598); |
| 574 | |
| 575 | assert_eq!( |