{"version":3,"file":"programs.mjs","sources":["../../../../src/plugins/spotInstrumentModule/programs.ts"],"sourcesContent":["import { PROGRAM_ID as DEFAULT_SPOT_INSTRUMENT_PROGRAM_ID } from '@convergence-rfq/spot-instrument';\n\nimport { assert } from '../../utils';\nimport { Program } from '../../types';\n\n/** @group Programs */\nexport const spotInstrumentProgram: Program = {\n  name: 'SpotInstrumentProgram',\n  address: DEFAULT_SPOT_INSTRUMENT_PROGRAM_ID,\n};\n\n/** @group Programs */\nexport type SpotInstrumentProgram = Program & { availableGuards: string[] };\n\n/** @group Helpers */\nexport const isSpotInstrumentProgram = (\n  value: Program\n): value is SpotInstrumentProgram =>\n  typeof value === 'object' && 'availableGuards' in value;\n\n/** @group Helpers */\nexport function assertSpotInstrumentProgram(\n  value: Program\n): asserts value is SpotInstrumentProgram {\n  assert(\n    isSpotInstrumentProgram(value),\n    'Expected SpotInstrumentProgram model'\n  );\n}\n\n/** @group Programs */\nexport const defaultSpotInstrumentProgram: SpotInstrumentProgram = {\n  name: 'SpotInstrumentProgram',\n  address: DEFAULT_SPOT_INSTRUMENT_PROGRAM_ID,\n  availableGuards: [],\n};\n"],"names":["spotInstrumentProgram","name","address","DEFAULT_SPOT_INSTRUMENT_PROGRAM_ID","isSpotInstrumentProgram","value","_typeof","assertSpotInstrumentProgram","assert","defaultSpotInstrumentProgram","availableGuards"],"mappings":";;;;AAKA;AACO,IAAMA,qBAA8B,GAAG;AAC5CC,EAAAA,IAAI,EAAE,uBAAuB;AAC7BC,EAAAA,OAAO,EAAEC,UAAAA;AACX,EAAC;;AAED;;AAGA;IACaC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAClCC,KAAc,EAAA;EAAA,OAEdC,OAAA,CAAOD,KAAK,CAAA,KAAK,QAAQ,IAAI,iBAAiB,IAAIA,KAAK,CAAA;AAAA,EAAA;;AAEzD;AACO,SAASE,2BAA2BA,CACzCF,KAAc,EAC0B;AACxCG,EAAAA,MAAM,CACJJ,uBAAuB,CAACC,KAAK,CAAC,EAC9B,sCACF,CAAC,CAAA;AACH,CAAA;;AAEA;AACO,IAAMI,4BAAmD,GAAG;AACjER,EAAAA,IAAI,EAAE,uBAAuB;AAC7BC,EAAAA,OAAO,EAAEC,UAAkC;AAC3CO,EAAAA,eAAe,EAAE,EAAA;AACnB;;;;"}