Skip to content

Commit dcbde6c

Browse files
committed
chore: Add several FIX protocol field constants
1 parent a32300b commit dcbde6c

File tree

2 files changed

+138
-0
lines changed

2 files changed

+138
-0
lines changed

v42/enum.go

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,90 @@ const (
331331
EncryptMethodPGPDESMD5 = "5" // PGP/DES-MD5 (see app note on FIX website)
332332
EncryptMethodPEMDESMD5 = "6" // PEM/DES-MD5 (see app note on FIX website)
333333
)
334+
335+
// CxlRejReason
336+
const (
337+
CxlRejReasonTooLate = "0" // Too late to cancel
338+
CxlRejReasonUnknownOrder = "1" // Unknown order
339+
CxlRejReasonBrokerOption = "2" // Broker Option
340+
CxlRejReasonAlreadyPending = "3" // Order already in Pending Cancel or Pending Replace status
341+
)
342+
343+
// ReportToExch
344+
const (
345+
ReportToExchNo = "N" // Indicates that party sending message will report trade
346+
ReportToExchYes = "Y" // Indicates that party receiving message must report trade
347+
)
348+
349+
// LocateReqd
350+
const (
351+
LocateReqdNo = "N" // Indicates the broker is not required to locate
352+
LocateReqdYes = "Y" // Indicates the broker is responsible for locating the stock
353+
)
354+
355+
// ForexReq
356+
const (
357+
ForexReqNo = "N" // Do not execute Forex after security trade
358+
ForexReqYes = "Y" // Execute Forex after security trade
359+
)
360+
361+
// GapFillFlag
362+
const (
363+
GapFillFlagNo = "N" // Sequence Reset, ignore MsgSeqNum
364+
GapFillFlagYes = "Y" // Gap Fill message, MsgSeqNum field valid
365+
)
366+
367+
// IOINaturalFlag
368+
const (
369+
IOINaturalFlagNo = "N" // Not natural
370+
IOINaturalFlagYes = "Y" // Natural
371+
)
372+
373+
// MiscFeeType
374+
const (
375+
MiscFeeTypeRegulatory = "1" // Regulatory (e.g. SEC)
376+
MiscFeeTypeTax = "2" // Tax
377+
MiscFeeTypeLocalCommission = "3" // Local Commission
378+
MiscFeeTypeExchangeFees = "4" // Exchange Fees
379+
MiscFeeTypeStamp = "5" // Stamp
380+
MiscFeeTypeLevy = "6" // Levy
381+
MiscFeeTypeOther = "7" // Other
382+
MiscFeeTypeMarkup = "8" // Markup
383+
MiscFeeTypeConsumptionTax = "9" // Consumption Tax
384+
)
385+
386+
// ResetSeqNumFlag
387+
const (
388+
ResetSeqNumFlagNo = "N" // No
389+
ResetSeqNumFlagYes = "Y" // Yes, reset sequence numbers
390+
)
391+
392+
// SettlInstTransType
393+
const (
394+
SettlInstTransTypeCancel = "C" // Cancel
395+
SettlInstTransTypeNew = "N" // New
396+
SettlInstTransTypeReplace = "R" // Replace
397+
)
398+
399+
// SettlLocation
400+
const (
401+
SettlLocationCEDEL = "CED" // CEDEL
402+
SettlLocationDepositoryTrustCompany = "DTC" // Depository Trust Company
403+
SettlLocationEuroclear = "EUR" // Euroclear
404+
SettlLocationFederalBookEntry = "FED" // Federal Book Entry
405+
SettlLocationLocalMarketSettleLocation = "ISO Country Code" // Local Market Settle Location
406+
SettlLocationPhysical = "PNY" // Physical
407+
SettlLocationParticipantTrustCompany = "PTC" // Participant Trust Company
408+
)
409+
410+
// SettlDeliveryType
411+
const (
412+
SettlDeliveryTypeVersusPayment = "0" // 'Versus. Payment': Deliver (if Sell) or Receive (if Buy) vs. (Against) Payment
413+
SettlDeliveryTypeFree = "1" // 'Free': Deliver (if Sell) or Receive (if Buy) Free
414+
)
415+
416+
// AllocLinkType
417+
const (
418+
AllocLinkTypeNetting = "0" // F/X Netting
419+
AllocLinkTypeSwap = "1" // F/X Swap
420+
)

v42/enum_test.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,57 @@ func TestSideEnumValues(t *testing.T) {
260260
{"EncryptMethodPGPDES", EncryptMethodPGPDES, "4"},
261261
{"EncryptMethodPGPDESMD5", EncryptMethodPGPDESMD5, "5"},
262262
{"EncryptMethodPEMDESMD5", EncryptMethodPEMDESMD5, "6"},
263+
264+
{"CxlRejReasonTooLate", CxlRejReasonTooLate, "0"},
265+
{"CxlRejReasonUnknownOrder", CxlRejReasonUnknownOrder, "1"},
266+
{"CxlRejReasonBrokerOption", CxlRejReasonBrokerOption, "2"},
267+
{"CxlRejReasonAlreadyPending", CxlRejReasonAlreadyPending, "3"},
268+
269+
{"ReportToExchNo", ReportToExchNo, "N"},
270+
{"ReportToExchYes", ReportToExchYes, "Y"},
271+
272+
{"LocateReqdNo", LocateReqdNo, "N"},
273+
{"LocateReqdYes", LocateReqdYes, "Y"},
274+
275+
{"ForexReqNo", ForexReqNo, "N"},
276+
{"ForexReqYes", ForexReqYes, "Y"},
277+
278+
{"GapFillFlagNo", GapFillFlagNo, "N"},
279+
{"GapFillFlagYes", GapFillFlagYes, "Y"},
280+
281+
{"IOINaturalFlagNo", IOINaturalFlagNo, "N"},
282+
{"IOINaturalFlagYes", IOINaturalFlagYes, "Y"},
283+
284+
{"MiscFeeTypeRegulatory", MiscFeeTypeRegulatory, "1"},
285+
{"MiscFeeTypeTax", MiscFeeTypeTax, "2"},
286+
{"MiscFeeTypeLocalCommission", MiscFeeTypeLocalCommission, "3"},
287+
{"MiscFeeTypeExchangeFees", MiscFeeTypeExchangeFees, "4"},
288+
{"MiscFeeTypeStamp", MiscFeeTypeStamp, "5"},
289+
{"MiscFeeTypeLevy", MiscFeeTypeLevy, "6"},
290+
{"MiscFeeTypeOther", MiscFeeTypeOther, "7"},
291+
{"MiscFeeTypeMarkup", MiscFeeTypeMarkup, "8"},
292+
{"MiscFeeTypeConsumptionTax", MiscFeeTypeConsumptionTax, "9"},
293+
294+
{"ResetSeqNumFlagNo", ResetSeqNumFlagNo, "N"},
295+
{"ResetSeqNumFlagYes", ResetSeqNumFlagYes, "Y"},
296+
297+
{"SettlInstTransTypeCancel", SettlInstTransTypeCancel, "C"},
298+
{"SettlInstTransTypeNew", SettlInstTransTypeNew, "N"},
299+
{"SettlInstTransTypeReplace", SettlInstTransTypeReplace, "R"},
300+
301+
{"SettlLocationCEDEL", SettlLocationCEDEL, "CED"},
302+
{"SettlLocationDepositoryTrustCompany", SettlLocationDepositoryTrustCompany, "DTC"},
303+
{"SettlLocationEuroclear", SettlLocationEuroclear, "EUR"},
304+
{"SettlLocationFederalBookEntry", SettlLocationFederalBookEntry, "FED"},
305+
{"SettlLocationLocalMarketSettleLocation", SettlLocationLocalMarketSettleLocation, "ISO Country Code"},
306+
{"SettlLocationPhysical", SettlLocationPhysical, "PNY"},
307+
{"SettlLocationParticipantTrustCompany", SettlLocationParticipantTrustCompany, "PTC"},
308+
309+
{"SettlDeliveryTypeVersusPayment", SettlDeliveryTypeVersusPayment, "0"},
310+
{"SettlDeliveryTypeFree", SettlDeliveryTypeFree, "1"},
311+
312+
{"AllocLinkTypeNetting", AllocLinkTypeNetting, "0"},
313+
{"AllocLinkTypeSwap", AllocLinkTypeSwap, "1"},
263314
}
264315

265316
// Run each test case

0 commit comments

Comments
 (0)