@ledgerhq/context-module 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/DefaultContextModule.js +1 -1
  3. package/lib/cjs/src/DefaultContextModule.js.map +2 -2
  4. package/lib/cjs/src/DefaultContextModule.test.js +1 -1
  5. package/lib/cjs/src/DefaultContextModule.test.js.map +3 -3
  6. package/lib/cjs/src/index.js +1 -1
  7. package/lib/cjs/src/index.js.map +2 -2
  8. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +1 -1
  9. package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +2 -2
  10. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +1 -1
  11. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +3 -3
  12. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +1 -1
  13. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +3 -3
  14. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +1 -1
  15. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +3 -3
  16. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js +1 -1
  17. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +3 -3
  18. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +1 -1
  19. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +3 -3
  20. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +1 -1
  21. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +3 -3
  22. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.js +2 -0
  23. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.js.map +7 -0
  24. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js +1 -1
  25. package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +2 -2
  26. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +1 -1
  27. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +2 -2
  28. package/lib/cjs/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.js +2 -0
  29. package/lib/cjs/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.js.map +7 -0
  30. package/lib/cjs/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.js +2 -0
  31. package/lib/cjs/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.js.map +7 -0
  32. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  33. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js.map +2 -2
  34. package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js +1 -1
  35. package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js.map +1 -1
  36. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  37. package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
  38. package/lib/esm/package.json +1 -1
  39. package/lib/esm/src/DefaultContextModule.js +1 -1
  40. package/lib/esm/src/DefaultContextModule.js.map +2 -2
  41. package/lib/esm/src/DefaultContextModule.test.js +1 -1
  42. package/lib/esm/src/DefaultContextModule.test.js.map +3 -3
  43. package/lib/esm/src/index.js +1 -1
  44. package/lib/esm/src/index.js.map +2 -2
  45. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +1 -1
  46. package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +2 -2
  47. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +1 -1
  48. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +3 -3
  49. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +1 -1
  50. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +3 -3
  51. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +1 -0
  52. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +4 -4
  53. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js +1 -1
  54. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +3 -3
  55. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +1 -1
  56. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +3 -3
  57. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +1 -1
  58. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +3 -3
  59. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.js +2 -0
  60. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.js.map +7 -0
  61. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js +1 -1
  62. package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +2 -2
  63. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +1 -1
  64. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +2 -2
  65. package/lib/esm/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.js +2 -0
  66. package/lib/esm/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.js.map +7 -0
  67. package/lib/esm/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.js +2 -0
  68. package/lib/esm/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.js.map +7 -0
  69. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  70. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js.map +2 -2
  71. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  72. package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
  73. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  74. package/lib/types/src/index.d.ts +1 -0
  75. package/lib/types/src/index.d.ts.map +1 -1
  76. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts +3 -0
  77. package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts.map +1 -1
  78. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts +20 -0
  79. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts.map +1 -1
  80. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts +26 -0
  81. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts.map +1 -1
  82. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts +9 -0
  83. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts.map +1 -1
  84. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.d.ts.map +1 -1
  85. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.d.ts +2 -0
  86. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.d.ts.map +1 -0
  87. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts +1 -0
  88. package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts.map +1 -1
  89. package/lib/types/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.d.ts +31 -0
  90. package/lib/types/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.d.ts.map +1 -0
  91. package/lib/types/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.d.ts +2 -0
  92. package/lib/types/src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.d.ts.map +1 -0
  93. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts +4 -0
  94. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts.map +1 -1
  95. package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts +20 -0
  96. package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts.map +1 -1
  97. package/lib/types/src/shared/model/ClearSignContext.d.ts +1 -0
  98. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  99. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  100. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ import{Left as y,Right as d}from"purify-ts";import{beforeEach as S,describe as f,expect as o,it as s,vi as u}from"vitest";import{SolanaProgramNotFoundError as R}from"../../../../modules/solana/instruction-info/data/InstructionInfoDataSource";import{ClearSignContextType as g}from"../../../../shared/model/ClearSignContext";import{SolanaBasicFlowRuleContextLoader as v}from"./SolanaBasicFlowRuleContextLoader";const w={debug:u.fn(),info:u.fn(),warn:u.fn(),error:u.fn(),subscribers:[]},A=()=>w,e="Stake11111111111111111111111111111111111111",i="11111111111111111111111111111111",k="MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",c=t=>new Uint8Array([t,0,0,0]);function m(t,r=[]){return{programId:t,descriptors:{},enumVariants:[],basicFlowTags:r}}const p=m(e,[{discriminator:"00000000",rule:"native-staking",role:"allowed"},{discriminator:"02000000",rule:"native-staking",role:"required"},{discriminator:"04000000",rule:"native-staking",role:"required"},{discriminator:"05000000",rule:"native-staking",role:"required"}]),C=m(i,[{discriminator:"03000000",rule:"native-staking",role:"allowed"}]),B=t=>y(new R(t,`not found ${t}`)),I=t=>t.flatMap(r=>r.type===g.SOLANA_BASIC_FLOW_RULE?[r.payload]:[]);f("SolanaBasicFlowRuleContextLoader",()=>{let t,r;S(()=>{u.clearAllMocks(),r={},t={getInstructionInfo:u.fn(({programId:a})=>Promise.resolve(r[a]??B(a)))}});const n=()=>new v(t,A);f("canHandle",()=>{const a=[g.SOLANA_BASIC_FLOW_RULE];s("accepts program ids with an optional network",()=>{const l=n();o(l.canHandle({programIds:[]},a)).toBe(!0),o(l.canHandle({programIds:[e],network:"solana-devnet"},a)).toBe(!0)}),s("rejects other inputs",()=>{const l=n();o(l.canHandle(void 0,a)).toBe(!1),o(l.canHandle({programIds:[1]},a)).toBe(!1)}),s("rejects when basic-flow rules are not expected",()=>{o(n().canHandle({programIds:[e]},[g.SOLANA_INSTRUCTION_INFO])).toBe(!1)})}),s("rebuilds one rule from tags spread across two programs",async()=>{r[e]=d(p),r[i]=d(C);const a=await n().load({programIds:[e,i],network:"solana-mainnet"});o(a).toEqual([{type:g.SOLANA_BASIC_FLOW_RULE,payload:{id:"native-staking",required:[{programId:e,discriminators:[c(2),c(4),c(5)]}],allowed:[{programId:e,discriminators:[c(0)]},{programId:i,discriminators:[c(3)]}]}}])}),s("builds one rule per rule id",async()=>{r[e]=d(m(e,[{discriminator:"02000000",rule:"native-staking",role:"required"},{discriminator:"02000000",rule:"foo",role:"required"}]));const a=await n().load({programIds:[e],network:"solana-mainnet"});o(I(a).map(({id:l})=>l)).toEqual(["native-staking","foo"])}),s("returns no contexts when no program carries tags",async()=>{r[e]=d(m(e)),r[i]=d(m(i));const a=await n().load({programIds:[e,i],network:"solana-mainnet"});o(a).toEqual([])}),s("treats a program not in CAL as having no tags",async()=>{r[e]=d(p);const a=await n().load({programIds:[e,k],network:"solana-mainnet"});o(I(a)).toEqual([o.objectContaining({id:"native-staking",allowed:[{programId:e,discriminators:[c(0)]}]})]),o(w.debug).toHaveBeenCalledWith("[load] Program not in CAL, no signing route",{data:{programId:k}}),o(w.warn).not.toHaveBeenCalled()}),s("returns an error context when a CAL lookup fails",async()=>{const a=new Error("network");r[e]=d(p),r[i]=y(a);const l=await n().load({programIds:[e,i],network:"solana-mainnet"});o(l).toEqual([{type:g.ERROR,error:a}]),o(w.warn).toHaveBeenCalledWith("[load] Failed to fetch signing routes from CAL",{data:{programId:i,error:"network"}})}),s("skips a tag whose discriminator is not valid hex",async()=>{r[e]=d(m(e,[{discriminator:"zz",rule:"native-staking",role:"required"},{discriminator:"02000000",rule:"native-staking",role:"required"}]));const a=await n().load({programIds:[e],network:"solana-mainnet"});o(I(a)[0].required).toEqual([{programId:e,discriminators:[c(2)]}])}),s("fetches each distinct program once, on mainnet by default",async()=>{r[e]=d(p),await n().load({programIds:[e,e]}),o(t.getInstructionInfo).toHaveBeenCalledTimes(1),o(t.getInstructionInfo).toHaveBeenCalledWith({programId:e,network:"solana-mainnet"})}),s("forwards the network to the data source",async()=>{await n().load({programIds:[e],network:"solana-devnet"}),o(t.getInstructionInfo).toHaveBeenCalledWith({programId:e,network:"solana-devnet"})})});
2
+ //# sourceMappingURL=SolanaBasicFlowRuleContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\n\nimport {\n type InstructionInfoDataSource,\n type InstructionInfoResult,\n type SolanaBasicFlowTag,\n SolanaProgramNotFoundError,\n} from \"@/modules/solana/instruction-info/data/InstructionInfoDataSource\";\nimport { type SolanaBasicFlowRule } from \"@/modules/solana/model/SolanaContextTypes\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nimport { SolanaBasicFlowRuleContextLoader } from \"./SolanaBasicFlowRuleContextLoader\";\n\nconst mockLogger = {\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n};\nconst mockLoggerFactory = () => mockLogger;\n\nconst STAKE_PROGRAM = \"Stake11111111111111111111111111111111111111\";\nconst SYSTEM_PROGRAM = \"11111111111111111111111111111111\";\nconst MEMO_PROGRAM = \"MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr\";\n\nconst u32le = (n: number) => new Uint8Array([n, 0, 0, 0]);\n\nfunction makeResult(\n programId: string,\n basicFlowTags: SolanaBasicFlowTag[] = [],\n): InstructionInfoResult {\n return { programId, descriptors: {}, enumVariants: [], basicFlowTags };\n}\n\n// What CAL will serve once the registry annotates native staking.\nconst stakeResult = makeResult(STAKE_PROGRAM, [\n { discriminator: \"00000000\", rule: \"native-staking\", role: \"allowed\" },\n { discriminator: \"02000000\", rule: \"native-staking\", role: \"required\" },\n { discriminator: \"04000000\", rule: \"native-staking\", role: \"required\" },\n { discriminator: \"05000000\", rule: \"native-staking\", role: \"required\" },\n]);\nconst systemResult = makeResult(SYSTEM_PROGRAM, [\n { discriminator: \"03000000\", rule: \"native-staking\", role: \"allowed\" },\n]);\n\nconst notFound = (programId: string) =>\n Left(new SolanaProgramNotFoundError(programId, `not found ${programId}`));\n\nconst rulesOf = (contexts: ClearSignContext[]): SolanaBasicFlowRule[] =>\n contexts.flatMap((context) =>\n context.type === ClearSignContextType.SOLANA_BASIC_FLOW_RULE\n ? [context.payload]\n : [],\n );\n\ndescribe(\"SolanaBasicFlowRuleContextLoader\", () => {\n let dataSource: InstructionInfoDataSource;\n let byProgram: Record<\n string,\n Awaited<ReturnType<InstructionInfoDataSource[\"getInstructionInfo\"]>>\n >;\n\n beforeEach(() => {\n vi.clearAllMocks();\n byProgram = {};\n dataSource = {\n getInstructionInfo: vi.fn(({ programId }: { programId: string }) =>\n Promise.resolve(byProgram[programId] ?? notFound(programId)),\n ),\n };\n });\n\n const makeLoader = () =>\n new SolanaBasicFlowRuleContextLoader(dataSource, mockLoggerFactory);\n\n describe(\"canHandle\", () => {\n const expectedTypes = [ClearSignContextType.SOLANA_BASIC_FLOW_RULE];\n\n it(\"accepts program ids with an optional network\", () => {\n const loader = makeLoader();\n expect(loader.canHandle({ programIds: [] }, expectedTypes)).toBe(true);\n expect(\n loader.canHandle(\n { programIds: [STAKE_PROGRAM], network: \"solana-devnet\" },\n expectedTypes,\n ),\n ).toBe(true);\n });\n\n it(\"rejects other inputs\", () => {\n const loader = makeLoader();\n expect(loader.canHandle(undefined, expectedTypes)).toBe(false);\n expect(loader.canHandle({ programIds: [1] }, expectedTypes)).toBe(false);\n });\n\n it(\"rejects when basic-flow rules are not expected\", () => {\n expect(\n makeLoader().canHandle({ programIds: [STAKE_PROGRAM] }, [\n ClearSignContextType.SOLANA_INSTRUCTION_INFO,\n ]),\n ).toBe(false);\n });\n });\n\n it(\"rebuilds one rule from tags spread across two programs\", async () => {\n byProgram[STAKE_PROGRAM] = Right(stakeResult);\n byProgram[SYSTEM_PROGRAM] = Right(systemResult);\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM, SYSTEM_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n // One matcher per (program, role), same shape as the bundled default.\n expect(result).toEqual([\n {\n type: ClearSignContextType.SOLANA_BASIC_FLOW_RULE,\n payload: {\n id: \"native-staking\",\n required: [\n {\n programId: STAKE_PROGRAM,\n discriminators: [u32le(2), u32le(4), u32le(5)],\n },\n ],\n allowed: [\n { programId: STAKE_PROGRAM, discriminators: [u32le(0)] },\n { programId: SYSTEM_PROGRAM, discriminators: [u32le(3)] },\n ],\n },\n },\n ]);\n });\n\n it(\"builds one rule per rule id\", async () => {\n byProgram[STAKE_PROGRAM] = Right(\n makeResult(STAKE_PROGRAM, [\n { discriminator: \"02000000\", rule: \"native-staking\", role: \"required\" },\n { discriminator: \"02000000\", rule: \"foo\", role: \"required\" },\n ]),\n );\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n expect(rulesOf(result).map(({ id }) => id)).toEqual([\n \"native-staking\",\n \"foo\",\n ]);\n });\n\n it(\"returns no contexts when no program carries tags\", async () => {\n byProgram[STAKE_PROGRAM] = Right(makeResult(STAKE_PROGRAM));\n byProgram[SYSTEM_PROGRAM] = Right(makeResult(SYSTEM_PROGRAM));\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM, SYSTEM_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n expect(result).toEqual([]);\n });\n\n it(\"treats a program not in CAL as having no tags\", async () => {\n byProgram[STAKE_PROGRAM] = Right(stakeResult);\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM, MEMO_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n expect(rulesOf(result)).toEqual([\n expect.objectContaining({\n id: \"native-staking\",\n allowed: [{ programId: STAKE_PROGRAM, discriminators: [u32le(0)] }],\n }),\n ]);\n expect(mockLogger.debug).toHaveBeenCalledWith(\n \"[load] Program not in CAL, no signing route\",\n { data: { programId: MEMO_PROGRAM } },\n );\n expect(mockLogger.warn).not.toHaveBeenCalled();\n });\n\n it(\"returns an error context when a CAL lookup fails\", async () => {\n const error = new Error(\"network\");\n byProgram[STAKE_PROGRAM] = Right(stakeResult);\n byProgram[SYSTEM_PROGRAM] = Left(error);\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM, SYSTEM_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n expect(result).toEqual([{ type: ClearSignContextType.ERROR, error }]);\n expect(mockLogger.warn).toHaveBeenCalledWith(\n \"[load] Failed to fetch signing routes from CAL\",\n { data: { programId: SYSTEM_PROGRAM, error: \"network\" } },\n );\n });\n\n it(\"skips a tag whose discriminator is not valid hex\", async () => {\n byProgram[STAKE_PROGRAM] = Right(\n makeResult(STAKE_PROGRAM, [\n { discriminator: \"zz\", rule: \"native-staking\", role: \"required\" },\n { discriminator: \"02000000\", rule: \"native-staking\", role: \"required\" },\n ]),\n );\n\n const result = await makeLoader().load({\n programIds: [STAKE_PROGRAM],\n network: \"solana-mainnet\",\n });\n\n expect(rulesOf(result)[0]!.required).toEqual([\n { programId: STAKE_PROGRAM, discriminators: [u32le(2)] },\n ]);\n });\n\n it(\"fetches each distinct program once, on mainnet by default\", async () => {\n byProgram[STAKE_PROGRAM] = Right(stakeResult);\n\n await makeLoader().load({ programIds: [STAKE_PROGRAM, STAKE_PROGRAM] });\n\n expect(dataSource.getInstructionInfo).toHaveBeenCalledTimes(1);\n expect(dataSource.getInstructionInfo).toHaveBeenCalledWith({\n programId: STAKE_PROGRAM,\n network: \"solana-mainnet\",\n });\n });\n\n it(\"forwards the network to the data source\", async () => {\n await makeLoader().load({\n programIds: [STAKE_PROGRAM],\n network: \"solana-devnet\",\n });\n\n expect(dataSource.getInstructionInfo).toHaveBeenCalledWith({\n programId: STAKE_PROGRAM,\n network: \"solana-devnet\",\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "beforeEach", "describe", "expect", "it", "vi", "SolanaProgramNotFoundError", "ClearSignContextType", "SolanaBasicFlowRuleContextLoader", "mockLogger", "mockLoggerFactory", "STAKE_PROGRAM", "SYSTEM_PROGRAM", "MEMO_PROGRAM", "u32le", "n", "makeResult", "programId", "basicFlowTags", "stakeResult", "systemResult", "notFound", "rulesOf", "contexts", "context", "dataSource", "byProgram", "makeLoader", "expectedTypes", "loader", "result", "id", "error"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{ClearSignContextType as a}from"../../../shared/model/ClearSignContext";import{SolanaInstructionSubstructureKind as C}from"../../../modules/solana/model/SolanaPayloads";const e={TOKEN:a.SOLANA_TOKEN,LIFI:a.SOLANA_LIFI,TRUSTED_NAME:a.SOLANA_TRUSTED_NAME,BASIC_TRUSTED_NAME:a.SOLANA_BASIC_TRUSTED_NAME,TRANSACTION_CHECK:a.SOLANA_TRANSACTION_CHECK,INSTRUCTION_INFO:a.SOLANA_INSTRUCTION_INFO,ENUM_VARIANT:a.SOLANA_ENUM_VARIANT,TOKEN_INFO:a.SOLANA_TOKEN_INFO,TOKEN_ACCOUNT_STATE:a.SOLANA_TOKEN_ACCOUNT_STATE,ALT_RESOLUTION:a.SOLANA_ALT_RESOLUTION},o=new Set(Object.values(e));function l(t){return o.has(t.type)}export{o as SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES,e as SolanaContextType,C as SolanaInstructionSubstructureKind,l as isSolanaContextSuccess};
1
+ import{ClearSignContextType as a}from"../../../shared/model/ClearSignContext";import{SolanaInstructionSubstructureKind as C}from"../../../modules/solana/model/SolanaPayloads";const t={TOKEN:a.SOLANA_TOKEN,LIFI:a.SOLANA_LIFI,TRUSTED_NAME:a.SOLANA_TRUSTED_NAME,BASIC_TRUSTED_NAME:a.SOLANA_BASIC_TRUSTED_NAME,TRANSACTION_CHECK:a.SOLANA_TRANSACTION_CHECK,INSTRUCTION_INFO:a.SOLANA_INSTRUCTION_INFO,ENUM_VARIANT:a.SOLANA_ENUM_VARIANT,TOKEN_INFO:a.SOLANA_TOKEN_INFO,TOKEN_ACCOUNT_STATE:a.SOLANA_TOKEN_ACCOUNT_STATE,ALT_RESOLUTION:a.SOLANA_ALT_RESOLUTION},e=new Set(Object.values(t));function l(o){return e.has(o.type)}export{e as SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES,t as SolanaContextType,C as SolanaInstructionSubstructureKind,l as isSolanaContextSuccess};
2
2
  //# sourceMappingURL=SolanaClearSignContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/modules/solana/model/SolanaClearSignContext.ts"],
4
- "sourcesContent": ["import { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport {\n type SolanaAltResolutionPayload,\n type SolanaEnumVariantPayload,\n type SolanaInstructionInfoPayload,\n type SolanaLifiPayload,\n type SolanaTokenAccountStatePayload,\n type SolanaTokenData,\n type SolanaTokenInfoPayload,\n type SolanaTransactionCheckPayload,\n} from \"@/modules/solana/model/SolanaPayloads\";\nimport {\n type ClearSignContext,\n type ClearSignContextSuccess,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\n// Re-export Solana payload types so consumers can import from this file\nexport type {\n SolanaAltResolutionPayload,\n SolanaCalAccountReset,\n SolanaCalAccountSchema,\n SolanaCalActiveWhenPredicate,\n SolanaCalDisplayField,\n SolanaCalHideRule,\n SolanaCalMintAssociation,\n SolanaCalOwnerAssociation,\n SolanaCalSlotConstraint,\n SolanaCalTokenValue,\n SolanaCalTypePoolEntry,\n SolanaCalValue,\n SolanaCalValueFlowPort,\n SolanaEnumVariantPayload,\n SolanaInstructionEnumVariant,\n SolanaInstructionInfoPayload,\n SolanaInstructionSubstructure,\n SolanaLifiInstructionMeta,\n SolanaLifiPayload,\n SolanaSignedDescriptor,\n SolanaTokenAccountStatePayload,\n SolanaTokenData,\n SolanaTokenInfoPayload,\n SolanaTransactionCheckPayload,\n SolanaTransactionDescriptor,\n} from \"@/modules/solana/model/SolanaPayloads\";\nexport { SolanaInstructionSubstructureKind } from \"@/modules/solana/model/SolanaPayloads\";\n\n/**\n * Solana-specific payload overrides \u2014 contributed to the shared\n * ClearSignContextSuccessPayloads map at the integration boundary.\n */\nexport type SolanaPayloadOverrides = {\n [ClearSignContextType.SOLANA_TOKEN]: {\n payload: SolanaTokenData;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_LIFI]: {\n payload: SolanaLifiPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TRUSTED_NAME]: {\n payload: Uint8Array;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_BASIC_TRUSTED_NAME]: {\n payload: Uint8Array;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TRANSACTION_CHECK]: {\n payload: SolanaTransactionCheckPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_INSTRUCTION_INFO]: {\n payload: SolanaInstructionInfoPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_ENUM_VARIANT]: {\n payload: SolanaEnumVariantPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TOKEN_INFO]: {\n payload: SolanaTokenInfoPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TOKEN_ACCOUNT_STATE]: {\n payload: SolanaTokenAccountStatePayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_ALT_RESOLUTION]: {\n payload: SolanaAltResolutionPayload;\n certificate?: PkiCertificate;\n };\n};\n\nexport const SolanaContextType = {\n TOKEN: ClearSignContextType.SOLANA_TOKEN,\n LIFI: ClearSignContextType.SOLANA_LIFI,\n TRUSTED_NAME: ClearSignContextType.SOLANA_TRUSTED_NAME,\n BASIC_TRUSTED_NAME: ClearSignContextType.SOLANA_BASIC_TRUSTED_NAME,\n TRANSACTION_CHECK: ClearSignContextType.SOLANA_TRANSACTION_CHECK,\n INSTRUCTION_INFO: ClearSignContextType.SOLANA_INSTRUCTION_INFO,\n ENUM_VARIANT: ClearSignContextType.SOLANA_ENUM_VARIANT,\n TOKEN_INFO: ClearSignContextType.SOLANA_TOKEN_INFO,\n TOKEN_ACCOUNT_STATE: ClearSignContextType.SOLANA_TOKEN_ACCOUNT_STATE,\n ALT_RESOLUTION: ClearSignContextType.SOLANA_ALT_RESOLUTION,\n} as const;\n\n/**\n * Union of all Solana-relevant success context types.\n */\nexport type SolanaClearSignContextSuccessType =\n (typeof SolanaContextType)[keyof typeof SolanaContextType];\n\n/**\n * A ClearSignContextSuccess narrowed to only Solana-relevant types.\n */\nexport type SolanaClearSignContextSuccess =\n ClearSignContextSuccess<SolanaClearSignContextSuccessType>;\n\n/**\n * Set of all Solana-relevant success ClearSignContextType values.\n * Used by the type guard below to filter out non-Solana contexts at runtime.\n */\nexport const SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES =\n new Set<ClearSignContextType>(Object.values(SolanaContextType));\n\n/**\n * Type guard that narrows a ClearSignContextSuccess to a\n * SolanaClearSignContextSuccess, filtering out non-Solana types.\n */\nexport function isSolanaContextSuccess(\n ctx: ClearSignContext,\n): ctx is SolanaClearSignContextSuccess {\n return SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES.has(ctx.type);\n}\n"],
5
- "mappings": "AAWA,OAGE,wBAAAA,MACK,kCA8BP,OAAS,qCAAAC,MAAyC,wCAiD3C,MAAMC,EAAoB,CAC/B,MAAOF,EAAqB,aAC5B,KAAMA,EAAqB,YAC3B,aAAcA,EAAqB,oBACnC,mBAAoBA,EAAqB,0BACzC,kBAAmBA,EAAqB,yBACxC,iBAAkBA,EAAqB,wBACvC,aAAcA,EAAqB,oBACnC,WAAYA,EAAqB,kBACjC,oBAAqBA,EAAqB,2BAC1C,eAAgBA,EAAqB,qBACvC,EAkBaG,EACX,IAAI,IAA0B,OAAO,OAAOD,CAAiB,CAAC,EAMzD,SAASE,EACdC,EACsC,CACtC,OAAOF,EAAwC,IAAIE,EAAI,IAAI,CAC7D",
4
+ "sourcesContent": ["import { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport { type SolanaBasicFlowRule } from \"@/modules/solana/model/SolanaContextTypes\";\nimport {\n type SolanaAltResolutionPayload,\n type SolanaEnumVariantPayload,\n type SolanaInstructionInfoPayload,\n type SolanaLifiPayload,\n type SolanaTokenAccountStatePayload,\n type SolanaTokenData,\n type SolanaTokenInfoPayload,\n type SolanaTransactionCheckPayload,\n} from \"@/modules/solana/model/SolanaPayloads\";\nimport {\n type ClearSignContext,\n type ClearSignContextSuccess,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\n// Re-export Solana payload types so consumers can import from this file\nexport type {\n SolanaAltResolutionPayload,\n SolanaCalAccountReset,\n SolanaCalAccountSchema,\n SolanaCalActiveWhenPredicate,\n SolanaCalDisplayField,\n SolanaCalHideRule,\n SolanaCalMintAssociation,\n SolanaCalOwnerAssociation,\n SolanaCalSlotConstraint,\n SolanaCalTokenValue,\n SolanaCalTypePoolEntry,\n SolanaCalValue,\n SolanaCalValueFlowPort,\n SolanaEnumVariantPayload,\n SolanaInstructionEnumVariant,\n SolanaInstructionInfoPayload,\n SolanaInstructionSubstructure,\n SolanaLifiInstructionMeta,\n SolanaLifiPayload,\n SolanaSignedDescriptor,\n SolanaTokenAccountStatePayload,\n SolanaTokenData,\n SolanaTokenInfoPayload,\n SolanaTransactionCheckPayload,\n SolanaTransactionDescriptor,\n} from \"@/modules/solana/model/SolanaPayloads\";\nexport { SolanaInstructionSubstructureKind } from \"@/modules/solana/model/SolanaPayloads\";\n\n/**\n * Solana-specific payload overrides \u2014 contributed to the shared\n * ClearSignContextSuccessPayloads map at the integration boundary.\n */\nexport type SolanaPayloadOverrides = {\n [ClearSignContextType.SOLANA_TOKEN]: {\n payload: SolanaTokenData;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_LIFI]: {\n payload: SolanaLifiPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TRUSTED_NAME]: {\n payload: Uint8Array;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_BASIC_TRUSTED_NAME]: {\n payload: Uint8Array;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TRANSACTION_CHECK]: {\n payload: SolanaTransactionCheckPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_INSTRUCTION_INFO]: {\n payload: SolanaInstructionInfoPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_ENUM_VARIANT]: {\n payload: SolanaEnumVariantPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TOKEN_INFO]: {\n payload: SolanaTokenInfoPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_TOKEN_ACCOUNT_STATE]: {\n payload: SolanaTokenAccountStatePayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_ALT_RESOLUTION]: {\n payload: SolanaAltResolutionPayload;\n certificate?: PkiCertificate;\n };\n [ClearSignContextType.SOLANA_BASIC_FLOW_RULE]: {\n payload: SolanaBasicFlowRule;\n };\n};\n\nexport const SolanaContextType = {\n TOKEN: ClearSignContextType.SOLANA_TOKEN,\n LIFI: ClearSignContextType.SOLANA_LIFI,\n TRUSTED_NAME: ClearSignContextType.SOLANA_TRUSTED_NAME,\n BASIC_TRUSTED_NAME: ClearSignContextType.SOLANA_BASIC_TRUSTED_NAME,\n TRANSACTION_CHECK: ClearSignContextType.SOLANA_TRANSACTION_CHECK,\n INSTRUCTION_INFO: ClearSignContextType.SOLANA_INSTRUCTION_INFO,\n ENUM_VARIANT: ClearSignContextType.SOLANA_ENUM_VARIANT,\n TOKEN_INFO: ClearSignContextType.SOLANA_TOKEN_INFO,\n TOKEN_ACCOUNT_STATE: ClearSignContextType.SOLANA_TOKEN_ACCOUNT_STATE,\n ALT_RESOLUTION: ClearSignContextType.SOLANA_ALT_RESOLUTION,\n} as const;\n\n/**\n * Union of all Solana-relevant success context types.\n */\nexport type SolanaClearSignContextSuccessType =\n (typeof SolanaContextType)[keyof typeof SolanaContextType];\n\n/**\n * A ClearSignContextSuccess narrowed to only Solana-relevant types.\n */\nexport type SolanaClearSignContextSuccess =\n ClearSignContextSuccess<SolanaClearSignContextSuccessType>;\n\n/**\n * Set of all Solana-relevant success ClearSignContextType values.\n * Used by the type guard below to filter out non-Solana contexts at runtime.\n */\nexport const SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES =\n new Set<ClearSignContextType>(Object.values(SolanaContextType));\n\n/**\n * Type guard that narrows a ClearSignContextSuccess to a\n * SolanaClearSignContextSuccess, filtering out non-Solana types.\n */\nexport function isSolanaContextSuccess(\n ctx: ClearSignContext,\n): ctx is SolanaClearSignContextSuccess {\n return SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES.has(ctx.type);\n}\n"],
5
+ "mappings": "AAYA,OAGE,wBAAAA,MACK,kCA8BP,OAAS,qCAAAC,MAAyC,wCAoD3C,MAAMC,EAAoB,CAC/B,MAAOF,EAAqB,aAC5B,KAAMA,EAAqB,YAC3B,aAAcA,EAAqB,oBACnC,mBAAoBA,EAAqB,0BACzC,kBAAmBA,EAAqB,yBACxC,iBAAkBA,EAAqB,wBACvC,aAAcA,EAAqB,oBACnC,WAAYA,EAAqB,kBACjC,oBAAqBA,EAAqB,2BAC1C,eAAgBA,EAAqB,qBACvC,EAkBaG,EACX,IAAI,IAA0B,OAAO,OAAOD,CAAiB,CAAC,EAMzD,SAASE,EACdC,EACsC,CACtC,OAAOF,EAAwC,IAAIE,EAAI,IAAI,CAC7D",
6
6
  "names": ["ClearSignContextType", "SolanaInstructionSubstructureKind", "SolanaContextType", "SOLANA_CLEAR_SIGN_CONTEXT_SUCCESS_TYPES", "isSolanaContextSuccess", "ctx"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var E=(e=>(e.ERROR="error",e.CONCORDIUM_ACCOUNT_OWNERSHIP="concordiumAccountOwnership",e.ETHEREUM_TOKEN="ethereumToken",e.ETHEREUM_NFT="ethereumNft",e.ETHEREUM_TRUSTED_NAME="ethereumTrustedName",e.ETHEREUM_PLUGIN="ethereumPlugin",e.ETHEREUM_EXTERNAL_PLUGIN="ethereumExternalPlugin",e.ETHEREUM_TRANSACTION_INFO="ethereumTransactionInfo",e.ETHEREUM_PROXY_INFO="ethereumProxyInfo",e.ETHEREUM_ENUM="ethereumEnum",e.ETHEREUM_TRANSACTION_FIELD_DESCRIPTION="ethereumTransactionFieldDescription",e.ETHEREUM_TRANSACTION_CHECK="ethereumTransactionCheck",e.ETHEREUM_DYNAMIC_NETWORK="ethereumDynamicNetwork",e.ETHEREUM_DYNAMIC_NETWORK_ICON="ethereumDynamicNetworkIcon",e.ETHEREUM_SAFE="ethereumSafe",e.ETHEREUM_SIGNER="ethereumSigner",e.ETHEREUM_GATED_SIGNING="ethereumGatedSigning",e.SOLANA_TOKEN="solanaToken",e.SOLANA_LIFI="solanaLifi",e.SOLANA_TRUSTED_NAME="solanaTrustedName",e.SOLANA_BASIC_TRUSTED_NAME="solanaBasicTrustedName",e.SOLANA_TRANSACTION_CHECK="solanaTransactionCheck",e.SOLANA_INSTRUCTION_INFO="solanaInstructionInfo",e.SOLANA_ENUM_VARIANT="solanaEnumVariant",e.SOLANA_TOKEN_INFO="solanaTokenInfo",e.SOLANA_TOKEN_ACCOUNT_STATE="solanaTokenAccountState",e.SOLANA_ALT_RESOLUTION="solanaAltResolution",e.TRON_TOKEN="tronToken",e))(E||{});export{E as ClearSignContextType};
1
+ var E=(e=>(e.ERROR="error",e.CONCORDIUM_ACCOUNT_OWNERSHIP="concordiumAccountOwnership",e.ETHEREUM_TOKEN="ethereumToken",e.ETHEREUM_NFT="ethereumNft",e.ETHEREUM_TRUSTED_NAME="ethereumTrustedName",e.ETHEREUM_PLUGIN="ethereumPlugin",e.ETHEREUM_EXTERNAL_PLUGIN="ethereumExternalPlugin",e.ETHEREUM_TRANSACTION_INFO="ethereumTransactionInfo",e.ETHEREUM_PROXY_INFO="ethereumProxyInfo",e.ETHEREUM_ENUM="ethereumEnum",e.ETHEREUM_TRANSACTION_FIELD_DESCRIPTION="ethereumTransactionFieldDescription",e.ETHEREUM_TRANSACTION_CHECK="ethereumTransactionCheck",e.ETHEREUM_DYNAMIC_NETWORK="ethereumDynamicNetwork",e.ETHEREUM_DYNAMIC_NETWORK_ICON="ethereumDynamicNetworkIcon",e.ETHEREUM_SAFE="ethereumSafe",e.ETHEREUM_SIGNER="ethereumSigner",e.ETHEREUM_GATED_SIGNING="ethereumGatedSigning",e.SOLANA_TOKEN="solanaToken",e.SOLANA_LIFI="solanaLifi",e.SOLANA_TRUSTED_NAME="solanaTrustedName",e.SOLANA_BASIC_TRUSTED_NAME="solanaBasicTrustedName",e.SOLANA_TRANSACTION_CHECK="solanaTransactionCheck",e.SOLANA_INSTRUCTION_INFO="solanaInstructionInfo",e.SOLANA_ENUM_VARIANT="solanaEnumVariant",e.SOLANA_TOKEN_INFO="solanaTokenInfo",e.SOLANA_TOKEN_ACCOUNT_STATE="solanaTokenAccountState",e.SOLANA_ALT_RESOLUTION="solanaAltResolution",e.SOLANA_BASIC_FLOW_RULE="solanaBasicFlowRule",e.TRON_TOKEN="tronToken",e))(E||{});export{E as ClearSignContextType};
2
2
  //# sourceMappingURL=ClearSignContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/model/ClearSignContext.ts"],
4
- "sourcesContent": ["import { type EthereumPayloadOverrides } from \"@/modules/ethereum/model/EthereumClearSignContext\";\nimport { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport { type SolanaPayloadOverrides } from \"@/modules/solana/model/SolanaClearSignContext\";\n\nexport enum ClearSignContextType {\n ERROR = \"error\",\n CONCORDIUM_ACCOUNT_OWNERSHIP = \"concordiumAccountOwnership\",\n ETHEREUM_TOKEN = \"ethereumToken\",\n ETHEREUM_NFT = \"ethereumNft\",\n ETHEREUM_TRUSTED_NAME = \"ethereumTrustedName\",\n ETHEREUM_PLUGIN = \"ethereumPlugin\",\n ETHEREUM_EXTERNAL_PLUGIN = \"ethereumExternalPlugin\",\n ETHEREUM_TRANSACTION_INFO = \"ethereumTransactionInfo\",\n ETHEREUM_PROXY_INFO = \"ethereumProxyInfo\",\n ETHEREUM_ENUM = \"ethereumEnum\",\n ETHEREUM_TRANSACTION_FIELD_DESCRIPTION = \"ethereumTransactionFieldDescription\",\n ETHEREUM_TRANSACTION_CHECK = \"ethereumTransactionCheck\",\n ETHEREUM_DYNAMIC_NETWORK = \"ethereumDynamicNetwork\",\n ETHEREUM_DYNAMIC_NETWORK_ICON = \"ethereumDynamicNetworkIcon\",\n ETHEREUM_SAFE = \"ethereumSafe\",\n ETHEREUM_SIGNER = \"ethereumSigner\",\n ETHEREUM_GATED_SIGNING = \"ethereumGatedSigning\",\n SOLANA_TOKEN = \"solanaToken\",\n SOLANA_LIFI = \"solanaLifi\",\n SOLANA_TRUSTED_NAME = \"solanaTrustedName\",\n SOLANA_BASIC_TRUSTED_NAME = \"solanaBasicTrustedName\",\n SOLANA_TRANSACTION_CHECK = \"solanaTransactionCheck\",\n SOLANA_INSTRUCTION_INFO = \"solanaInstructionInfo\",\n SOLANA_ENUM_VARIANT = \"solanaEnumVariant\",\n SOLANA_TOKEN_INFO = \"solanaTokenInfo\",\n SOLANA_TOKEN_ACCOUNT_STATE = \"solanaTokenAccountState\",\n SOLANA_ALT_RESOLUTION = \"solanaAltResolution\",\n TRON_TOKEN = \"tronToken\",\n}\n\nexport type ClearSignContextSuccessType = Exclude<\n ClearSignContextType,\n ClearSignContextType.ERROR\n>;\n\n/**\n * Base payload shape shared by every success context. Chain modules extend\n * this via PayloadOverrides for variants that carry typed payloads.\n */\nexport type ClearSignContextSuccessBase = {\n payload: string;\n certificate?: PkiCertificate;\n};\n\ntype ClearSignContextSuccessPayloadsBase = {\n [K in ClearSignContextSuccessType]: ClearSignContextSuccessBase;\n};\n\n// Chain modules contribute typed-payload overrides. This file is the\n// integration boundary that assembles them into the cross-chain union.\ntype ClearSignContextSuccessPayloadOverrides = EthereumPayloadOverrides &\n SolanaPayloadOverrides;\n\ntype ClearSignContextSuccessPayloads = Omit<\n ClearSignContextSuccessPayloadsBase,\n keyof ClearSignContextSuccessPayloadOverrides\n> &\n ClearSignContextSuccessPayloadOverrides;\n\nexport type ClearSignContextSuccess<\n T extends ClearSignContextSuccessType = ClearSignContextSuccessType,\n> = T extends ClearSignContextSuccessType\n ? { type: T } & ClearSignContextSuccessPayloads[T]\n : never;\n\nexport type ClearSignContextError = {\n type: ClearSignContextType.ERROR;\n error: Error;\n};\n\nexport type ClearSignContext = ClearSignContextSuccess | ClearSignContextError;\n"],
5
- "mappings": "AAIO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,6BAA+B,6BAC/BA,EAAA,eAAiB,gBACjBA,EAAA,aAAe,cACfA,EAAA,sBAAwB,sBACxBA,EAAA,gBAAkB,iBAClBA,EAAA,yBAA2B,yBAC3BA,EAAA,0BAA4B,0BAC5BA,EAAA,oBAAsB,oBACtBA,EAAA,cAAgB,eAChBA,EAAA,uCAAyC,sCACzCA,EAAA,2BAA6B,2BAC7BA,EAAA,yBAA2B,yBAC3BA,EAAA,8BAAgC,6BAChCA,EAAA,cAAgB,eAChBA,EAAA,gBAAkB,iBAClBA,EAAA,uBAAyB,uBACzBA,EAAA,aAAe,cACfA,EAAA,YAAc,aACdA,EAAA,oBAAsB,oBACtBA,EAAA,0BAA4B,yBAC5BA,EAAA,yBAA2B,yBAC3BA,EAAA,wBAA0B,wBAC1BA,EAAA,oBAAsB,oBACtBA,EAAA,kBAAoB,kBACpBA,EAAA,2BAA6B,0BAC7BA,EAAA,sBAAwB,sBACxBA,EAAA,WAAa,YA5BHA,OAAA",
4
+ "sourcesContent": ["import { type EthereumPayloadOverrides } from \"@/modules/ethereum/model/EthereumClearSignContext\";\nimport { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport { type SolanaPayloadOverrides } from \"@/modules/solana/model/SolanaClearSignContext\";\n\nexport enum ClearSignContextType {\n ERROR = \"error\",\n CONCORDIUM_ACCOUNT_OWNERSHIP = \"concordiumAccountOwnership\",\n ETHEREUM_TOKEN = \"ethereumToken\",\n ETHEREUM_NFT = \"ethereumNft\",\n ETHEREUM_TRUSTED_NAME = \"ethereumTrustedName\",\n ETHEREUM_PLUGIN = \"ethereumPlugin\",\n ETHEREUM_EXTERNAL_PLUGIN = \"ethereumExternalPlugin\",\n ETHEREUM_TRANSACTION_INFO = \"ethereumTransactionInfo\",\n ETHEREUM_PROXY_INFO = \"ethereumProxyInfo\",\n ETHEREUM_ENUM = \"ethereumEnum\",\n ETHEREUM_TRANSACTION_FIELD_DESCRIPTION = \"ethereumTransactionFieldDescription\",\n ETHEREUM_TRANSACTION_CHECK = \"ethereumTransactionCheck\",\n ETHEREUM_DYNAMIC_NETWORK = \"ethereumDynamicNetwork\",\n ETHEREUM_DYNAMIC_NETWORK_ICON = \"ethereumDynamicNetworkIcon\",\n ETHEREUM_SAFE = \"ethereumSafe\",\n ETHEREUM_SIGNER = \"ethereumSigner\",\n ETHEREUM_GATED_SIGNING = \"ethereumGatedSigning\",\n SOLANA_TOKEN = \"solanaToken\",\n SOLANA_LIFI = \"solanaLifi\",\n SOLANA_TRUSTED_NAME = \"solanaTrustedName\",\n SOLANA_BASIC_TRUSTED_NAME = \"solanaBasicTrustedName\",\n SOLANA_TRANSACTION_CHECK = \"solanaTransactionCheck\",\n SOLANA_INSTRUCTION_INFO = \"solanaInstructionInfo\",\n SOLANA_ENUM_VARIANT = \"solanaEnumVariant\",\n SOLANA_TOKEN_INFO = \"solanaTokenInfo\",\n SOLANA_TOKEN_ACCOUNT_STATE = \"solanaTokenAccountState\",\n SOLANA_ALT_RESOLUTION = \"solanaAltResolution\",\n SOLANA_BASIC_FLOW_RULE = \"solanaBasicFlowRule\",\n TRON_TOKEN = \"tronToken\",\n}\n\nexport type ClearSignContextSuccessType = Exclude<\n ClearSignContextType,\n ClearSignContextType.ERROR\n>;\n\n/**\n * Base payload shape shared by every success context. Chain modules extend\n * this via PayloadOverrides for variants that carry typed payloads.\n */\nexport type ClearSignContextSuccessBase = {\n payload: string;\n certificate?: PkiCertificate;\n};\n\ntype ClearSignContextSuccessPayloadsBase = {\n [K in ClearSignContextSuccessType]: ClearSignContextSuccessBase;\n};\n\n// Chain modules contribute typed-payload overrides. This file is the\n// integration boundary that assembles them into the cross-chain union.\ntype ClearSignContextSuccessPayloadOverrides = EthereumPayloadOverrides &\n SolanaPayloadOverrides;\n\ntype ClearSignContextSuccessPayloads = Omit<\n ClearSignContextSuccessPayloadsBase,\n keyof ClearSignContextSuccessPayloadOverrides\n> &\n ClearSignContextSuccessPayloadOverrides;\n\nexport type ClearSignContextSuccess<\n T extends ClearSignContextSuccessType = ClearSignContextSuccessType,\n> = T extends ClearSignContextSuccessType\n ? { type: T } & ClearSignContextSuccessPayloads[T]\n : never;\n\nexport type ClearSignContextError = {\n type: ClearSignContextType.ERROR;\n error: Error;\n};\n\nexport type ClearSignContext = ClearSignContextSuccess | ClearSignContextError;\n"],
5
+ "mappings": "AAIO,IAAKA,OACVA,EAAA,MAAQ,QACRA,EAAA,6BAA+B,6BAC/BA,EAAA,eAAiB,gBACjBA,EAAA,aAAe,cACfA,EAAA,sBAAwB,sBACxBA,EAAA,gBAAkB,iBAClBA,EAAA,yBAA2B,yBAC3BA,EAAA,0BAA4B,0BAC5BA,EAAA,oBAAsB,oBACtBA,EAAA,cAAgB,eAChBA,EAAA,uCAAyC,sCACzCA,EAAA,2BAA6B,2BAC7BA,EAAA,yBAA2B,yBAC3BA,EAAA,8BAAgC,6BAChCA,EAAA,cAAgB,eAChBA,EAAA,gBAAkB,iBAClBA,EAAA,uBAAyB,uBACzBA,EAAA,aAAe,cACfA,EAAA,YAAc,aACdA,EAAA,oBAAsB,oBACtBA,EAAA,0BAA4B,yBAC5BA,EAAA,yBAA2B,yBAC3BA,EAAA,wBAA0B,wBAC1BA,EAAA,oBAAsB,oBACtBA,EAAA,kBAAoB,kBACpBA,EAAA,2BAA6B,0BAC7BA,EAAA,sBAAwB,sBACxBA,EAAA,uBAAyB,sBACzBA,EAAA,WAAa,YA7BHA,OAAA",
6
6
  "names": ["ClearSignContextType"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultContextModule.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAKlH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAelG,OAAO,EACL,KAAK,gBAAgB,EACrB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAyD;IACxE,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,aAAa,CAAsB;gBAE/B,IAAI,EAAE,0BAA0B,GAAG,yBAAyB;IAmBxE,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,kBAAkB;IAoF1B,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,gBAAgB;IAOX,WAAW,CACtB,KAAK,EAAE,OAAO,EACd,aAAa,CAAC,EAAE,oBAAoB,EAAE,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUjB,eAAe,CAAC,MAAM,EACjC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,oBAAoB,GACjC,OAAO,CAAC,gBAAgB,CAAC;IA4Bf,mBAAmB,CAC9B,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC;IAIxB,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}
1
+ {"version":3,"file":"DefaultContextModule.d.ts","sourceRoot":"","sources":["../../../src/DefaultContextModule.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAKlH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAelG,OAAO,EACL,KAAK,gBAAgB,EACrB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAEzC,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAyD;IACxE,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,aAAa,CAAsB;gBAE/B,IAAI,EAAE,0BAA0B,GAAG,yBAAyB;IAmBxE,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,kBAAkB;IAuF1B,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,gBAAgB;IAOX,WAAW,CACtB,KAAK,EAAE,OAAO,EACd,aAAa,CAAC,EAAE,oBAAoB,EAAE,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUjB,eAAe,CAAC,MAAM,EACjC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,oBAAoB,GACjC,OAAO,CAAC,gBAAgB,CAAC;IA4Bf,mBAAmB,CAC9B,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,yBAAyB,CAAC;IAIxB,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjE"}
@@ -71,6 +71,7 @@ export * from "./modules/solana/enum-variant/domain/EnumVariantContextLoader";
71
71
  export * from "./modules/solana/instruction-info/data/HttpInstructionInfoDataSource";
72
72
  export * from "./modules/solana/instruction-info/data/InstructionInfoDataSource";
73
73
  export * from "./modules/solana/instruction-info/domain/InstructionInfoContextLoader";
74
+ export * from "./modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader";
74
75
  export * from "./modules/solana/model/SolanaClearSignContext";
75
76
  export * from "./modules/solana/model/SolanaContextTypes";
76
77
  export * from "./modules/solana/model/SolanaTransactionScanChainId";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ import { GetInstructionInfoParams, InstructionInfoDataSource, InstructionInfoRes
5
5
  export declare class HttpInstructionInfoDataSource implements InstructionInfoDataSource {
6
6
  private readonly config;
7
7
  private readonly http;
8
+ private readonly cache;
8
9
  constructor(config: ContextModuleServiceConfig, http: DmkNetworkClient);
9
10
  getInstructionInfo({ programId, network, }: GetInstructionInfoParams): Promise<Either<Error, InstructionInfoResult>>;
11
+ private evict;
12
+ private fetchInstructionInfo;
10
13
  }
11
14
  //# sourceMappingURL=HttpInstructionInfoDataSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpInstructionInfoDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAIrF,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAoBrC,qBACa,6BACX,YAAW,yBAAyB;IAIlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,MAAM,EAAE,0BAA0B,EAElC,IAAI,EAAE,gBAAgB;IAG5B,kBAAkB,CAAC,EAC9B,SAAS,EACT,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;CA8F5E"}
1
+ {"version":3,"file":"HttpInstructionInfoDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAIrF,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,6BAA6B,CAAC;AAgCrC,qBACa,6BACX,YAAW,yBAAyB;IAQlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IANvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;gBAInD,MAAM,EAAE,0BAA0B,EAElC,IAAI,EAAE,gBAAgB;IAGlC,kBAAkB,CAAC,EACxB,SAAS,EACT,OAAO,GACR,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAoC3E,OAAO,CAAC,KAAK;YAUC,oBAAoB;CA2GnC"}
@@ -15,12 +15,32 @@ export type GetInstructionInfoParams = {
15
15
  * consumer can surface a per-descriptor error.
16
16
  * - `enumVariants` is the program-wide flat list of decoded enum variants,
17
17
  * resolved independently of per-descriptor signature validity.
18
+ * - `basicFlowTags` lists the instructions' `signing_route.basic_flow`
19
+ * tags, one entry per (discriminator, rule, role).
18
20
  */
19
21
  export type InstructionInfoResult = {
20
22
  programId: string;
21
23
  descriptors: Record<string, Either<Error, SolanaInstructionInfoPayload>>;
22
24
  enumVariants: SolanaInstructionEnumVariant[];
25
+ basicFlowTags: SolanaBasicFlowTag[];
23
26
  };
27
+ /**
28
+ * Tags one instruction (by discriminator hex) as part of a basic-flow rule.
29
+ * Only instructions with a discriminator carry tags.
30
+ */
31
+ export type SolanaBasicFlowTag = {
32
+ discriminator: string;
33
+ rule: string;
34
+ role: "required" | "allowed";
35
+ };
36
+ /**
37
+ * Returned when CAL answers but has no entry for the program, as opposed to a
38
+ * transport, HTTP or validation failure.
39
+ */
40
+ export declare class SolanaProgramNotFoundError extends Error {
41
+ readonly programId: string;
42
+ constructor(programId: string, message: string);
43
+ }
24
44
  export interface InstructionInfoDataSource {
25
45
  /**
26
46
  * Fetch all instruction descriptors for one Solana program from CAL.
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionInfoDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;IACzE,YAAY,EAAE,4BAA4B,EAAE,CAAC;CAC9C,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,kBAAkB,CAChB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"InstructionInfoDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,uCAAuC,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;IACzE,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK/C;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,kBAAkB,CAChB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;CAClD"}
@@ -110,6 +110,20 @@ export type CalInstructionDescriptorDto = {
110
110
  account_resets?: CalAccountResetDto[];
111
111
  /** Absent means "no ACCOUNT_SCHEMA check". */
112
112
  account_schema?: CalAccountSchemaDto;
113
+ /**
114
+ * Host-side routing tags, outside the signed `descriptor`. Not covered by
115
+ * the program codec: the mapper validates it on its own with
116
+ * {@link calSigningRouteCodec} so a malformed value only drops the tags.
117
+ */
118
+ signing_route?: CalSigningRouteDto;
119
+ };
120
+ /** `role` is `"required"` or `"allowed"`; the mapper drops any other value. */
121
+ export type CalSigningRouteEntryDto = {
122
+ rule: string;
123
+ role: string;
124
+ };
125
+ export type CalSigningRouteDto = {
126
+ basic_flow?: CalSigningRouteEntryDto[];
113
127
  };
114
128
  export type CalInstructionProgramDto = {
115
129
  id: string;
@@ -117,6 +131,18 @@ export type CalInstructionProgramDto = {
117
131
  instructions: CalInstructionDescriptorDto[];
118
132
  };
119
133
  export type CalInstructionInfoResponseDto = CalInstructionProgramDto[];
134
+ /**
135
+ * Codec for one instruction's `signing_route`. Kept out of
136
+ * `calInstructionDescriptorCodec` on purpose: routing tags are optional
137
+ * metadata, and a malformed value must not invalidate the program's
138
+ * clear-signing descriptors.
139
+ */
140
+ export declare const calSigningRouteCodec: Codec<{
141
+ basic_flow: {
142
+ rule: string;
143
+ role: string;
144
+ }[] | undefined;
145
+ }>;
120
146
  /**
121
147
  * Codec for one program object of the `solana_programs` response. Used by the
122
148
  * datasource to validate the CAL payload before handing it to the loaders.
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionInfoDto.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstructionInfoDto.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDto.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type Either } from "purify-ts";
2
2
  import { type SolanaCalAccountReset, type SolanaCalAccountSchema, type SolanaCalDisplayField, type SolanaCalHideRule, type SolanaCalOwnerAssociation, type SolanaCalValueFlowPort, type SolanaInstructionEnumVariant, type SolanaInstructionInfoPayload } from "../../../../modules/solana/model/SolanaPayloads";
3
+ import { type SolanaBasicFlowTag } from "./InstructionInfoDataSource";
3
4
  import { type CalAccountResetDto, type CalAccountSchemaDto, type CalDisplayFieldDto, type CalHideRuleDto, type CalInstructionDescriptorDto, type CalOwnerAssociationDto, type CalValueFlowPortDto } from "./InstructionInfoDto";
4
5
  export type CalMode = "prod" | "test";
5
6
  export declare function toValueFlowPorts(dtos?: CalValueFlowPortDto[]): SolanaCalValueFlowPort[];
@@ -30,6 +31,14 @@ export declare function toDisplayFields(dtos?: CalDisplayFieldDto[]): SolanaCalD
30
31
  * of whether any individual instruction descriptor carried a usable signature.
31
32
  */
32
33
  export declare function toProgramEnumVariants(descriptors: Record<string, CalInstructionDescriptorDto>, mode: CalMode): SolanaInstructionEnumVariant[];
34
+ /**
35
+ * Collect the `signing_route.basic_flow` tags of every descriptor in a
36
+ * program. `signing_route` is validated here rather than by the program codec,
37
+ * so a malformed value drops that instruction's tags without touching its
38
+ * descriptor. Unknown roles are dropped, and so are tags on an instruction
39
+ * without a discriminator (keyed under `""`): CAL rules are instruction-level.
40
+ */
41
+ export declare function toBasicFlowTags(descriptors: Record<string, CalInstructionDescriptorDto>): SolanaBasicFlowTag[];
33
42
  /**
34
43
  * Transform one validated CAL descriptor DTO into the core
35
44
  * {@link SolanaInstructionInfoPayload}. Returns a `Left` when the descriptor is
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionInfoMapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoMapper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,WAAW,CAAC;AAErD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAGlC,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAG3B,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAatC,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,mBAAmB,EAAO,GAC/B,sBAAsB,EAAE,CAO1B;AAED,wBAAgB,eAAe,CAC7B,IAAI,GAAE,kBAAkB,EAAO,GAC9B,qBAAqB,EAAE,CAiBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,cAAc,EAAO,GAAG,iBAAiB,EAAE,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,sBAAsB,GAAG,SAAS,GACtC,yBAAyB,EAAE,CAI7B;AAsBD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,GAAG,SAAS,GACnC,sBAAsB,GAAG,SAAS,CAUpC;AAED,wBAAgB,eAAe,CAC7B,IAAI,GAAE,kBAAkB,EAAO,GAC9B,qBAAqB,EAAE,CAKzB;AAsDD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACxD,IAAI,EAAE,OAAO,GACZ,4BAA4B,EAAE,CAEhC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAgC7C"}
1
+ {"version":3,"file":"InstructionInfoMapper.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoMapper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,WAAW,CAAC;AAErD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAGlC,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAI3B,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAatC,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE,mBAAmB,EAAO,GAC/B,sBAAsB,EAAE,CAO1B;AAED,wBAAgB,eAAe,CAC7B,IAAI,GAAE,kBAAkB,EAAO,GAC9B,qBAAqB,EAAE,CAiBzB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,cAAc,EAAO,GAAG,iBAAiB,EAAE,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,sBAAsB,GAAG,SAAS,GACtC,yBAAyB,EAAE,CAI7B;AAsBD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,GAAG,SAAS,GACnC,sBAAsB,GAAG,SAAS,CAUpC;AAED,wBAAgB,eAAe,CAC7B,IAAI,GAAE,kBAAkB,EAAO,GAC9B,qBAAqB,EAAE,CAKzB;AAsDD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,EACxD,IAAI,EAAE,OAAO,GACZ,4BAA4B,EAAE,CAEhC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,GACvD,kBAAkB,EAAE,CAetB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,2BAA2B,EAChC,IAAI,EAAE,OAAO,GACZ,MAAM,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAgC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"instructionInfoModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/di/instructionInfoModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAM5C,eAAO,MAAM,4BAA4B,uBAQrC,CAAC"}
1
+ {"version":3,"file":"instructionInfoModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/di/instructionInfoModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAO5C,eAAO,MAAM,4BAA4B,uBAarC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=instructionInfoModuleFactory.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructionInfoModuleFactory.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/di/instructionInfoModuleFactory.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  export declare const instructionInfoTypes: {
2
2
  InstructionInfoDataSource: symbol;
3
3
  InstructionInfoContextLoader: symbol;
4
+ SolanaBasicFlowRuleContextLoader: symbol;
4
5
  };
5
6
  //# sourceMappingURL=instructionInfoTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructionInfoTypes.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/di/instructionInfoTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC"}
1
+ {"version":3,"file":"instructionInfoTypes.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/di/instructionInfoTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;;CAMhC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
+ import { type InstructionInfoDataSource } from "../../../../modules/solana/instruction-info/data/InstructionInfoDataSource";
3
+ import { type ContextLoader } from "../../../../shared/domain/ContextLoader";
4
+ import { type ClearSignContext, ClearSignContextType } from "../../../../shared/model/ClearSignContext";
5
+ export type SolanaBasicFlowRuleContextInput = {
6
+ programIds: string[];
7
+ network?: string;
8
+ };
9
+ /**
10
+ * Rebuilds the basic-flow rules CAL tags on the given programs.
11
+ *
12
+ * CAL doesn't serve rules: it tags instructions with `{ rule, role }` in the
13
+ * `solana_programs` response. Tags are grouped by rule id across programs,
14
+ * giving one matcher per (program, role) with the tagged instructions'
15
+ * discriminators. CAL rules always carry discriminators: CAL can't express
16
+ * "any instruction of this program".
17
+ *
18
+ * Emits one SOLANA_BASIC_FLOW_RULE context per rule, or a single ERROR
19
+ * context when any CAL lookup fails. A program CAL doesn't know just
20
+ * contributes no tags.
21
+ */
22
+ export declare class SolanaBasicFlowRuleContextLoader implements ContextLoader<SolanaBasicFlowRuleContextInput> {
23
+ private readonly dataSource;
24
+ private readonly logger;
25
+ constructor(dataSource: InstructionInfoDataSource, loggerFactory: (tag: string) => LoggerPublisherService);
26
+ canHandle(input: unknown, expectedTypes: ClearSignContextType[]): input is SolanaBasicFlowRuleContextInput;
27
+ load(input: SolanaBasicFlowRuleContextInput): Promise<ClearSignContext[]>;
28
+ private loadRules;
29
+ private buildRules;
30
+ }
31
+ //# sourceMappingURL=SolanaBasicFlowRuleContextLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaBasicFlowRuleContextLoader.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AAazC,OAAO,EACL,KAAK,yBAAyB,EAG/B,MAAM,kEAAkE,CAAC;AAM1E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,KAAK,gBAAgB,EACrB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAQzC,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAYF;;;;;;;;;;;;GAYG;AACH,qBACa,gCACX,YAAW,aAAa,CAAC,+BAA+B,CAAC;IAMvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAI7B,UAAU,EAAE,yBAAyB,EAEtD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB;IAKjD,SAAS,CACd,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,oBAAoB,EAAE,GACpC,KAAK,IAAI,+BAA+B;IAK9B,IAAI,CACf,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAYhB,SAAS;IAoDvB,OAAO,CAAC,UAAU;CA8BnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SolanaBasicFlowRuleContextLoader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaBasicFlowRuleContextLoader.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/domain/SolanaBasicFlowRuleContextLoader.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { type PkiCertificate } from "../../../modules/multichain/pki/model/PkiCertificate";
2
+ import { type SolanaBasicFlowRule } from "../../../modules/solana/model/SolanaContextTypes";
2
3
  import { type SolanaAltResolutionPayload, type SolanaEnumVariantPayload, type SolanaInstructionInfoPayload, type SolanaLifiPayload, type SolanaTokenAccountStatePayload, type SolanaTokenData, type SolanaTokenInfoPayload, type SolanaTransactionCheckPayload } from "../../../modules/solana/model/SolanaPayloads";
3
4
  import { type ClearSignContext, type ClearSignContextSuccess, ClearSignContextType } from "../../../shared/model/ClearSignContext";
4
5
  export type { SolanaAltResolutionPayload, SolanaCalAccountReset, SolanaCalAccountSchema, SolanaCalActiveWhenPredicate, SolanaCalDisplayField, SolanaCalHideRule, SolanaCalMintAssociation, SolanaCalOwnerAssociation, SolanaCalSlotConstraint, SolanaCalTokenValue, SolanaCalTypePoolEntry, SolanaCalValue, SolanaCalValueFlowPort, SolanaEnumVariantPayload, SolanaInstructionEnumVariant, SolanaInstructionInfoPayload, SolanaInstructionSubstructure, SolanaLifiInstructionMeta, SolanaLifiPayload, SolanaSignedDescriptor, SolanaTokenAccountStatePayload, SolanaTokenData, SolanaTokenInfoPayload, SolanaTransactionCheckPayload, SolanaTransactionDescriptor, } from "../../../modules/solana/model/SolanaPayloads";
@@ -48,6 +49,9 @@ export type SolanaPayloadOverrides = {
48
49
  payload: SolanaAltResolutionPayload;
49
50
  certificate?: PkiCertificate;
50
51
  };
52
+ [ClearSignContextType.SOLANA_BASIC_FLOW_RULE]: {
53
+ payload: SolanaBasicFlowRule;
54
+ };
51
55
  };
52
56
  export declare const SolanaContextType: {
53
57
  readonly TOKEN: ClearSignContextType.SOLANA_TOKEN;
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaClearSignContext.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaClearSignContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,sBAAsB,EACtB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAE1F;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE;QACnC,OAAO,EAAE,eAAe,CAAC;QACzB,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;QAClC,OAAO,EAAE,iBAAiB,CAAC;QAC3B,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EAAE;QAC1C,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,EAAE;QAChD,OAAO,EAAE,UAAU,CAAC;QACpB,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,EAAE;QAC/C,OAAO,EAAE,6BAA6B,CAAC;QACvC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,EAAE;QAC9C,OAAO,EAAE,4BAA4B,CAAC;QACtC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,EAAE;QAC1C,OAAO,EAAE,wBAAwB,CAAC;QAClC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE;QACxC,OAAO,EAAE,sBAAsB,CAAC;QAChC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,EAAE;QACjD,OAAO,EAAE,8BAA8B,CAAC;QACxC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;IACF,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,EAAE;QAC5C,OAAO,EAAE,0BAA0B,CAAC;QACpC,WAAW,CAAC,EAAE,cAAc,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAWpB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAC3C,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACvC,uBAAuB,CAAC,iCAAiC,CAAC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,uCAAuC,2BACa,CAAC;AAElE;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,6BAA6B,CAEtC"}
1
+ {"version":3,"file":"SolanaClearSignContext.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaClearSignContext.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,26 @@ export type GetTransactionDescriptorsResponse = {
28
28
  }>;
29
29
  descriptors: SolanaLifiDescriptorEntry[];
30
30
  };
31
+ /**
32
+ * Matches instructions of one program. `discriminators` is a prefix match on
33
+ * the instruction data (u32 LE for native programs, 8-byte Anchor
34
+ * discriminator for Anchor programs); absent means any instruction of the
35
+ * program.
36
+ */
37
+ export type SolanaInstructionMatcher = {
38
+ programId: string;
39
+ discriminators?: ReadonlyArray<Uint8Array>;
40
+ };
41
+ /**
42
+ * Routes a transaction to the basic signing flow when at least one
43
+ * instruction matches `required` and every instruction matches `required` or
44
+ * `allowed`.
45
+ */
46
+ export type SolanaBasicFlowRule = {
47
+ id: string;
48
+ required: ReadonlyArray<SolanaInstructionMatcher>;
49
+ allowed: ReadonlyArray<SolanaInstructionMatcher>;
50
+ };
31
51
  export type SolanaTransactionDescriptorList = Record<string, SolanaTransactionDescriptor[]>;
32
52
  export type SolanaContextSuccessType = ClearSignContextType.SOLANA_TOKEN | ClearSignContextType.SOLANA_LIFI | ClearSignContextType.SOLANA_TRANSACTION_CHECK | ClearSignContextType.SOLANA_INSTRUCTION_INFO | ClearSignContextType.SOLANA_ENUM_VARIANT | ClearSignContextType.SOLANA_TOKEN_INFO | ClearSignContextType.SOLANA_TOKEN_ACCOUNT_STATE | ClearSignContextType.SOLANA_ALT_RESOLUTION | ClearSignContextType.SOLANA_TRUSTED_NAME | ClearSignContextType.SOLANA_BASIC_TRUSTED_NAME;
33
53
  export type SolanaContextSuccess<T extends SolanaContextSuccessType = SolanaContextSuccessType> = ClearSignContextSuccess<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaContextTypes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaContextTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,8BAA8B,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC,CAAC;IACH,WAAW,EAAE,yBAAyB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG,MAAM,CAClD,MAAM,EACN,2BAA2B,EAAE,CAC9B,CAAC;AAMF,MAAM,MAAM,wBAAwB,GAChC,oBAAoB,CAAC,YAAY,GACjC,oBAAoB,CAAC,WAAW,GAChC,oBAAoB,CAAC,wBAAwB,GAC7C,oBAAoB,CAAC,uBAAuB,GAC5C,oBAAoB,CAAC,mBAAmB,GACxC,oBAAoB,CAAC,iBAAiB,GACtC,oBAAoB,CAAC,0BAA0B,GAC/C,oBAAoB,CAAC,qBAAqB,GAC1C,oBAAoB,CAAC,mBAAmB,GACxC,oBAAoB,CAAC,yBAAyB,CAAC;AAEnD,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,IAC3D,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAE/B,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;AAEtE,MAAM,MAAM,yBAAyB,GACnC,uBAAuB,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAE7D,MAAM,MAAM,wBAAwB,GAClC,uBAAuB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAE5D,MAAM,MAAM,oCAAoC,GAC9C,uBAAuB,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;AAEzE,MAAM,MAAM,mCAAmC,GAC7C,uBAAuB,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;AAExE,MAAM,MAAM,+BAA+B,GACzC,uBAAuB,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AAEpE,MAAM,MAAM,6BAA6B,GACvC,uBAAuB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;AAElE,MAAM,MAAM,qCAAqC,GAC/C,uBAAuB,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;AAE3E,MAAM,MAAM,iCAAiC,GAC3C,uBAAuB,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAEtE,MAAM,MAAM,+BAA+B,GACzC,uBAAuB,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;AAEpE,MAAM,MAAM,oCAAoC,GAC9C,uBAAuB,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;AAE1E,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAC/B,wBAAwB,GACxB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,oCAAoC,GACpC,kBAAkB,CAAC;AAEvB,MAAM,MAAM,YAAY,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,mCAAmC,CAAC"}
1
+ {"version":3,"file":"SolanaContextTypes.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaContextTypes.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export declare enum ClearSignContextType {
29
29
  SOLANA_TOKEN_INFO = "solanaTokenInfo",
30
30
  SOLANA_TOKEN_ACCOUNT_STATE = "solanaTokenAccountState",
31
31
  SOLANA_ALT_RESOLUTION = "solanaAltResolution",
32
+ SOLANA_BASIC_FLOW_RULE = "solanaBasicFlowRule",
32
33
  TRON_TOKEN = "tronToken"
33
34
  }
34
35
  export type ClearSignContextSuccessType = Exclude<ClearSignContextType, ClearSignContextType.ERROR>;
@@ -1 +1 @@
1
- {"version":3,"file":"ClearSignContext.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/ClearSignContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE5F,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,4BAA4B,+BAA+B;IAC3D,cAAc,kBAAkB;IAChC,YAAY,gBAAgB;IAC5B,qBAAqB,wBAAwB;IAC7C,eAAe,mBAAmB;IAClC,wBAAwB,2BAA2B;IACnD,yBAAyB,4BAA4B;IACrD,mBAAmB,sBAAsB;IACzC,aAAa,iBAAiB;IAC9B,sCAAsC,wCAAwC;IAC9E,0BAA0B,6BAA6B;IACvD,wBAAwB,2BAA2B;IACnD,6BAA6B,+BAA+B;IAC5D,aAAa,iBAAiB;IAC9B,eAAe,mBAAmB;IAClC,sBAAsB,yBAAyB;IAC/C,YAAY,gBAAgB;IAC5B,WAAW,eAAe;IAC1B,mBAAmB,sBAAsB;IACzC,yBAAyB,2BAA2B;IACpD,wBAAwB,2BAA2B;IACnD,uBAAuB,0BAA0B;IACjD,mBAAmB,sBAAsB;IACzC,iBAAiB,oBAAoB;IACrC,0BAA0B,4BAA4B;IACtD,qBAAqB,wBAAwB;IAC7C,UAAU,cAAc;CACzB;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,oBAAoB,EACpB,oBAAoB,CAAC,KAAK,CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,KAAK,mCAAmC,GAAG;KACxC,CAAC,IAAI,2BAA2B,GAAG,2BAA2B;CAChE,CAAC;AAIF,KAAK,uCAAuC,GAAG,wBAAwB,GACrE,sBAAsB,CAAC;AAEzB,KAAK,+BAA+B,GAAG,IAAI,CACzC,mCAAmC,EACnC,MAAM,uCAAuC,CAC9C,GACC,uCAAuC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,IACjE,CAAC,SAAS,2BAA2B,GACrC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,+BAA+B,CAAC,CAAC,CAAC,GAChD,KAAK,CAAC;AAEV,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ClearSignContext.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/ClearSignContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE5F,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,4BAA4B,+BAA+B;IAC3D,cAAc,kBAAkB;IAChC,YAAY,gBAAgB;IAC5B,qBAAqB,wBAAwB;IAC7C,eAAe,mBAAmB;IAClC,wBAAwB,2BAA2B;IACnD,yBAAyB,4BAA4B;IACrD,mBAAmB,sBAAsB;IACzC,aAAa,iBAAiB;IAC9B,sCAAsC,wCAAwC;IAC9E,0BAA0B,6BAA6B;IACvD,wBAAwB,2BAA2B;IACnD,6BAA6B,+BAA+B;IAC5D,aAAa,iBAAiB;IAC9B,eAAe,mBAAmB;IAClC,sBAAsB,yBAAyB;IAC/C,YAAY,gBAAgB;IAC5B,WAAW,eAAe;IAC1B,mBAAmB,sBAAsB;IACzC,yBAAyB,2BAA2B;IACpD,wBAAwB,2BAA2B;IACnD,uBAAuB,0BAA0B;IACjD,mBAAmB,sBAAsB;IACzC,iBAAiB,oBAAoB;IACrC,0BAA0B,4BAA4B;IACtD,qBAAqB,wBAAwB;IAC7C,sBAAsB,wBAAwB;IAC9C,UAAU,cAAc;CACzB;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,oBAAoB,EACpB,oBAAoB,CAAC,KAAK,CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,KAAK,mCAAmC,GAAG;KACxC,CAAC,IAAI,2BAA2B,GAAG,2BAA2B;CAChE,CAAC;AAIF,KAAK,uCAAuC,GAAG,wBAAwB,GACrE,sBAAsB,CAAC;AAEzB,KAAK,+BAA+B,GAAG,IAAI,CACzC,mCAAmC,EACnC,MAAM,uCAAuC,CAC9C,GACC,uCAAuC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,IACjE,CAAC,SAAS,2BAA2B,GACrC;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG,+BAA+B,CAAC,CAAC,CAAC,GAChD,KAAK,CAAC;AAEV,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC"}