Skip to content

Commit f528711

Browse files
authored
feat: add startingBaseFee to dynamoDB (#494)
* feat: add startingBaseFee to dynamoDB * test: insert dutchv3 orders to dynamoDB
1 parent d1d60f8 commit f528711

File tree

2 files changed

+44
-10
lines changed

2 files changed

+44
-10
lines changed

lib/repositories/dutch-orders-repository.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export class DutchOrdersRepository extends GenericOrdersRepository<string, strin
3838
cosignature: { type: DYNAMODB_TYPES.STRING },
3939
auctionStartBlock: { type: DYNAMODB_TYPES.NUMBER },
4040
baselinePriorityFeeWei: { type: DYNAMODB_TYPES.STRING },
41+
startingBaseFee: { type: DYNAMODB_TYPES.STRING },
4142
cosigner: { type: DYNAMODB_TYPES.STRING },
4243

4344
//on chain data

test/integ/repositories/dynamo-repository.test.ts

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,26 @@ const PRIORITY_ORDER_1 = {
142142
cosigner: '0xsigner',
143143
}
144144

145+
const DUTCHV3_1 = {
146+
orderHash: '0x42161',
147+
offerer: '0xmaker',
148+
encodedOrder: 'order1',
149+
signature: 'sig1',
150+
nonce: '1',
151+
chainId: 42161,
152+
orderStatus: ORDER_STATUS.OPEN,
153+
quoteId: QUOTE_ID,
154+
requestId: REQUEST_ID,
155+
cosignerData: {
156+
decayStartBlock: 280615094,
157+
exclusiveFiller: "0x0000000000000000000000000000000000000000",
158+
exclusivityOverrideBps: 0,
159+
inputOverride: 0,
160+
outputOverrides:["0"]
161+
},
162+
startingBaseFee: "1234",
163+
}
164+
145165
const mockedGetCurrentTime = jest.mocked(currentTimestampInSeconds)
146166
const mockTime = (time: number) => {
147167
mockedGetCurrentTime.mockImplementation(() => time.toString())
@@ -177,6 +197,13 @@ describe('OrdersRepository put item test', () => {
177197
ordersRepository.putOrderAndUpdateNonceTransaction(PRIORITY_ORDER_1 as unknown as UniswapXOrderEntity)
178198
}).not.toThrow()
179199
})
200+
201+
it('should successfully put a DutchV3 order in table', async () => {
202+
expect(() => {
203+
mockTime(1)
204+
ordersRepository.putOrderAndUpdateNonceTransaction(DUTCHV3_1 as unknown as UniswapXOrderEntity)
205+
}).not.toThrow()
206+
})
180207
})
181208

182209
describe('OrdersRepository getOrders test', () => {
@@ -221,10 +248,11 @@ describe('OrdersRepository getOrders test', () => {
221248

222249
it('should successfully get orders given an orderStatus', async () => {
223250
const queryResult = await ordersRepository.getOrders(10, { orderStatus: ORDER_STATUS.OPEN })
224-
expect(queryResult.orders).toHaveLength(3)
251+
expect(queryResult.orders).toHaveLength(4)
225252
expect(queryResult.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_1))
226253
expect(queryResult.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_2))
227254
expect(queryResult.orders).toContainEqual(expect.objectContaining(PRIORITY_ORDER_1))
255+
expect(queryResult.orders).toContainEqual(expect.objectContaining(DUTCHV3_1))
228256
})
229257

230258
it('should return no orders for orderStatus', async () => {
@@ -407,12 +435,13 @@ describe('OrdersRepository getOrders test with pagination', () => {
407435
let orders = await ordersRepository.getOrders(1, { orderStatus: ORDER_STATUS.OPEN })
408436
expect(orders.orders).toHaveLength(1)
409437
allOrders = allOrders.concat(orders.orders)
410-
orders = await ordersRepository.getOrders(3, { orderStatus: ORDER_STATUS.OPEN }, orders.cursor)
411-
expect(orders.orders).toHaveLength(2)
438+
orders = await ordersRepository.getOrders(4, { orderStatus: ORDER_STATUS.OPEN }, orders.cursor)
439+
expect(orders.orders).toHaveLength(3)
412440
allOrders = allOrders.concat(orders.orders)
413-
expect(allOrders).toHaveLength(3)
441+
expect(allOrders).toHaveLength(4)
414442
expect(allOrders).toContainEqual(expect.objectContaining(MOCK_ORDER_1))
415443
expect(allOrders).toContainEqual(expect.objectContaining(MOCK_ORDER_2))
444+
expect(allOrders).toContainEqual(expect.objectContaining(DUTCHV3_1))
416445
expect(allOrders).toContainEqual(expect.objectContaining(PRIORITY_ORDER_1))
417446
expect(orders.cursor).toEqual(undefined)
418447
})
@@ -442,7 +471,7 @@ describe('OrdersRepository getOrders test with pagination', () => {
442471
const orders = await ordersRepository.getOrders(3, { orderStatus: ORDER_STATUS.OPEN })
443472
expect(orders.orders).toHaveLength(3)
444473
expect(orders.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_5))
445-
expect(orders.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_1))
474+
expect(orders.orders).toContainEqual(expect.objectContaining(DUTCHV3_1))
446475
expect(orders.orders).toContainEqual(expect.objectContaining(PRIORITY_ORDER_1))
447476
await expect(() => ordersRepository.getOrders(0, { offerer: 'riley.eth' }, orders.cursor)).rejects.toThrow(
448477
Error('Invalid cursor.')
@@ -453,7 +482,7 @@ describe('OrdersRepository getOrders test with pagination', () => {
453482
const orders = await ordersRepository.getOrders(3, { orderStatus: ORDER_STATUS.OPEN })
454483
expect(orders.orders).toHaveLength(3)
455484
expect(orders.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_5))
456-
expect(orders.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_1))
485+
expect(orders.orders).toContainEqual(expect.objectContaining(DUTCHV3_1))
457486
expect(orders.orders).toContainEqual(expect.objectContaining(PRIORITY_ORDER_1))
458487
await expect(() => ordersRepository.getOrders(0, { offerer: 'riley.eth' }, 'wrong_cursor')).rejects.toThrow(
459488
Error('Invalid cursor.')
@@ -507,10 +536,12 @@ describe('OrdersRepository getOrders test with sorting', () => {
507536
sort: 'between(1,3)',
508537
desc: true,
509538
})
510-
expect(queryResult.orders).toHaveLength(4)
539+
expect(queryResult.orders).toHaveLength(5)
511540
expect(queryResult.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_2))
512541
expect(queryResult.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_1))
513542
expect(queryResult.orders).toContainEqual(expect.objectContaining(MOCK_ORDER_5))
543+
expect(queryResult.orders).toContainEqual(expect.objectContaining(PRIORITY_ORDER_1))
544+
expect(queryResult.orders).toContainEqual(expect.objectContaining(DUTCHV3_1))
514545
})
515546

516547
it('should return all orders for OPEN status and between 1,3 time ascending order', async () => {
@@ -520,11 +551,13 @@ describe('OrdersRepository getOrders test with sorting', () => {
520551
sort: 'between(1,3)',
521552
desc: false,
522553
})
523-
expect(queryResult.orders).toHaveLength(4)
554+
expect(queryResult.orders).toHaveLength(5)
524555
expect(queryResult.orders[0]).toEqual(expect.objectContaining(MOCK_ORDER_5))
525556
expect(queryResult.orders[1]).toEqual(expect.objectContaining(PRIORITY_ORDER_1))
526-
expect(queryResult.orders[2]).toEqual(expect.objectContaining(MOCK_ORDER_1))
527-
expect(queryResult.orders[3]).toEqual(expect.objectContaining(MOCK_ORDER_2))
557+
expect(queryResult.orders[2]).toEqual(expect.objectContaining(DUTCHV3_1))
558+
expect(queryResult.orders[3]).toEqual(expect.objectContaining(MOCK_ORDER_1))
559+
expect(queryResult.orders[4]).toEqual(expect.objectContaining(MOCK_ORDER_2))
560+
528561
})
529562
})
530563

0 commit comments

Comments
 (0)