@ledgerhq/context-module 0.0.0-develop-20260917001250 → 0.0.0-develop-20260918001351

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 (92) 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 +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/tron/model/TronTransactionContext.js +2 -0
  9. package/lib/cjs/src/modules/tron/model/TronTransactionContext.js.map +7 -0
  10. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.js +2 -0
  11. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.js.map +7 -0
  12. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.test.js +2 -0
  13. package/lib/cjs/src/modules/tron/token/data/HttpTokenDataSource.test.js.map +7 -0
  14. package/lib/cjs/src/modules/tron/token/data/TokenDataSource.js +2 -0
  15. package/lib/cjs/src/modules/tron/token/data/TokenDataSource.js.map +7 -0
  16. package/lib/cjs/src/modules/tron/token/di/tokenModuleFactory.js +2 -0
  17. package/lib/cjs/src/modules/tron/token/di/tokenModuleFactory.js.map +7 -0
  18. package/lib/cjs/src/modules/tron/token/di/tokenTypes.js +2 -0
  19. package/lib/cjs/src/modules/tron/token/di/tokenTypes.js.map +7 -0
  20. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.js +2 -0
  21. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.js.map +7 -0
  22. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.test.js +2 -0
  23. package/lib/cjs/src/modules/tron/token/domain/TokenContextLoader.test.js.map +7 -0
  24. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.js +2 -0
  25. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.js.map +7 -0
  26. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.test.js +2 -0
  27. package/lib/cjs/src/modules/tron/token/domain/parseTrc10AssetId.test.js.map +7 -0
  28. package/lib/cjs/src/shared/domain/ContextModuleChainID.js +1 -1
  29. package/lib/cjs/src/shared/domain/ContextModuleChainID.js.map +2 -2
  30. package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
  31. package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
  32. package/lib/esm/package.json +1 -1
  33. package/lib/esm/src/DefaultContextModule.js +1 -1
  34. package/lib/esm/src/DefaultContextModule.js.map +3 -3
  35. package/lib/esm/src/di.js +1 -1
  36. package/lib/esm/src/di.js.map +3 -3
  37. package/lib/esm/src/index.js +1 -1
  38. package/lib/esm/src/index.js.map +2 -2
  39. package/lib/esm/src/modules/tron/model/TronTransactionContext.js +1 -0
  40. package/lib/esm/src/modules/tron/model/TronTransactionContext.js.map +7 -0
  41. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.js +2 -0
  42. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.js.map +7 -0
  43. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.test.js +2 -0
  44. package/lib/esm/src/modules/tron/token/data/HttpTokenDataSource.test.js.map +7 -0
  45. package/lib/esm/src/modules/tron/token/data/TokenDataSource.js +2 -0
  46. package/lib/esm/src/modules/tron/token/data/TokenDataSource.js.map +7 -0
  47. package/lib/esm/src/modules/tron/token/di/tokenModuleFactory.js +2 -0
  48. package/lib/esm/src/modules/tron/token/di/tokenModuleFactory.js.map +7 -0
  49. package/lib/esm/src/modules/tron/token/di/tokenTypes.js +2 -0
  50. package/lib/esm/src/modules/tron/token/di/tokenTypes.js.map +7 -0
  51. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.js +2 -0
  52. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.js.map +7 -0
  53. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.test.js +2 -0
  54. package/lib/esm/src/modules/tron/token/domain/TokenContextLoader.test.js.map +7 -0
  55. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.js +2 -0
  56. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.js.map +7 -0
  57. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.test.js +2 -0
  58. package/lib/esm/src/modules/tron/token/domain/parseTrc10AssetId.test.js.map +7 -0
  59. package/lib/esm/src/shared/domain/ContextModuleChainID.js +1 -1
  60. package/lib/esm/src/shared/domain/ContextModuleChainID.js.map +2 -2
  61. package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
  62. package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
  63. package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
  64. package/lib/types/src/di.d.ts.map +1 -1
  65. package/lib/types/src/index.d.ts +1 -0
  66. package/lib/types/src/index.d.ts.map +1 -1
  67. package/lib/types/src/modules/tron/model/TronTransactionContext.d.ts +5 -0
  68. package/lib/types/src/modules/tron/model/TronTransactionContext.d.ts.map +1 -0
  69. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.d.ts +17 -0
  70. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.d.ts.map +1 -0
  71. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.test.d.ts +2 -0
  72. package/lib/types/src/modules/tron/token/data/HttpTokenDataSource.test.d.ts.map +1 -0
  73. package/lib/types/src/modules/tron/token/data/TokenDataSource.d.ts +20 -0
  74. package/lib/types/src/modules/tron/token/data/TokenDataSource.d.ts.map +1 -0
  75. package/lib/types/src/modules/tron/token/di/tokenModuleFactory.d.ts +3 -0
  76. package/lib/types/src/modules/tron/token/di/tokenModuleFactory.d.ts.map +1 -0
  77. package/lib/types/src/modules/tron/token/di/tokenTypes.d.ts +5 -0
  78. package/lib/types/src/modules/tron/token/di/tokenTypes.d.ts.map +1 -0
  79. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.d.ts +16 -0
  80. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.d.ts.map +1 -0
  81. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.test.d.ts +2 -0
  82. package/lib/types/src/modules/tron/token/domain/TokenContextLoader.test.d.ts.map +1 -0
  83. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.d.ts +16 -0
  84. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.d.ts.map +1 -0
  85. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.test.d.ts +2 -0
  86. package/lib/types/src/modules/tron/token/domain/parseTrc10AssetId.test.d.ts.map +1 -0
  87. package/lib/types/src/shared/domain/ContextModuleChainID.d.ts +2 -1
  88. package/lib/types/src/shared/domain/ContextModuleChainID.d.ts.map +1 -1
  89. package/lib/types/src/shared/model/ClearSignContext.d.ts +2 -1
  90. package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
  91. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  92. package/package.json +6 -6
@@ -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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GA0CA,SAASI,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": ["parseTrc10AssetId_exports", "__export", "parseTrc10AssetId", "__toCommonJS", "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
+ "use strict";var e=require("vitest"),f=require("./parseTrc10AssetId");const a=d=>Uint8Array.from(d.match(/.{2}/g).map(n=>parseInt(n,16))),c="0a023dce220895da42177db005074080d095ffbc315a75080212710a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e7472616374123b0a0731303032303030121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a62087ad4b70a0fb91ffbc31",t="0a023dce220895da42177db005074080d095ffbc315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb00000000000000000000000014183f3bbca4ae9fc1de55b9bbe2d071942dc1a60000000000000000000000000000000000000000000000000000000000bc614e70a0fb91ffbc31900180c2d72f",r="0a023dce220895da42177db0050740d8e0a5feed2d522c43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e732054657374735a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541c8599111f29c1e1e061265b4af93ea1f274ad78a121541c8599111f29c1e1e061265b4af93ea1f274ad78a1880c2d72f709d94a2feed2d",b="0a023dce220895da42177db005074080d095ffbc315a6e0802126a0a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e736665724173736574436f6e747261637412340a015f121541c8599111f29c1e1e061265b4af93ea1f274ad78a1a154114183f3bbca4ae9fc1de55b9bbe2d071942dc1a620e80770a0fb91ffbc31";(0,e.describe)("parseTrc10AssetId",()=>{(0,e.it)("should return the asset id of a TRC10 transfer",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(a(c))).toBe("1002000")}),(0,e.it)("should return undefined for a TRC20 transfer",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(a(t))).toBeUndefined()}),(0,e.it)("should return undefined for a plain TRX transfer",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(a(r))).toBeUndefined()}),(0,e.it)("should return undefined when the asset name is the native TRX marker",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(a(b))).toBeUndefined()}),(0,e.it)("should return undefined for an empty transaction",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(new Uint8Array)).toBeUndefined()}),(0,e.it)("should return undefined for a truncated transaction",()=>{const d=a(c).subarray(0,40);(0,e.expect)((0,f.parseTrc10AssetId)(d)).toBeUndefined()}),(0,e.it)("should return undefined for bytes that are not protobuf",()=>{(0,e.expect)((0,f.parseTrc10AssetId)(a("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,IAAAA,EAAqC,kBAErCC,EAAkC,+BAElC,MAAMC,EAAWC,GACf,WAAW,KAAKA,EAAI,MAAM,OAAO,EAAG,IAAKC,GAAS,SAASA,EAAM,EAAE,CAAC,CAAC,EAGjEC,EACJ,ySAGIC,EACJ,yaAGIC,EACJ,2WAGIC,EACJ,8RAEF,YAAS,oBAAqB,IAAM,IAClC,MAAG,iDAAkD,IAAM,IACzD,aAAO,qBAAkBN,EAAQG,CAAc,CAAC,CAAC,EAAE,KAAK,SAAS,CACnE,CAAC,KAED,MAAG,+CAAgD,IAAM,IACvD,aAAO,qBAAkBH,EAAQI,CAAc,CAAC,CAAC,EAAE,cAAc,CACnE,CAAC,KAED,MAAG,mDAAoD,IAAM,IAC3D,aAAO,qBAAkBJ,EAAQK,CAAY,CAAC,CAAC,EAAE,cAAc,CACjE,CAAC,KAED,MAAG,uEAAwE,IAAM,IAC/E,aAAO,qBAAkBL,EAAQM,CAAgB,CAAC,CAAC,EAAE,cAAc,CACrE,CAAC,KAED,MAAG,mDAAoD,IAAM,IAC3D,aAAO,qBAAkB,IAAI,UAAY,CAAC,EAAE,cAAc,CAC5D,CAAC,KAED,MAAG,sDAAuD,IAAM,CAC9D,MAAMC,EAAYP,EAAQG,CAAc,EAAE,SAAS,EAAG,EAAE,KACxD,aAAO,qBAAkBI,CAAS,CAAC,EAAE,cAAc,CACrD,CAAC,KAED,MAAG,0DAA2D,IAAM,IAClE,aAAO,qBAAkBP,EAAQ,sBAAsB,CAAC,CAAC,EAAE,cAAc,CAC3E,CAAC,CACH,CAAC",
6
+ "names": ["import_vitest", "import_parseTrc10AssetId", "fromHex", "hex", "byte", "TRC10_TRANSFER", "TRC20_TRANSFER", "TRX_TRANSFER", "NATIVE_TRX_ASSET", "truncated"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var e=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var S=(r,m)=>{for(var a in m)e(r,a,{get:m[a],enumerable:!0})},b=(r,m,a,c)=>{if(m&&typeof m=="object"||typeof m=="function")for(let u of s(m))!E.call(r,u)&&u!==a&&e(r,u,{get:()=>m[u],enumerable:!(c=p(m,u))||c.enumerable});return r};var f=r=>b(e({},"__esModule",{value:!0}),r);var g={};S(g,{ContextModuleChainID:()=>o});module.exports=f(g);var o=(c=>(c.Ethereum="ethereum",c.Solana="solana",c.Concordium="concordium",c))(o||{});0&&(module.exports={ContextModuleChainID});
1
+ "use strict";var p=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var a=(c,m)=>{for(var o in m)p(c,o,{get:m[o],enumerable:!0})},b=(c,m,o,s)=>{if(m&&typeof m=="object"||typeof m=="function")for(let r of S(m))!T.call(c,r)&&r!==o&&p(c,r,{get:()=>m[r],enumerable:!(s=E(m,r))||s.enumerable});return c};var f=c=>b(p({},"__esModule",{value:!0}),c);var g={};a(g,{ContextModuleChainID:()=>u});module.exports=f(g);var u=(r=>(r.Ethereum="ethereum",r.Solana="solana",r.Concordium="concordium",r.Tron="tron",r))(u||{});0&&(module.exports={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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAO,IAAKE,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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAO,IAAKE,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,aACbA,EAAA,KAAO,OAJGA,OAAA",
6
6
  "names": ["ContextModuleChainID_exports", "__export", "ContextModuleChainID", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var O=(r,E)=>{for(var a in E)o(r,a,{get:E[a],enumerable:!0})},A=(r,E,a,t)=>{if(E&&typeof E=="object"||typeof E=="function")for(let s of _(E))!u.call(r,s)&&s!==a&&o(r,s,{get:()=>E[s],enumerable:!(t=c(E,s))||t.enumerable});return r};var n=r=>A(o({},"__esModule",{value:!0}),r);var T={};O(T,{ClearSignContextType:()=>N});module.exports=n(T);var N=(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))(N||{});0&&(module.exports={ClearSignContextType});
1
+ "use strict";var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var u=(r,E)=>{for(var a in E)o(r,a,{get:E[a],enumerable:!0})},A=(r,E,a,t)=>{if(E&&typeof E=="object"||typeof E=="function")for(let s of O(E))!_.call(r,s)&&s!==a&&o(r,s,{get:()=>E[s],enumerable:!(t=c(E,s))||t.enumerable});return r};var T=r=>A(o({},"__esModule",{value:!0}),r);var n={};u(n,{ClearSignContextType:()=>N});module.exports=T(n);var N=(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))(N||{});0&&(module.exports={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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAIO,IAAKE,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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAIO,IAAKE,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": ["ClearSignContext_exports", "__export", "ClearSignContextType", "__toCommonJS"]
7
7
  }
@@ -58,5 +58,5 @@
58
58
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
59
59
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
60
60
  },
61
- "version": "0.0.0-develop-20260917001250"
61
+ "version": "0.0.0-develop-20260918001351"
62
62
  }
@@ -1,2 +1,2 @@
1
- import{makeContainer as g}from"./di";import{accountOwnershipTypes as x}from"./modules/concordium/account-ownership/di/accountOwnershipTypes";import{calldataTypes as u}from"./modules/ethereum/calldata/di/calldataTypes";import{dynamicNetworkTypes as f}from"./modules/ethereum/dynamic-network/di/dynamicNetworkTypes";import{externalPluginTypes as L}from"./modules/ethereum/external-plugin/di/externalPluginTypes";import{gatedSigningTypes as p}from"./modules/ethereum/gated-signing/di/gatedSigningTypes";import{nftTypes as l}from"./modules/ethereum/nft/di/nftTypes";import{proxyTypes as y}from"./modules/ethereum/proxy/di/proxyTypes";import{safeTypes as h}from"./modules/ethereum/safe/di/safeTypes";import{tokenTypes as m}from"./modules/ethereum/token/di/tokenTypes";import{trustedNameTypes as C}from"./modules/ethereum/trusted-name/di/trustedNameTypes";import{typedDataTypes as _}from"./modules/ethereum/typed-data/di/typedDataTypes";import{reporterTypes as c}from"./modules/multichain/reporter/di/reporterTypes";import{transactionCheckTypes as s}from"./modules/multichain/transaction-check/di/transactionCheckTypes";import{altResolutionTypes as T}from"./modules/solana/alt-resolution/di/altResolutionTypes";import{enumVariantTypes as S}from"./modules/solana/enum-variant/di/enumVariantTypes";import{instructionInfoTypes as R}from"./modules/solana/instruction-info/di/instructionInfoTypes";import{lifiTypes as D}from"./modules/solana/lifi/di/lifiTypes";import{ownerInfoTypes as k}from"./modules/solana/owner-info/di/ownerInfoTypes";import{tokenTypes as v}from"./modules/solana/token/di/tokenTypes";import{tokenAccountStateTypes as F}from"./modules/solana/token-account-state/di/tokenAccountStateTypes";import{tokenInfoTypes as w}from"./modules/solana/token-info/di/tokenInfoTypes";import{solanaTrustedNameTypes as P}from"./modules/solana/trusted-name/di/trustedNameTypes";import{ContextModuleChainID as o}from"./shared/domain/ContextModuleChainID";import{ClearSignContextType as a}from"./shared/model/ClearSignContext";class ne{_container;_config;_loaders;_typedDataLoader;_fieldLoaders;_blindSigningReporter;_signReporter;constructor(e){this._config=e,this._container=g({config:e}),this._loaders=e.defaultLoaders?this._getDefaultLoaders():[],this._loaders.push(...e.customLoaders),this._fieldLoaders=e.defaultFieldLoaders?this._getDefaultFieldLoaders():[],this._fieldLoaders.push(...e.customFieldLoaders),this._typedDataLoader=e.customTypedDataLoader??this._getDefaultTypedDataLoader(),this._blindSigningReporter=e.customBlindSigningReporter??this._getBlindSigningReporter(),this._signReporter=null}_getDefaultFieldLoaders(){return this._config.chain!==o.Ethereum?[]:[this._container.get(l.NftContextFieldLoader),this._container.get(m.TokenContextFieldLoader),this._container.get(C.TrustedNameContextFieldLoader),this._container.get(y.ProxyContextFieldLoader)]}_getDefaultLoaders(){const{chain:e}=this._config;switch(e){case o.Ethereum:return[this._container.get(L.ExternalPluginContextLoader),this._container.get(C.TrustedNameContextLoader),this._container.get(l.NftContextLoader),this._container.get(m.TokenContextLoader),this._container.get(u.CalldataContextLoader),this._container.get(f.DynamicNetworkContextLoader),this._container.get(h.SafeAddressLoader),this._container.get(p.GatedSigningContextLoader),this._container.get(p.GatedSigningTypedDataContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(s.TypedDataCheckLoader)];case o.Solana:return[this._container.get(v.TokenContextLoader),this._container.get(D.LifiContextLoader),this._container.get(k.OwnerInfoContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(R.InstructionInfoContextLoader),this._container.get(S.EnumVariantContextLoader),this._container.get(w.TokenInfoContextLoader),this._container.get(F.TokenAccountStateContextLoader),this._container.get(T.AltResolutionContextLoader),this._container.get(P.SolanaTrustedNameContextLoader)];case o.Concordium:return[this._container.get(x.AccountOwnershipContextLoader)];default:{const t=e;return[]}}}_getDefaultTypedDataLoader(){return this._config.chain!==o.Ethereum?{load:()=>Promise.reject(new Error("[ContextModule] getTypedDataFilters is not supported for this chain"))}:this._container.get(_.TypedDataContextLoader)}_getBlindSigningReporter(){return this._container.isBound(c.BlindSigningReporter)?this._container.get(c.BlindSigningReporter):null}async getContexts(e,t){const r=Object.values(a),i=this._loaders.filter(d=>d.canHandle(e,t??r)).map(d=>d.load(e));return(await Promise.all(i)).flat()}async getFieldContext(e,t){const r=this._fieldLoaders.filter(n=>n.canHandle(e,t));if(r.length===0)return Promise.resolve({type:a.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)});for(const n of r){const i=await n.loadField(e);if(i.type!==a.ERROR)return i}return{type:a.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)}}async getTypedDataFilters(e){return this._typedDataLoader.load(e)}async report(e){await this._blindSigningReporter?.report(e)}async signReport(e){await this._signReporter?.report(e)}}export{ne as DefaultContextModule};
1
+ import{makeContainer as g}from"./di";import{accountOwnershipTypes as x}from"./modules/concordium/account-ownership/di/accountOwnershipTypes";import{calldataTypes as u}from"./modules/ethereum/calldata/di/calldataTypes";import{dynamicNetworkTypes as f}from"./modules/ethereum/dynamic-network/di/dynamicNetworkTypes";import{externalPluginTypes as L}from"./modules/ethereum/external-plugin/di/externalPluginTypes";import{gatedSigningTypes as p}from"./modules/ethereum/gated-signing/di/gatedSigningTypes";import{nftTypes as l}from"./modules/ethereum/nft/di/nftTypes";import{proxyTypes as y}from"./modules/ethereum/proxy/di/proxyTypes";import{safeTypes as h}from"./modules/ethereum/safe/di/safeTypes";import{tokenTypes as m}from"./modules/ethereum/token/di/tokenTypes";import{trustedNameTypes as C}from"./modules/ethereum/trusted-name/di/trustedNameTypes";import{typedDataTypes as T}from"./modules/ethereum/typed-data/di/typedDataTypes";import{reporterTypes as c}from"./modules/multichain/reporter/di/reporterTypes";import{transactionCheckTypes as s}from"./modules/multichain/transaction-check/di/transactionCheckTypes";import{altResolutionTypes as _}from"./modules/solana/alt-resolution/di/altResolutionTypes";import{enumVariantTypes as S}from"./modules/solana/enum-variant/di/enumVariantTypes";import{instructionInfoTypes as R}from"./modules/solana/instruction-info/di/instructionInfoTypes";import{lifiTypes as D}from"./modules/solana/lifi/di/lifiTypes";import{ownerInfoTypes as k}from"./modules/solana/owner-info/di/ownerInfoTypes";import{tokenTypes as v}from"./modules/solana/token/di/tokenTypes";import{tokenAccountStateTypes as F}from"./modules/solana/token-account-state/di/tokenAccountStateTypes";import{tokenInfoTypes as w}from"./modules/solana/token-info/di/tokenInfoTypes";import{solanaTrustedNameTypes as P}from"./modules/solana/trusted-name/di/trustedNameTypes";import{tokenTypes as B}from"./modules/tron/token/di/tokenTypes";import{ContextModuleChainID as o}from"./shared/domain/ContextModuleChainID";import{ClearSignContextType as i}from"./shared/model/ClearSignContext";class ie{_container;_config;_loaders;_typedDataLoader;_fieldLoaders;_blindSigningReporter;_signReporter;constructor(e){this._config=e,this._container=g({config:e}),this._loaders=e.defaultLoaders?this._getDefaultLoaders():[],this._loaders.push(...e.customLoaders),this._fieldLoaders=e.defaultFieldLoaders?this._getDefaultFieldLoaders():[],this._fieldLoaders.push(...e.customFieldLoaders),this._typedDataLoader=e.customTypedDataLoader??this._getDefaultTypedDataLoader(),this._blindSigningReporter=e.customBlindSigningReporter??this._getBlindSigningReporter(),this._signReporter=null}_getDefaultFieldLoaders(){return this._config.chain!==o.Ethereum?[]:[this._container.get(l.NftContextFieldLoader),this._container.get(m.TokenContextFieldLoader),this._container.get(C.TrustedNameContextFieldLoader),this._container.get(y.ProxyContextFieldLoader)]}_getDefaultLoaders(){const{chain:e}=this._config;switch(e){case o.Ethereum:return[this._container.get(L.ExternalPluginContextLoader),this._container.get(C.TrustedNameContextLoader),this._container.get(l.NftContextLoader),this._container.get(m.TokenContextLoader),this._container.get(u.CalldataContextLoader),this._container.get(f.DynamicNetworkContextLoader),this._container.get(h.SafeAddressLoader),this._container.get(p.GatedSigningContextLoader),this._container.get(p.GatedSigningTypedDataContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(s.TypedDataCheckLoader)];case o.Solana:return[this._container.get(v.TokenContextLoader),this._container.get(D.LifiContextLoader),this._container.get(k.OwnerInfoContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(R.InstructionInfoContextLoader),this._container.get(S.EnumVariantContextLoader),this._container.get(w.TokenInfoContextLoader),this._container.get(F.TokenAccountStateContextLoader),this._container.get(_.AltResolutionContextLoader),this._container.get(P.SolanaTrustedNameContextLoader)];case o.Concordium:return[this._container.get(x.AccountOwnershipContextLoader)];case o.Tron:return[this._container.get(B.TokenContextLoader)];default:{const t=e;return[]}}}_getDefaultTypedDataLoader(){return this._config.chain!==o.Ethereum?{load:()=>Promise.reject(new Error("[ContextModule] getTypedDataFilters is not supported for this chain"))}:this._container.get(T.TypedDataContextLoader)}_getBlindSigningReporter(){return this._container.isBound(c.BlindSigningReporter)?this._container.get(c.BlindSigningReporter):null}async getContexts(e,t){const r=Object.values(i),a=this._loaders.filter(d=>d.canHandle(e,t??r)).map(d=>d.load(e));return(await Promise.all(a)).flat()}async getFieldContext(e,t){const r=this._fieldLoaders.filter(n=>n.canHandle(e,t));if(r.length===0)return Promise.resolve({type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)});for(const n of r){const a=await n.loadField(e);if(a.type!==i.ERROR)return a}return{type:i.ERROR,error:new Error(`Loader not found for field: ${e} and expected type: ${t}`)}}async getTypedDataFilters(e){return this._typedDataLoader.load(e)}async report(e){await this._blindSigningReporter?.report(e)}async signReport(e){await this._signReporter?.report(e)}}export{ie as DefaultContextModule};
2
2
  //# sourceMappingURL=DefaultContextModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/DefaultContextModule.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\n\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { type ContextModule } from \"@/ContextModule\";\nimport { makeContainer } from \"@/di\";\nimport { accountOwnershipTypes } from \"@/modules/concordium/account-ownership/di/accountOwnershipTypes\";\nimport { calldataTypes } from \"@/modules/ethereum/calldata/di/calldataTypes\";\nimport { dynamicNetworkTypes } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkTypes\";\nimport { externalPluginTypes } from \"@/modules/ethereum/external-plugin/di/externalPluginTypes\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { TypedDataClearSignContext } from \"@/modules/ethereum/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/modules/ethereum/model/TypedDataContext\";\nimport { nftTypes } from \"@/modules/ethereum/nft/di/nftTypes\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { safeTypes } from \"@/modules/ethereum/safe/di/safeTypes\";\nimport { tokenTypes as ethereumTokenTypes } from \"@/modules/ethereum/token/di/tokenTypes\";\nimport { trustedNameTypes } from \"@/modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { typedDataTypes } from \"@/modules/ethereum/typed-data/di/typedDataTypes\";\nimport type { TypedDataContextLoader } from \"@/modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nimport { type BlindSigningReportParams } from \"@/modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nimport { reporterTypes } from \"@/modules/multichain/reporter/di/reporterTypes\";\nimport { type BlindSigningReporter } from \"@/modules/multichain/reporter/domain/BlindSigningReporter\";\nimport { type SignReporter } from \"@/modules/multichain/sign-reporter/domain/SignReporter\";\nimport { type SignReportParams } from \"@/modules/multichain/sign-reporter/model/SignReportParams\";\nimport { transactionCheckTypes } from \"@/modules/multichain/transaction-check/di/transactionCheckTypes\";\nimport { altResolutionTypes } from \"@/modules/solana/alt-resolution/di/altResolutionTypes\";\nimport { enumVariantTypes } from \"@/modules/solana/enum-variant/di/enumVariantTypes\";\nimport { instructionInfoTypes } from \"@/modules/solana/instruction-info/di/instructionInfoTypes\";\nimport { lifiTypes } from \"@/modules/solana/lifi/di/lifiTypes\";\nimport { ownerInfoTypes } from \"@/modules/solana/owner-info/di/ownerInfoTypes\";\nimport { tokenTypes as solanaTokenTypes } from \"@/modules/solana/token/di/tokenTypes\";\nimport { tokenAccountStateTypes } from \"@/modules/solana/token-account-state/di/tokenAccountStateTypes\";\nimport { tokenInfoTypes } from \"@/modules/solana/token-info/di/tokenInfoTypes\";\nimport { solanaTrustedNameTypes } from \"@/modules/solana/trusted-name/di/trustedNameTypes\";\nimport { type ContextFieldLoader } from \"@/shared/domain/ContextFieldLoader\";\nimport { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport class DefaultContextModule implements ContextModule {\n private _container: Container;\n private _config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n private _loaders: ContextLoader<unknown>[];\n private _typedDataLoader: TypedDataContextLoader;\n private _fieldLoaders: ContextFieldLoader<unknown>[];\n private _blindSigningReporter: BlindSigningReporter | null;\n private _signReporter: SignReporter | null;\n\n constructor(args: ContextModuleServiceConfig & ContextModuleLoaderConfig) {\n this._config = args;\n this._container = makeContainer({ config: args });\n\n this._loaders = args.defaultLoaders ? this._getDefaultLoaders() : [];\n this._loaders.push(...args.customLoaders);\n\n this._fieldLoaders = args.defaultFieldLoaders\n ? this._getDefaultFieldLoaders()\n : [];\n this._fieldLoaders.push(...args.customFieldLoaders);\n\n this._typedDataLoader =\n args.customTypedDataLoader ?? this._getDefaultTypedDataLoader();\n this._blindSigningReporter =\n args.customBlindSigningReporter ?? this._getBlindSigningReporter();\n this._signReporter = null;\n }\n\n private _getDefaultFieldLoaders(): ContextFieldLoader[] {\n if (this._config.chain !== ContextModuleChainID.Ethereum) return [];\n return [\n this._container.get<ContextFieldLoader>(nftTypes.NftContextFieldLoader),\n this._container.get<ContextFieldLoader>(\n ethereumTokenTypes.TokenContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n trustedNameTypes.TrustedNameContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n proxyTypes.ProxyContextFieldLoader,\n ),\n ];\n }\n\n private _getDefaultLoaders(): ContextLoader<unknown>[] {\n const { chain } = this._config;\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n return [\n this._container.get<ContextLoader>(\n externalPluginTypes.ExternalPluginContextLoader,\n ),\n this._container.get<ContextLoader>(\n trustedNameTypes.TrustedNameContextLoader,\n ),\n this._container.get<ContextLoader>(nftTypes.NftContextLoader),\n this._container.get<ContextLoader>(\n ethereumTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(\n calldataTypes.CalldataContextLoader,\n ),\n this._container.get<ContextLoader>(\n dynamicNetworkTypes.DynamicNetworkContextLoader,\n ),\n this._container.get<ContextLoader>(safeTypes.SafeAddressLoader),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningContextLoader,\n ),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningTypedDataContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TypedDataCheckLoader,\n ),\n ];\n case ContextModuleChainID.Solana:\n return [\n this._container.get<ContextLoader>(\n solanaTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(lifiTypes.LifiContextLoader),\n this._container.get<ContextLoader>(\n ownerInfoTypes.OwnerInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n instructionInfoTypes.InstructionInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n enumVariantTypes.EnumVariantContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenInfoTypes.TokenInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenAccountStateTypes.TokenAccountStateContextLoader,\n ),\n this._container.get<ContextLoader>(\n altResolutionTypes.AltResolutionContextLoader,\n ),\n this._container.get<ContextLoader>(\n solanaTrustedNameTypes.SolanaTrustedNameContextLoader,\n ),\n ];\n case ContextModuleChainID.Concordium:\n return [\n this._container.get<ContextLoader>(\n accountOwnershipTypes.AccountOwnershipContextLoader,\n ),\n ];\n default: {\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n return [];\n }\n }\n }\n\n private _getDefaultTypedDataLoader(): TypedDataContextLoader {\n if (this._config.chain !== ContextModuleChainID.Ethereum) {\n return {\n load: () =>\n Promise.reject(\n new Error(\n \"[ContextModule] getTypedDataFilters is not supported for this chain\",\n ),\n ),\n };\n }\n return this._container.get<TypedDataContextLoader>(\n typedDataTypes.TypedDataContextLoader,\n );\n }\n\n private _getBlindSigningReporter(): BlindSigningReporter | null {\n if (this._container.isBound(reporterTypes.BlindSigningReporter)) {\n return this._container.get<BlindSigningReporter>(\n reporterTypes.BlindSigningReporter,\n );\n }\n return null;\n }\n\n public async getContexts(\n input: unknown,\n expectedTypes?: ClearSignContextType[],\n ): Promise<ClearSignContext[]> {\n const allContextTypes = Object.values(ClearSignContextType);\n const loaders = this._loaders.filter((l) =>\n l.canHandle(input, expectedTypes ?? allContextTypes),\n );\n const promises = loaders.map((fetcher) => fetcher.load(input));\n const responses = await Promise.all(promises);\n return responses.flat();\n }\n\n public async getFieldContext<TInput>(\n field: TInput,\n expectedType: ClearSignContextType,\n ): Promise<ClearSignContext> {\n const loaders = this._fieldLoaders.filter((l) =>\n l.canHandle(field, expectedType),\n );\n if (loaders.length === 0) {\n return Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n });\n }\n\n for (const loader of loaders) {\n const context = await loader.loadField(field);\n if (context.type !== ClearSignContextType.ERROR) {\n return context;\n }\n }\n\n return {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n };\n }\n\n public async getTypedDataFilters(\n typedData: TypedDataContext,\n ): Promise<TypedDataClearSignContext> {\n return this._typedDataLoader.load(typedData);\n }\n\n public async report(params: BlindSigningReportParams): Promise<void> {\n await this._blindSigningReporter?.report(params);\n }\n\n public async signReport(params: SignReportParams): Promise<void> {\n await this._signReporter?.report(params);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["makeContainer", "accountOwnershipTypes", "calldataTypes", "dynamicNetworkTypes", "externalPluginTypes", "gatedSigningTypes", "nftTypes", "proxyTypes", "safeTypes", "ethereumTokenTypes", "trustedNameTypes", "typedDataTypes", "reporterTypes", "transactionCheckTypes", "altResolutionTypes", "enumVariantTypes", "instructionInfoTypes", "lifiTypes", "ownerInfoTypes", "solanaTokenTypes", "tokenAccountStateTypes", "tokenInfoTypes", "solanaTrustedNameTypes", "ContextModuleChainID", "ClearSignContextType", "DefaultContextModule", "args", "chain", "exhaustiveCheck", "input", "expectedTypes", "allContextTypes", "promises", "l", "fetcher", "field", "expectedType", "loaders", "loader", "context", "typedData", "params"]
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\n\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { type ContextModule } from \"@/ContextModule\";\nimport { makeContainer } from \"@/di\";\nimport { accountOwnershipTypes } from \"@/modules/concordium/account-ownership/di/accountOwnershipTypes\";\nimport { calldataTypes } from \"@/modules/ethereum/calldata/di/calldataTypes\";\nimport { dynamicNetworkTypes } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkTypes\";\nimport { externalPluginTypes } from \"@/modules/ethereum/external-plugin/di/externalPluginTypes\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { TypedDataClearSignContext } from \"@/modules/ethereum/model/TypedDataClearSignContext\";\nimport type { TypedDataContext } from \"@/modules/ethereum/model/TypedDataContext\";\nimport { nftTypes } from \"@/modules/ethereum/nft/di/nftTypes\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { safeTypes } from \"@/modules/ethereum/safe/di/safeTypes\";\nimport { tokenTypes as ethereumTokenTypes } from \"@/modules/ethereum/token/di/tokenTypes\";\nimport { trustedNameTypes } from \"@/modules/ethereum/trusted-name/di/trustedNameTypes\";\nimport { typedDataTypes } from \"@/modules/ethereum/typed-data/di/typedDataTypes\";\nimport type { TypedDataContextLoader } from \"@/modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nimport { type BlindSigningReportParams } from \"@/modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nimport { reporterTypes } from \"@/modules/multichain/reporter/di/reporterTypes\";\nimport { type BlindSigningReporter } from \"@/modules/multichain/reporter/domain/BlindSigningReporter\";\nimport { type SignReporter } from \"@/modules/multichain/sign-reporter/domain/SignReporter\";\nimport { type SignReportParams } from \"@/modules/multichain/sign-reporter/model/SignReportParams\";\nimport { transactionCheckTypes } from \"@/modules/multichain/transaction-check/di/transactionCheckTypes\";\nimport { altResolutionTypes } from \"@/modules/solana/alt-resolution/di/altResolutionTypes\";\nimport { enumVariantTypes } from \"@/modules/solana/enum-variant/di/enumVariantTypes\";\nimport { instructionInfoTypes } from \"@/modules/solana/instruction-info/di/instructionInfoTypes\";\nimport { lifiTypes } from \"@/modules/solana/lifi/di/lifiTypes\";\nimport { ownerInfoTypes } from \"@/modules/solana/owner-info/di/ownerInfoTypes\";\nimport { tokenTypes as solanaTokenTypes } from \"@/modules/solana/token/di/tokenTypes\";\nimport { tokenAccountStateTypes } from \"@/modules/solana/token-account-state/di/tokenAccountStateTypes\";\nimport { tokenInfoTypes } from \"@/modules/solana/token-info/di/tokenInfoTypes\";\nimport { solanaTrustedNameTypes } from \"@/modules/solana/trusted-name/di/trustedNameTypes\";\nimport { tokenTypes as tronTokenTypes } from \"@/modules/tron/token/di/tokenTypes\";\nimport { type ContextFieldLoader } from \"@/shared/domain/ContextFieldLoader\";\nimport { type ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport {\n type ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport class DefaultContextModule implements ContextModule {\n private _container: Container;\n private _config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n private _loaders: ContextLoader<unknown>[];\n private _typedDataLoader: TypedDataContextLoader;\n private _fieldLoaders: ContextFieldLoader<unknown>[];\n private _blindSigningReporter: BlindSigningReporter | null;\n private _signReporter: SignReporter | null;\n\n constructor(args: ContextModuleServiceConfig & ContextModuleLoaderConfig) {\n this._config = args;\n this._container = makeContainer({ config: args });\n\n this._loaders = args.defaultLoaders ? this._getDefaultLoaders() : [];\n this._loaders.push(...args.customLoaders);\n\n this._fieldLoaders = args.defaultFieldLoaders\n ? this._getDefaultFieldLoaders()\n : [];\n this._fieldLoaders.push(...args.customFieldLoaders);\n\n this._typedDataLoader =\n args.customTypedDataLoader ?? this._getDefaultTypedDataLoader();\n this._blindSigningReporter =\n args.customBlindSigningReporter ?? this._getBlindSigningReporter();\n this._signReporter = null;\n }\n\n private _getDefaultFieldLoaders(): ContextFieldLoader[] {\n if (this._config.chain !== ContextModuleChainID.Ethereum) return [];\n return [\n this._container.get<ContextFieldLoader>(nftTypes.NftContextFieldLoader),\n this._container.get<ContextFieldLoader>(\n ethereumTokenTypes.TokenContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n trustedNameTypes.TrustedNameContextFieldLoader,\n ),\n this._container.get<ContextFieldLoader>(\n proxyTypes.ProxyContextFieldLoader,\n ),\n ];\n }\n\n private _getDefaultLoaders(): ContextLoader<unknown>[] {\n const { chain } = this._config;\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n return [\n this._container.get<ContextLoader>(\n externalPluginTypes.ExternalPluginContextLoader,\n ),\n this._container.get<ContextLoader>(\n trustedNameTypes.TrustedNameContextLoader,\n ),\n this._container.get<ContextLoader>(nftTypes.NftContextLoader),\n this._container.get<ContextLoader>(\n ethereumTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(\n calldataTypes.CalldataContextLoader,\n ),\n this._container.get<ContextLoader>(\n dynamicNetworkTypes.DynamicNetworkContextLoader,\n ),\n this._container.get<ContextLoader>(safeTypes.SafeAddressLoader),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningContextLoader,\n ),\n this._container.get<ContextLoader>(\n gatedSigningTypes.GatedSigningTypedDataContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TypedDataCheckLoader,\n ),\n ];\n case ContextModuleChainID.Solana:\n return [\n this._container.get<ContextLoader>(\n solanaTokenTypes.TokenContextLoader,\n ),\n this._container.get<ContextLoader>(lifiTypes.LifiContextLoader),\n this._container.get<ContextLoader>(\n ownerInfoTypes.OwnerInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n transactionCheckTypes.TransactionCheckLoader,\n ),\n this._container.get<ContextLoader>(\n instructionInfoTypes.InstructionInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n enumVariantTypes.EnumVariantContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenInfoTypes.TokenInfoContextLoader,\n ),\n this._container.get<ContextLoader>(\n tokenAccountStateTypes.TokenAccountStateContextLoader,\n ),\n this._container.get<ContextLoader>(\n altResolutionTypes.AltResolutionContextLoader,\n ),\n this._container.get<ContextLoader>(\n solanaTrustedNameTypes.SolanaTrustedNameContextLoader,\n ),\n ];\n case ContextModuleChainID.Concordium:\n return [\n this._container.get<ContextLoader>(\n accountOwnershipTypes.AccountOwnershipContextLoader,\n ),\n ];\n case ContextModuleChainID.Tron:\n return [\n this._container.get<ContextLoader>(tronTokenTypes.TokenContextLoader),\n ];\n default: {\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n return [];\n }\n }\n }\n\n private _getDefaultTypedDataLoader(): TypedDataContextLoader {\n if (this._config.chain !== ContextModuleChainID.Ethereum) {\n return {\n load: () =>\n Promise.reject(\n new Error(\n \"[ContextModule] getTypedDataFilters is not supported for this chain\",\n ),\n ),\n };\n }\n return this._container.get<TypedDataContextLoader>(\n typedDataTypes.TypedDataContextLoader,\n );\n }\n\n private _getBlindSigningReporter(): BlindSigningReporter | null {\n if (this._container.isBound(reporterTypes.BlindSigningReporter)) {\n return this._container.get<BlindSigningReporter>(\n reporterTypes.BlindSigningReporter,\n );\n }\n return null;\n }\n\n public async getContexts(\n input: unknown,\n expectedTypes?: ClearSignContextType[],\n ): Promise<ClearSignContext[]> {\n const allContextTypes = Object.values(ClearSignContextType);\n const loaders = this._loaders.filter((l) =>\n l.canHandle(input, expectedTypes ?? allContextTypes),\n );\n const promises = loaders.map((fetcher) => fetcher.load(input));\n const responses = await Promise.all(promises);\n return responses.flat();\n }\n\n public async getFieldContext<TInput>(\n field: TInput,\n expectedType: ClearSignContextType,\n ): Promise<ClearSignContext> {\n const loaders = this._fieldLoaders.filter((l) =>\n l.canHandle(field, expectedType),\n );\n if (loaders.length === 0) {\n return Promise.resolve({\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n });\n }\n\n for (const loader of loaders) {\n const context = await loader.loadField(field);\n if (context.type !== ClearSignContextType.ERROR) {\n return context;\n }\n }\n\n return {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `Loader not found for field: ${field} and expected type: ${expectedType}`,\n ),\n };\n }\n\n public async getTypedDataFilters(\n typedData: TypedDataContext,\n ): Promise<TypedDataClearSignContext> {\n return this._typedDataLoader.load(typedData);\n }\n\n public async report(params: BlindSigningReportParams): Promise<void> {\n await this._blindSigningReporter?.report(params);\n }\n\n public async signReport(params: SignReportParams): Promise<void> {\n await this._signReporter?.report(params);\n }\n}\n"],
5
+ "mappings": "AAOA,OAAS,iBAAAA,MAAqB,OAC9B,OAAS,yBAAAC,MAA6B,kEACtC,OAAS,iBAAAC,MAAqB,+CAC9B,OAAS,uBAAAC,MAA2B,4DACpC,OAAS,uBAAAC,MAA2B,4DACpC,OAAS,qBAAAC,MAAyB,wDAGlC,OAAS,YAAAC,MAAgB,qCACzB,OAAS,cAAAC,MAAkB,yCAC3B,OAAS,aAAAC,MAAiB,uCAC1B,OAAS,cAAcC,MAA0B,yCACjD,OAAS,oBAAAC,MAAwB,sDACjC,OAAS,kBAAAC,MAAsB,kDAG/B,OAAS,iBAAAC,MAAqB,iDAI9B,OAAS,yBAAAC,MAA6B,kEACtC,OAAS,sBAAAC,MAA0B,wDACnC,OAAS,oBAAAC,MAAwB,oDACjC,OAAS,wBAAAC,MAA4B,4DACrC,OAAS,aAAAC,MAAiB,qCAC1B,OAAS,kBAAAC,MAAsB,gDAC/B,OAAS,cAAcC,MAAwB,uCAC/C,OAAS,0BAAAC,MAA8B,iEACvC,OAAS,kBAAAC,MAAsB,gDAC/B,OAAS,0BAAAC,MAA8B,oDACvC,OAAS,cAAcC,MAAsB,qCAG7C,OAAS,wBAAAC,MAA4B,uCACrC,OAEE,wBAAAC,MACK,kCAEA,MAAMC,EAA8C,CACjD,WACA,QACA,SACA,iBACA,cACA,sBACA,cAER,YAAYC,EAA8D,CACxE,KAAK,QAAUA,EACf,KAAK,WAAa3B,EAAc,CAAE,OAAQ2B,CAAK,CAAC,EAEhD,KAAK,SAAWA,EAAK,eAAiB,KAAK,mBAAmB,EAAI,CAAC,EACnE,KAAK,SAAS,KAAK,GAAGA,EAAK,aAAa,EAExC,KAAK,cAAgBA,EAAK,oBACtB,KAAK,wBAAwB,EAC7B,CAAC,EACL,KAAK,cAAc,KAAK,GAAGA,EAAK,kBAAkB,EAElD,KAAK,iBACHA,EAAK,uBAAyB,KAAK,2BAA2B,EAChE,KAAK,sBACHA,EAAK,4BAA8B,KAAK,yBAAyB,EACnE,KAAK,cAAgB,IACvB,CAEQ,yBAAgD,CACtD,OAAI,KAAK,QAAQ,QAAUH,EAAqB,SAAiB,CAAC,EAC3D,CACL,KAAK,WAAW,IAAwBlB,EAAS,qBAAqB,EACtE,KAAK,WAAW,IACdG,EAAmB,uBACrB,EACA,KAAK,WAAW,IACdC,EAAiB,6BACnB,EACA,KAAK,WAAW,IACdH,EAAW,uBACb,CACF,CACF,CAEQ,oBAA+C,CACrD,KAAM,CAAE,MAAAqB,CAAM,EAAI,KAAK,QACvB,OAAQA,EAAO,CACb,KAAKJ,EAAqB,SACxB,MAAO,CACL,KAAK,WAAW,IACdpB,EAAoB,2BACtB,EACA,KAAK,WAAW,IACdM,EAAiB,wBACnB,EACA,KAAK,WAAW,IAAmBJ,EAAS,gBAAgB,EAC5D,KAAK,WAAW,IACdG,EAAmB,kBACrB,EACA,KAAK,WAAW,IACdP,EAAc,qBAChB,EACA,KAAK,WAAW,IACdC,EAAoB,2BACtB,EACA,KAAK,WAAW,IAAmBK,EAAU,iBAAiB,EAC9D,KAAK,WAAW,IACdH,EAAkB,yBACpB,EACA,KAAK,WAAW,IACdA,EAAkB,kCACpB,EACA,KAAK,WAAW,IACdQ,EAAsB,sBACxB,EACA,KAAK,WAAW,IACdA,EAAsB,oBACxB,CACF,EACF,KAAKW,EAAqB,OACxB,MAAO,CACL,KAAK,WAAW,IACdL,EAAiB,kBACnB,EACA,KAAK,WAAW,IAAmBF,EAAU,iBAAiB,EAC9D,KAAK,WAAW,IACdC,EAAe,sBACjB,EACA,KAAK,WAAW,IACdL,EAAsB,sBACxB,EACA,KAAK,WAAW,IACdG,EAAqB,4BACvB,EACA,KAAK,WAAW,IACdD,EAAiB,wBACnB,EACA,KAAK,WAAW,IACdM,EAAe,sBACjB,EACA,KAAK,WAAW,IACdD,EAAuB,8BACzB,EACA,KAAK,WAAW,IACdN,EAAmB,0BACrB,EACA,KAAK,WAAW,IACdQ,EAAuB,8BACzB,CACF,EACF,KAAKE,EAAqB,WACxB,MAAO,CACL,KAAK,WAAW,IACdvB,EAAsB,6BACxB,CACF,EACF,KAAKuB,EAAqB,KACxB,MAAO,CACL,KAAK,WAAW,IAAmBD,EAAe,kBAAkB,CACtE,EACF,QAAS,CACP,MAAMM,EAAyBD,EAE/B,MAAO,CAAC,CACV,CACF,CACF,CAEQ,4BAAqD,CAC3D,OAAI,KAAK,QAAQ,QAAUJ,EAAqB,SACvC,CACL,KAAM,IACJ,QAAQ,OACN,IAAI,MACF,qEACF,CACF,CACJ,EAEK,KAAK,WAAW,IACrBb,EAAe,sBACjB,CACF,CAEQ,0BAAwD,CAC9D,OAAI,KAAK,WAAW,QAAQC,EAAc,oBAAoB,EACrD,KAAK,WAAW,IACrBA,EAAc,oBAChB,EAEK,IACT,CAEA,MAAa,YACXkB,EACAC,EAC6B,CAC7B,MAAMC,EAAkB,OAAO,OAAOP,CAAoB,EAIpDQ,EAHU,KAAK,SAAS,OAAQC,GACpCA,EAAE,UAAUJ,EAAOC,GAAiBC,CAAe,CACrD,EACyB,IAAKG,GAAYA,EAAQ,KAAKL,CAAK,CAAC,EAE7D,OADkB,MAAM,QAAQ,IAAIG,CAAQ,GAC3B,KAAK,CACxB,CAEA,MAAa,gBACXG,EACAC,EAC2B,CAC3B,MAAMC,EAAU,KAAK,cAAc,OAAQJ,GACzCA,EAAE,UAAUE,EAAOC,CAAY,CACjC,EACA,GAAIC,EAAQ,SAAW,EACrB,OAAO,QAAQ,QAAQ,CACrB,KAAMb,EAAqB,MAC3B,MAAO,IAAI,MACT,+BAA+BW,CAAK,uBAAuBC,CAAY,EACzE,CACF,CAAC,EAGH,UAAWE,KAAUD,EAAS,CAC5B,MAAME,EAAU,MAAMD,EAAO,UAAUH,CAAK,EAC5C,GAAII,EAAQ,OAASf,EAAqB,MACxC,OAAOe,CAEX,CAEA,MAAO,CACL,KAAMf,EAAqB,MAC3B,MAAO,IAAI,MACT,+BAA+BW,CAAK,uBAAuBC,CAAY,EACzE,CACF,CACF,CAEA,MAAa,oBACXI,EACoC,CACpC,OAAO,KAAK,iBAAiB,KAAKA,CAAS,CAC7C,CAEA,MAAa,OAAOC,EAAiD,CACnE,MAAM,KAAK,uBAAuB,OAAOA,CAAM,CACjD,CAEA,MAAa,WAAWA,EAAyC,CAC/D,MAAM,KAAK,eAAe,OAAOA,CAAM,CACzC,CACF",
6
+ "names": ["makeContainer", "accountOwnershipTypes", "calldataTypes", "dynamicNetworkTypes", "externalPluginTypes", "gatedSigningTypes", "nftTypes", "proxyTypes", "safeTypes", "ethereumTokenTypes", "trustedNameTypes", "typedDataTypes", "reporterTypes", "transactionCheckTypes", "altResolutionTypes", "enumVariantTypes", "instructionInfoTypes", "lifiTypes", "ownerInfoTypes", "solanaTokenTypes", "tokenAccountStateTypes", "tokenInfoTypes", "solanaTrustedNameTypes", "tronTokenTypes", "ContextModuleChainID", "ClearSignContextType", "DefaultContextModule", "args", "chain", "exhaustiveCheck", "input", "expectedTypes", "allContextTypes", "promises", "l", "fetcher", "field", "expectedType", "loaders", "loader", "context", "typedData", "params"]
7
7
  }
package/lib/esm/src/di.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Container as i}from"inversify";import{configModuleFactory as c}from"./config/di/configModuleFactory";import{configTypes as u}from"./config/di/configTypes";import{accountOwnershipModuleFactory as l}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as d}from"./modules/ethereum/calldata/di/calldataModuleFactory";import{dynamicNetworkModuleFactory as p}from"./modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory";import{externalPluginModuleFactory as y}from"./modules/ethereum/external-plugin/di/externalPluginModuleFactory";import{gatedSigningModuleFactory as f}from"./modules/ethereum/gated-signing/di/gatedSigningModuleFactory";import{nftModuleFactory as M}from"./modules/ethereum/nft/di/nftModuleFactory";import{proxyModuleFactory as s}from"./modules/ethereum/proxy/di/proxyModuleFactory";import{safeModuleFactory as F}from"./modules/ethereum/safe/di/safeModuleFactory";import{tokenModuleFactory as C}from"./modules/ethereum/token/di/tokenModuleFactory";import{trustedNameModuleFactory as g}from"./modules/ethereum/trusted-name/di/trustedNameModuleFactory";import{typedDataModuleFactory as k}from"./modules/ethereum/typed-data/di/typedDataModuleFactory";import{uniswapModuleFactory as h}from"./modules/ethereum/uniswap/di/uniswapModuleFactory";import{nanoPkiModuleFactory as t}from"./modules/multichain/pki/di/pkiModuleFactory";import{reporterModuleFactory as S}from"./modules/multichain/reporter/di/reporterModuleFactory";import{signReporterModuleFactory as m}from"./modules/multichain/sign-reporter/di/signReporterModuleFactory";import{ethereumTransactionCheckModuleFactory as x}from"./modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory";import{solanaTransactionCheckModuleFactory as v}from"./modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory";import{altResolutionModuleFactory as w}from"./modules/solana/alt-resolution/di/altResolutionModuleFactory";import{enumVariantModuleFactory as T}from"./modules/solana/enum-variant/di/enumVariantModuleFactory";import{instructionInfoModuleFactory as b}from"./modules/solana/instruction-info/di/instructionInfoModuleFactory";import{lifiModuleFactory as L}from"./modules/solana/lifi/di/lifiModuleFactory";import{ownerInfoModuleFactory as I}from"./modules/solana/owner-info/di/ownerInfoModuleFactory";import{tokenModuleFactory as N}from"./modules/solana/token/di/tokenModuleFactory";import{tokenAccountStateModuleFactory as P}from"./modules/solana/token-account-state/di/tokenAccountStateModuleFactory";import{tokenInfoModuleFactory as A}from"./modules/solana/token-info/di/tokenInfoModuleFactory";import{solanaTrustedNameModuleFactory as D}from"./modules/solana/trusted-name/di/trustedNameModuleFactory";import{ContextModuleChainID as e}from"./shared/domain/ContextModuleChainID";import{networkModuleFactory as R}from"./shared/network/di/networkModuleFactory";const yo=({config:o})=>{const r=new i;r.bind(u.ContextModuleLoggerFactory).toConstantValue(o.loggerFactory);const{chain:a}=o;switch(r.loadSync(c(o),R(o)),a){case e.Ethereum:r.loadSync(t(),S(),m(),g(o.customTrustedNameDataSource),y(),p(),M(),s(o.datasource),F(),f(),C(),d(),k(),h(),x());break;case e.Solana:r.loadSync(t(),m(),I(),N(),L(),v(),b(),T(),A(),P(),w(),D());break;case e.Concordium:r.loadSync(t(),l());break;default:{const n=a}}return r};export{yo as makeContainer};
1
+ import{Container as i}from"inversify";import{configModuleFactory as c}from"./config/di/configModuleFactory";import{configTypes as u}from"./config/di/configTypes";import{accountOwnershipModuleFactory as l}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as d}from"./modules/ethereum/calldata/di/calldataModuleFactory";import{dynamicNetworkModuleFactory as y}from"./modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory";import{externalPluginModuleFactory as p}from"./modules/ethereum/external-plugin/di/externalPluginModuleFactory";import{gatedSigningModuleFactory as f}from"./modules/ethereum/gated-signing/di/gatedSigningModuleFactory";import{nftModuleFactory as M}from"./modules/ethereum/nft/di/nftModuleFactory";import{proxyModuleFactory as s}from"./modules/ethereum/proxy/di/proxyModuleFactory";import{safeModuleFactory as F}from"./modules/ethereum/safe/di/safeModuleFactory";import{tokenModuleFactory as k}from"./modules/ethereum/token/di/tokenModuleFactory";import{trustedNameModuleFactory as C}from"./modules/ethereum/trusted-name/di/trustedNameModuleFactory";import{typedDataModuleFactory as g}from"./modules/ethereum/typed-data/di/typedDataModuleFactory";import{uniswapModuleFactory as h}from"./modules/ethereum/uniswap/di/uniswapModuleFactory";import{nanoPkiModuleFactory as e}from"./modules/multichain/pki/di/pkiModuleFactory";import{reporterModuleFactory as S}from"./modules/multichain/reporter/di/reporterModuleFactory";import{signReporterModuleFactory as m}from"./modules/multichain/sign-reporter/di/signReporterModuleFactory";import{ethereumTransactionCheckModuleFactory as x}from"./modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory";import{solanaTransactionCheckModuleFactory as T}from"./modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory";import{altResolutionModuleFactory as b}from"./modules/solana/alt-resolution/di/altResolutionModuleFactory";import{enumVariantModuleFactory as v}from"./modules/solana/enum-variant/di/enumVariantModuleFactory";import{instructionInfoModuleFactory as w}from"./modules/solana/instruction-info/di/instructionInfoModuleFactory";import{lifiModuleFactory as L}from"./modules/solana/lifi/di/lifiModuleFactory";import{ownerInfoModuleFactory as I}from"./modules/solana/owner-info/di/ownerInfoModuleFactory";import{tokenModuleFactory as N}from"./modules/solana/token/di/tokenModuleFactory";import{tokenAccountStateModuleFactory as P}from"./modules/solana/token-account-state/di/tokenAccountStateModuleFactory";import{tokenInfoModuleFactory as A}from"./modules/solana/token-info/di/tokenInfoModuleFactory";import{solanaTrustedNameModuleFactory as D}from"./modules/solana/trusted-name/di/trustedNameModuleFactory";import{tokenModuleFactory as R}from"./modules/tron/token/di/tokenModuleFactory";import{ContextModuleChainID as t}from"./shared/domain/ContextModuleChainID";import{networkModuleFactory as V}from"./shared/network/di/networkModuleFactory";const Mo=({config:r})=>{const o=new i;o.bind(u.ContextModuleLoggerFactory).toConstantValue(r.loggerFactory);const{chain:a}=r;switch(o.loadSync(c(r),V(r)),a){case t.Ethereum:o.loadSync(e(),S(),m(),C(r.customTrustedNameDataSource),p(),y(),M(),s(r.datasource),F(),f(),k(),d(),g(),h(),x());break;case t.Solana:o.loadSync(e(),m(),I(),N(),L(),T(),w(),v(),A(),P(),b(),D());break;case t.Concordium:o.loadSync(e(),l());break;case t.Tron:o.loadSync(R());break;default:{const n=a}}return o};export{Mo as makeContainer};
2
2
  //# sourceMappingURL=di.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/di.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { configModuleFactory } from \"@/config/di/configModuleFactory\";\nimport { configTypes } from \"@/config/di/configTypes\";\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { accountOwnershipModuleFactory } from \"@/modules/concordium/account-ownership/di/accountOwnershipModuleFactory\";\nimport { calldataModuleFactory } from \"@/modules/ethereum/calldata/di/calldataModuleFactory\";\nimport { dynamicNetworkModuleFactory } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory\";\nimport { externalPluginModuleFactory } from \"@/modules/ethereum/external-plugin/di/externalPluginModuleFactory\";\nimport { gatedSigningModuleFactory } from \"@/modules/ethereum/gated-signing/di/gatedSigningModuleFactory\";\nimport { nftModuleFactory } from \"@/modules/ethereum/nft/di/nftModuleFactory\";\nimport { proxyModuleFactory } from \"@/modules/ethereum/proxy/di/proxyModuleFactory\";\nimport { safeModuleFactory } from \"@/modules/ethereum/safe/di/safeModuleFactory\";\nimport { tokenModuleFactory as ethereumTokenModuleFactory } from \"@/modules/ethereum/token/di/tokenModuleFactory\";\nimport { trustedNameModuleFactory } from \"@/modules/ethereum/trusted-name/di/trustedNameModuleFactory\";\nimport { typedDataModuleFactory } from \"@/modules/ethereum/typed-data/di/typedDataModuleFactory\";\nimport { uniswapModuleFactory } from \"@/modules/ethereum/uniswap/di/uniswapModuleFactory\";\nimport { nanoPkiModuleFactory } from \"@/modules/multichain/pki/di/pkiModuleFactory\";\nimport { reporterModuleFactory } from \"@/modules/multichain/reporter/di/reporterModuleFactory\";\nimport { signReporterModuleFactory } from \"@/modules/multichain/sign-reporter/di/signReporterModuleFactory\";\nimport { ethereumTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory\";\nimport { solanaTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory\";\nimport { altResolutionModuleFactory } from \"@/modules/solana/alt-resolution/di/altResolutionModuleFactory\";\nimport { enumVariantModuleFactory } from \"@/modules/solana/enum-variant/di/enumVariantModuleFactory\";\nimport { instructionInfoModuleFactory } from \"@/modules/solana/instruction-info/di/instructionInfoModuleFactory\";\nimport { lifiModuleFactory } from \"@/modules/solana/lifi/di/lifiModuleFactory\";\nimport { ownerInfoModuleFactory } from \"@/modules/solana/owner-info/di/ownerInfoModuleFactory\";\nimport { tokenModuleFactory as solanaTokenModuleFactory } from \"@/modules/solana/token/di/tokenModuleFactory\";\nimport { tokenAccountStateModuleFactory } from \"@/modules/solana/token-account-state/di/tokenAccountStateModuleFactory\";\nimport { tokenInfoModuleFactory } from \"@/modules/solana/token-info/di/tokenInfoModuleFactory\";\nimport { solanaTrustedNameModuleFactory } from \"@/modules/solana/trusted-name/di/trustedNameModuleFactory\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport { networkModuleFactory } from \"@/shared/network/di/networkModuleFactory\";\n\ntype MakeContainerArgs = {\n config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n};\n\nexport const makeContainer = ({ config }: MakeContainerArgs) => {\n const container = new Container();\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory)\n .toConstantValue(config.loggerFactory);\n\n const { chain } = config;\n\n // infrastructure modules needed by all chains\n container.loadSync(configModuleFactory(config), networkModuleFactory(config));\n\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n container.loadSync(\n nanoPkiModuleFactory(),\n reporterModuleFactory(),\n signReporterModuleFactory(),\n trustedNameModuleFactory(config.customTrustedNameDataSource),\n externalPluginModuleFactory(),\n dynamicNetworkModuleFactory(),\n nftModuleFactory(),\n proxyModuleFactory(config.datasource),\n safeModuleFactory(),\n gatedSigningModuleFactory(),\n ethereumTokenModuleFactory(),\n calldataModuleFactory(),\n typedDataModuleFactory(),\n uniswapModuleFactory(),\n ethereumTransactionCheckModuleFactory(),\n );\n break;\n case ContextModuleChainID.Solana:\n container.loadSync(\n nanoPkiModuleFactory(),\n signReporterModuleFactory(),\n ownerInfoModuleFactory(),\n solanaTokenModuleFactory(),\n lifiModuleFactory(),\n solanaTransactionCheckModuleFactory(),\n instructionInfoModuleFactory(),\n enumVariantModuleFactory(),\n tokenInfoModuleFactory(),\n tokenAccountStateModuleFactory(),\n altResolutionModuleFactory(),\n solanaTrustedNameModuleFactory(),\n );\n break;\n case ContextModuleChainID.Concordium:\n container.loadSync(\n nanoPkiModuleFactory(),\n accountOwnershipModuleFactory(),\n );\n break;\n default: {\n // ensure exhaustive check at compile time when new chains are added\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n }\n }\n\n return container;\n};\n"],
5
- "mappings": "AACA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,uBAAAC,MAA2B,kCACpC,OAAS,eAAAC,MAAmB,0BAK5B,OAAS,iCAAAC,MAAqC,0EAC9C,OAAS,yBAAAC,MAA6B,uDACtC,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,6BAAAC,MAAiC,gEAC1C,OAAS,oBAAAC,MAAwB,6CACjC,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,qBAAAC,MAAyB,+CAClC,OAAS,sBAAsBC,MAAkC,iDACjE,OAAS,4BAAAC,MAAgC,8DACzC,OAAS,0BAAAC,MAA8B,0DACvC,OAAS,wBAAAC,MAA4B,qDACrC,OAAS,wBAAAC,MAA4B,+CACrC,OAAS,yBAAAC,MAA6B,yDACtC,OAAS,6BAAAC,MAAiC,kEAC1C,OAAS,yCAAAC,MAA6C,kFACtD,OAAS,uCAAAC,MAA2C,gFACpD,OAAS,8BAAAC,MAAkC,gEAC3C,OAAS,4BAAAC,MAAgC,4DACzC,OAAS,gCAAAC,MAAoC,oEAC7C,OAAS,qBAAAC,MAAyB,6CAClC,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,sBAAsBC,MAAgC,+CAC/D,OAAS,kCAAAC,MAAsC,yEAC/C,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,kCAAAC,MAAsC,4DAC/C,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,wBAAAC,MAA4B,2CAM9B,MAAMC,GAAgB,CAAC,CAAE,OAAAC,CAAO,IAAyB,CAC9D,MAAMC,EAAY,IAAIjC,EAEtBiC,EACG,KAEC/B,EAAY,0BAA0B,EACvC,gBAAgB8B,EAAO,aAAa,EAEvC,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAKlB,OAFAC,EAAU,SAAShC,EAAoB+B,CAAM,EAAGF,EAAqBE,CAAM,CAAC,EAEpEE,EAAO,CACb,KAAKL,EAAqB,SACxBI,EAAU,SACRlB,EAAqB,EACrBC,EAAsB,EACtBC,EAA0B,EAC1BL,EAAyBoB,EAAO,2BAA2B,EAC3D1B,EAA4B,EAC5BD,EAA4B,EAC5BG,EAAiB,EACjBC,EAAmBuB,EAAO,UAAU,EACpCtB,EAAkB,EAClBH,EAA0B,EAC1BI,EAA2B,EAC3BP,EAAsB,EACtBS,EAAuB,EACvBC,EAAqB,EACrBI,EAAsC,CACxC,EACA,MACF,KAAKW,EAAqB,OACxBI,EAAU,SACRlB,EAAqB,EACrBE,EAA0B,EAC1BO,EAAuB,EACvBC,EAAyB,EACzBF,EAAkB,EAClBJ,EAAoC,EACpCG,EAA6B,EAC7BD,EAAyB,EACzBM,EAAuB,EACvBD,EAA+B,EAC/BN,EAA2B,EAC3BQ,EAA+B,CACjC,EACA,MACF,KAAKC,EAAqB,WACxBI,EAAU,SACRlB,EAAqB,EACrBZ,EAA8B,CAChC,EACA,MACF,QAAS,CAEP,MAAMgC,EAAyBD,CAEjC,CACF,CAEA,OAAOD,CACT",
6
- "names": ["Container", "configModuleFactory", "configTypes", "accountOwnershipModuleFactory", "calldataModuleFactory", "dynamicNetworkModuleFactory", "externalPluginModuleFactory", "gatedSigningModuleFactory", "nftModuleFactory", "proxyModuleFactory", "safeModuleFactory", "ethereumTokenModuleFactory", "trustedNameModuleFactory", "typedDataModuleFactory", "uniswapModuleFactory", "nanoPkiModuleFactory", "reporterModuleFactory", "signReporterModuleFactory", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "altResolutionModuleFactory", "enumVariantModuleFactory", "instructionInfoModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "tokenAccountStateModuleFactory", "tokenInfoModuleFactory", "solanaTrustedNameModuleFactory", "ContextModuleChainID", "networkModuleFactory", "makeContainer", "config", "container", "chain", "exhaustiveCheck"]
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@ledgerhq/device-management-kit\";\nimport { Container } from \"inversify\";\n\nimport { configModuleFactory } from \"@/config/di/configModuleFactory\";\nimport { configTypes } from \"@/config/di/configTypes\";\nimport {\n type ContextModuleLoaderConfig,\n type ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { accountOwnershipModuleFactory } from \"@/modules/concordium/account-ownership/di/accountOwnershipModuleFactory\";\nimport { calldataModuleFactory } from \"@/modules/ethereum/calldata/di/calldataModuleFactory\";\nimport { dynamicNetworkModuleFactory } from \"@/modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory\";\nimport { externalPluginModuleFactory } from \"@/modules/ethereum/external-plugin/di/externalPluginModuleFactory\";\nimport { gatedSigningModuleFactory } from \"@/modules/ethereum/gated-signing/di/gatedSigningModuleFactory\";\nimport { nftModuleFactory } from \"@/modules/ethereum/nft/di/nftModuleFactory\";\nimport { proxyModuleFactory } from \"@/modules/ethereum/proxy/di/proxyModuleFactory\";\nimport { safeModuleFactory } from \"@/modules/ethereum/safe/di/safeModuleFactory\";\nimport { tokenModuleFactory as ethereumTokenModuleFactory } from \"@/modules/ethereum/token/di/tokenModuleFactory\";\nimport { trustedNameModuleFactory } from \"@/modules/ethereum/trusted-name/di/trustedNameModuleFactory\";\nimport { typedDataModuleFactory } from \"@/modules/ethereum/typed-data/di/typedDataModuleFactory\";\nimport { uniswapModuleFactory } from \"@/modules/ethereum/uniswap/di/uniswapModuleFactory\";\nimport { nanoPkiModuleFactory } from \"@/modules/multichain/pki/di/pkiModuleFactory\";\nimport { reporterModuleFactory } from \"@/modules/multichain/reporter/di/reporterModuleFactory\";\nimport { signReporterModuleFactory } from \"@/modules/multichain/sign-reporter/di/signReporterModuleFactory\";\nimport { ethereumTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory\";\nimport { solanaTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory\";\nimport { altResolutionModuleFactory } from \"@/modules/solana/alt-resolution/di/altResolutionModuleFactory\";\nimport { enumVariantModuleFactory } from \"@/modules/solana/enum-variant/di/enumVariantModuleFactory\";\nimport { instructionInfoModuleFactory } from \"@/modules/solana/instruction-info/di/instructionInfoModuleFactory\";\nimport { lifiModuleFactory } from \"@/modules/solana/lifi/di/lifiModuleFactory\";\nimport { ownerInfoModuleFactory } from \"@/modules/solana/owner-info/di/ownerInfoModuleFactory\";\nimport { tokenModuleFactory as solanaTokenModuleFactory } from \"@/modules/solana/token/di/tokenModuleFactory\";\nimport { tokenAccountStateModuleFactory } from \"@/modules/solana/token-account-state/di/tokenAccountStateModuleFactory\";\nimport { tokenInfoModuleFactory } from \"@/modules/solana/token-info/di/tokenInfoModuleFactory\";\nimport { solanaTrustedNameModuleFactory } from \"@/modules/solana/trusted-name/di/trustedNameModuleFactory\";\nimport { tokenModuleFactory as tronTokenModuleFactory } from \"@/modules/tron/token/di/tokenModuleFactory\";\nimport { ContextModuleChainID } from \"@/shared/domain/ContextModuleChainID\";\nimport { networkModuleFactory } from \"@/shared/network/di/networkModuleFactory\";\n\ntype MakeContainerArgs = {\n config: ContextModuleServiceConfig & ContextModuleLoaderConfig;\n};\n\nexport const makeContainer = ({ config }: MakeContainerArgs) => {\n const container = new Container();\n\n container\n .bind<\n (tag: string) => LoggerPublisherService\n >(configTypes.ContextModuleLoggerFactory)\n .toConstantValue(config.loggerFactory);\n\n const { chain } = config;\n\n // infrastructure modules needed by all chains\n container.loadSync(configModuleFactory(config), networkModuleFactory(config));\n\n switch (chain) {\n case ContextModuleChainID.Ethereum:\n container.loadSync(\n nanoPkiModuleFactory(),\n reporterModuleFactory(),\n signReporterModuleFactory(),\n trustedNameModuleFactory(config.customTrustedNameDataSource),\n externalPluginModuleFactory(),\n dynamicNetworkModuleFactory(),\n nftModuleFactory(),\n proxyModuleFactory(config.datasource),\n safeModuleFactory(),\n gatedSigningModuleFactory(),\n ethereumTokenModuleFactory(),\n calldataModuleFactory(),\n typedDataModuleFactory(),\n uniswapModuleFactory(),\n ethereumTransactionCheckModuleFactory(),\n );\n break;\n case ContextModuleChainID.Solana:\n container.loadSync(\n nanoPkiModuleFactory(),\n signReporterModuleFactory(),\n ownerInfoModuleFactory(),\n solanaTokenModuleFactory(),\n lifiModuleFactory(),\n solanaTransactionCheckModuleFactory(),\n instructionInfoModuleFactory(),\n enumVariantModuleFactory(),\n tokenInfoModuleFactory(),\n tokenAccountStateModuleFactory(),\n altResolutionModuleFactory(),\n solanaTrustedNameModuleFactory(),\n );\n break;\n case ContextModuleChainID.Concordium:\n container.loadSync(\n nanoPkiModuleFactory(),\n accountOwnershipModuleFactory(),\n );\n break;\n case ContextModuleChainID.Tron:\n // No PKI module: the TRC10 descriptor is checked against a key built into\n // the Tron app, so it carries no certificate.\n container.loadSync(tronTokenModuleFactory());\n break;\n default: {\n // ensure exhaustive check at compile time when new chains are added\n const exhaustiveCheck: never = chain;\n void exhaustiveCheck;\n }\n }\n\n return container;\n};\n"],
5
+ "mappings": "AACA,OAAS,aAAAA,MAAiB,YAE1B,OAAS,uBAAAC,MAA2B,kCACpC,OAAS,eAAAC,MAAmB,0BAK5B,OAAS,iCAAAC,MAAqC,0EAC9C,OAAS,yBAAAC,MAA6B,uDACtC,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,+BAAAC,MAAmC,oEAC5C,OAAS,6BAAAC,MAAiC,gEAC1C,OAAS,oBAAAC,MAAwB,6CACjC,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,qBAAAC,MAAyB,+CAClC,OAAS,sBAAsBC,MAAkC,iDACjE,OAAS,4BAAAC,MAAgC,8DACzC,OAAS,0BAAAC,MAA8B,0DACvC,OAAS,wBAAAC,MAA4B,qDACrC,OAAS,wBAAAC,MAA4B,+CACrC,OAAS,yBAAAC,MAA6B,yDACtC,OAAS,6BAAAC,MAAiC,kEAC1C,OAAS,yCAAAC,MAA6C,kFACtD,OAAS,uCAAAC,MAA2C,gFACpD,OAAS,8BAAAC,MAAkC,gEAC3C,OAAS,4BAAAC,MAAgC,4DACzC,OAAS,gCAAAC,MAAoC,oEAC7C,OAAS,qBAAAC,MAAyB,6CAClC,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,sBAAsBC,MAAgC,+CAC/D,OAAS,kCAAAC,MAAsC,yEAC/C,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,kCAAAC,MAAsC,4DAC/C,OAAS,sBAAsBC,MAA8B,6CAC7D,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,wBAAAC,MAA4B,2CAM9B,MAAMC,GAAgB,CAAC,CAAE,OAAAC,CAAO,IAAyB,CAC9D,MAAMC,EAAY,IAAIlC,EAEtBkC,EACG,KAEChC,EAAY,0BAA0B,EACvC,gBAAgB+B,EAAO,aAAa,EAEvC,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAKlB,OAFAC,EAAU,SAASjC,EAAoBgC,CAAM,EAAGF,EAAqBE,CAAM,CAAC,EAEpEE,EAAO,CACb,KAAKL,EAAqB,SACxBI,EAAU,SACRnB,EAAqB,EACrBC,EAAsB,EACtBC,EAA0B,EAC1BL,EAAyBqB,EAAO,2BAA2B,EAC3D3B,EAA4B,EAC5BD,EAA4B,EAC5BG,EAAiB,EACjBC,EAAmBwB,EAAO,UAAU,EACpCvB,EAAkB,EAClBH,EAA0B,EAC1BI,EAA2B,EAC3BP,EAAsB,EACtBS,EAAuB,EACvBC,EAAqB,EACrBI,EAAsC,CACxC,EACA,MACF,KAAKY,EAAqB,OACxBI,EAAU,SACRnB,EAAqB,EACrBE,EAA0B,EAC1BO,EAAuB,EACvBC,EAAyB,EACzBF,EAAkB,EAClBJ,EAAoC,EACpCG,EAA6B,EAC7BD,EAAyB,EACzBM,EAAuB,EACvBD,EAA+B,EAC/BN,EAA2B,EAC3BQ,EAA+B,CACjC,EACA,MACF,KAAKE,EAAqB,WACxBI,EAAU,SACRnB,EAAqB,EACrBZ,EAA8B,CAChC,EACA,MACF,KAAK2B,EAAqB,KAGxBI,EAAU,SAASL,EAAuB,CAAC,EAC3C,MACF,QAAS,CAEP,MAAMO,EAAyBD,CAEjC,CACF,CAEA,OAAOD,CACT",
6
+ "names": ["Container", "configModuleFactory", "configTypes", "accountOwnershipModuleFactory", "calldataModuleFactory", "dynamicNetworkModuleFactory", "externalPluginModuleFactory", "gatedSigningModuleFactory", "nftModuleFactory", "proxyModuleFactory", "safeModuleFactory", "ethereumTokenModuleFactory", "trustedNameModuleFactory", "typedDataModuleFactory", "uniswapModuleFactory", "nanoPkiModuleFactory", "reporterModuleFactory", "signReporterModuleFactory", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "altResolutionModuleFactory", "enumVariantModuleFactory", "instructionInfoModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "tokenAccountStateModuleFactory", "tokenInfoModuleFactory", "solanaTrustedNameModuleFactory", "tronTokenModuleFactory", "ContextModuleChainID", "networkModuleFactory", "makeContainer", "config", "container", "chain", "exhaustiveCheck"]
7
7
  }
@@ -1,2 +1,2 @@
1
- export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./modules/concordium/account-ownership/data/AccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/data/AccountOwnershipError";export*from"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader";export*from"./modules/ethereum/calldata/data/CalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/domain/CalldataContextLoader";export*from"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader";export*from"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration";export*from"./modules/ethereum/external-plugin/data/ExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader";export*from"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader";export*from"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader";export*from"./modules/ethereum/model/EthereumClearSignContext";export*from"./modules/ethereum/model/TypedDataClearSignContext";export*from"./modules/ethereum/model/TypedDataContext";export*from"./modules/ethereum/nft/data/HttpNftDataSource";export*from"./modules/ethereum/nft/data/NftDataSource";export*from"./modules/ethereum/nft/domain/NftContextFieldLoader";export*from"./modules/ethereum/nft/domain/NftContextLoader";export*from"./modules/ethereum/proxy/data/HttpProxyDataSource";export*from"./modules/ethereum/proxy/data/HttpSafeProxyDataSource";export*from"./modules/ethereum/proxy/data/ProxyDataSource";export*from"./modules/ethereum/proxy/domain/ProxyContextFieldLoader";export*from"./modules/ethereum/token/data/HttpTokenDataSource";export*from"./modules/ethereum/token/data/TokenDataSource";export*from"./modules/ethereum/token/domain/TokenContextFieldLoader";export*from"./modules/ethereum/token/domain/TokenContextLoader";export*from"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/ethereum/trusted-name/data/TrustedNameDataSource";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader";export*from"./modules/ethereum/typed-data/data/HttpTypedDataDataSource";export*from"./modules/ethereum/typed-data/data/TypedDataDataSource";export*from"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader";export*from"./modules/ethereum/typed-data/domain/TypedDataContextLoader";export*from"./modules/ethereum/typed-data/utils/getSchemaHash";export*from"./modules/ethereum/uniswap/data/AbiDecoderDataSource";export*from"./modules/ethereum/uniswap/data/CommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource";export*from"./modules/ethereum/uniswap/domain/UniswapContextLoader";export*from"./modules/multichain/pki/data/HttpPkiCertificateDataSource";export*from"./modules/multichain/pki/data/PkiCertificateDataSource";export*from"./modules/multichain/pki/domain/DefaultPkiCertificateLoader";export*from"./modules/multichain/pki/domain/PkiCertificateLoader";export*from"./modules/multichain/pki/model/KeyId";export*from"./modules/multichain/pki/model/KeyUsage";export*from"./modules/multichain/pki/model/PkiCertificate";export*from"./modules/multichain/pki/model/PkiCertificateInfo";export*from"./modules/multichain/reporter/data/BlindSigningReporterDatasource";export*from"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource";export*from"./modules/multichain/reporter/domain/BlindSigningReporter";export*from"./modules/multichain/reporter/domain/DefaultBlindSigningReporter";export*from"./modules/multichain/reporter/model/BlindSigningEvent";export*from"./modules/multichain/sign-reporter/model/SignReportParams";export*from"./modules/multichain/transaction-check/utils/constants";export*from"./modules/solana/alt-resolution/data/AltResolutionDataSource";export*from"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource";export*from"./modules/solana/alt-resolution/domain/AltResolutionContextLoader";export*from"./modules/solana/enum-variant/domain/EnumVariantContextLoader";export*from"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource";export*from"./modules/solana/instruction-info/data/InstructionInfoDataSource";export*from"./modules/solana/instruction-info/domain/InstructionInfoContextLoader";export*from"./modules/solana/model/SolanaClearSignContext";export*from"./modules/solana/model/SolanaContextTypes";export*from"./modules/solana/model/SolanaTransactionScanChainId";export*from"./modules/solana/owner-info/data/HttpOwnerInfoDataSource";export*from"./modules/solana/owner-info/data/OwnerInfoDataSource";export*from"./modules/solana/owner-info/domain/OwnerInfoContextLoader";export*from"./modules/solana/owner-info/domain/solanaContextTypes";export*from"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource";export*from"./modules/solana/token-account-state/data/TokenAccountStateDataSource";export*from"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader";export*from"./modules/solana/token-info/data/HttpTokenInfoDataSource";export*from"./modules/solana/token-info/data/TokenInfoDataSource";export*from"./modules/solana/token-info/domain/TokenInfoContextLoader";export*from"./modules/solana/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/solana/trusted-name/data/TrustedNameDataSource";export*from"./modules/solana/trusted-name/domain/TrustedNameContextLoader";export*from"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/domain/ContextModuleChainID";export*from"./shared/model/BlindSigningModelId";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";
1
+ export*from"./ContextModule";export*from"./ContextModuleBuilder";export*from"./DefaultContextModule";export*from"./modules/concordium/account-ownership/data/AccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/data/AccountOwnershipError";export*from"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource";export*from"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader";export*from"./modules/ethereum/calldata/data/CalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource";export*from"./modules/ethereum/calldata/domain/CalldataContextLoader";export*from"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource";export*from"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader";export*from"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration";export*from"./modules/ethereum/external-plugin/data/ExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource";export*from"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader";export*from"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource";export*from"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader";export*from"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader";export*from"./modules/ethereum/model/EthereumClearSignContext";export*from"./modules/ethereum/model/TypedDataClearSignContext";export*from"./modules/ethereum/model/TypedDataContext";export*from"./modules/ethereum/nft/data/HttpNftDataSource";export*from"./modules/ethereum/nft/data/NftDataSource";export*from"./modules/ethereum/nft/domain/NftContextFieldLoader";export*from"./modules/ethereum/nft/domain/NftContextLoader";export*from"./modules/ethereum/proxy/data/HttpProxyDataSource";export*from"./modules/ethereum/proxy/data/HttpSafeProxyDataSource";export*from"./modules/ethereum/proxy/data/ProxyDataSource";export*from"./modules/ethereum/proxy/domain/ProxyContextFieldLoader";export*from"./modules/ethereum/token/data/HttpTokenDataSource";export*from"./modules/ethereum/token/data/TokenDataSource";export*from"./modules/ethereum/token/domain/TokenContextFieldLoader";export*from"./modules/ethereum/token/domain/TokenContextLoader";export*from"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/ethereum/trusted-name/data/TrustedNameDataSource";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader";export*from"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader";export*from"./modules/ethereum/typed-data/data/HttpTypedDataDataSource";export*from"./modules/ethereum/typed-data/data/TypedDataDataSource";export*from"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader";export*from"./modules/ethereum/typed-data/domain/TypedDataContextLoader";export*from"./modules/ethereum/typed-data/utils/getSchemaHash";export*from"./modules/ethereum/uniswap/data/AbiDecoderDataSource";export*from"./modules/ethereum/uniswap/data/CommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource";export*from"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource";export*from"./modules/ethereum/uniswap/domain/UniswapContextLoader";export*from"./modules/multichain/pki/data/HttpPkiCertificateDataSource";export*from"./modules/multichain/pki/data/PkiCertificateDataSource";export*from"./modules/multichain/pki/domain/DefaultPkiCertificateLoader";export*from"./modules/multichain/pki/domain/PkiCertificateLoader";export*from"./modules/multichain/pki/model/KeyId";export*from"./modules/multichain/pki/model/KeyUsage";export*from"./modules/multichain/pki/model/PkiCertificate";export*from"./modules/multichain/pki/model/PkiCertificateInfo";export*from"./modules/multichain/reporter/data/BlindSigningReporterDatasource";export*from"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource";export*from"./modules/multichain/reporter/domain/BlindSigningReporter";export*from"./modules/multichain/reporter/domain/DefaultBlindSigningReporter";export*from"./modules/multichain/reporter/model/BlindSigningEvent";export*from"./modules/multichain/sign-reporter/model/SignReportParams";export*from"./modules/multichain/transaction-check/utils/constants";export*from"./modules/solana/alt-resolution/data/AltResolutionDataSource";export*from"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource";export*from"./modules/solana/alt-resolution/domain/AltResolutionContextLoader";export*from"./modules/solana/enum-variant/domain/EnumVariantContextLoader";export*from"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource";export*from"./modules/solana/instruction-info/data/InstructionInfoDataSource";export*from"./modules/solana/instruction-info/domain/InstructionInfoContextLoader";export*from"./modules/solana/model/SolanaClearSignContext";export*from"./modules/solana/model/SolanaContextTypes";export*from"./modules/solana/model/SolanaTransactionScanChainId";export*from"./modules/solana/owner-info/data/HttpOwnerInfoDataSource";export*from"./modules/solana/owner-info/data/OwnerInfoDataSource";export*from"./modules/solana/owner-info/domain/OwnerInfoContextLoader";export*from"./modules/solana/owner-info/domain/solanaContextTypes";export*from"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource";export*from"./modules/solana/token-account-state/data/TokenAccountStateDataSource";export*from"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader";export*from"./modules/solana/token-info/data/HttpTokenInfoDataSource";export*from"./modules/solana/token-info/data/TokenInfoDataSource";export*from"./modules/solana/token-info/domain/TokenInfoContextLoader";export*from"./modules/solana/trusted-name/data/HttpTrustedNameDataSource";export*from"./modules/solana/trusted-name/data/TrustedNameDataSource";export*from"./modules/solana/trusted-name/domain/TrustedNameContextLoader";export*from"./modules/tron/model/TronTransactionContext";export*from"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/domain/ContextModuleChainID";export*from"./shared/model/BlindSigningModelId";export*from"./shared/model/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts"],
4
- "sourcesContent": ["export type {\n ContextModuleCalBranch,\n ContextModuleCalConfig,\n ContextModuleCalMode,\n ContextModuleConfig,\n ContextModuleDatasourceConfig,\n ContextModuleMetadataServiceConfig,\n ContextModuleReporterConfig,\n ContextModuleWeb3ChecksConfig,\n} from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipError\";\nexport * from \"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader\";\nexport * from \"./modules/ethereum/calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/domain/CalldataContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./modules/ethereum/external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./modules/ethereum/model/EthereumClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataContext\";\nexport * from \"./modules/ethereum/nft/data/HttpNftDataSource\";\nexport * from \"./modules/ethereum/nft/data/NftDataSource\";\nexport * from \"./modules/ethereum/nft/domain/NftContextFieldLoader\";\nexport * from \"./modules/ethereum/nft/domain/NftContextLoader\";\nexport * from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/ProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./modules/ethereum/token/data/HttpTokenDataSource\";\nexport * from \"./modules/ethereum/token/data/TokenDataSource\";\nexport * from \"./modules/ethereum/token/domain/TokenContextFieldLoader\";\nexport * from \"./modules/ethereum/token/domain/TokenContextLoader\";\nexport * from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./modules/ethereum/typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/data/TypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/utils/getSchemaHash\";\nexport * from \"./modules/ethereum/uniswap/data/AbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/CommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/domain/UniswapContextLoader\";\nexport * from \"./modules/multichain/pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/data/PkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/domain/PkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/model/KeyId\";\nexport * from \"./modules/multichain/pki/model/KeyUsage\";\nexport * from \"./modules/multichain/pki/model/PkiCertificate\";\nexport * from \"./modules/multichain/pki/model/PkiCertificateInfo\";\nexport * from \"./modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/domain/BlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningEvent\";\nexport * from \"./modules/multichain/sign-reporter/model/SignReportParams\";\nexport * from \"./modules/multichain/transaction-check/utils/constants\";\nexport * from \"./modules/solana/alt-resolution/data/AltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/domain/AltResolutionContextLoader\";\nexport * from \"./modules/solana/enum-variant/domain/EnumVariantContextLoader\";\nexport * from \"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/data/InstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/domain/InstructionInfoContextLoader\";\nexport * from \"./modules/solana/model/SolanaClearSignContext\";\nexport * from \"./modules/solana/model/SolanaContextTypes\";\nexport * from \"./modules/solana/model/SolanaTransactionScanChainId\";\nexport * from \"./modules/solana/owner-info/data/HttpOwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/data/OwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/domain/OwnerInfoContextLoader\";\nexport * from \"./modules/solana/owner-info/domain/solanaContextTypes\";\nexport * from \"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/data/TokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader\";\nexport * from \"./modules/solana/token-info/data/HttpTokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/data/TokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/domain/TokenInfoContextLoader\";\nexport * from \"./modules/solana/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/domain/ContextModuleChainID\";\nexport * from \"./shared/model/BlindSigningModelId\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionSubset\";\n"],
5
- "mappings": "AAUA,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,yEACd,WAAc,oEACd,WAAc,6EACd,WAAc,8EACd,WAAc,gEACd,WAAc,oEACd,WAAc,2DACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,uEACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,kEACd,WAAc,sEACd,WAAc,oEACd,WAAc,6EACd,WAAc,oDACd,WAAc,qDACd,WAAc,4CACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,iDACd,WAAc,oDACd,WAAc,wDACd,WAAc,gDACd,WAAc,0DACd,WAAc,oDACd,WAAc,gDACd,WAAc,0DACd,WAAc,qDACd,WAAc,iEACd,WAAc,6DACd,WAAc,uEACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,qEACd,WAAc,8DACd,WAAc,oDACd,WAAc,uDACd,WAAc,2DACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,6DACd,WAAc,yDACd,WAAc,8DACd,WAAc,uDACd,WAAc,uCACd,WAAc,0CACd,WAAc,gDACd,WAAc,oDACd,WAAc,oEACd,WAAc,wEACd,WAAc,4DACd,WAAc,mEACd,WAAc,wDACd,WAAc,4DACd,WAAc,yDACd,WAAc,+DACd,WAAc,mEACd,WAAc,oEACd,WAAc,gEACd,WAAc,uEACd,WAAc,mEACd,WAAc,wEACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,wDACd,WAAc,4EACd,WAAc,wEACd,WAAc,6EACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,+DACd,WAAc,2DACd,WAAc,gEACd,WAAc,qCACd,WAAc,gCACd,WAAc,uCACd,WAAc,qCACd,WAAc,kCACd,WAAc,6BACd,WAAc",
4
+ "sourcesContent": ["export type {\n ContextModuleCalBranch,\n ContextModuleCalConfig,\n ContextModuleCalMode,\n ContextModuleConfig,\n ContextModuleDatasourceConfig,\n ContextModuleMetadataServiceConfig,\n ContextModuleReporterConfig,\n ContextModuleWeb3ChecksConfig,\n} from \"./config/model/ContextModuleConfig\";\nexport * from \"./ContextModule\";\nexport * from \"./ContextModuleBuilder\";\nexport * from \"./DefaultContextModule\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/data/AccountOwnershipError\";\nexport * from \"./modules/concordium/account-ownership/data/HttpAccountOwnershipDataSource\";\nexport * from \"./modules/concordium/account-ownership/domain/AccountOwnershipContextLoader\";\nexport * from \"./modules/ethereum/calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./modules/ethereum/calldata/domain/CalldataContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./modules/ethereum/dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./modules/ethereum/dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./modules/ethereum/external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./modules/ethereum/external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./modules/ethereum/model/EthereumClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataClearSignContext\";\nexport * from \"./modules/ethereum/model/TypedDataContext\";\nexport * from \"./modules/ethereum/nft/data/HttpNftDataSource\";\nexport * from \"./modules/ethereum/nft/data/NftDataSource\";\nexport * from \"./modules/ethereum/nft/domain/NftContextFieldLoader\";\nexport * from \"./modules/ethereum/nft/domain/NftContextLoader\";\nexport * from \"./modules/ethereum/proxy/data/HttpProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/data/ProxyDataSource\";\nexport * from \"./modules/ethereum/proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./modules/ethereum/token/data/HttpTokenDataSource\";\nexport * from \"./modules/ethereum/token/data/TokenDataSource\";\nexport * from \"./modules/ethereum/token/domain/TokenContextFieldLoader\";\nexport * from \"./modules/ethereum/token/domain/TokenContextLoader\";\nexport * from \"./modules/ethereum/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./modules/ethereum/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./modules/ethereum/typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/data/TypedDataDataSource\";\nexport * from \"./modules/ethereum/typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/domain/TypedDataContextLoader\";\nexport * from \"./modules/ethereum/typed-data/utils/getSchemaHash\";\nexport * from \"./modules/ethereum/uniswap/data/AbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/CommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./modules/ethereum/uniswap/domain/UniswapContextLoader\";\nexport * from \"./modules/multichain/pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/data/PkiCertificateDataSource\";\nexport * from \"./modules/multichain/pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/domain/PkiCertificateLoader\";\nexport * from \"./modules/multichain/pki/model/KeyId\";\nexport * from \"./modules/multichain/pki/model/KeyUsage\";\nexport * from \"./modules/multichain/pki/model/PkiCertificate\";\nexport * from \"./modules/multichain/pki/model/PkiCertificateInfo\";\nexport * from \"./modules/multichain/reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./modules/multichain/reporter/domain/BlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./modules/multichain/reporter/model/BlindSigningEvent\";\nexport * from \"./modules/multichain/sign-reporter/model/SignReportParams\";\nexport * from \"./modules/multichain/transaction-check/utils/constants\";\nexport * from \"./modules/solana/alt-resolution/data/AltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/data/HttpAltResolutionDataSource\";\nexport * from \"./modules/solana/alt-resolution/domain/AltResolutionContextLoader\";\nexport * from \"./modules/solana/enum-variant/domain/EnumVariantContextLoader\";\nexport * from \"./modules/solana/instruction-info/data/HttpInstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/data/InstructionInfoDataSource\";\nexport * from \"./modules/solana/instruction-info/domain/InstructionInfoContextLoader\";\nexport * from \"./modules/solana/model/SolanaClearSignContext\";\nexport * from \"./modules/solana/model/SolanaContextTypes\";\nexport * from \"./modules/solana/model/SolanaTransactionScanChainId\";\nexport * from \"./modules/solana/owner-info/data/HttpOwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/data/OwnerInfoDataSource\";\nexport * from \"./modules/solana/owner-info/domain/OwnerInfoContextLoader\";\nexport * from \"./modules/solana/owner-info/domain/solanaContextTypes\";\nexport * from \"./modules/solana/token-account-state/data/HttpTokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/data/TokenAccountStateDataSource\";\nexport * from \"./modules/solana/token-account-state/domain/TokenAccountStateContextLoader\";\nexport * from \"./modules/solana/token-info/data/HttpTokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/data/TokenInfoDataSource\";\nexport * from \"./modules/solana/token-info/domain/TokenInfoContextLoader\";\nexport * from \"./modules/solana/trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/data/TrustedNameDataSource\";\nexport * from \"./modules/solana/trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./modules/tron/model/TronTransactionContext\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/domain/ContextModuleChainID\";\nexport * from \"./shared/model/BlindSigningModelId\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/TransactionSubset\";\n"],
5
+ "mappings": "AAUA,WAAc,kBACd,WAAc,yBACd,WAAc,yBACd,WAAc,yEACd,WAAc,oEACd,WAAc,6EACd,WAAc,8EACd,WAAc,gEACd,WAAc,oEACd,WAAc,2DACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,uEACd,WAAc,mEACd,WAAc,uEACd,WAAc,wEACd,WAAc,kEACd,WAAc,sEACd,WAAc,oEACd,WAAc,6EACd,WAAc,oDACd,WAAc,qDACd,WAAc,4CACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,iDACd,WAAc,oDACd,WAAc,wDACd,WAAc,gDACd,WAAc,0DACd,WAAc,oDACd,WAAc,gDACd,WAAc,0DACd,WAAc,qDACd,WAAc,iEACd,WAAc,6DACd,WAAc,uEACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,qEACd,WAAc,8DACd,WAAc,oDACd,WAAc,uDACd,WAAc,2DACd,WAAc,kEACd,WAAc,6DACd,WAAc,yDACd,WAAc,6DACd,WAAc,yDACd,WAAc,8DACd,WAAc,uDACd,WAAc,uCACd,WAAc,0CACd,WAAc,gDACd,WAAc,oDACd,WAAc,oEACd,WAAc,wEACd,WAAc,4DACd,WAAc,mEACd,WAAc,wDACd,WAAc,4DACd,WAAc,yDACd,WAAc,+DACd,WAAc,mEACd,WAAc,oEACd,WAAc,gEACd,WAAc,uEACd,WAAc,mEACd,WAAc,wEACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,wDACd,WAAc,4EACd,WAAc,wEACd,WAAc,6EACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,+DACd,WAAc,2DACd,WAAc,gEACd,WAAc,8CACd,WAAc,qCACd,WAAc,gCACd,WAAc,uCACd,WAAc,qCACd,WAAc,kCACd,WAAc,6BACd,WAAc",
6
6
  "names": []
7
7
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=TronTransactionContext.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ var d=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=(i,e,t,o)=>{for(var r=o>1?void 0:o?l(e,t):e,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=(o?s(e,t,r):s(r))||r);return o&&r&&d(e,t,r),r},c=(i,e)=>(t,o)=>e(t,o,i);import{inject as m,injectable as k}from"inversify";import{Left as p,Right as g}from"purify-ts";import{configTypes as h}from"../../../../config/di/configTypes";import{tokenDataResponsesCodec as u}from"../../../../modules/tron/token/data/TokenDataSource";import{networkTypes as y}from"../../../../shared/network/di/networkTypes";let a=class{constructor(e,t){this.config=e;this.http=t}async getTokenInfosPayload({assetId:e}){const t=()=>p(new Error(`[ContextModule] HttpTokenDataSource: no token metadata for asset id ${e}`));try{const o=await this.http.get(`${this.config.cal.url}/tokens`,{params:{id:`tron/trc10/${e}`,output:"id,ticker,decimals,descriptor",ref:`branch:${this.config.cal.branch}`}});return u.decode(o).caseOf({Left:t,Right:r=>{const n=r[0]?.descriptor.signatures[this.config.cal.mode];return n===void 0||n.length===0?t():g(n)}})}catch{return p(new Error("[ContextModule] HttpTokenDataSource: Failed to fetch token informations"))}}};a=f([k(),c(0,m(h.Config)),c(1,m(y.NetworkClient))],a);export{a as HttpTokenDataSource};
2
+ //# sourceMappingURL=HttpTokenDataSource.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/data/HttpTokenDataSource.ts"],
4
+ "sourcesContent": ["import { DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\nimport { type Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n type GetTokenInfosParams,\n tokenDataResponsesCodec,\n type TokenDataSource,\n} from \"@/modules/tron/token/data/TokenDataSource\";\nimport { networkTypes } from \"@/shared/network/di/networkTypes\";\n\n@injectable()\nexport class HttpTokenDataSource implements TokenDataSource {\n constructor(\n @inject(configTypes.Config)\n private readonly config: ContextModuleServiceConfig,\n @inject(networkTypes.NetworkClient)\n private readonly http: DmkNetworkClient,\n ) {}\n\n /**\n * Unlike the EVM descriptor, which is assembled from `descriptor.data` plus a\n * signature, the whole TRC10 payload the device expects is the signature\n * field: a protobuf `TokenDetails` the app checks against its built-in key.\n * `descriptor.data` is empty for these entries.\n */\n public async getTokenInfosPayload({\n assetId,\n }: GetTokenInfosParams): Promise<Either<Error, string>> {\n const noTokenMetadata = () =>\n Left(\n new Error(\n `[ContextModule] HttpTokenDataSource: no token metadata for asset id ${assetId}`,\n ),\n );\n\n try {\n const response = await this.http.get(`${this.config.cal.url}/tokens`, {\n params: {\n id: `tron/trc10/${assetId}`,\n output: \"id,ticker,decimals,descriptor\",\n ref: `branch:${this.config.cal.branch}`,\n },\n });\n\n return tokenDataResponsesCodec.decode(response).caseOf({\n Left: noTokenMetadata,\n Right: (entries) => {\n const payload =\n entries[0]?.descriptor.signatures[this.config.cal.mode];\n\n return payload === undefined || payload.length === 0\n ? noTokenMetadata()\n : Right(payload);\n },\n });\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpTokenDataSource: Failed to fetch token informations\",\n ),\n );\n }\n }\n}\n"],
5
+ "mappings": "iOACA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAsB,QAAAC,EAAM,SAAAC,MAAa,YAEzC,OAAS,eAAAC,MAAmB,0BAE5B,OAEE,2BAAAC,MAEK,4CACP,OAAS,gBAAAC,MAAoB,mCAGtB,IAAMC,EAAN,KAAqD,CAC1D,YAEmBC,EAEAC,EACjB,CAHiB,YAAAD,EAEA,UAAAC,CAChB,CAQH,MAAa,qBAAqB,CAChC,QAAAC,CACF,EAAwD,CACtD,MAAMC,EAAkB,IACtBC,EACE,IAAI,MACF,uEAAuEF,CAAO,EAChF,CACF,EAEF,GAAI,CACF,MAAMG,EAAW,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,UAAW,CACpE,OAAQ,CACN,GAAI,cAAcH,CAAO,GACzB,OAAQ,gCACR,IAAK,UAAU,KAAK,OAAO,IAAI,MAAM,EACvC,CACF,CAAC,EAED,OAAOI,EAAwB,OAAOD,CAAQ,EAAE,OAAO,CACrD,KAAMF,EACN,MAAQI,GAAY,CAClB,MAAMC,EACJD,EAAQ,CAAC,GAAG,WAAW,WAAW,KAAK,OAAO,IAAI,IAAI,EAExD,OAAOC,IAAY,QAAaA,EAAQ,SAAW,EAC/CL,EAAgB,EAChBM,EAAMD,CAAO,CACnB,CACF,CAAC,CACH,MAAiB,CACf,OAAOJ,EACL,IAAI,MACF,yEACF,CACF,CACF,CACF,CACF,EApDaL,EAANW,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAY,MAAM,GAEzBF,EAAA,EAAAC,EAAOE,EAAa,aAAa,IAJzBhB",
6
+ "names": ["inject", "injectable", "Left", "Right", "configTypes", "tokenDataResponsesCodec", "networkTypes", "HttpTokenDataSource", "config", "http", "assetId", "noTokenMetadata", "Left", "response", "tokenDataResponsesCodec", "entries", "payload", "Right", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes", "networkTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Left as s,Right as p}from"purify-ts";import{beforeEach as g,describe as k,expect as a,it as n,vi as c}from"vitest";import{HttpTokenDataSource as m}from"./HttpTokenDataSource";k("HttpTokenDataSource",()=>{let r,t;const o="1002000",d={cal:{url:"https://global.api.prd.ledger.com/cal/v1",mode:"prod",branch:"main"}},i=e=>[{id:`tron/trc10/${o}`,ticker:"BTTOLD",decimals:6,descriptor:{data:"",descriptorType:"token",signatures:e}}];g(()=>{c.clearAllMocks(),t={get:c.fn()},r=new m(d,t)}),n("should call http.get with the correct url and params",async()=>{t.get.mockResolvedValue([]),await r.getTokenInfosPayload({assetId:o}),a(t.get).toHaveBeenCalledWith("https://global.api.prd.ledger.com/cal/v1/tokens",{params:{id:"tron/trc10/1002000",output:"id,ticker,decimals,descriptor",ref:"branch:main"}})}),n("should return the signature matching the configured mode",async()=>{t.get.mockResolvedValue(i({prod:"prod-sig",test:"test-sig"}));const e=await r.getTokenInfosPayload({assetId:o});a(e).toEqual(p("prod-sig"))}),n("should return an error when no token matches",async()=>{t.get.mockResolvedValue([]);const e=await r.getTokenInfosPayload({assetId:o});a(e).toEqual(s(new Error("[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000")))}),n("should return an error when the descriptor carries no signature",async()=>{t.get.mockResolvedValue(i({prod:"",test:"test-sig"}));const e=await r.getTokenInfosPayload({assetId:o});a(e).toEqual(s(new Error("[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000")))}),n.each([["the response is not a list",{descriptor:{}}],["an entry carries no descriptor",[{id:`tron/trc10/${o}`}]],["the descriptor carries no signature field",[{descriptor:{data:"",descriptorType:"token"}}]],["a signature is not a string",[{descriptor:{signatures:{prod:42,test:"test-sig"}}}]]])("should return an error when %s",async(e,l)=>{t.get.mockResolvedValue(l);const u=await r.getTokenInfosPayload({assetId:o});a(u).toEqual(s(new Error("[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000")))}),n("should return an error when the request fails",async()=>{t.get.mockRejectedValue(new Error("network"));const e=await r.getTokenInfosPayload({assetId:o});a(e).toEqual(s(new Error("[ContextModule] HttpTokenDataSource: Failed to fetch token informations")))})});
2
+ //# sourceMappingURL=HttpTokenDataSource.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/modules/tron/token/data/HttpTokenDataSource.test.ts"],
4
+ "sourcesContent": ["import { type DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { beforeEach, describe, expect, it, vi } from \"vitest\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\n\nimport { HttpTokenDataSource } from \"./HttpTokenDataSource\";\nimport { type TokenDataSource } from \"./TokenDataSource\";\n\ndescribe(\"HttpTokenDataSource\", () => {\n let datasource: TokenDataSource;\n let httpMock: { get: ReturnType<typeof vi.fn> };\n const assetId = \"1002000\";\n const config: ContextModuleServiceConfig = {\n cal: {\n url: \"https://global.api.prd.ledger.com/cal/v1\",\n mode: \"prod\",\n branch: \"main\",\n },\n } as ContextModuleServiceConfig;\n\n const response = (signatures: { prod: string; test: string }) => [\n {\n id: `tron/trc10/${assetId}`,\n ticker: \"BTTOLD\",\n decimals: 6,\n descriptor: { data: \"\", descriptorType: \"token\", signatures },\n },\n ];\n\n beforeEach(() => {\n vi.clearAllMocks();\n httpMock = { get: vi.fn() };\n datasource = new HttpTokenDataSource(\n config,\n httpMock as unknown as DmkNetworkClient,\n );\n });\n\n it(\"should call http.get with the correct url and params\", async () => {\n httpMock.get.mockResolvedValue([]);\n\n await datasource.getTokenInfosPayload({ assetId });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n \"https://global.api.prd.ledger.com/cal/v1/tokens\",\n {\n params: {\n id: \"tron/trc10/1002000\",\n output: \"id,ticker,decimals,descriptor\",\n ref: \"branch:main\",\n },\n },\n );\n });\n\n it(\"should return the signature matching the configured mode\", async () => {\n httpMock.get.mockResolvedValue(\n response({ prod: \"prod-sig\", test: \"test-sig\" }),\n );\n\n const result = await datasource.getTokenInfosPayload({ assetId });\n\n expect(result).toEqual(Right(\"prod-sig\"));\n });\n\n it(\"should return an error when no token matches\", async () => {\n httpMock.get.mockResolvedValue([]);\n\n const result = await datasource.getTokenInfosPayload({ assetId });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000\",\n ),\n ),\n );\n });\n\n it(\"should return an error when the descriptor carries no signature\", async () => {\n httpMock.get.mockResolvedValue(response({ prod: \"\", test: \"test-sig\" }));\n\n const result = await datasource.getTokenInfosPayload({ assetId });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000\",\n ),\n ),\n );\n });\n\n it.each([\n [\"the response is not a list\", { descriptor: {} }],\n [\"an entry carries no descriptor\", [{ id: `tron/trc10/${assetId}` }]],\n [\n \"the descriptor carries no signature field\",\n [{ descriptor: { data: \"\", descriptorType: \"token\" } }],\n ],\n [\n \"a signature is not a string\",\n [{ descriptor: { signatures: { prod: 42, test: \"test-sig\" } } }],\n ],\n ])(\"should return an error when %s\", async (_case, payload) => {\n httpMock.get.mockResolvedValue(payload);\n\n const result = await datasource.getTokenInfosPayload({ assetId });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTokenDataSource: no token metadata for asset id 1002000\",\n ),\n ),\n );\n });\n\n it(\"should return an error when the request fails\", async () => {\n httpMock.get.mockRejectedValue(new Error(\"network\"));\n\n const result = await datasource.getTokenInfosPayload({ assetId });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTokenDataSource: Failed to fetch token informations\",\n ),\n ),\n );\n });\n});\n"],
5
+ "mappings": "AACA,OAAS,QAAAA,EAAM,SAAAC,MAAa,YAC5B,OAAS,cAAAC,EAAY,YAAAC,EAAU,UAAAC,EAAQ,MAAAC,EAAI,MAAAC,MAAU,SAIrD,OAAS,uBAAAC,MAA2B,wBAGpCJ,EAAS,sBAAuB,IAAM,CACpC,IAAIK,EACAC,EACJ,MAAMC,EAAU,UACVC,EAAqC,CACzC,IAAK,CACH,IAAK,2CACL,KAAM,OACN,OAAQ,MACV,CACF,EAEMC,EAAYC,GAA+C,CAC/D,CACE,GAAI,cAAcH,CAAO,GACzB,OAAQ,SACR,SAAU,EACV,WAAY,CAAE,KAAM,GAAI,eAAgB,QAAS,WAAAG,CAAW,CAC9D,CACF,EAEAX,EAAW,IAAM,CACfI,EAAG,cAAc,EACjBG,EAAW,CAAE,IAAKH,EAAG,GAAG,CAAE,EAC1BE,EAAa,IAAID,EACfI,EACAF,CACF,CACF,CAAC,EAEDJ,EAAG,uDAAwD,SAAY,CACrEI,EAAS,IAAI,kBAAkB,CAAC,CAAC,EAEjC,MAAMD,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEjDN,EAAOK,EAAS,GAAG,EAAE,qBACnB,kDACA,CACE,OAAQ,CACN,GAAI,qBACJ,OAAQ,gCACR,IAAK,aACP,CACF,CACF,CACF,CAAC,EAEDJ,EAAG,2DAA4D,SAAY,CACzEI,EAAS,IAAI,kBACXG,EAAS,CAAE,KAAM,WAAY,KAAM,UAAW,CAAC,CACjD,EAEA,MAAME,EAAS,MAAMN,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEhEN,EAAOU,CAAM,EAAE,QAAQb,EAAM,UAAU,CAAC,CAC1C,CAAC,EAEDI,EAAG,+CAAgD,SAAY,CAC7DI,EAAS,IAAI,kBAAkB,CAAC,CAAC,EAEjC,MAAMK,EAAS,MAAMN,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEhEN,EAAOU,CAAM,EAAE,QACbd,EACE,IAAI,MACF,6EACF,CACF,CACF,CACF,CAAC,EAEDK,EAAG,kEAAmE,SAAY,CAChFI,EAAS,IAAI,kBAAkBG,EAAS,CAAE,KAAM,GAAI,KAAM,UAAW,CAAC,CAAC,EAEvE,MAAME,EAAS,MAAMN,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEhEN,EAAOU,CAAM,EAAE,QACbd,EACE,IAAI,MACF,6EACF,CACF,CACF,CACF,CAAC,EAEDK,EAAG,KAAK,CACN,CAAC,6BAA8B,CAAE,WAAY,CAAC,CAAE,CAAC,EACjD,CAAC,iCAAkC,CAAC,CAAE,GAAI,cAAcK,CAAO,EAAG,CAAC,CAAC,EACpE,CACE,4CACA,CAAC,CAAE,WAAY,CAAE,KAAM,GAAI,eAAgB,OAAQ,CAAE,CAAC,CACxD,EACA,CACE,8BACA,CAAC,CAAE,WAAY,CAAE,WAAY,CAAE,KAAM,GAAI,KAAM,UAAW,CAAE,CAAE,CAAC,CACjE,CACF,CAAC,EAAE,iCAAkC,MAAOK,EAAOC,IAAY,CAC7DP,EAAS,IAAI,kBAAkBO,CAAO,EAEtC,MAAMF,EAAS,MAAMN,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEhEN,EAAOU,CAAM,EAAE,QACbd,EACE,IAAI,MACF,6EACF,CACF,CACF,CACF,CAAC,EAEDK,EAAG,gDAAiD,SAAY,CAC9DI,EAAS,IAAI,kBAAkB,IAAI,MAAM,SAAS,CAAC,EAEnD,MAAMK,EAAS,MAAMN,EAAW,qBAAqB,CAAE,QAAAE,CAAQ,CAAC,EAEhEN,EAAOU,CAAM,EAAE,QACbd,EACE,IAAI,MACF,yEACF,CACF,CACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["Left", "Right", "beforeEach", "describe", "expect", "it", "vi", "HttpTokenDataSource", "datasource", "httpMock", "assetId", "config", "response", "signatures", "result", "_case", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{array as t,Codec as e,string as r}from"purify-ts";const a=t(e.interface({descriptor:e.interface({signatures:e.interface({prod:r,test:r})})}));export{a as tokenDataResponsesCodec};
2
+ //# sourceMappingURL=TokenDataSource.js.map
@@ -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
+ }