@ledgerhq/context-module 2.5.0 → 2.6.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 (143) hide show
  1. package/lib/cjs/package.json +2 -2
  2. package/lib/cjs/src/DefaultContextModule.js +1 -1
  3. package/lib/cjs/src/DefaultContextModule.js.map +3 -3
  4. package/lib/cjs/src/di.js +1 -1
  5. package/lib/cjs/src/di.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/multichain/reporter/model/BlindSigningEvent.js +1 -1
  9. package/lib/cjs/src/modules/multichain/reporter/model/BlindSigningEvent.js.map +2 -2
  10. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +1 -1
  11. package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +2 -2
  12. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js +1 -1
  13. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +3 -3
  14. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +1 -1
  15. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +3 -3
  16. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +1 -1
  17. package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +2 -2
  18. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +1 -1
  19. package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +2 -2
  20. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  21. package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js.map +2 -2
  22. package/lib/cjs/src/modules/solana/model/SolanaPayloads.js +1 -1
  23. package/lib/cjs/src/modules/solana/model/SolanaPayloads.js.map +2 -2
  24. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +1 -1
  25. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +3 -3
  26. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +1 -1
  27. package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +3 -3
  28. package/lib/cjs/src/modules/tron/model/TronTransactionContext.js +2 -0
  29. package/lib/cjs/src/modules/tron/model/TronTransactionContext.js.map +7 -0
  30. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.js +2 -0
  31. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.js.map +7 -0
  32. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.test.js +2 -0
  33. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.test.js.map +7 -0
  34. package/lib/cjs/src/modules/tron/token/data/TokenDataSource.js +2 -0
  35. package/lib/cjs/src/modules/tron/token/data/TokenDataSource.js.map +7 -0
  36. package/lib/cjs/src/modules/tron/token/di/tokenModuleFactory.js +2 -0
  37. package/lib/cjs/src/modules/tron/token/di/tokenModuleFactory.js.map +7 -0
  38. package/lib/cjs/src/modules/tron/token/di/tokenTypes.js +2 -0
  39. package/lib/cjs/src/modules/tron/token/di/tokenTypes.js.map +7 -0
  40. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.js +2 -0
  41. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.js.map +7 -0
  42. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.test.js +2 -0
  43. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.test.js.map +7 -0
  44. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.js +2 -0
  45. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.js.map +7 -0
  46. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.test.js +2 -0
  47. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.test.js.map +7 -0
  48. package/lib/cjs/src/shared/domain/ContextModuleChainID.js +1 -1
  49. package/lib/cjs/src/shared/domain/ContextModuleChainID.js.map +2 -2
  50. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  51. package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
  52. package/lib/esm/package.json +2 -2
  53. package/lib/esm/src/DefaultContextModule.js +1 -1
  54. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  55. package/lib/esm/src/di.js +1 -1
  56. package/lib/esm/src/di.js.map +3 -3
  57. package/lib/esm/src/index.js +1 -1
  58. package/lib/esm/src/index.js.map +2 -2
  59. package/lib/esm/src/modules/multichain/reporter/model/BlindSigningEvent.js +1 -1
  60. package/lib/esm/src/modules/multichain/reporter/model/BlindSigningEvent.js.map +2 -2
  61. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +1 -1
  62. package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +2 -2
  63. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js +1 -1
  64. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +3 -3
  65. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +1 -1
  66. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +3 -3
  67. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +1 -1
  68. package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +3 -3
  69. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +1 -1
  70. package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +2 -2
  71. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js +1 -1
  72. package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js.map +2 -2
  73. package/lib/esm/src/modules/solana/model/SolanaPayloads.js.map +2 -2
  74. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +1 -1
  75. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +3 -3
  76. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +1 -1
  77. package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +3 -3
  78. package/lib/esm/src/modules/tron/model/TronTransactionContext.js +1 -0
  79. package/lib/esm/src/modules/tron/model/TronTransactionContext.js.map +7 -0
  80. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.js +2 -0
  81. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.js.map +7 -0
  82. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.test.js +2 -0
  83. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.test.js.map +7 -0
  84. package/lib/esm/src/modules/tron/token/data/TokenDataSource.js +2 -0
  85. package/lib/esm/src/modules/tron/token/data/TokenDataSource.js.map +7 -0
  86. package/lib/esm/src/modules/tron/token/di/tokenModuleFactory.js +2 -0
  87. package/lib/esm/src/modules/tron/token/di/tokenModuleFactory.js.map +7 -0
  88. package/lib/esm/src/modules/tron/token/di/tokenTypes.js +2 -0
  89. package/lib/esm/src/modules/tron/token/di/tokenTypes.js.map +7 -0
  90. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.js +2 -0
  91. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.js.map +7 -0
  92. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.test.js +2 -0
  93. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.test.js.map +7 -0
  94. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.js +2 -0
  95. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.js.map +7 -0
  96. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.test.js +2 -0
  97. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.test.js.map +7 -0
  98. package/lib/esm/src/shared/domain/ContextModuleChainID.js +1 -1
  99. package/lib/esm/src/shared/domain/ContextModuleChainID.js.map +2 -2
  100. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  101. package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
  102. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  103. package/lib/types/src/di.d.ts.map +1 -1
  104. package/lib/types/src/index.d.ts +1 -0
  105. package/lib/types/src/index.d.ts.map +1 -1
  106. package/lib/types/src/modules/multichain/reporter/model/BlindSigningEvent.d.ts +1 -0
  107. package/lib/types/src/modules/multichain/reporter/model/BlindSigningEvent.d.ts.map +1 -1
  108. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts +46 -2
  109. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts.map +1 -1
  110. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts +19 -2
  111. package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts.map +1 -1
  112. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts +1 -1
  113. package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts.map +1 -1
  114. package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts +54 -0
  115. package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts.map +1 -1
  116. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts +3 -2
  117. package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts.map +1 -1
  118. package/lib/types/src/modules/tron/model/TronTransactionContext.d.ts +5 -0
  119. package/lib/types/src/modules/tron/model/TronTransactionContext.d.ts.map +1 -0
  120. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.d.ts +17 -0
  121. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.d.ts.map +1 -0
  122. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.test.d.ts +2 -0
  123. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  124. package/lib/types/src/modules/tron/token/data/TokenDataSource.d.ts +20 -0
  125. package/lib/types/src/modules/tron/token/data/TokenDataSource.d.ts.map +1 -0
  126. package/lib/types/src/modules/tron/token/di/tokenModuleFactory.d.ts +3 -0
  127. package/lib/types/src/modules/tron/token/di/tokenModuleFactory.d.ts.map +1 -0
  128. package/lib/types/src/modules/tron/token/di/tokenTypes.d.ts +5 -0
  129. package/lib/types/src/modules/tron/token/di/tokenTypes.d.ts.map +1 -0
  130. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.d.ts +16 -0
  131. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.d.ts.map +1 -0
  132. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.test.d.ts +2 -0
  133. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  134. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.d.ts +16 -0
  135. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.d.ts.map +1 -0
  136. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.test.d.ts +2 -0
  137. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.test.d.ts.map +1 -0
  138. package/lib/types/src/shared/domain/ContextModuleChainID.d.ts +2 -1
  139. package/lib/types/src/shared/domain/ContextModuleChainID.d.ts.map +1 -1
  140. package/lib/types/src/shared/model/ClearSignContext.d.ts +2 -1
  141. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  142. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  143. package/package.json +5 -5
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/data/TokenDataSource.ts"],
4
+ "sourcesContent": ["import { array, Codec, type Either, string } from \"purify-ts\";\n\nexport type GetTokenInfosParams = {\n assetId: string;\n};\n\n/**\n * Only the fields the payload is read from are validated: a CAL change to the\n * ones we ignore must not downgrade a signable descriptor to a blind signature.\n */\nexport const tokenDataResponsesCodec = array(\n Codec.interface({\n descriptor: Codec.interface({\n signatures: Codec.interface({\n prod: string,\n test: string,\n }),\n }),\n }),\n);\n\nexport interface TokenDataSource {\n getTokenInfosPayload(\n params: GetTokenInfosParams,\n ): Promise<Either<Error, string>>;\n}\n"],
5
+ "mappings": "AAAA,OAAS,SAAAA,EAAO,SAAAC,EAAoB,UAAAC,MAAc,YAU3C,MAAMC,EAA0BH,EACrCC,EAAM,UAAU,CACd,WAAYA,EAAM,UAAU,CAC1B,WAAYA,EAAM,UAAU,CAC1B,KAAMC,EACN,KAAMA,CACR,CAAC,CACH,CAAC,CACH,CAAC,CACH",
6
+ "names": ["array", "Codec", "string", "tokenDataResponsesCodec"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{ContainerModule as e}from"inversify";import{HttpTokenDataSource as r}from"../../../../modules/tron/token/data/HttpTokenDataSource";import{tokenTypes as t}from"../../../../modules/tron/token/di/tokenTypes";import{TokenContextLoader as n}from"../../../../modules/tron/token/domain/TokenContextLoader";const T=()=>new e(({bind:o})=>{o(t.TokenDataSource).to(r),o(t.TokenContextLoader).to(n)});export{T as tokenModuleFactory};
2
+ //# sourceMappingURL=tokenModuleFactory.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/di/tokenModuleFactory.ts"],
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpTokenDataSource } from \"@/modules/tron/token/data/HttpTokenDataSource\";\nimport { tokenTypes } from \"@/modules/tron/token/di/tokenTypes\";\nimport { TokenContextLoader } from \"@/modules/tron/token/domain/TokenContextLoader\";\n\nexport const tokenModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(tokenTypes.TokenDataSource).to(HttpTokenDataSource);\n bind(tokenTypes.TokenContextLoader).to(TokenContextLoader);\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,uBAAAC,MAA2B,gDACpC,OAAS,cAAAC,MAAkB,qCAC3B,OAAS,sBAAAC,MAA0B,iDAE5B,MAAMC,EAAqB,IAChC,IAAIJ,EAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAKH,EAAW,eAAe,EAAE,GAAGD,CAAmB,EACvDI,EAAKH,EAAW,kBAAkB,EAAE,GAAGC,CAAkB,CAC3D,CAAC",
6
+ "names": ["ContainerModule", "HttpTokenDataSource", "tokenTypes", "TokenContextLoader", "tokenModuleFactory", "bind"]
7
+ }
@@ -0,0 +1,2 @@
1
+ const o={TokenDataSource:Symbol.for("TokenDataSource"),TokenContextLoader:Symbol.for("TokenContextLoader")};export{o as tokenTypes};
2
+ //# sourceMappingURL=tokenTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/di/tokenTypes.ts"],
4
+ "sourcesContent": ["export const tokenTypes = {\n TokenDataSource: Symbol.for(\"TokenDataSource\"),\n TokenContextLoader: Symbol.for(\"TokenContextLoader\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAa,CACxB,gBAAiB,OAAO,IAAI,iBAAiB,EAC7C,mBAAoB,OAAO,IAAI,oBAAoB,CACrD",
6
+ "names": ["tokenTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var l=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var T=(a,t,n,o)=>{for(var e=o>1?void 0:o?y(t,n):t,i=a.length-1,s;i>=0;i--)(s=a[i])&&(e=(o?s(t,n,e):s(e))||e);return o&&e&&l(t,n,e),e},p=(a,t)=>(n,o)=>t(n,o,a);import{inject as m,injectable as C}from"inversify";import{tokenTypes as f}from"../../../../modules/tron/token/di/tokenTypes";import{parseTrc10AssetId as S}from"../../../../modules/tron/token/domain/parseTrc10AssetId";import{ClearSignContextType as c}from"../../../../shared/model/ClearSignContext";const d=[c.TRON_TOKEN];let r=class{constructor(t){this.dataSource=t}canHandle(t,n){return d.every(o=>n.includes(o))&&typeof t=="object"&&t!==null&&"rawTransaction"in t&&t.rawTransaction instanceof Uint8Array&&t.rawTransaction.length>0}async load({rawTransaction:t}){const n=S(t);return n===void 0?[]:(await this.dataSource.getTokenInfosPayload({assetId:n})).caseOf({Left:e=>[{type:c.ERROR,error:e}],Right:e=>[{type:c.TRON_TOKEN,payload:e}]})}};r=T([C(),p(0,m(f.TokenDataSource))],r);export{r as TokenContextLoader};
2
+ //# sourceMappingURL=TokenContextLoader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/domain/TokenContextLoader.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { type TronTransactionContext } from \"@/modules/tron/model/TronTransactionContext\";\nimport { type TokenDataSource } from \"@/modules/tron/token/data/TokenDataSource\";\nimport { tokenTypes } from \"@/modules/tron/token/di/tokenTypes\";\nimport { parseTrc10AssetId } from \"@/modules/tron/token/domain/parseTrc10AssetId\";\nimport { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.TRON_TOKEN,\n];\n\n@injectable()\nexport class TokenContextLoader\n implements ContextLoader<TronTransactionContext>\n{\n constructor(\n @inject(tokenTypes.TokenDataSource)\n private readonly dataSource: TokenDataSource,\n ) {}\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is TronTransactionContext {\n return (\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type)) &&\n typeof input === \"object\" &&\n input !== null &&\n \"rawTransaction\" in input &&\n input.rawTransaction instanceof Uint8Array &&\n input.rawTransaction.length > 0\n );\n }\n\n /**\n * A transaction carrying no TRC10 transfer yields no context rather than an\n * error: the device reviews it unchanged, which is the normal outcome for\n * every TRX and TRC20 transfer.\n */\n async load({\n rawTransaction,\n }: TronTransactionContext): Promise<ClearSignContext[]> {\n const assetId = parseTrc10AssetId(rawTransaction);\n if (assetId === undefined) return [];\n\n const payload = await this.dataSource.getTokenInfosPayload({ assetId });\n\n return payload.caseOf({\n Left: (error): ClearSignContext[] => [\n { type: ClearSignContextType.ERROR, error },\n ],\n Right: (value): ClearSignContext[] => [\n { type: ClearSignContextType.TRON_TOKEN, payload: value },\n ],\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAInC,OAAS,cAAAC,MAAkB,qCAC3B,OAAS,qBAAAC,MAAyB,gDAElC,OAEE,wBAAAC,MACK,kCAEP,MAAMC,EAA0C,CAC9CC,EAAqB,UACvB,EAGO,IAAMC,EAAN,KAEP,CACE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,UACEC,EACAC,EACiC,CACjC,OACEL,EAAgB,MAAOM,GAASD,EAAc,SAASC,CAAI,CAAC,GAC5D,OAAOF,GAAU,UACjBA,IAAU,MACV,mBAAoBA,GACpBA,EAAM,0BAA0B,YAChCA,EAAM,eAAe,OAAS,CAElC,CAOA,MAAM,KAAK,CACT,eAAAG,CACF,EAAwD,CACtD,MAAMC,EAAUC,EAAkBF,CAAc,EAChD,OAAIC,IAAY,OAAkB,CAAC,GAEnB,MAAM,KAAK,WAAW,qBAAqB,CAAE,QAAAA,CAAQ,CAAC,GAEvD,OAAO,CACpB,KAAOE,GAA8B,CACnC,CAAE,KAAMT,EAAqB,MAAO,MAAAS,CAAM,CAC5C,EACA,MAAQC,GAA8B,CACpC,CAAE,KAAMV,EAAqB,WAAY,QAASU,CAAM,CAC1D,CACF,CAAC,CACH,CACF,EA5CaT,EAANU,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAW,eAAe,IAJzBd",
6
+ "names": ["inject", "injectable", "tokenTypes", "parseTrc10AssetId", "ClearSignContextType", "SUPPORTED_TYPES", "ClearSignContextType", "TokenContextLoader", "dataSource", "input", "expectedTypes", "type", "rawTransaction", "assetId", "parseTrc10AssetId", "error", "value", "__decorateClass", "injectable", "__decorateParam", "inject", "tokenTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Left as i,Right as b}from"purify-ts";import{beforeEach as u,describe as s,expect as o,it as t,vi as d}from"vitest";import{ClearSignContextType as c}from"../../../../shared/model/ClearSignContext";import{TokenContextLoader as h}from"./TokenContextLoader";const T=a=>Uint8Array.from(a.match(/.{2}/g).map(e=>parseInt(e,16))),r=T("0a023dce220895da42177db005074080d095ffbc315a75080212710a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123b0a0731303032303030121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a62087ad4b70a0fb91ffbc31"),p=T("0a023dce220895da42177db0050740d8e0a5feed2d522c43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e732054657374735a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541c8599111f29c1e1e061265b4af93ea1f274ad78a1880c2d72f709d94a2feed2d"),l="0a0a426974546f7272656e7410061a46304402202e2502f36b00e57be785fc79ec4043abcdd4fdd1b58d737ce123599dffad2cb602201702c307f009d014a553503b499591558b3634ceee4c054c61cedd8aca94c02b";s("TokenContextLoader",()=>{let a,e;u(()=>{d.restoreAllMocks(),a={getTokenInfosPayload:d.fn()},e=new h(a)}),s("canHandle",()=>{t("should handle a raw transaction when the token type is expected",()=>{o(e.canHandle({rawTransaction:r},[c.TRON_TOKEN])).toBe(!0)}),t("should not handle it when the token type is not expected",()=>{o(e.canHandle({rawTransaction:r},[c.ETHEREUM_TOKEN])).toBe(!1)}),t.each([["null",null],["an empty object",{}],["a hex string",{rawTransaction:"0a023dce"}],["an empty transaction",{rawTransaction:new Uint8Array}]])("should not handle %s",(n,f)=>{o(e.canHandle(f,[c.TRON_TOKEN])).toBe(!1)})}),s("load",()=>{t("should return the token context of a TRC10 transfer",async()=>{d.spyOn(a,"getTokenInfosPayload").mockResolvedValue(b(l));const n=await e.load({rawTransaction:r});o(a.getTokenInfosPayload).toHaveBeenCalledWith({assetId:"1002000"}),o(n).toEqual([{type:c.TRON_TOKEN,payload:l}])}),t("should return no context and not call CAL when the transaction holds no TRC10 transfer",async()=>{const n=await e.load({rawTransaction:p});o(n).toEqual([]),o(a.getTokenInfosPayload).not.toHaveBeenCalled()}),t("should return an error context when the token is unknown to CAL",async()=>{const n=new Error("not found");d.spyOn(a,"getTokenInfosPayload").mockResolvedValue(i(n));const f=await e.load({rawTransaction:r});o(f).toEqual([{type:c.ERROR,error:n}])})})});
2
+ //# sourceMappingURL=TokenContextLoader.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/domain/TokenContextLoader.test.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\n\nimport { type TokenDataSource } from \"@/modules/tron/token/data/TokenDataSource\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\n\nimport { TokenContextLoader } from \"./TokenContextLoader\";\n\nconst fromHex = (hex: string) =>\n Uint8Array.from(hex.match(/.{2}/g)!.map((byte) => parseInt(byte, 16)));\n\n// TransferAssetContract, asset_name \"1002000\".\nconst TRC10_TRANSFER = fromHex(\n \"0a023dce220895da42177db005074080d095ffbc315a75080212710a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123b0a0731303032303030121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a62087ad4b70a0fb91ffbc31\",\n);\n\n// Plain TRX TransferContract.\nconst TRX_TRANSFER = fromHex(\n \"0a023dce220895da42177db0050740d8e0a5feed2d522c43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e732054657374735a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541c8599111f29c1e1e061265b4af93ea1f274ad78a1880c2d72f709d94a2feed2d\",\n);\n\nconst PAYLOAD =\n \"0a0a426974546f7272656e7410061a46304402202e2502f36b00e57be785fc79ec4043abcdd4fdd1b58d737ce123599dffad2cb602201702c307f009d014a553503b499591558b3634ceee4c054c61cedd8aca94c02b\";\n\ndescribe(\"TokenContextLoader\", () => {\n let dataSource: TokenDataSource;\n let loader: TokenContextLoader;\n\n beforeEach(() => {\n vi.restoreAllMocks();\n dataSource = {\n getTokenInfosPayload: vi.fn(),\n } as unknown as TokenDataSource;\n loader = new TokenContextLoader(dataSource);\n });\n\n describe(\"canHandle\", () => {\n it(\"should handle a raw transaction when the token type is expected\", () => {\n expect(\n loader.canHandle({ rawTransaction: TRC10_TRANSFER }, [\n ClearSignContextType.TRON_TOKEN,\n ]),\n ).toBe(true);\n });\n\n it(\"should not handle it when the token type is not expected\", () => {\n expect(\n loader.canHandle({ rawTransaction: TRC10_TRANSFER }, [\n ClearSignContextType.ETHEREUM_TOKEN,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [\"null\", null],\n [\"an empty object\", {}],\n [\"a hex string\", { rawTransaction: \"0a023dce\" }],\n [\"an empty transaction\", { rawTransaction: new Uint8Array() }],\n ])(\"should not handle %s\", (_label, input) => {\n expect(loader.canHandle(input, [ClearSignContextType.TRON_TOKEN])).toBe(\n false,\n );\n });\n });\n\n describe(\"load\", () => {\n it(\"should return the token context of a TRC10 transfer\", async () => {\n vi.spyOn(dataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Right(PAYLOAD),\n );\n\n const result = await loader.load({ rawTransaction: TRC10_TRANSFER });\n\n expect(dataSource.getTokenInfosPayload).toHaveBeenCalledWith({\n assetId: \"1002000\",\n });\n expect(result).toEqual([\n { type: ClearSignContextType.TRON_TOKEN, payload: PAYLOAD },\n ]);\n });\n\n it(\"should return no context and not call CAL when the transaction holds no TRC10 transfer\", async () => {\n const result = await loader.load({ rawTransaction: TRX_TRANSFER });\n\n expect(result).toEqual([]);\n expect(dataSource.getTokenInfosPayload).not.toHaveBeenCalled();\n });\n\n it(\"should return an error context when the token is unknown to CAL\", async () => {\n const error = new Error(\"not found\");\n vi.spyOn(dataSource, \"getTokenInfosPayload\").mockResolvedValue(\n Left(error),\n );\n\n const result = await loader.load({ rawTransaction: TRC10_TRANSFER });\n\n expect(result).toEqual([{ type: ClearSignContextType.ERROR, error }]);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,MAAa,YAC5B,OAAS,cAAAC,EAAY,YAAAC,EAAU,UAAAC,EAAQ,MAAAC,EAAI,MAAAC,MAAU,SAGrD,OAAS,wBAAAC,MAA4B,kCAErC,OAAS,sBAAAC,MAA0B,uBAEnC,MAAMC,EAAWC,GACf,WAAW,KAAKA,EAAI,MAAM,OAAO,EAAG,IAAKC,GAAS,SAASA,EAAM,EAAE,CAAC,CAAC,EAGjEC,EAAiBH,EACrB,wSACF,EAGMI,EAAeJ,EACnB,0WACF,EAEMK,EACJ,+KAEFX,EAAS,qBAAsB,IAAM,CACnC,IAAIY,EACAC,EAEJd,EAAW,IAAM,CACfI,EAAG,gBAAgB,EACnBS,EAAa,CACX,qBAAsBT,EAAG,GAAG,CAC9B,EACAU,EAAS,IAAIR,EAAmBO,CAAU,CAC5C,CAAC,EAEDZ,EAAS,YAAa,IAAM,CAC1BE,EAAG,kEAAmE,IAAM,CAC1ED,EACEY,EAAO,UAAU,CAAE,eAAgBJ,CAAe,EAAG,CACnDL,EAAqB,UACvB,CAAC,CACH,EAAE,KAAK,EAAI,CACb,CAAC,EAEDF,EAAG,2DAA4D,IAAM,CACnED,EACEY,EAAO,UAAU,CAAE,eAAgBJ,CAAe,EAAG,CACnDL,EAAqB,cACvB,CAAC,CACH,EAAE,KAAK,EAAK,CACd,CAAC,EAEDF,EAAG,KAAK,CACN,CAAC,OAAQ,IAAI,EACb,CAAC,kBAAmB,CAAC,CAAC,EACtB,CAAC,eAAgB,CAAE,eAAgB,UAAW,CAAC,EAC/C,CAAC,uBAAwB,CAAE,eAAgB,IAAI,UAAa,CAAC,CAC/D,CAAC,EAAE,uBAAwB,CAACY,EAAQC,IAAU,CAC5Cd,EAAOY,EAAO,UAAUE,EAAO,CAACX,EAAqB,UAAU,CAAC,CAAC,EAAE,KACjE,EACF,CACF,CAAC,CACH,CAAC,EAEDJ,EAAS,OAAQ,IAAM,CACrBE,EAAG,sDAAuD,SAAY,CACpEC,EAAG,MAAMS,EAAY,sBAAsB,EAAE,kBAC3Cd,EAAMa,CAAO,CACf,EAEA,MAAMK,EAAS,MAAMH,EAAO,KAAK,CAAE,eAAgBJ,CAAe,CAAC,EAEnER,EAAOW,EAAW,oBAAoB,EAAE,qBAAqB,CAC3D,QAAS,SACX,CAAC,EACDX,EAAOe,CAAM,EAAE,QAAQ,CACrB,CAAE,KAAMZ,EAAqB,WAAY,QAASO,CAAQ,CAC5D,CAAC,CACH,CAAC,EAEDT,EAAG,yFAA0F,SAAY,CACvG,MAAMc,EAAS,MAAMH,EAAO,KAAK,CAAE,eAAgBH,CAAa,CAAC,EAEjET,EAAOe,CAAM,EAAE,QAAQ,CAAC,CAAC,EACzBf,EAAOW,EAAW,oBAAoB,EAAE,IAAI,iBAAiB,CAC/D,CAAC,EAEDV,EAAG,kEAAmE,SAAY,CAChF,MAAMe,EAAQ,IAAI,MAAM,WAAW,EACnCd,EAAG,MAAMS,EAAY,sBAAsB,EAAE,kBAC3Cf,EAAKoB,CAAK,CACZ,EAEA,MAAMD,EAAS,MAAMH,EAAO,KAAK,CAAE,eAAgBJ,CAAe,CAAC,EAEnER,EAAOe,CAAM,EAAE,QAAQ,CAAC,CAAE,KAAMZ,EAAqB,MAAO,MAAAa,CAAM,CAAC,CAAC,CACtE,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["Left", "Right", "beforeEach", "describe", "expect", "it", "vi", "ClearSignContextType", "TokenContextLoader", "fromHex", "hex", "byte", "TRC10_TRANSFER", "TRX_TRANSFER", "PAYLOAD", "dataSource", "loader", "_label", "input", "result", "error"]
7
+ }
@@ -0,0 +1,2 @@
1
+ function E(t,i){let e=0,n=1;for(let d=0;d<10;d++){const r=t[i+d];if(r===void 0)return;if(e+=(r&127)*n,(r&128)===0)return{value:e,next:i+d+1};n*=128}}function a(t,i){const e=E(t,i);if(e===void 0)return;const n=Math.floor(e.value/8),d=e.value%8;switch(d){case 0:{const r=E(t,e.next);return r===void 0?void 0:{fieldNumber:n,wireType:d,value:r.value,next:r.next}}case 2:{const r=E(t,e.next);if(r===void 0)return;const u=r.next+r.value;return u>t.length?void 0:{fieldNumber:n,wireType:d,data:t.subarray(r.next,u),next:u}}case 1:case 5:{const r=e.next+(d===1?8:4);return r>t.length?void 0:{fieldNumber:n,wireType:d,next:r}}default:return}}function f(t,i){let e=0;for(;e<t.length;){const n=a(t,e);if(n===void 0)return;if(n.fieldNumber===i&&n.data!==void 0)return n.data;e=n.next}}function I(t,i){let e=0;for(;e<t.length;){const n=a(t,e);if(n===void 0)return;if(n.fieldNumber===i&&n.wireType===0)return n.value;e=n.next}}function T(t){const i=f(t,11);if(i===void 0||I(i,1)!==2)return;const e=f(i,2);if(e===void 0)return;const n=f(e,2);if(n===void 0)return;const d=f(n,1);if(!(d===void 0||d.length===0||!d.every(u=>u>=48&&u<=57)))return String.fromCharCode(...d)}export{T as parseTrc10AssetId};
2
+ //# sourceMappingURL=parseTrc10AssetId.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/domain/parseTrc10AssetId.ts"],
4
+ "sourcesContent": ["/**\n * Extracts the TRC10 asset id from a serialized Tron `Transaction.raw`.\n *\n * The asset id travels in the transaction itself, so a TRC10 transfer is\n * recognisable without the caller naming the token.\n *\n * Field numbers follow app-tron's `proto/core/Tron.proto` and\n * `proto/core/Contract.proto`.\n */\n\nconst CONTRACT_FIELD = 11; // Transaction.raw.contract\nconst CONTRACT_TYPE_FIELD = 1; // Transaction.Contract.type\nconst CONTRACT_PARAMETER_FIELD = 2; // Transaction.Contract.parameter\nconst ANY_VALUE_FIELD = 2; // google.protobuf.Any.value\nconst ASSET_NAME_FIELD = 1; // TransferAssetContract.asset_name\n\nconst TRANSFER_ASSET_CONTRACT = 2; // Transaction.Contract.ContractType\n\nconst WIRE_VARINT = 0;\nconst WIRE_64BIT = 1;\nconst WIRE_LENGTH_DELIMITED = 2;\nconst WIRE_32BIT = 5;\n\nconst MAX_VARINT_BYTES = 10;\nconst ASCII_ZERO = 0x30;\nconst ASCII_NINE = 0x39;\n\ntype Varint = { value: number; next: number };\n\ntype ProtobufField = {\n fieldNumber: number;\n wireType: number;\n data?: Uint8Array;\n value?: number;\n next: number;\n};\n\n/**\n * Values above 2^53 lose precision, which is harmless here: the only decoded\n * value ever compared is the contract type, and oversized varints (amounts,\n * timestamps) are read solely to know where the next field starts.\n */\nfunction readVarint(bytes: Uint8Array, offset: number): Varint | undefined {\n let value = 0;\n let shift = 1;\n for (let i = 0; i < MAX_VARINT_BYTES; i++) {\n const byte = bytes[offset + i];\n if (byte === undefined) return undefined;\n value += (byte & 0x7f) * shift;\n if ((byte & 0x80) === 0) return { value, next: offset + i + 1 };\n shift *= 128;\n }\n return undefined;\n}\n\nfunction readField(\n bytes: Uint8Array,\n offset: number,\n): ProtobufField | undefined {\n const key = readVarint(bytes, offset);\n if (key === undefined) return undefined;\n\n const fieldNumber = Math.floor(key.value / 8);\n const wireType = key.value % 8;\n\n switch (wireType) {\n case WIRE_VARINT: {\n const varint = readVarint(bytes, key.next);\n if (varint === undefined) return undefined;\n return { fieldNumber, wireType, value: varint.value, next: varint.next };\n }\n case WIRE_LENGTH_DELIMITED: {\n const length = readVarint(bytes, key.next);\n if (length === undefined) return undefined;\n const end = length.next + length.value;\n if (end > bytes.length) return undefined;\n return {\n fieldNumber,\n wireType,\n data: bytes.subarray(length.next, end),\n next: end,\n };\n }\n case WIRE_64BIT:\n case WIRE_32BIT: {\n const end = key.next + (wireType === WIRE_64BIT ? 8 : 4);\n if (end > bytes.length) return undefined;\n return { fieldNumber, wireType, next: end };\n }\n default:\n return undefined;\n }\n}\n\nfunction findLengthDelimited(\n bytes: Uint8Array,\n fieldNumber: number,\n): Uint8Array | undefined {\n let offset = 0;\n while (offset < bytes.length) {\n const field = readField(bytes, offset);\n if (field === undefined) return undefined;\n if (field.fieldNumber === fieldNumber && field.data !== undefined) {\n return field.data;\n }\n offset = field.next;\n }\n return undefined;\n}\n\nfunction findVarint(\n bytes: Uint8Array,\n fieldNumber: number,\n): number | undefined {\n let offset = 0;\n while (offset < bytes.length) {\n const field = readField(bytes, offset);\n if (field === undefined) return undefined;\n if (field.fieldNumber === fieldNumber && field.wireType === WIRE_VARINT) {\n return field.value;\n }\n offset = field.next;\n }\n return undefined;\n}\n\n/**\n * Returns the TRC10 asset id, or `undefined` when the transaction is not a\n * TRC10 transfer. Native TRX rides on the same contract with an `_` asset\n * name, and is rejected here along with any malformed payload.\n */\nexport function parseTrc10AssetId(\n rawTransaction: Uint8Array,\n): string | undefined {\n const contract = findLengthDelimited(rawTransaction, CONTRACT_FIELD);\n if (contract === undefined) return undefined;\n\n if (findVarint(contract, CONTRACT_TYPE_FIELD) !== TRANSFER_ASSET_CONTRACT) {\n return undefined;\n }\n\n const parameter = findLengthDelimited(contract, CONTRACT_PARAMETER_FIELD);\n if (parameter === undefined) return undefined;\n\n const value = findLengthDelimited(parameter, ANY_VALUE_FIELD);\n if (value === undefined) return undefined;\n\n const assetName = findLengthDelimited(value, ASSET_NAME_FIELD);\n if (assetName === undefined || assetName.length === 0) return undefined;\n\n const isAssetId = assetName.every(\n (byte) => byte >= ASCII_ZERO && byte <= ASCII_NINE,\n );\n if (!isAssetId) return undefined;\n\n return String.fromCharCode(...assetName);\n}\n"],
5
+ "mappings": "AA0CA,SAASA,EAAWC,EAAmBC,EAAoC,CACzE,IAAIC,EAAQ,EACRC,EAAQ,EACZ,QAASC,EAAI,EAAGA,EAAI,GAAkBA,IAAK,CACzC,MAAMC,EAAOL,EAAMC,EAASG,CAAC,EAC7B,GAAIC,IAAS,OAAW,OAExB,GADAH,IAAUG,EAAO,KAAQF,GACpBE,EAAO,OAAU,EAAG,MAAO,CAAE,MAAAH,EAAO,KAAMD,EAASG,EAAI,CAAE,EAC9DD,GAAS,GACX,CAEF,CAEA,SAASG,EACPN,EACAC,EAC2B,CAC3B,MAAMM,EAAMR,EAAWC,EAAOC,CAAM,EACpC,GAAIM,IAAQ,OAAW,OAEvB,MAAMC,EAAc,KAAK,MAAMD,EAAI,MAAQ,CAAC,EACtCE,EAAWF,EAAI,MAAQ,EAE7B,OAAQE,EAAU,CAChB,IAAK,GAAa,CAChB,MAAMC,EAASX,EAAWC,EAAOO,EAAI,IAAI,EACzC,OAAIG,IAAW,OAAW,OACnB,CAAE,YAAAF,EAAa,SAAAC,EAAU,MAAOC,EAAO,MAAO,KAAMA,EAAO,IAAK,CACzE,CACA,IAAK,GAAuB,CAC1B,MAAMC,EAASZ,EAAWC,EAAOO,EAAI,IAAI,EACzC,GAAII,IAAW,OAAW,OAC1B,MAAMC,EAAMD,EAAO,KAAOA,EAAO,MACjC,OAAIC,EAAMZ,EAAM,OAAQ,OACjB,CACL,YAAAQ,EACA,SAAAC,EACA,KAAMT,EAAM,SAASW,EAAO,KAAMC,CAAG,EACrC,KAAMA,CACR,CACF,CACA,IAAK,GACL,IAAK,GAAY,CACf,MAAMA,EAAML,EAAI,MAAQE,IAAa,EAAa,EAAI,GACtD,OAAIG,EAAMZ,EAAM,OAAQ,OACjB,CAAE,YAAAQ,EAAa,SAAAC,EAAU,KAAMG,CAAI,CAC5C,CACA,QACE,MACJ,CACF,CAEA,SAASC,EACPb,EACAQ,EACwB,CACxB,IAAIP,EAAS,EACb,KAAOA,EAASD,EAAM,QAAQ,CAC5B,MAAMc,EAAQR,EAAUN,EAAOC,CAAM,EACrC,GAAIa,IAAU,OAAW,OACzB,GAAIA,EAAM,cAAgBN,GAAeM,EAAM,OAAS,OACtD,OAAOA,EAAM,KAEfb,EAASa,EAAM,IACjB,CAEF,CAEA,SAASC,EACPf,EACAQ,EACoB,CACpB,IAAIP,EAAS,EACb,KAAOA,EAASD,EAAM,QAAQ,CAC5B,MAAMc,EAAQR,EAAUN,EAAOC,CAAM,EACrC,GAAIa,IAAU,OAAW,OACzB,GAAIA,EAAM,cAAgBN,GAAeM,EAAM,WAAa,EAC1D,OAAOA,EAAM,MAEfb,EAASa,EAAM,IACjB,CAEF,CAOO,SAASE,EACdC,EACoB,CACpB,MAAMC,EAAWL,EAAoBI,EAAgB,EAAc,EAGnE,GAFIC,IAAa,QAEbH,EAAWG,EAAU,CAAmB,IAAM,EAChD,OAGF,MAAMC,EAAYN,EAAoBK,EAAU,CAAwB,EACxE,GAAIC,IAAc,OAAW,OAE7B,MAAMjB,EAAQW,EAAoBM,EAAW,CAAe,EAC5D,GAAIjB,IAAU,OAAW,OAEzB,MAAMkB,EAAYP,EAAoBX,EAAO,CAAgB,EAM7D,GALI,EAAAkB,IAAc,QAAaA,EAAU,SAAW,GAKhD,CAHcA,EAAU,MACzBf,GAASA,GAAQ,IAAcA,GAAQ,EAC1C,GAGA,OAAO,OAAO,aAAa,GAAGe,CAAS,CACzC",
6
+ "names": ["readVarint", "bytes", "offset", "value", "shift", "i", "byte", "readField", "key", "fieldNumber", "wireType", "varint", "length", "end", "findLengthDelimited", "field", "findVarint", "parseTrc10AssetId", "rawTransaction", "contract", "parameter", "assetName"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{describe as r,expect as e,it as f}from"vitest";import{parseTrc10AssetId as a}from"./parseTrc10AssetId";const d=c=>Uint8Array.from(c.match(/.{2}/g).map(t=>parseInt(t,16))),n="0a023dce220895da42177db005074080d095ffbc315a75080212710a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123b0a0731303032303030121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a62087ad4b70a0fb91ffbc31",b="0a023dce220895da42177db005074080d095ffbc315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb00000000000000000000000014183f3bbca4ae9fc1de55b9bbe2d071942dc1a60000000000000000000000000000000000000000000000000000000000bc614e70a0fb91ffbc31900180c2d72f",o="0a023dce220895da42177db0050740d8e0a5feed2d522c43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e732054657374735a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541c8599111f29c1e1e061265b4af93ea1f274ad78a1880c2d72f709d94a2feed2d",s="0a023dce220895da42177db005074080d095ffbc315a6e0802126a0a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e747261637412340a015f121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a620e80770a0fb91ffbc31";r("parseTrc10AssetId",()=>{f("should return the asset id of a TRC10 transfer",()=>{e(a(d(n))).toBe("1002000")}),f("should return undefined for a TRC20 transfer",()=>{e(a(d(b))).toBeUndefined()}),f("should return undefined for a plain TRX transfer",()=>{e(a(d(o))).toBeUndefined()}),f("should return undefined when the asset name is the native TRX marker",()=>{e(a(d(s))).toBeUndefined()}),f("should return undefined for an empty transaction",()=>{e(a(new Uint8Array)).toBeUndefined()}),f("should return undefined for a truncated transaction",()=>{const c=d(n).subarray(0,40);e(a(c)).toBeUndefined()}),f("should return undefined for bytes that are not protobuf",()=>{e(a(d("ffffffffffffffffffff"))).toBeUndefined()})});
2
+ //# sourceMappingURL=parseTrc10AssetId.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/domain/parseTrc10AssetId.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from \"vitest\";\n\nimport { parseTrc10AssetId } from \"./parseTrc10AssetId\";\n\nconst fromHex = (hex: string) =>\n Uint8Array.from(hex.match(/.{2}/g)!.map((byte) => parseInt(byte, 16)));\n\n// TransferAssetContract, asset_name \"1002000\" (BitTorrent), amount 1234567.\nconst TRC10_TRANSFER =\n \"0a023dce220895da42177db005074080d095ffbc315a75080212710a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123b0a0731303032303030121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a62087ad4b70a0fb91ffbc31\";\n\n// TriggerSmartContract calling transfer(address,uint256) on USDT.\nconst TRC20_TRANSFER =\n \"0a023dce220895da42177db005074080d095ffbc315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb00000000000000000000000014183f3bbca4ae9fc1de55b9bbe2d071942dc1a60000000000000000000000000000000000000000000000000000000000bc614e70a0fb91ffbc31900180c2d72f\";\n\n// Plain TRX TransferContract, from the hw-app-trx vector.\nconst TRX_TRANSFER =\n \"0a023dce220895da42177db0050740d8e0a5feed2d522c43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e732054657374735a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541c8599111f29c1e1e061265b4af93ea1f274ad78a1880c2d72f709d94a2feed2d\";\n\n// TransferAssetContract whose asset_name is \"_\", the native-TRX marker.\nconst NATIVE_TRX_ASSET =\n \"0a023dce220895da42177db005074080d095ffbc315a6e0802126a0a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e747261637412340a015f121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a620e80770a0fb91ffbc31\";\n\ndescribe(\"parseTrc10AssetId\", () => {\n it(\"should return the asset id of a TRC10 transfer\", () => {\n expect(parseTrc10AssetId(fromHex(TRC10_TRANSFER))).toBe(\"1002000\");\n });\n\n it(\"should return undefined for a TRC20 transfer\", () => {\n expect(parseTrc10AssetId(fromHex(TRC20_TRANSFER))).toBeUndefined();\n });\n\n it(\"should return undefined for a plain TRX transfer\", () => {\n expect(parseTrc10AssetId(fromHex(TRX_TRANSFER))).toBeUndefined();\n });\n\n it(\"should return undefined when the asset name is the native TRX marker\", () => {\n expect(parseTrc10AssetId(fromHex(NATIVE_TRX_ASSET))).toBeUndefined();\n });\n\n it(\"should return undefined for an empty transaction\", () => {\n expect(parseTrc10AssetId(new Uint8Array())).toBeUndefined();\n });\n\n it(\"should return undefined for a truncated transaction\", () => {\n const truncated = fromHex(TRC10_TRANSFER).subarray(0, 40);\n expect(parseTrc10AssetId(truncated)).toBeUndefined();\n });\n\n it(\"should return undefined for bytes that are not protobuf\", () => {\n expect(parseTrc10AssetId(fromHex(\"ffffffffffffffffffff\"))).toBeUndefined();\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,EAAU,UAAAC,EAAQ,MAAAC,MAAU,SAErC,OAAS,qBAAAC,MAAyB,sBAElC,MAAMC,EAAWC,GACf,WAAW,KAAKA,EAAI,MAAM,OAAO,EAAG,IAAKC,GAAS,SAASA,EAAM,EAAE,CAAC,CAAC,EAGjEC,EACJ,ySAGIC,EACJ,yaAGIC,EACJ,2WAGIC,EACJ,2RAEFV,EAAS,oBAAqB,IAAM,CAClCE,EAAG,iDAAkD,IAAM,CACzDD,EAAOE,EAAkBC,EAAQG,CAAc,CAAC,CAAC,EAAE,KAAK,SAAS,CACnE,CAAC,EAEDL,EAAG,+CAAgD,IAAM,CACvDD,EAAOE,EAAkBC,EAAQI,CAAc,CAAC,CAAC,EAAE,cAAc,CACnE,CAAC,EAEDN,EAAG,mDAAoD,IAAM,CAC3DD,EAAOE,EAAkBC,EAAQK,CAAY,CAAC,CAAC,EAAE,cAAc,CACjE,CAAC,EAEDP,EAAG,uEAAwE,IAAM,CAC/ED,EAAOE,EAAkBC,EAAQM,CAAgB,CAAC,CAAC,EAAE,cAAc,CACrE,CAAC,EAEDR,EAAG,mDAAoD,IAAM,CAC3DD,EAAOE,EAAkB,IAAI,UAAY,CAAC,EAAE,cAAc,CAC5D,CAAC,EAEDD,EAAG,sDAAuD,IAAM,CAC9D,MAAMS,EAAYP,EAAQG,CAAc,EAAE,SAAS,EAAG,EAAE,EACxDN,EAAOE,EAAkBQ,CAAS,CAAC,EAAE,cAAc,CACrD,CAAC,EAEDT,EAAG,0DAA2D,IAAM,CAClED,EAAOE,EAAkBC,EAAQ,sBAAsB,CAAC,CAAC,EAAE,cAAc,CAC3E,CAAC,CACH,CAAC",
6
+ "names": ["describe", "expect", "it", "parseTrc10AssetId", "fromHex", "hex", "byte", "TRC10_TRANSFER", "TRC20_TRANSFER", "TRX_TRANSFER", "NATIVE_TRX_ASSET", "truncated"]
7
+ }
@@ -1,2 +1,2 @@
1
- var r=(m=>(m.Ethereum="ethereum",m.Solana="solana",m.Concordium="concordium",m))(r||{});export{r as ContextModuleChainID};
1
+ var m=(r=>(r.Ethereum="ethereum",r.Solana="solana",r.Concordium="concordium",r.Tron="tron",r))(m||{});export{m as ContextModuleChainID};
2
2
  //# sourceMappingURL=ContextModuleChainID.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/shared/domain/ContextModuleChainID.ts"],
4
- "sourcesContent": ["export enum ContextModuleChainID {\n Ethereum = \"ethereum\",\n Solana = \"solana\",\n Concordium = \"concordium\",\n}\n"],
5
- "mappings": "AAAO,IAAKA,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,aAHHA,OAAA",
4
+ "sourcesContent": ["export enum ContextModuleChainID {\n Ethereum = \"ethereum\",\n Solana = \"solana\",\n Concordium = \"concordium\",\n Tron = \"tron\",\n}\n"],
5
+ "mappings": "AAAO,IAAKA,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,aACbA,EAAA,KAAO,OAJGA,OAAA",
6
6
  "names": ["ContextModuleChainID"]
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))(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.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}\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,sBA3BdA,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 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",
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;AAIlH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAclG,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;IAgF1B,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,wBAAwB;IASnB,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;AAIlH,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;IASnB,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 +1 @@
1
- {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AA8B5C,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,0BAA0B,GAAG,yBAAyB,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,iBAAiB,cAgE1D,CAAC"}
1
+ {"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../../../src/di.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAC;AA+B5C,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,0BAA0B,GAAG,yBAAyB,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,YAAY,iBAAiB,cAqE1D,CAAC"}
@@ -87,6 +87,7 @@ export * from "./modules/solana/token-info/domain/TokenInfoContextLoader";
87
87
  export * from "./modules/solana/trusted-name/data/HttpTrustedNameDataSource";
88
88
  export * from "./modules/solana/trusted-name/data/TrustedNameDataSource";
89
89
  export * from "./modules/solana/trusted-name/domain/TrustedNameContextLoader";
90
+ export * from "./modules/tron/model/TronTransactionContext";
90
91
  export * from "./shared/domain/ContextFieldLoader";
91
92
  export * from "./shared/domain/ContextLoader";
92
93
  export * from "./shared/domain/ContextModuleChainID";
@@ -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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"}
@@ -7,6 +7,7 @@ export declare const BlindSignReason: Readonly<{
7
7
  readonly NO_CLEAR_SIGNING_CONTEXT: "no_clear_signing_context";
8
8
  readonly DEVICE_REJECTED_CONTEXT: "device_rejected_context";
9
9
  readonly UNRECOGNIZED_PROGRAM: "unrecognized_program";
10
+ readonly STALE_DESCRIPTOR: "stale_descriptor";
10
11
  }>;
11
12
  export type BlindSignReason = (typeof BlindSignReason)[keyof typeof BlindSignReason];
12
13
  export declare const ClearSigningType: Readonly<{
@@ -1 +1 @@
1
- {"version":3,"file":"BlindSigningEvent.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/multichain/reporter/model/BlindSigningEvent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;EAGpB,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,eAAe;;;;EAIjB,CAAC;AACZ,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;;EAGlB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,eAAO,MAAM,oBAAoB;;;EAGtB,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"BlindSigningEvent.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/multichain/reporter/model/BlindSigningEvent.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;EAGpB,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,eAAe;;;;;EAKjB,CAAC;AACZ,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;;EAGlB,CAAC;AACZ,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE3D,eAAO,MAAM,oBAAoB;;;EAGtB,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
@@ -19,11 +19,22 @@ export type CalTokenValueDto = {
19
19
  kind: string;
20
20
  value?: CalValueDto;
21
21
  account_index?: number;
22
+ /** `RESOLVE` only: account index whose address is the mint of last resort. */
23
+ fallback_account?: number;
22
24
  };
23
25
  export type CalMintAssociationDto = {
24
26
  account_index: number;
25
27
  mint_index: number;
26
28
  };
29
+ export type CalOwnerAssociationDto = {
30
+ account_index?: number;
31
+ owner?: CalValueDto;
32
+ };
33
+ /** One `ACTIVE_WHEN` predicate: a bare name, or `MINT_PREDICATE` + its mint. */
34
+ export type CalActiveWhenPredicateDto = string | {
35
+ kind: string;
36
+ mint?: string;
37
+ };
27
38
  export type CalTypePoolEntryDto = {
28
39
  index: number;
29
40
  kind: string;
@@ -50,10 +61,29 @@ export type CalValueFlowPortDto = CalSubstructureDto & {
50
61
  account_indices: number[];
51
62
  optional_account_strategy?: string;
52
63
  token_value: CalTokenValueDto;
64
+ active_when?: CalActiveWhenPredicateDto[];
65
+ };
66
+ export type CalHideRuleDto = CalSubstructureDto & {
67
+ rule_set_index?: number;
68
+ target?: CalValueDto;
69
+ condition?: string;
53
70
  };
54
71
  export type CalAccountResetDto = CalSubstructureDto & {
55
72
  account_index?: number;
56
73
  require_pre_balance_zero?: boolean;
74
+ value_kind?: string;
75
+ token?: CalTokenValueDto;
76
+ require_native_pre_balance_zero?: boolean;
77
+ };
78
+ export type CalSlotConstraintDto = {
79
+ signer: string;
80
+ writable: string;
81
+ };
82
+ export type CalAccountSchemaDto = {
83
+ count_min?: number;
84
+ count_max?: number;
85
+ remaining_policy?: CalSlotConstraintDto;
86
+ slots?: CalSlotConstraintDto[];
57
87
  };
58
88
  export type CalDisplayFieldDto = CalSubstructureDto & {
59
89
  name?: string;
@@ -72,12 +102,14 @@ export type CalInstructionDescriptorDto = {
72
102
  root_type?: number;
73
103
  };
74
104
  mint_association?: CalMintAssociationDto;
75
- owner_association?: unknown;
105
+ owner_association?: CalOwnerAssociationDto;
76
106
  enum_variants?: Record<string, Record<string, CalEnumVariantDto>>;
77
107
  display_fields?: CalDisplayFieldDto[];
78
108
  value_flow_ports?: CalValueFlowPortDto[];
79
- hide_rules?: CalSubstructureDto[];
109
+ hide_rules?: CalHideRuleDto[];
80
110
  account_resets?: CalAccountResetDto[];
111
+ /** Absent means "no ACCOUNT_SCHEMA check". */
112
+ account_schema?: CalAccountSchemaDto;
81
113
  };
82
114
  export type CalInstructionProgramDto = {
83
115
  id: string;
@@ -124,6 +156,18 @@ export declare const calInstructionProgramCodec: Codec<{
124
156
  account_resets: {
125
157
  descriptor: string;
126
158
  }[] | undefined;
159
+ account_schema: {
160
+ count_min: number | undefined;
161
+ count_max: number | undefined;
162
+ remaining_policy: {
163
+ signer: string;
164
+ writable: string;
165
+ } | undefined;
166
+ slots: {
167
+ signer: string;
168
+ writable: string;
169
+ }[] | undefined;
170
+ } | undefined;
127
171
  }[];
128
172
  }>;
129
173
  //# sourceMappingURL=InstructionInfoDto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionInfoDto.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDto.ts"],"names":[],"mappings":"AAQA,OAAO,EAAS,KAAK,EAAoC,MAAM,WAAW,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAKF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACrD,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,sBAAsB,CAAC;IACnC,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACzC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC,CAAC;AAKF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,2BAA2B,EAAE,CAAC;CAC7C,CAAC;AAGF,MAAM,MAAM,6BAA6B,GAAG,wBAAwB,EAAE,CAAC;AAiCvE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC"}
1
+ {"version":3,"file":"InstructionInfoDto.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/instruction-info/data/InstructionInfoDto.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,26 @@
1
1
  import { type Either } from "purify-ts";
2
- import { type SolanaCalAccountReset, type SolanaCalDisplayField, type SolanaCalValueFlowPort, type SolanaInstructionEnumVariant, type SolanaInstructionInfoPayload } from "../../../../modules/solana/model/SolanaPayloads";
3
- import { type CalAccountResetDto, type CalDisplayFieldDto, type CalInstructionDescriptorDto, type CalValueFlowPortDto } from "./InstructionInfoDto";
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 CalAccountResetDto, type CalAccountSchemaDto, type CalDisplayFieldDto, type CalHideRuleDto, type CalInstructionDescriptorDto, type CalOwnerAssociationDto, type CalValueFlowPortDto } from "./InstructionInfoDto";
4
4
  export type CalMode = "prod" | "test";
5
5
  export declare function toValueFlowPorts(dtos?: CalValueFlowPortDto[]): SolanaCalValueFlowPort[];
6
6
  export declare function toAccountResets(dtos?: CalAccountResetDto[]): SolanaCalAccountReset[];
7
+ /**
8
+ * Every rule is carried, including one CAL served without a `condition`. The
9
+ * rule's signed TLV goes to the device through {@link toSubstructures}
10
+ * regardless, and the device resolves the `target` of every rule it receives —
11
+ * so dropping the entry here would cost the host the `ALT_RESOLUTION` for that
12
+ * target and make the device refuse to sign. A missing condition only means no
13
+ * requirement keys off this rule's predicate.
14
+ */
15
+ export declare function toHideRules(dtos?: CalHideRuleDto[]): SolanaCalHideRule[];
16
+ /**
17
+ * CAL carries at most one `owner_association` per descriptor; the payload holds
18
+ * a list so the transaction-wide owner map is built the same way as the mint
19
+ * map. Both halves of the pair are required (spec: "must both be present or
20
+ * both absent"), so a half-declared association is dropped.
21
+ */
22
+ export declare function toOwnerAssociations(dto: CalOwnerAssociationDto | undefined): SolanaCalOwnerAssociation[];
23
+ export declare function toAccountSchema(dto: CalAccountSchemaDto | undefined): SolanaCalAccountSchema | undefined;
7
24
  export declare function toDisplayFields(dtos?: CalDisplayFieldDto[]): SolanaCalDisplayField[];
8
25
  /**
9
26
  * Flatten the enum variants of every descriptor in a program into a single
@@ -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,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAGlC,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEhC,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,CAM1B;AAED,wBAAgB,eAAe,CAC7B,IAAI,GAAE,kBAAkB,EAAO,GAC9B,qBAAqB,EAAE,CAazB;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,CA6B7C"}
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,7 +1,7 @@
1
1
  import { type PkiCertificate } from "../../../modules/multichain/pki/model/PkiCertificate";
2
2
  import { type SolanaAltResolutionPayload, type SolanaEnumVariantPayload, type SolanaInstructionInfoPayload, type SolanaLifiPayload, type SolanaTokenAccountStatePayload, type SolanaTokenData, type SolanaTokenInfoPayload, type SolanaTransactionCheckPayload } from "../../../modules/solana/model/SolanaPayloads";
3
3
  import { type ClearSignContext, type ClearSignContextSuccess, ClearSignContextType } from "../../../shared/model/ClearSignContext";
4
- export type { SolanaAltResolutionPayload, SolanaCalAccountReset, SolanaCalDisplayField, SolanaCalMintAssociation, SolanaCalTokenValue, SolanaCalTypePoolEntry, SolanaCalValue, SolanaCalValueFlowPort, SolanaEnumVariantPayload, SolanaInstructionEnumVariant, SolanaInstructionInfoPayload, SolanaInstructionSubstructure, SolanaLifiInstructionMeta, SolanaLifiPayload, SolanaSignedDescriptor, SolanaTokenAccountStatePayload, SolanaTokenData, SolanaTokenInfoPayload, SolanaTransactionCheckPayload, SolanaTransactionDescriptor, } from "../../../modules/solana/model/SolanaPayloads";
4
+ 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";
5
5
  export { SolanaInstructionSubstructureKind } from "../../../modules/solana/model/SolanaPayloads";
6
6
  /**
7
7
  * Solana-specific payload overrides — contributed to the shared
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaClearSignContext.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaClearSignContext.ts"],"names":[],"mappings":"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"}
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"}
@@ -59,9 +59,12 @@ export type SolanaInstructionInfoPayload = {
59
59
  rootType: number;
60
60
  };
61
61
  mintAssociations: SolanaCalMintAssociation[];
62
+ ownerAssociations: SolanaCalOwnerAssociation[];
62
63
  valueFlowPorts: SolanaCalValueFlowPort[];
63
64
  accountResets: SolanaCalAccountReset[];
64
65
  displayFields: SolanaCalDisplayField[];
66
+ hideRules: SolanaCalHideRule[];
67
+ accountSchema?: SolanaCalAccountSchema;
65
68
  };
66
69
  export declare enum SolanaInstructionSubstructureKind {
67
70
  DISPLAY_FIELD = 0,
@@ -88,16 +91,67 @@ export type SolanaCalTokenValue = {
88
91
  kind: string;
89
92
  value?: SolanaCalValue;
90
93
  account_index?: number;
94
+ /**
95
+ * `RESOLVE` only: account index whose *address* the device uses as the mint
96
+ * when the binding lookup fails through both the mint-association map and
97
+ * `TOKEN_ACCOUNT_STATE` (`accountMintTokenNode.fallbackAccount`).
98
+ */
99
+ fallback_account?: number;
100
+ };
101
+ /**
102
+ * One `VALUE_FLOW_PORT.ACTIVE_WHEN` predicate: a bare `ActiveWhenPredicate`
103
+ * name, or `MINT_PREDICATE` with its trailing mint.
104
+ */
105
+ export type SolanaCalActiveWhenPredicate = string | {
106
+ kind: string;
107
+ mint?: string;
91
108
  };
92
109
  export type SolanaCalValueFlowPort = {
93
110
  /** Ordered candidate list of account indices (length 1 for a single-account port). */
94
111
  account_indices: number[];
95
112
  optional_account_strategy?: string;
96
113
  token_value: SolanaCalTokenValue;
114
+ /** Port activation predicates; all must pass for the port to be active. */
115
+ active_when?: SolanaCalActiveWhenPredicate[];
116
+ };
117
+ /**
118
+ * One `HIDE_RULE` substructure: a `(rule_set_index, target, condition)` triple.
119
+ * `condition` is non-optional in the TLV, but it stays optional here: the signed
120
+ * substructure reaches the device either way, so a rule whose condition CAL
121
+ * failed to name must still be surfaced — dropping it would lose the `target`
122
+ * the device resolves for every rule.
123
+ */
124
+ export type SolanaCalHideRule = {
125
+ rule_set_index?: number;
126
+ target?: SolanaCalValue;
127
+ condition?: string;
128
+ };
129
+ /**
130
+ * An `OWNER_ASSOC_ACCOUNT` / `OWNER_ASSOC_OWNER` pair: binds a token account to
131
+ * its owner, seeding the transaction-scoped owner map the `IS_SIGNER` /
132
+ * `IS_ANOTHER_SIGNER` predicates read.
133
+ */
134
+ export type SolanaCalOwnerAssociation = {
135
+ account_index: number;
136
+ owner: SolanaCalValue;
97
137
  };
98
138
  export type SolanaCalAccountReset = {
99
139
  account_index: number;
100
140
  require_pre_balance_zero?: boolean;
141
+ value_kind?: string;
142
+ token?: SolanaCalTokenValue;
143
+ require_native_pre_balance_zero?: boolean;
144
+ };
145
+ export type SolanaCalSlotConstraint = {
146
+ signer: "FORBIDDEN" | "EITHER" | "REQUIRED";
147
+ writable: "FORBIDDEN" | "EITHER" | "REQUIRED";
148
+ };
149
+ export type SolanaCalAccountSchema = {
150
+ count_min: number;
151
+ /** 255 = COUNT_UNBOUNDED (no upper limit). */
152
+ count_max: number;
153
+ remaining_policy: SolanaCalSlotConstraint;
154
+ slots: SolanaCalSlotConstraint[];
101
155
  };
102
156
  export type SolanaCalDisplayField = {
103
157
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaPayloads.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaPayloads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaPayloads.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/solana/model/SolanaPayloads.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { DmkNetworkClient } from "@ledgerhq/device-management-kit";
1
+ import { DmkNetworkClient, LoggerPublisherService } from "@ledgerhq/device-management-kit";
2
2
  import { Either } from "purify-ts";
3
3
  import { type ContextModuleServiceConfig } from "../../../../config/model/ContextModuleConfig";
4
4
  import { type GetTokenAccountStateParams, type TokenAccountStateDataSource, type TokenAccountStateResult } from "./TokenAccountStateDataSource";
5
5
  export declare class HttpTokenAccountStateDataSource implements TokenAccountStateDataSource {
6
6
  private readonly config;
7
7
  private readonly http;
8
- constructor(config: ContextModuleServiceConfig, http: DmkNetworkClient);
8
+ private logger;
9
+ constructor(config: ContextModuleServiceConfig, loggerFactory: (tag: string) => LoggerPublisherService, http: DmkNetworkClient);
9
10
  getTokenAccountState({ tokenAccount, challenge, }: GetTokenAccountStateParams): Promise<Either<Error, TokenAccountStateResult>>;
10
11
  }
11
12
  //# sourceMappingURL=HttpTokenAccountStateDataSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpTokenAccountStateDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.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;AAKrF,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAcvC,qBACa,+BACX,YAAW,2BAA2B;IAIpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,MAAM,EAAE,0BAA0B,EAElC,IAAI,EAAE,gBAAgB;IAG5B,oBAAoB,CAAC,EAChC,YAAY,EACZ,SAAS,GACV,EAAE,0BAA0B,GAAG,OAAO,CACrC,MAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,CACvC;CA+CF"}
1
+ {"version":3,"file":"HttpTokenAccountStateDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAKrF,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAevC,qBACa,+BACX,YAAW,2BAA2B;IAMpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,MAAM,CAAyB;gBAIpB,MAAM,EAAE,0BAA0B,EAEnD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,sBAAsB,EAErC,IAAI,EAAE,gBAAgB;IAK5B,oBAAoB,CAAC,EAChC,YAAY,EACZ,SAAS,GACV,EAAE,0BAA0B,GAAG,OAAO,CACrC,MAAM,CAAC,KAAK,EAAE,uBAAuB,CAAC,CACvC;CA8DF"}
@@ -0,0 +1,5 @@
1
+ export type TronTransactionContext = {
2
+ /** Protobuf-serialized `Transaction.raw` bytes, as given to the signer. */
3
+ rawTransaction: Uint8Array;
4
+ };
5
+ //# sourceMappingURL=TronTransactionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TronTransactionContext.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/tron/model/TronTransactionContext.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,2EAA2E;IAC3E,cAAc,EAAE,UAAU,CAAC;CAC5B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { DmkNetworkClient } from "@ledgerhq/device-management-kit";
2
+ import { type Either } from "purify-ts";
3
+ import { type ContextModuleServiceConfig } from "../../../../config/model/ContextModuleConfig";
4
+ import { type GetTokenInfosParams, type TokenDataSource } from "../../../../modules/tron/token/data/TokenDataSource";
5
+ export declare class HttpTokenDataSource implements TokenDataSource {
6
+ private readonly config;
7
+ private readonly http;
8
+ constructor(config: ContextModuleServiceConfig, http: DmkNetworkClient);
9
+ /**
10
+ * Unlike the EVM descriptor, which is assembled from `descriptor.data` plus a
11
+ * signature, the whole TRC10 payload the device expects is the signature
12
+ * field: a protobuf `TokenDetails` the app checks against its built-in key.
13
+ * `descriptor.data` is empty for these entries.
14
+ */
15
+ getTokenInfosPayload({ assetId, }: GetTokenInfosParams): Promise<Either<Error, string>>;
16
+ }
17
+ //# sourceMappingURL=HttpTokenDataSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpTokenDataSource.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/tron/token/data/HttpTokenDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,eAAe,EACrB,MAAM,2CAA2C,CAAC;AAGnD,qBACa,mBAAoB,YAAW,eAAe;IAGvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,MAAM,EAAE,0BAA0B,EAElC,IAAI,EAAE,gBAAgB;IAGzC;;;;;OAKG;IACU,oBAAoB,CAAC,EAChC,OAAO,GACR,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAoCxD"}