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

Function postgres_orders_in_tx

crates/database/src/orders.rs:2122–2195  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2120 #[tokio::test]
2121 #[ignore]
2122 async fn postgres_orders_in_tx() {
2123 let mut db = PgConnection::connect("postgresql://").await.unwrap();
2124 let mut db = db.begin().await.unwrap();
2125 crate::clear_DANGER_(&mut db).await.unwrap();
2126
2127 let uid = |i: u8| ByteArray([i; 56]);
2128 let tx_hash = |i: u8| ByteArray([i; 32]);
2129 let uid_to_order = |uid: &OrderUid| Order {
2130 uid: *uid,
2131 ..Default::default()
2132 };
2133 let trade = |block_number, log_index, order_uid| {
2134 (
2135 EventIndex {
2136 block_number,
2137 log_index,
2138 },
2139 Event::Trade(Trade {
2140 order_uid,
2141 ..Default::default()
2142 }),
2143 )
2144 };
2145 let settlement = |block_number, log_index, transaction_hash| {
2146 (
2147 EventIndex {
2148 block_number,
2149 log_index,
2150 },
2151 Event::Settlement(Settlement {
2152 transaction_hash,
2153 ..Default::default()
2154 }),
2155 )
2156 };
2157
2158 for i in 0..8 {
2159 insert_order(&mut db, &uid_to_order(&uid(i))).await.unwrap();
2160 }
2161 let events = &[
2162 // first block, 1 settlement, 1 order
2163 trade(0, 0, uid(0)),
2164 settlement(0, 1, tx_hash(0)),
2165 // second block, 3 settlements with 2 orders each
2166 trade(1, 0, uid(1)),
2167 trade(1, 1, uid(2)),
2168 settlement(1, 2, tx_hash(1)),
2169 trade(1, 3, uid(3)),
2170 trade(1, 4, uid(4)),
2171 settlement(1, 5, tx_hash(2)),
2172 trade(1, 6, uid(5)),
2173 trade(1, 7, uid(6)),
2174 settlement(1, 8, tx_hash(3)),
2175 // third block, 1 settlement, 1 order
2176 trade(2, 0, uid(7)),
2177 settlement(2, 1, tx_hash(4)),
2178 ];
2179 crate::events::append(&mut db, events).await.unwrap();

Callers

nothing calls this directly

Calls 11

connectFunction · 0.85
clear_DANGER_Function · 0.85
ByteArrayClass · 0.85
tradeFunction · 0.85
settlementFunction · 0.85
full_orders_in_txFunction · 0.85
unwrapMethod · 0.80
TradeClass · 0.70
SettlementClass · 0.70
insert_orderFunction · 0.70
appendFunction · 0.70

Tested by

no test coverage detected