Skip to content
This repository was archived by the owner on Oct 11, 2024. It is now read-only.

Commit 8dc2101

Browse files
committed
Added second test for OrderEvent conversions
1 parent fca9630 commit 8dc2101

File tree

3 files changed

+124
-5
lines changed

3 files changed

+124
-5
lines changed

browser/go/conversion-test/conversion_test.go

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ func TestBrowserConversions(t *testing.T) {
2525
defer cancel()
2626

2727
buildForTests(t, ctx)
28-
registerOrderEventTest("EmptyContractEvents")
28+
registerOrderEventTest("EmptyContractEvents", 0)
29+
registerOrderEventTest("ExchangeFillContractEvent", 1)
2930
registerSignedOrderTest("NullAssetData")
3031
registerSignedOrderTest("NonNullAssetData")
3132
registerContractEventTest()
@@ -204,17 +205,32 @@ func registerSignedOrderTest(description string) {
204205
registerSignedOrderField(description, "signature")
205206
}
206207

207-
func registerOrderEventTest(description string) {
208+
func registerOrderEventTest(description string, length int) {
208209
registerOrderEventField(description, "timestamp")
209210
registerOrderEventField(description, "orderHash")
210211
registerOrderEventField(description, "endState")
211212
registerOrderEventField(description, "fillableTakerAssetAmount")
212213
registerOrderEventSignedOrder(description)
213-
registerOrderEventField(description, "contractEvents | length")
214+
registerOrderEventContractEventsPrelude(description, length)
215+
}
216+
217+
func registerOrderEventContractEventsPrelude(description string, length int) {
218+
boilerplate := "contractEvents | "
219+
registerOrderEventField(description, boilerplate+"length")
220+
if length == 0 {
221+
return
222+
}
223+
registerOrderEventField(description, boilerplate+"blockHash")
224+
registerOrderEventField(description, boilerplate+"txHash")
225+
registerOrderEventField(description, boilerplate+"txIndex")
226+
registerOrderEventField(description, boilerplate+"logIndex")
227+
registerOrderEventField(description, boilerplate+"isRemoved")
228+
registerOrderEventField(description, boilerplate+"address")
229+
registerOrderEventField(description, boilerplate+"kind")
214230
}
215231

216232
func registerOrderEventSignedOrder(description string) {
217-
boilerplate := "signedOrder | parameter | "
233+
boilerplate := "signedOrder | "
218234
registerOrderEventField(description, boilerplate+"chainId")
219235
registerOrderEventField(description, boilerplate+"makerAddress")
220236
registerOrderEventField(description, boilerplate+"takerAddress")

browser/go/conversion-test/main.go

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,60 @@ func setGlobals() {
327327
FillableTakerAssetAmount: big.NewInt(1),
328328
ContractEvents: []*zeroex.ContractEvent{},
329329
},
330+
zeroex.OrderEvent{
331+
Timestamp: time.Date(2006, time.January, 1, 1, 1, 1, 1, time.UTC),
332+
OrderHash: common.HexToHash("0x1"),
333+
SignedOrder: &zeroex.SignedOrder{
334+
Order: zeroex.Order{
335+
ChainID: big.NewInt(1337),
336+
MakerAddress: common.HexToAddress("0x1"),
337+
TakerAddress: common.HexToAddress("0x2"),
338+
SenderAddress: common.HexToAddress("0x3"),
339+
FeeRecipientAddress: common.HexToAddress("0x4"),
340+
ExchangeAddress: common.HexToAddress("0x5"),
341+
MakerAssetData: common.FromHex("0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c"),
342+
MakerAssetAmount: big.NewInt(123456789),
343+
MakerFeeAssetData: common.FromHex("0xf47261b000000000000000000000000034d402f14d58e001d8efbe6585051bf9706aa064"),
344+
MakerFee: big.NewInt(89),
345+
TakerAssetData: common.FromHex("0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"),
346+
TakerAssetAmount: big.NewInt(987654321),
347+
TakerFeeAssetData: common.FromHex("0xf47261b000000000000000000000000025b8fe1de9daf8ba351890744ff28cf7dfa8f5e3"),
348+
TakerFee: big.NewInt(12),
349+
ExpirationTimeSeconds: big.NewInt(10000000000),
350+
Salt: big.NewInt(1532559225),
351+
},
352+
Signature: common.FromHex("0x012761a3ed31b43c8780e905a260a35faefcc527be7516aa11c0256729b5b351bc33"),
353+
},
354+
EndState: zeroex.ESOrderFilled,
355+
FillableTakerAssetAmount: big.NewInt(0),
356+
ContractEvents: []*zeroex.ContractEvent{
357+
&zeroex.ContractEvent{
358+
BlockHash: common.HexToHash("0x1"),
359+
TxHash: common.HexToHash("0x2"),
360+
TxIndex: 123,
361+
LogIndex: 321,
362+
IsRemoved: false,
363+
Address: common.HexToAddress("0x5"),
364+
Kind: "ExchangeFillEvent",
365+
Parameters: decoder.ExchangeFillEvent{
366+
MakerAddress: common.HexToAddress("0x1"),
367+
TakerAddress: common.HexToAddress("0x2"),
368+
SenderAddress: common.HexToAddress("0x3"),
369+
FeeRecipientAddress: common.HexToAddress("0x4"),
370+
MakerAssetFilledAmount: big.NewInt(123456789),
371+
TakerAssetFilledAmount: big.NewInt(987654321),
372+
MakerFeePaid: big.NewInt(89),
373+
TakerFeePaid: big.NewInt(12),
374+
ProtocolFeePaid: big.NewInt(150000),
375+
OrderHash: common.HexToHash("0x1"),
376+
MakerAssetData: common.FromHex("0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c"),
377+
TakerAssetData: common.FromHex("0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"),
378+
MakerFeeAssetData: common.FromHex("0xf47261b000000000000000000000000034d402f14d58e001d8efbe6585051bf9706aa064"),
379+
TakerFeeAssetData: common.FromHex("0xf47261b000000000000000000000000025b8fe1de9daf8ba351890744ff28cf7dfa8f5e3"),
380+
},
381+
},
382+
},
383+
},
330384
}, nil
331385
})
332386
}),

browser/ts/conversion_test.ts

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ function testOrderEvents(orderEvents: WrapperOrderEvent[]): void {
119119
printer('orderHash', orderEvents[0].orderHash === hexUtils.leftPad('0x1', 32));
120120
printer('endState', orderEvents[0].endState === 'ADDED');
121121
printer('fillableTakerAssetAmount', orderEvents[0].fillableTakerAssetAmount === '1');
122-
printer = prettyPrintTestCase('orderEventTest', 'EmptyContractEvents | signedOrder | parameter');
122+
printer = prettyPrintTestCase('orderEventTest', 'EmptyContractEvents | signedOrder');
123123
printer('chainId', orderEvents[0].signedOrder.chainId === 1337);
124124
printer('makerAddress', orderEvents[0].signedOrder.makerAddress === hexUtils.leftPad('0x1', 20));
125125
printer('takerAddress', orderEvents[0].signedOrder.takerAddress === hexUtils.leftPad('0x2', 20));
@@ -138,6 +138,55 @@ function testOrderEvents(orderEvents: WrapperOrderEvent[]): void {
138138
printer('salt', orderEvents[0].signedOrder.salt === '1532559225');
139139
printer = prettyPrintTestCase('orderEventTest', 'EmptyContractEvents | contractEvents');
140140
printer('length', orderEvents[0].contractEvents.length === 0);
141+
142+
printer = prettyPrintTestCase('orderEventTest', 'ExchangeFillContractEvent');
143+
printer('timestamp', orderEvents[1].timestamp === '2006-01-01 01:01:01.000000001 +0000 UTC');
144+
printer('orderHash', orderEvents[1].orderHash === hexUtils.leftPad('0x1', 32));
145+
printer('endState', orderEvents[1].endState === 'FILLED');
146+
printer('fillableTakerAssetAmount', orderEvents[1].fillableTakerAssetAmount === '0');
147+
printer = prettyPrintTestCase('orderEventTest', 'ExchangeFillContractEvent | signedOrder');
148+
printer('chainId', orderEvents[1].signedOrder.chainId === 1337);
149+
printer('makerAddress', orderEvents[1].signedOrder.makerAddress === hexUtils.leftPad('0x1', 20));
150+
printer('takerAddress', orderEvents[1].signedOrder.takerAddress === hexUtils.leftPad('0x2', 20));
151+
printer('senderAddress', orderEvents[1].signedOrder.senderAddress === hexUtils.leftPad('0x3', 20));
152+
printer('feeRecipientAddress', orderEvents[1].signedOrder.feeRecipientAddress === hexUtils.leftPad('0x4', 20));
153+
printer('exchangeAddress', orderEvents[1].signedOrder.exchangeAddress === hexUtils.leftPad('0x5', 20));
154+
printer(
155+
'makerAssetData',
156+
orderEvents[1].signedOrder.makerAssetData ===
157+
'0xf47261b0000000000000000000000000871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c',
158+
);
159+
printer('makerAssetAmount', orderEvents[1].signedOrder.makerAssetAmount === '123456789');
160+
printer(
161+
'makerFeeAssetData',
162+
orderEvents[1].signedOrder.makerFeeAssetData ===
163+
'0xf47261b000000000000000000000000034d402f14d58e001d8efbe6585051bf9706aa064',
164+
);
165+
printer('makerFee', orderEvents[1].signedOrder.makerFee === '89');
166+
printer(
167+
'takerAssetData',
168+
orderEvents[1].signedOrder.takerAssetData ===
169+
'0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
170+
);
171+
printer('takerAssetAmount', orderEvents[1].signedOrder.takerAssetAmount === '987654321');
172+
printer(
173+
'takerFeeAssetData',
174+
orderEvents[1].signedOrder.takerFeeAssetData ===
175+
'0xf47261b000000000000000000000000025b8fe1de9daf8ba351890744ff28cf7dfa8f5e3',
176+
);
177+
printer('takerFee', orderEvents[1].signedOrder.takerFee === '12');
178+
printer('expirationTimeSeconds', orderEvents[1].signedOrder.expirationTimeSeconds === '10000000000');
179+
printer('salt', orderEvents[1].signedOrder.salt === '1532559225');
180+
printer = prettyPrintTestCase('orderEventTest', 'ExchangeFillContractEvent | contractEvents');
181+
printer('length', orderEvents[1].contractEvents.length === 1);
182+
printer = prettyPrintTestCase('orderEventTest', 'ExchangeFillContractEvent | contractEvents');
183+
printer('blockHash', orderEvents[1].contractEvents[0].blockHash === hexUtils.leftPad('0x1', 32));
184+
printer('txHash', orderEvents[1].contractEvents[0].txHash === hexUtils.leftPad('0x2', 32));
185+
printer('txIndex', orderEvents[1].contractEvents[0].txIndex === 123);
186+
printer('logIndex', orderEvents[1].contractEvents[0].logIndex === 321);
187+
printer('isRemoved', orderEvents[1].contractEvents[0].isRemoved === false);
188+
printer('address', orderEvents[1].contractEvents[0].address === hexUtils.leftPad('0x5', 20));
189+
printer('kind', orderEvents[1].contractEvents[0].kind === 'ExchangeFillEvent');
141190
}
142191

143192
function testSignedOrders(signedOrders: WrapperSignedOrder[]): void {

0 commit comments

Comments
 (0)