@ledgerhq/context-module 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/package.json +3 -2
- package/lib/cjs/src/ContextModuleBuilder.js +1 -1
- package/lib/cjs/src/ContextModuleBuilder.js.map +2 -2
- package/lib/cjs/src/DefaultContextModule.js +1 -1
- package/lib/cjs/src/DefaultContextModule.js.map +3 -3
- package/lib/cjs/src/di.js +1 -1
- package/lib/cjs/src/di.js.map +3 -3
- package/lib/cjs/src/index.js +1 -1
- package/lib/cjs/src/index.js.map +2 -2
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.js +1 -1
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.js.map +3 -3
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.js +1 -1
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.js.map +3 -3
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.js +1 -1
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.js.map +3 -3
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.test.js +1 -1
- package/lib/cjs/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.test.js.map +3 -3
- package/lib/cjs/src/modules/multichain/pki/model/KeyId.js +1 -1
- package/lib/cjs/src/modules/multichain/pki/model/KeyId.js.map +2 -2
- package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js +1 -1
- package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js.map +3 -3
- package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js +2 -0
- package/lib/cjs/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionTypes.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/di/altResolutionTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantTypes.js +2 -0
- package/lib/cjs/src/modules/solana/enum-variant/di/enumVariantTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.js +1 -1
- package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.js.map +2 -2
- package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.test.js +1 -1
- package/lib/cjs/src/modules/solana/lifi/data/HttpLifiDataSource.test.js.map +2 -2
- package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js +1 -1
- package/lib/cjs/src/modules/solana/model/SolanaClearSignContext.js.map +3 -3
- package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js +1 -1
- package/lib/cjs/src/modules/solana/model/SolanaContextTypes.js.map +1 -1
- package/lib/cjs/src/modules/solana/model/SolanaPayloads.js +1 -1
- package/lib/cjs/src/modules/solana/model/SolanaPayloads.js.map +3 -3
- package/lib/cjs/src/modules/solana/model/SolanaTransactionScanChainId.js +1 -1
- package/lib/cjs/src/modules/solana/model/SolanaTransactionScanChainId.js.map +2 -2
- package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js +1 -1
- package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js.map +2 -2
- package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js +1 -1
- package/lib/cjs/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js.map +2 -2
- package/lib/cjs/src/modules/solana/owner-info/domain/solanaContextTypes.js +1 -1
- package/lib/cjs/src/modules/solana/owner-info/domain/solanaContextTypes.js.map +1 -1
- package/lib/cjs/src/modules/solana/token/domain/TokenContextLoader.js +1 -1
- package/lib/cjs/src/modules/solana/token/domain/TokenContextLoader.js.map +3 -3
- package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/data/TokenInfoDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/data/TokenInfoDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/di/tokenInfoModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/di/tokenInfoModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/di/tokenInfoTypes.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/di/tokenInfoTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/TrustedNameDataSource.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/data/TrustedNameDataSource.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameTypes.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/di/trustedNameTypes.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
- package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
- package/lib/cjs/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
- package/lib/cjs/src/shared/model/ClearSignContext.js +1 -1
- package/lib/cjs/src/shared/model/ClearSignContext.js.map +2 -2
- package/lib/cjs/src/shared/utils/HexStringUtils.js +1 -1
- package/lib/cjs/src/shared/utils/HexStringUtils.js.map +3 -3
- package/lib/cjs/src/shared/utils/HexStringUtils.test.js +1 -1
- package/lib/cjs/src/shared/utils/HexStringUtils.test.js.map +2 -2
- package/lib/cjs/src/shared/utils/bs58Encoder.js +2 -0
- package/lib/cjs/src/shared/utils/bs58Encoder.js.map +7 -0
- package/lib/cjs/src/shared/utils/certificateCache.js +2 -0
- package/lib/cjs/src/shared/utils/certificateCache.js.map +7 -0
- package/lib/cjs/src/shared/utils/certificateCache.test.js +2 -0
- package/lib/cjs/src/shared/utils/certificateCache.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/certificateResult.js +2 -0
- package/lib/cjs/src/shared/utils/certificateResult.js.map +7 -0
- package/lib/cjs/src/shared/utils/certificateResult.test.js +2 -0
- package/lib/cjs/src/shared/utils/certificateResult.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/challengeBoundLoader.js +2 -0
- package/lib/cjs/src/shared/utils/challengeBoundLoader.js.map +7 -0
- package/lib/cjs/src/shared/utils/challengeBoundLoader.test.js +2 -0
- package/lib/cjs/src/shared/utils/challengeBoundLoader.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/deviceModelIdCodec.js +2 -0
- package/lib/cjs/src/shared/utils/deviceModelIdCodec.js.map +7 -0
- package/lib/cjs/src/shared/utils/deviceModelIdCodec.test.js +2 -0
- package/lib/cjs/src/shared/utils/deviceModelIdCodec.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/signedDescriptorDto.js +2 -0
- package/lib/cjs/src/shared/utils/signedDescriptorDto.js.map +7 -0
- package/lib/cjs/src/shared/utils/signedDescriptorDto.test.js +2 -0
- package/lib/cjs/src/shared/utils/signedDescriptorDto.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/uIntCodec.js +2 -0
- package/lib/cjs/src/shared/utils/uIntCodec.js.map +7 -0
- package/lib/cjs/src/shared/utils/uIntCodec.test.js +2 -0
- package/lib/cjs/src/shared/utils/uIntCodec.test.js.map +7 -0
- package/lib/cjs/src/shared/utils/uint8ArrayCodec.js +2 -0
- package/lib/cjs/src/shared/utils/uint8ArrayCodec.js.map +7 -0
- package/lib/cjs/src/shared/utils/uint8ArrayCodec.test.js +2 -0
- package/lib/cjs/src/shared/utils/uint8ArrayCodec.test.js.map +7 -0
- package/lib/esm/package.json +3 -2
- package/lib/esm/src/ContextModuleBuilder.js +1 -1
- package/lib/esm/src/ContextModuleBuilder.js.map +2 -2
- package/lib/esm/src/DefaultContextModule.js +1 -1
- package/lib/esm/src/DefaultContextModule.js.map +3 -3
- package/lib/esm/src/di.js +1 -1
- package/lib/esm/src/di.js.map +3 -3
- package/lib/esm/src/index.js +1 -1
- package/lib/esm/src/index.js.map +2 -2
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.js +1 -1
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.js.map +3 -3
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.js +1 -1
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.js.map +3 -3
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.js +1 -1
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.js.map +3 -3
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.test.js +1 -1
- package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.test.js.map +3 -3
- package/lib/esm/src/modules/multichain/pki/model/KeyId.js +1 -1
- package/lib/esm/src/modules/multichain/pki/model/KeyId.js.map +2 -2
- package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js +1 -1
- package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.js.map +3 -3
- package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js +2 -0
- package/lib/esm/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js +1 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/AltResolutionDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionTypes.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/di/altResolutionTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/enum-variant/di/enumVariantModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/enum-variant/di/enumVariantTypes.js +2 -0
- package/lib/esm/src/modules/solana/enum-variant/di/enumVariantTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js +1 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoDto.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/di/instructionInfoTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.js +1 -1
- package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.js.map +2 -2
- package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.test.js +1 -1
- package/lib/esm/src/modules/solana/lifi/data/HttpLifiDataSource.test.js.map +2 -2
- package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js +1 -1
- package/lib/esm/src/modules/solana/model/SolanaClearSignContext.js.map +3 -3
- package/lib/esm/src/modules/solana/model/SolanaPayloads.js +1 -0
- package/lib/esm/src/modules/solana/model/SolanaPayloads.js.map +4 -4
- package/lib/esm/src/modules/solana/model/SolanaTransactionScanChainId.js +1 -1
- package/lib/esm/src/modules/solana/model/SolanaTransactionScanChainId.js.map +2 -2
- package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js +1 -1
- package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.js.map +2 -2
- package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js +1 -1
- package/lib/esm/src/modules/solana/owner-info/domain/OwnerInfoContextLoader.test.js.map +2 -2
- package/lib/esm/src/modules/solana/token/domain/TokenContextLoader.js +1 -1
- package/lib/esm/src/modules/solana/token/domain/TokenContextLoader.js.map +3 -3
- package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js +1 -0
- package/lib/esm/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/di/tokenAccountStateTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js +2 -0
- package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js +2 -0
- package/lib/esm/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/data/TokenInfoDataSource.js +1 -0
- package/lib/esm/src/modules/solana/token-info/data/TokenInfoDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/di/tokenInfoModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/token-info/di/tokenInfoModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/di/tokenInfoTypes.js +2 -0
- package/lib/esm/src/modules/solana/token-info/di/tokenInfoTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/data/TrustedNameDataSource.js +1 -0
- package/lib/esm/src/modules/solana/trusted-name/data/TrustedNameDataSource.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/di/trustedNameModuleFactory.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/di/trustedNameTypes.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/di/trustedNameTypes.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.js.map +7 -0
- package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js +2 -0
- package/lib/esm/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.js.map +7 -0
- package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
- package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
- package/lib/esm/src/shared/utils/HexStringUtils.js +1 -1
- package/lib/esm/src/shared/utils/HexStringUtils.js.map +3 -3
- package/lib/esm/src/shared/utils/HexStringUtils.test.js +1 -1
- package/lib/esm/src/shared/utils/HexStringUtils.test.js.map +2 -2
- package/lib/esm/src/shared/utils/bs58Encoder.js +2 -0
- package/lib/esm/src/shared/utils/bs58Encoder.js.map +7 -0
- package/lib/esm/src/shared/utils/certificateCache.js +2 -0
- package/lib/esm/src/shared/utils/certificateCache.js.map +7 -0
- package/lib/esm/src/shared/utils/certificateCache.test.js +2 -0
- package/lib/esm/src/shared/utils/certificateCache.test.js.map +7 -0
- package/lib/esm/src/shared/utils/certificateResult.js +2 -0
- package/lib/esm/src/shared/utils/certificateResult.js.map +7 -0
- package/lib/esm/src/shared/utils/certificateResult.test.js +2 -0
- package/lib/esm/src/shared/utils/certificateResult.test.js.map +7 -0
- package/lib/esm/src/shared/utils/challengeBoundLoader.js +2 -0
- package/lib/esm/src/shared/utils/challengeBoundLoader.js.map +7 -0
- package/lib/esm/src/shared/utils/challengeBoundLoader.test.js +2 -0
- package/lib/esm/src/shared/utils/challengeBoundLoader.test.js.map +7 -0
- package/lib/esm/src/shared/utils/deviceModelIdCodec.js +2 -0
- package/lib/esm/src/shared/utils/deviceModelIdCodec.js.map +7 -0
- package/lib/esm/src/shared/utils/deviceModelIdCodec.test.js +2 -0
- package/lib/esm/src/shared/utils/deviceModelIdCodec.test.js.map +7 -0
- package/lib/esm/src/shared/utils/signedDescriptorDto.js +2 -0
- package/lib/esm/src/shared/utils/signedDescriptorDto.js.map +7 -0
- package/lib/esm/src/shared/utils/signedDescriptorDto.test.js +2 -0
- package/lib/esm/src/shared/utils/signedDescriptorDto.test.js.map +7 -0
- package/lib/esm/src/shared/utils/uIntCodec.js +2 -0
- package/lib/esm/src/shared/utils/uIntCodec.js.map +7 -0
- package/lib/esm/src/shared/utils/uIntCodec.test.js +2 -0
- package/lib/esm/src/shared/utils/uIntCodec.test.js.map +7 -0
- package/lib/esm/src/shared/utils/uint8ArrayCodec.js +2 -0
- package/lib/esm/src/shared/utils/uint8ArrayCodec.js.map +7 -0
- package/lib/esm/src/shared/utils/uint8ArrayCodec.test.js +2 -0
- package/lib/esm/src/shared/utils/uint8ArrayCodec.test.js.map +7 -0
- package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +16 -0
- package/lib/types/src/index.d.ts.map +1 -1
- package/lib/types/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.d.ts +3 -2
- package/lib/types/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.d.ts.map +1 -1
- package/lib/types/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.d.ts +3 -2
- package/lib/types/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.d.ts.map +1 -1
- package/lib/types/src/modules/multichain/pki/model/KeyId.d.ts +1 -0
- package/lib/types/src/modules/multichain/pki/model/KeyId.d.ts.map +1 -1
- package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.d.ts +17 -3
- package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.d.ts.map +1 -1
- package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.d.ts +2 -0
- package/lib/types/src/modules/multichain/transaction-check/loaders/SolanaTransactionCheckLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/data/AltResolutionDataSource.d.ts +17 -0
- package/lib/types/src/modules/solana/alt-resolution/data/AltResolutionDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.d.ts +11 -0
- package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.d.ts +2 -0
- package/lib/types/src/modules/solana/alt-resolution/data/HttpAltResolutionDataSource.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/alt-resolution/di/altResolutionModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/di/altResolutionTypes.d.ts +5 -0
- package/lib/types/src/modules/solana/alt-resolution/di/altResolutionTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.d.ts +23 -0
- package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/alt-resolution/domain/AltResolutionContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/enum-variant/di/enumVariantModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/enum-variant/di/enumVariantModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/enum-variant/di/enumVariantTypes.d.ts +4 -0
- package/lib/types/src/modules/solana/enum-variant/di/enumVariantTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.d.ts +45 -0
- package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/enum-variant/domain/EnumVariantContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts +11 -0
- package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.d.ts +2 -0
- package/lib/types/src/modules/solana/instruction-info/data/HttpInstructionInfoDataSource.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts +32 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts +135 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoDto.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts +23 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.d.ts +2 -0
- package/lib/types/src/modules/solana/instruction-info/data/InstructionInfoMapper.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/instruction-info/di/instructionInfoModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts +5 -0
- package/lib/types/src/modules/solana/instruction-info/di/instructionInfoTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.d.ts +39 -0
- package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/instruction-info/domain/InstructionInfoContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/lifi/data/HttpLifiDataSource.d.ts.map +1 -1
- package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts +33 -2
- package/lib/types/src/modules/solana/model/SolanaClearSignContext.d.ts.map +1 -1
- package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts +8 -1
- package/lib/types/src/modules/solana/model/SolanaContextTypes.d.ts.map +1 -1
- package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts +126 -0
- package/lib/types/src/modules/solana/model/SolanaPayloads.d.ts.map +1 -1
- package/lib/types/src/modules/solana/model/SolanaTransactionScanChainId.d.ts +6 -5
- package/lib/types/src/modules/solana/model/SolanaTransactionScanChainId.d.ts.map +1 -1
- package/lib/types/src/modules/solana/owner-info/domain/solanaContextTypes.d.ts +2 -5
- package/lib/types/src/modules/solana/owner-info/domain/solanaContextTypes.d.ts.map +1 -1
- package/lib/types/src/modules/solana/token/domain/TokenContextLoader.d.ts.map +1 -1
- package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts +11 -0
- package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.d.ts +2 -0
- package/lib/types/src/modules/solana/token-account-state/data/HttpTokenAccountStateDataSource.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.d.ts +15 -0
- package/lib/types/src/modules/solana/token-account-state/data/TokenAccountStateDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateTypes.d.ts +5 -0
- package/lib/types/src/modules/solana/token-account-state/di/tokenAccountStateTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.d.ts +26 -0
- package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/token-account-state/domain/TokenAccountStateContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.d.ts +11 -0
- package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.d.ts +2 -0
- package/lib/types/src/modules/solana/token-info/data/HttpTokenInfoDataSource.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/data/TokenInfoDataSource.d.ts +24 -0
- package/lib/types/src/modules/solana/token-info/data/TokenInfoDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/di/tokenInfoModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/token-info/di/tokenInfoModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/di/tokenInfoTypes.d.ts +5 -0
- package/lib/types/src/modules/solana/token-info/di/tokenInfoTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.d.ts +26 -0
- package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/token-info/domain/TokenInfoContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.d.ts +11 -0
- package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.d.ts +2 -0
- package/lib/types/src/modules/solana/trusted-name/data/HttpTrustedNameDataSource.test.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/data/TrustedNameDataSource.d.ts +18 -0
- package/lib/types/src/modules/solana/trusted-name/data/TrustedNameDataSource.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/di/trustedNameModuleFactory.d.ts +3 -0
- package/lib/types/src/modules/solana/trusted-name/di/trustedNameModuleFactory.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/di/trustedNameTypes.d.ts +5 -0
- package/lib/types/src/modules/solana/trusted-name/di/trustedNameTypes.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.d.ts +29 -0
- package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.d.ts.map +1 -0
- package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.d.ts +2 -0
- package/lib/types/src/modules/solana/trusted-name/domain/TrustedNameContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/shared/model/ClearSignContext.d.ts +7 -1
- package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
- package/lib/types/src/shared/utils/HexStringUtils.d.ts +7 -0
- package/lib/types/src/shared/utils/HexStringUtils.d.ts.map +1 -1
- package/lib/types/src/shared/utils/bs58Encoder.d.ts +9 -0
- package/lib/types/src/shared/utils/bs58Encoder.d.ts.map +1 -0
- package/lib/types/src/shared/utils/certificateCache.d.ts +23 -0
- package/lib/types/src/shared/utils/certificateCache.d.ts.map +1 -0
- package/lib/types/src/shared/utils/certificateCache.test.d.ts +2 -0
- package/lib/types/src/shared/utils/certificateCache.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/certificateResult.d.ts +26 -0
- package/lib/types/src/shared/utils/certificateResult.d.ts.map +1 -0
- package/lib/types/src/shared/utils/certificateResult.test.d.ts +2 -0
- package/lib/types/src/shared/utils/certificateResult.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/challengeBoundLoader.d.ts +43 -0
- package/lib/types/src/shared/utils/challengeBoundLoader.d.ts.map +1 -0
- package/lib/types/src/shared/utils/challengeBoundLoader.test.d.ts +2 -0
- package/lib/types/src/shared/utils/challengeBoundLoader.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/deviceModelIdCodec.d.ts +7 -0
- package/lib/types/src/shared/utils/deviceModelIdCodec.d.ts.map +1 -0
- package/lib/types/src/shared/utils/deviceModelIdCodec.test.d.ts +2 -0
- package/lib/types/src/shared/utils/deviceModelIdCodec.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/signedDescriptorDto.d.ts +15 -0
- package/lib/types/src/shared/utils/signedDescriptorDto.d.ts.map +1 -0
- package/lib/types/src/shared/utils/signedDescriptorDto.test.d.ts +2 -0
- package/lib/types/src/shared/utils/signedDescriptorDto.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/uIntCodec.d.ts +20 -0
- package/lib/types/src/shared/utils/uIntCodec.d.ts.map +1 -0
- package/lib/types/src/shared/utils/uIntCodec.test.d.ts +2 -0
- package/lib/types/src/shared/utils/uIntCodec.test.d.ts.map +1 -0
- package/lib/types/src/shared/utils/uint8ArrayCodec.d.ts +3 -0
- package/lib/types/src/shared/utils/uint8ArrayCodec.d.ts.map +1 -0
- package/lib/types/src/shared/utils/uint8ArrayCodec.test.d.ts +2 -0
- package/lib/types/src/shared/utils/uint8ArrayCodec.test.d.ts.map +1 -0
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeContainer as
|
|
1
|
+
import{makeContainer as x}from"./di";import{accountOwnershipTypes as g}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 C}from"./modules/ethereum/token/di/tokenTypes";import{trustedNameTypes as m}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 D}from"./modules/solana/instruction-info/di/instructionInfoTypes";import{lifiTypes as R}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 B}from"./modules/solana/trusted-name/di/trustedNameTypes";import{ContextModuleChainID as o}from"./shared/domain/ContextModuleChainID";import{ClearSignContextType as i}from"./shared/model/ClearSignContext";class ne{_container;_config;_loaders;_typedDataLoader;_fieldLoaders;_blindSigningReporter;constructor(e){this._config=e,this._container=x({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()}_getDefaultFieldLoaders(){return this._config.chain!==o.Ethereum?[]:[this._container.get(l.NftContextFieldLoader),this._container.get(C.TokenContextFieldLoader),this._container.get(m.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(m.TrustedNameContextLoader),this._container.get(l.NftContextLoader),this._container.get(C.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(R.LifiContextLoader),this._container.get(k.OwnerInfoContextLoader),this._container.get(s.TransactionCheckLoader),this._container.get(D.InstructionInfoContextLoader),this._container.get(S.EnumVariantContextLoader),this._container.get(w.TokenInfoContextLoader),this._container.get(F.TokenAccountStateContextLoader),this._container.get(_.AltResolutionContextLoader),this._container.get(B.SolanaTrustedNameContextLoader)];case o.Concordium:return[this._container.get(g.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(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)}}export{ne 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 { transactionCheckTypes } from \"@/modules/multichain/transaction-check/di/transactionCheckTypes\";\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 { 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\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 }\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 ];\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"],
|
|
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,iDAE9B,OAAS,yBAAAC,MAA6B,kEACtC,OAAS,aAAAC,MAAiB,qCAC1B,OAAS,kBAAAC,MAAsB,gDAC/B,OAAS,cAAcC,MAAwB,
|
|
6
|
-
"names": ["makeContainer", "accountOwnershipTypes", "calldataTypes", "dynamicNetworkTypes", "externalPluginTypes", "gatedSigningTypes", "nftTypes", "proxyTypes", "safeTypes", "ethereumTokenTypes", "trustedNameTypes", "typedDataTypes", "reporterTypes", "transactionCheckTypes", "lifiTypes", "ownerInfoTypes", "solanaTokenTypes", "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 { 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\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 }\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"],
|
|
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"]
|
|
7
7
|
}
|
package/lib/esm/src/di.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Container as n}from"inversify";import{configModuleFactory as i}from"./config/di/configModuleFactory";import{configTypes as c}from"./config/di/configTypes";import{accountOwnershipModuleFactory as u}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as
|
|
1
|
+
import{Container as n}from"inversify";import{configModuleFactory as i}from"./config/di/configModuleFactory";import{configTypes as c}from"./config/di/configTypes";import{accountOwnershipModuleFactory as u}from"./modules/concordium/account-ownership/di/accountOwnershipModuleFactory";import{calldataModuleFactory as l}from"./modules/ethereum/calldata/di/calldataModuleFactory";import{dynamicNetworkModuleFactory as d}from"./modules/ethereum/dynamic-network/di/dynamicNetworkModuleFactory";import{externalPluginModuleFactory as p}from"./modules/ethereum/external-plugin/di/externalPluginModuleFactory";import{gatedSigningModuleFactory as y}from"./modules/ethereum/gated-signing/di/gatedSigningModuleFactory";import{nftModuleFactory as f}from"./modules/ethereum/nft/di/nftModuleFactory";import{proxyModuleFactory as M}from"./modules/ethereum/proxy/di/proxyModuleFactory";import{safeModuleFactory as s}from"./modules/ethereum/safe/di/safeModuleFactory";import{tokenModuleFactory as F}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 k}from"./modules/ethereum/uniswap/di/uniswapModuleFactory";import{nanoPkiModuleFactory as t}from"./modules/multichain/pki/di/pkiModuleFactory";import{reporterModuleFactory as h}from"./modules/multichain/reporter/di/reporterModuleFactory";import{ethereumTransactionCheckModuleFactory as S}from"./modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory";import{solanaTransactionCheckModuleFactory as x}from"./modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory";import{altResolutionModuleFactory as v}from"./modules/solana/alt-resolution/di/altResolutionModuleFactory";import{enumVariantModuleFactory as w}from"./modules/solana/enum-variant/di/enumVariantModuleFactory";import{instructionInfoModuleFactory as T}from"./modules/solana/instruction-info/di/instructionInfoModuleFactory";import{lifiModuleFactory as b}from"./modules/solana/lifi/di/lifiModuleFactory";import{ownerInfoModuleFactory as L}from"./modules/solana/owner-info/di/ownerInfoModuleFactory";import{tokenModuleFactory as I}from"./modules/solana/token/di/tokenModuleFactory";import{tokenAccountStateModuleFactory as N}from"./modules/solana/token-account-state/di/tokenAccountStateModuleFactory";import{tokenInfoModuleFactory as P}from"./modules/solana/token-info/di/tokenInfoModuleFactory";import{solanaTrustedNameModuleFactory as A}from"./modules/solana/trusted-name/di/trustedNameModuleFactory";import{ContextModuleChainID as e}from"./shared/domain/ContextModuleChainID";import{networkModuleFactory as D}from"./shared/network/di/networkModuleFactory";const lo=({config:o})=>{const r=new n;r.bind(c.ContextModuleLoggerFactory).toConstantValue(o.loggerFactory);const{chain:a}=o;switch(r.loadSync(i(o),D(o)),a){case e.Ethereum:r.loadSync(t(),h(),C(o.customTrustedNameDataSource),p(),d(),f(),M(o.datasource),s(),y(),F(),l(),g(),k(),S());break;case e.Solana:r.loadSync(t(),L(),I(),b(),x(),T(),w(),P(),N(),v(),A());break;case e.Concordium:r.loadSync(t(),u());break;default:{const m=a}}return r};export{lo as makeContainer};
|
|
2
2
|
//# sourceMappingURL=di.js.map
|
package/lib/esm/src/di.js.map
CHANGED
|
@@ -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 { ethereumTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/ethereumTransactionCheckModuleFactory\";\nimport { solanaTransactionCheckModuleFactory } from \"@/modules/multichain/transaction-check/di/solanaTransactionCheckModuleFactory\";\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 { 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 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 ownerInfoModuleFactory(),\n solanaTokenModuleFactory(),\n lifiModuleFactory(),\n solanaTransactionCheckModuleFactory(),\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,yCAAAC,MAA6C,kFACtD,OAAS,uCAAAC,MAA2C,gFACpD,OAAS,qBAAAC,MAAyB,6CAClC,OAAS,0BAAAC,MAA8B,wDACvC,OAAS,sBAAsBC,MAAgC,+CAC/D,OAAS,wBAAAC,MAA4B,uCACrC,OAAS,wBAAAC,MAA4B,2CAM9B,MAAMC,
|
|
6
|
-
"names": ["Container", "configModuleFactory", "configTypes", "accountOwnershipModuleFactory", "calldataModuleFactory", "dynamicNetworkModuleFactory", "externalPluginModuleFactory", "gatedSigningModuleFactory", "nftModuleFactory", "proxyModuleFactory", "safeModuleFactory", "ethereumTokenModuleFactory", "trustedNameModuleFactory", "typedDataModuleFactory", "uniswapModuleFactory", "nanoPkiModuleFactory", "reporterModuleFactory", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "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 { 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 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 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,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,IAAIhC,EAEtBgC,EACG,KAEC9B,EAAY,0BAA0B,EACvC,gBAAgB6B,EAAO,aAAa,EAEvC,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAKlB,OAFAC,EAAU,SAAS/B,EAAoB8B,CAAM,EAAGF,EAAqBE,CAAM,CAAC,EAEpEE,EAAO,CACb,KAAKL,EAAqB,SACxBI,EAAU,SACRjB,EAAqB,EACrBC,EAAsB,EACtBJ,EAAyBmB,EAAO,2BAA2B,EAC3DzB,EAA4B,EAC5BD,EAA4B,EAC5BG,EAAiB,EACjBC,EAAmBsB,EAAO,UAAU,EACpCrB,EAAkB,EAClBH,EAA0B,EAC1BI,EAA2B,EAC3BP,EAAsB,EACtBS,EAAuB,EACvBC,EAAqB,EACrBG,EAAsC,CACxC,EACA,MACF,KAAKW,EAAqB,OACxBI,EAAU,SACRjB,EAAqB,EACrBQ,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,SACRjB,EAAqB,EACrBZ,EAA8B,CAChC,EACA,MACF,QAAS,CAEP,MAAM+B,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", "ethereumTransactionCheckModuleFactory", "solanaTransactionCheckModuleFactory", "altResolutionModuleFactory", "enumVariantModuleFactory", "instructionInfoModuleFactory", "lifiModuleFactory", "ownerInfoModuleFactory", "solanaTokenModuleFactory", "tokenAccountStateModuleFactory", "tokenInfoModuleFactory", "solanaTrustedNameModuleFactory", "ContextModuleChainID", "networkModuleFactory", "makeContainer", "config", "container", "chain", "exhaustiveCheck"]
|
|
7
7
|
}
|
package/lib/esm/src/index.js
CHANGED
|
@@ -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/reporter/model/BlindSigningModelId";export*from"./modules/multichain/transaction-check/utils/constants";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"./shared/domain/ContextFieldLoader";export*from"./shared/domain/ContextLoader";export*from"./shared/domain/ContextModuleChainID";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/reporter/model/BlindSigningModelId";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/ClearSignContext";export*from"./shared/model/GenericPath";export*from"./shared/model/TransactionSubset";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/src/index.js.map
CHANGED
|
@@ -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/reporter/model/BlindSigningModelId\";\nexport * from \"./modules/multichain/transaction-check/utils/constants\";\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 \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/domain/ContextModuleChainID\";\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,0DACd,WAAc,yDACd,WAAc,gDACd,WAAc,4CACd,WAAc,sDACd,WAAc,2DACd,WAAc,uDACd,WAAc,4DACd,WAAc,wDACd,WAAc,qCACd,WAAc,gCACd,WAAc,uCACd,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/reporter/model/BlindSigningModelId\";\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/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,0DACd,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,kCACd,WAAc,6BACd,WAAc",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var u=(i,e,r,t)=>{for(var o=t>1?void 0:t?T(e,r):e,s=i.length-1,n;s>=0;s--)(n=i[s])&&(o=(t?n(e,r,o):n(o))||o);return t&&o&&_(e,r,o),o},c=(i,e)=>(r,t)=>e(r,t,i);import{isHexaString as E}from"@ledgerhq/device-management-kit";import{inject as g,injectable as I}from"inversify";import{configTypes as h}from"../../../../config/di/configTypes";import{gatedSigningTypes as P}from"../../../../modules/ethereum/gated-signing/di/gatedSigningTypes";import{proxyTypes as R}from"../../../../modules/ethereum/proxy/di/proxyTypes";import{pkiTypes as v}from"../../../../modules/multichain/pki/di/pkiTypes";import{KeyId as H}from"../../../../modules/multichain/pki/model/KeyId";import{KeyUsage as N}from"../../../../modules/multichain/pki/model/KeyUsage";import{ClearSignContextType as a}from"../../../../shared/model/ClearSignContext";const L=[a.ETHEREUM_GATED_SIGNING];function A(i){const e=i.toLowerCase();return e.startsWith("0x")?e:`0x${e}`}let l=class{constructor(e,r,t,o){this._dataSource=e;this._certificateLoader=r;this._proxyDataSource=t;this.logger=o("GatedSigningContextLoader")}logger;canHandle(e,r){return L.every(t=>r.includes(t))&&typeof e=="object"&&e!==null&&"to"in e&&E(e.to)&&e.to!=="0x"&&"selector"in e&&E(e.selector)&&"chainId"in e&&typeof e.chainId=="number"&&"deviceModelId"in e&&e.deviceModelId!==void 0}async load({to:e,selector:r,chainId:t,deviceModelId:o}){const s=await this._dataSource.getGatedDescriptor({contractAddress:e,selector:r,chainId:t});if(s.isRight()){const{signedDescriptor:d}=s.unsafeCoerce(),G=await this._loadGatedCertificate(o);return this.logger.debug("load result",{data:{path:"direct",to:e,selector:r,chainId:t,contextTypes:[a.ETHEREUM_GATED_SIGNING]}}),[{type:a.ETHEREUM_GATED_SIGNING,payload:d,certificate:G}]}const n=s.extract(),f={type:a.ERROR,error:n},y=await this._proxyDataSource.getProxyImplementationAddress({proxyAddress:e,chainId:t,challenge:"",calldata:"0x"});if(y.isLeft()){const d=y.extract();return this.logger.warn("No gated descriptor found and proxy resolution failed",{data:{to:e,selector:r,chainId:t,directError:n.message,proxyError:d.message}}),[f]}const p=y.unsafeCoerce(),m=A(p.implementationAddress),x=await this._dataSource.getGatedDescriptor({contractAddress:m,selector:r,chainId:t});if(x.isLeft()){const d=x.extract();return this.logger.warn("No gated descriptor found for proxy implementation address",{data:{to:e,implementationAddress:m,selector:r,chainId:t,directError:n.message,implError:d.message}}),[f]}const{signedDescriptor:S}=x.unsafeCoerce(),[C,D]=await Promise.all([this._certificateLoader.loadCertificate({keyId:p.keyId,keyUsage:p.keyUsage,targetDevice:o}),this._loadGatedCertificate(o)]);return this.logger.debug("load result",{data:{path:"proxy",to:e,implementationAddress:m,selector:r,chainId:t,contextTypes:[a.ETHEREUM_PROXY_INFO,a.ETHEREUM_GATED_SIGNING]}}),[{type:a.ETHEREUM_PROXY_INFO,payload:p.signedDescriptor,certificate:C},{type:a.ETHEREUM_GATED_SIGNING,payload:S,certificate:D}]}_loadGatedCertificate(e){return this._certificateLoader.loadCertificate({keyId:H.CalGatedSigning,keyUsage:N.GatedSigning,targetDevice:e})}};l=u([I(),c(0,g(P.GatedDescriptorDataSource)),c(1,g(v.PkiCertificateLoader)),c(2,g(R.ProxyDataSource)),c(3,g(h.ContextModuleLoggerFactory))],l);export{l as GatedSigningContextLoader};
|
|
2
2
|
//# sourceMappingURL=GatedSigningContextLoader.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n DeviceModelId,\n HexaString,\n isHexaString,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { type GatedDescriptorDataSource } from \"@/modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { ProxyDataSource } from \"@/modules/ethereum/proxy/data/ProxyDataSource\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { pkiTypes } from \"@/modules/multichain/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/modules/multichain/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/modules/multichain/pki/model/KeyId\";\nimport { KeyUsage } from \"@/modules/multichain/pki/model/KeyUsage\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport type GatedSigningContextInput = {\n to: HexaString;\n selector: HexaString;\n chainId: number;\n deviceModelId: DeviceModelId;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.ETHEREUM_GATED_SIGNING,\n];\n\nfunction normalizeAddress(address: string): HexaString {\n const lower = address.toLowerCase();\n return (lower.startsWith(\"0x\") ? lower : `0x${lower}`) as HexaString;\n}\n\n@injectable()\nexport class GatedSigningContextLoader\n implements ContextLoader<GatedSigningContextInput>\n{\n constructor(\n @inject(gatedSigningTypes.GatedDescriptorDataSource)\n private readonly _dataSource: GatedDescriptorDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n @inject(proxyTypes.ProxyDataSource)\n private readonly _proxyDataSource: ProxyDataSource,\n ) {}\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is GatedSigningContextInput {\n return (\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type)) &&\n typeof input === \"object\" &&\n input !== null &&\n \"to\" in input &&\n isHexaString(input.to) &&\n input.to !== \"0x\" &&\n \"selector\" in input &&\n isHexaString(input.selector) &&\n \"chainId\" in input &&\n typeof input.chainId === \"number\" &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined\n );\n }\n\n async load({\n to,\n selector,\n chainId,\n deviceModelId,\n }: GatedSigningContextInput): Promise<ClearSignContext[]> {\n const directResult = await this._dataSource.getGatedDescriptor({\n contractAddress: to,\n selector,\n chainId,\n });\n\n if (directResult.isRight()) {\n const { signedDescriptor } = directResult.unsafeCoerce();\n const certificate = await this._loadGatedCertificate(deviceModelId);\n return [\n {\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n certificate,\n },\n ];\n }\n\n const errorContext: ClearSignContext = {\n type: ClearSignContextType.ERROR,\n error:
|
|
5
|
-
"mappings": "iOAAA,OAGE,gBAAAA,
|
|
6
|
-
"names": ["isHexaString", "inject", "injectable", "gatedSigningTypes", "proxyTypes", "pkiTypes", "KeyId", "KeyUsage", "ClearSignContextType", "SUPPORTED_TYPES", "ClearSignContextType", "normalizeAddress", "address", "lower", "GatedSigningContextLoader", "_dataSource", "_certificateLoader", "_proxyDataSource", "input", "expectedTypes", "type", "isHexaString", "to", "selector", "chainId", "deviceModelId", "directResult", "signedDescriptor", "certificate", "errorContext", "proxyResult", "proxyData", "implementationAddress", "implGatedResult", "proxyCertificate", "gatedCertificate", "KeyId", "KeyUsage", "__decorateClass", "injectable", "__decorateParam", "inject", "gatedSigningTypes", "pkiTypes", "proxyTypes"]
|
|
4
|
+
"sourcesContent": ["import {\n DeviceModelId,\n HexaString,\n isHexaString,\n LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type GatedDescriptorDataSource } from \"@/modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nimport { gatedSigningTypes } from \"@/modules/ethereum/gated-signing/di/gatedSigningTypes\";\nimport type { ProxyDataSource } from \"@/modules/ethereum/proxy/data/ProxyDataSource\";\nimport { proxyTypes } from \"@/modules/ethereum/proxy/di/proxyTypes\";\nimport { pkiTypes } from \"@/modules/multichain/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/modules/multichain/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/modules/multichain/pki/model/KeyId\";\nimport { KeyUsage } from \"@/modules/multichain/pki/model/KeyUsage\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\n\nexport type GatedSigningContextInput = {\n to: HexaString;\n selector: HexaString;\n chainId: number;\n deviceModelId: DeviceModelId;\n};\n\nconst SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.ETHEREUM_GATED_SIGNING,\n];\n\nfunction normalizeAddress(address: string): HexaString {\n const lower = address.toLowerCase();\n return (lower.startsWith(\"0x\") ? lower : `0x${lower}`) as HexaString;\n}\n\n@injectable()\nexport class GatedSigningContextLoader\n implements ContextLoader<GatedSigningContextInput>\n{\n private readonly logger: LoggerPublisherService;\n\n constructor(\n @inject(gatedSigningTypes.GatedDescriptorDataSource)\n private readonly _dataSource: GatedDescriptorDataSource,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n @inject(proxyTypes.ProxyDataSource)\n private readonly _proxyDataSource: ProxyDataSource,\n @inject(configTypes.ContextModuleLoggerFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n ) {\n this.logger = loggerFactory(\"GatedSigningContextLoader\");\n }\n\n canHandle(\n input: unknown,\n expectedTypes: ClearSignContextType[],\n ): input is GatedSigningContextInput {\n return (\n SUPPORTED_TYPES.every((type) => expectedTypes.includes(type)) &&\n typeof input === \"object\" &&\n input !== null &&\n \"to\" in input &&\n isHexaString(input.to) &&\n input.to !== \"0x\" &&\n \"selector\" in input &&\n isHexaString(input.selector) &&\n \"chainId\" in input &&\n typeof input.chainId === \"number\" &&\n \"deviceModelId\" in input &&\n input.deviceModelId !== undefined\n );\n }\n\n async load({\n to,\n selector,\n chainId,\n deviceModelId,\n }: GatedSigningContextInput): Promise<ClearSignContext[]> {\n const directResult = await this._dataSource.getGatedDescriptor({\n contractAddress: to,\n selector,\n chainId,\n });\n\n if (directResult.isRight()) {\n const { signedDescriptor } = directResult.unsafeCoerce();\n const certificate = await this._loadGatedCertificate(deviceModelId);\n this.logger.debug(\"load result\", {\n data: {\n path: \"direct\",\n to,\n selector,\n chainId,\n contextTypes: [ClearSignContextType.ETHEREUM_GATED_SIGNING],\n },\n });\n return [\n {\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n certificate,\n },\n ];\n }\n\n const directError = directResult.extract() as Error;\n const errorContext: ClearSignContext = {\n type: ClearSignContextType.ERROR,\n error: directError,\n };\n\n const proxyResult =\n await this._proxyDataSource.getProxyImplementationAddress({\n proxyAddress: to,\n chainId,\n challenge: \"\",\n calldata: \"0x\",\n });\n\n if (proxyResult.isLeft()) {\n const proxyError = proxyResult.extract() as Error;\n this.logger.warn(\n \"No gated descriptor found and proxy resolution failed\",\n {\n data: {\n to,\n selector,\n chainId,\n directError: directError.message,\n proxyError: proxyError.message,\n },\n },\n );\n return [errorContext];\n }\n\n const proxyData = proxyResult.unsafeCoerce();\n const implementationAddress = normalizeAddress(\n proxyData.implementationAddress,\n );\n\n const implGatedResult = await this._dataSource.getGatedDescriptor({\n contractAddress: implementationAddress,\n selector,\n chainId,\n });\n\n if (implGatedResult.isLeft()) {\n const implError = implGatedResult.extract() as Error;\n this.logger.warn(\n \"No gated descriptor found for proxy implementation address\",\n {\n data: {\n to,\n implementationAddress,\n selector,\n chainId,\n directError: directError.message,\n implError: implError.message,\n },\n },\n );\n return [errorContext];\n }\n\n const { signedDescriptor } = implGatedResult.unsafeCoerce();\n const [proxyCertificate, gatedCertificate] = await Promise.all([\n this._certificateLoader.loadCertificate({\n keyId: proxyData.keyId,\n keyUsage: proxyData.keyUsage,\n targetDevice: deviceModelId,\n }),\n this._loadGatedCertificate(deviceModelId),\n ]);\n\n this.logger.debug(\"load result\", {\n data: {\n path: \"proxy\",\n to,\n implementationAddress,\n selector,\n chainId,\n contextTypes: [\n ClearSignContextType.ETHEREUM_PROXY_INFO,\n ClearSignContextType.ETHEREUM_GATED_SIGNING,\n ],\n },\n });\n return [\n {\n type: ClearSignContextType.ETHEREUM_PROXY_INFO,\n payload: proxyData.signedDescriptor,\n certificate: proxyCertificate,\n },\n {\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n certificate: gatedCertificate,\n },\n ];\n }\n\n private _loadGatedCertificate(deviceModelId: DeviceModelId) {\n return this._certificateLoader.loadCertificate({\n keyId: KeyId.CalGatedSigning,\n keyUsage: KeyUsage.GatedSigning,\n targetDevice: deviceModelId,\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isHexaString", "inject", "injectable", "configTypes", "gatedSigningTypes", "proxyTypes", "pkiTypes", "KeyId", "KeyUsage", "ClearSignContextType", "SUPPORTED_TYPES", "ClearSignContextType", "normalizeAddress", "address", "lower", "GatedSigningContextLoader", "_dataSource", "_certificateLoader", "_proxyDataSource", "loggerFactory", "input", "expectedTypes", "type", "isHexaString", "to", "selector", "chainId", "deviceModelId", "directResult", "signedDescriptor", "certificate", "directError", "errorContext", "proxyResult", "proxyError", "proxyData", "implementationAddress", "implGatedResult", "implError", "proxyCertificate", "gatedCertificate", "KeyId", "KeyUsage", "__decorateClass", "injectable", "__decorateParam", "inject", "gatedSigningTypes", "pkiTypes", "proxyTypes", "configTypes"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{DeviceModelId as p}from"@ledgerhq/device-management-kit";import{Left as f,Right as
|
|
1
|
+
import{DeviceModelId as p}from"@ledgerhq/device-management-kit";import{Left as f,Right as c}from"purify-ts";import{GatedSigningContextLoader as y}from"../../../../modules/ethereum/gated-signing/domain/GatedSigningContextLoader";import{KeyId as x}from"../../../../modules/multichain/pki/model/KeyId";import{KeyUsage as m}from"../../../../modules/multichain/pki/model/KeyUsage";import{ClearSignContextType as i}from"../../../../shared/model/ClearSignContext";describe("GatedSigningContextLoader",()=>{const o={getGatedDescriptor:vi.fn(),getGatedDescriptorForTypedData:vi.fn()},n={loadCertificate:vi.fn()},d={getProxyImplementationAddress:vi.fn()},h=()=>({debug:vi.fn(),info:vi.fn(),warn:vi.fn(),error:vi.fn(),subscribers:[]}),r=new y(o,n,d,h),g={keyUsageNumber:1,payload:new Uint8Array([1,2,3])},s=[i.ETHEREUM_GATED_SIGNING];beforeEach(()=>{vi.resetAllMocks(),vi.spyOn(n,"loadCertificate").mockResolvedValue(g)}),describe("canHandle function",()=>{const e={to:"0x1111111254fb6c44bac0bed2854e76f90643097d",selector:"0xa1251d75",chainId:1,deviceModelId:p.STAX};it("should return true for valid input",()=>{expect(r.canHandle(e,s)).toBe(!0)}),it("should return false for invalid expected type",()=>{expect(r.canHandle(e,[i.ETHEREUM_TOKEN])).toBe(!1),expect(r.canHandle(e,[i.ETHEREUM_DYNAMIC_NETWORK])).toBe(!1)}),it.each([[null,"null input"],[void 0,"undefined input"],[{},"empty object"],["string","string input"],[123,"number input"]])("should return false for %s",(a,t)=>{expect(r.canHandle(a,s)).toBe(!1)}),it.each([[{...e,to:void 0},"missing to"],[{...e,selector:void 0},"missing selector"],[{...e,chainId:void 0},"missing chainId"],[{...e,deviceModelId:void 0},"missing deviceModelId"]])("should return false for %s",(a,t)=>{expect(r.canHandle(a,s)).toBe(!1)}),it.each([[{...e,to:"0x"},"empty to (0x)"],[{...e,to:"not-hex"},"non-hex to"],[{...e,selector:"not-hex"},"non-hex selector"],[{...e,chainId:"1"},"string chainId"],[{...e,chainId:null},"null chainId"]])("should return false for %s",(a,t)=>{expect(r.canHandle(a,s)).toBe(!1)})}),describe("load function",()=>{const e={to:"0x1111111254fb6c44bac0bed2854e76f90643097d",selector:"0xa1251d75",chainId:1,deviceModelId:p.STAX},a="010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735150100";it("should return error context when getGatedDescriptor returns Left and proxy resolution fails",async()=>{const t=new Error("Failed to fetch gated descriptors");vi.spyOn(o,"getGatedDescriptor").mockResolvedValue(f(t)),vi.spyOn(d,"getProxyImplementationAddress").mockResolvedValue(f(new Error("Not a proxy")));const l=await r.load(e);expect(l).toEqual([{type:i.ERROR,error:t}]),expect(o.getGatedDescriptor).toHaveBeenCalledWith({contractAddress:e.to,selector:e.selector,chainId:e.chainId}),expect(d.getProxyImplementationAddress).toHaveBeenCalledWith({proxyAddress:e.to,chainId:e.chainId,challenge:"",calldata:"0x"}),expect(n.loadCertificate).not.toHaveBeenCalled()}),it("should return gated signing context when getGatedDescriptor succeeds",async()=>{vi.spyOn(o,"getGatedDescriptor").mockResolvedValue(c({signedDescriptor:a}));const t=await r.load(e);expect(t).toHaveLength(1),expect(t[0]).toMatchObject({type:i.ETHEREUM_GATED_SIGNING,payload:a,certificate:g}),expect(o.getGatedDescriptor).toHaveBeenCalledWith({contractAddress:e.to,selector:e.selector,chainId:e.chainId}),expect(n.loadCertificate).toHaveBeenCalledWith({keyId:x.CalGatedSigning,keyUsage:m.GatedSigning,targetDevice:e.deviceModelId})}),it("should pass to as contractAddress to getGatedDescriptor",async()=>{const t="0xabcdef1234567890abcdef1234567890abcdef12";vi.spyOn(o,"getGatedDescriptor").mockResolvedValue(c({signedDescriptor:a})),await r.load({...e,to:t}),expect(o.getGatedDescriptor).toHaveBeenCalledWith(expect.objectContaining({contractAddress:t}))}),it("should request certificate for correct device model",async()=>{vi.spyOn(o,"getGatedDescriptor").mockResolvedValue(c({signedDescriptor:a})),await r.load({...e,deviceModelId:p.FLEX}),expect(n.loadCertificate).toHaveBeenCalledWith({keyId:x.CalGatedSigning,keyUsage:m.GatedSigning,targetDevice:p.FLEX})}),it("should reject when certificate loading fails",async()=>{const t=new Error("Certificate loading failed");vi.spyOn(o,"getGatedDescriptor").mockResolvedValue(c({signedDescriptor:a})),vi.spyOn(n,"loadCertificate").mockRejectedValue(t),await expect(r.load(e)).rejects.toThrow(t)}),it("should return PROXY_INFO and GATED_SIGNING when to is proxy and gated descriptor exists for implementation",async()=>{const t="0xabcdef1234567890abcdef1234567890abcdef12",l="0xproxy-descriptor";vi.spyOn(o,"getGatedDescriptor").mockResolvedValueOnce(f(new Error("No gated descriptor"))).mockResolvedValueOnce(c({signedDescriptor:a})),vi.spyOn(d,"getProxyImplementationAddress").mockResolvedValue(c({implementationAddress:t,signedDescriptor:l,keyId:"domain-metadata",keyUsage:"trusted-name"}));const u=await r.load(e);expect(u).toHaveLength(2),expect(u[0]).toMatchObject({type:i.ETHEREUM_PROXY_INFO,payload:l}),expect(u[1]).toMatchObject({type:i.ETHEREUM_GATED_SIGNING,payload:a}),expect(o.getGatedDescriptor).toHaveBeenCalledTimes(2),expect(o.getGatedDescriptor).toHaveBeenNthCalledWith(1,{contractAddress:e.to,selector:e.selector,chainId:e.chainId}),expect(o.getGatedDescriptor).toHaveBeenNthCalledWith(2,{contractAddress:t.toLowerCase(),selector:e.selector,chainId:e.chainId})})})});
|
|
2
2
|
//# sourceMappingURL=GatedSigningContextLoader.test.js.map
|
package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/modules/ethereum/gated-signing/domain/GatedSigningContextLoader.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type GatedDescriptorDataSource } from \"@/modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nimport {\n type GatedSigningContextInput,\n GatedSigningContextLoader,\n} from \"@/modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nimport type { ProxyDataSource } from \"@/modules/ethereum/proxy/data/ProxyDataSource\";\nimport { type PkiCertificateLoader } from \"@/modules/multichain/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/modules/multichain/pki/model/KeyId\";\nimport { KeyUsage } from \"@/modules/multichain/pki/model/KeyUsage\";\nimport { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\n\ndescribe(\"GatedSigningContextLoader\", () => {\n const mockGatedDescriptorDataSource: GatedDescriptorDataSource = {\n getGatedDescriptor: vi.fn(),\n getGatedDescriptorForTypedData: vi.fn(),\n };\n\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n\n const mockProxyDataSource: ProxyDataSource = {\n getProxyImplementationAddress: vi.fn(),\n };\n\n const loader = new GatedSigningContextLoader(\n mockGatedDescriptorDataSource,\n mockCertificateLoader,\n mockProxyDataSource,\n );\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([0x01, 0x02, 0x03]),\n };\n\n const SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.ETHEREUM_GATED_SIGNING,\n ];\n\n beforeEach(() => {\n vi.resetAllMocks();\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: GatedSigningContextInput = {\n to: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"0xa1251d75\",\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, SUPPORTED_TYPES)).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(\n loader.canHandle(validInput, [ClearSignContextType.ETHEREUM_TOKEN]),\n ).toBe(false);\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.ETHEREUM_DYNAMIC_NETWORK,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: undefined }, \"missing to\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: \"0x\" }, \"empty to (0x)\"],\n [{ ...validInput, to: \"not-hex\" }, \"non-hex to\"],\n [{ ...validInput, selector: \"not-hex\" }, \"non-hex selector\"],\n [{ ...validInput, chainId: \"1\" as unknown as number }, \"string chainId\"],\n [{ ...validInput, chainId: null as unknown as number }, \"null chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n });\n\n describe(\"load function\", () => {\n const validInput: GatedSigningContextInput = {\n to: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"0xa1251d75\",\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n\n const signedDescriptor =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735150100\";\n\n it(\"should return error context when getGatedDescriptor returns Left and proxy resolution fails\", async () => {\n const error = new Error(\"Failed to fetch gated descriptors\");\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Left(error));\n vi.spyOn(\n mockProxyDataSource,\n \"getProxyImplementationAddress\",\n ).mockResolvedValue(Left(new Error(\"Not a proxy\")));\n\n const result = await loader.load(validInput);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error,\n },\n ]);\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith({\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(\n mockProxyDataSource.getProxyImplementationAddress,\n ).toHaveBeenCalledWith({\n proxyAddress: validInput.to,\n chainId: validInput.chainId,\n challenge: \"\",\n calldata: \"0x\",\n });\n expect(mockCertificateLoader.loadCertificate).not.toHaveBeenCalled();\n });\n\n it(\"should return gated signing context when getGatedDescriptor succeeds\", async () => {\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n const result = await loader.load(validInput);\n\n expect(result).toHaveLength(1);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n certificate: mockCertificate,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith({\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: KeyId.CalGatedSigning,\n keyUsage: KeyUsage.GatedSigning,\n targetDevice: validInput.deviceModelId,\n });\n });\n\n it(\"should pass to as contractAddress to getGatedDescriptor\", async () => {\n const customTo = \"0xabcdef1234567890abcdef1234567890abcdef12\";\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n await loader.load({\n ...validInput,\n to: customTo,\n });\n\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith(\n expect.objectContaining({\n contractAddress: customTo,\n }),\n );\n });\n\n it(\"should request certificate for correct device model\", async () => {\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n await loader.load({\n ...validInput,\n deviceModelId: DeviceModelId.FLEX,\n });\n\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: KeyId.CalGatedSigning,\n keyUsage: KeyUsage.GatedSigning,\n targetDevice: DeviceModelId.FLEX,\n });\n });\n\n it(\"should reject when certificate loading fails\", async () => {\n const certificateError = new Error(\"Certificate loading failed\");\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockRejectedValue(\n certificateError,\n );\n\n await expect(loader.load(validInput)).rejects.toThrow(certificateError);\n });\n\n it(\"should return PROXY_INFO and GATED_SIGNING when to is proxy and gated descriptor exists for implementation\", async () => {\n const implementationAddress =\n \"0xabcdef1234567890abcdef1234567890abcdef12\";\n const proxySignedDescriptor = \"0xproxy-descriptor\";\n vi.spyOn(mockGatedDescriptorDataSource, \"getGatedDescriptor\")\n .mockResolvedValueOnce(Left(new Error(\"No gated descriptor\")))\n .mockResolvedValueOnce(Right({ signedDescriptor }));\n vi.spyOn(\n mockProxyDataSource,\n \"getProxyImplementationAddress\",\n ).mockResolvedValue(\n Right({\n implementationAddress,\n signedDescriptor: proxySignedDescriptor,\n keyId: \"domain-metadata\",\n keyUsage: \"trusted-name\",\n }),\n );\n\n const result = await loader.load(validInput);\n\n expect(result).toHaveLength(2);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_PROXY_INFO,\n payload: proxySignedDescriptor,\n });\n expect(result[1]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledTimes(2);\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenNthCalledWith(1, {\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenNthCalledWith(2, {\n contractAddress: implementationAddress.toLowerCase(),\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAAS,iBAAAA,MAAqB,kCAC9B,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAG5B,OAEE,6BAAAC,MACK,oEAGP,OAAS,SAAAC,MAAa,uCACtB,OAAS,YAAAC,MAAgB,0CAEzB,OAAS,wBAAAC,MAA4B,kCAErC,SAAS,4BAA6B,IAAM,CAC1C,MAAMC,EAA2D,CAC/D,mBAAoB,GAAG,GAAG,EAC1B,+BAAgC,GAAG,GAAG,CACxC,EAEMC,EAA8C,CAClD,gBAAiB,GAAG,GAAG,CACzB,EAEMC,EAAuC,CAC3C,8BAA+B,GAAG,GAAG,CACvC,EAEMC,EAAS,
|
|
6
|
-
"names": ["DeviceModelId", "Left", "Right", "GatedSigningContextLoader", "KeyId", "KeyUsage", "ClearSignContextType", "mockGatedDescriptorDataSource", "mockCertificateLoader", "mockProxyDataSource", "loader", "mockCertificate", "SUPPORTED_TYPES", "validInput", "input", "_description", "signedDescriptor", "error", "result", "customTo", "certificateError", "implementationAddress", "proxySignedDescriptor"]
|
|
4
|
+
"sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type GatedDescriptorDataSource } from \"@/modules/ethereum/gated-signing/data/GatedDescriptorDataSource\";\nimport {\n type GatedSigningContextInput,\n GatedSigningContextLoader,\n} from \"@/modules/ethereum/gated-signing/domain/GatedSigningContextLoader\";\nimport type { ProxyDataSource } from \"@/modules/ethereum/proxy/data/ProxyDataSource\";\nimport { type PkiCertificateLoader } from \"@/modules/multichain/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/modules/multichain/pki/model/KeyId\";\nimport { KeyUsage } from \"@/modules/multichain/pki/model/KeyUsage\";\nimport { type PkiCertificate } from \"@/modules/multichain/pki/model/PkiCertificate\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\n\ndescribe(\"GatedSigningContextLoader\", () => {\n const mockGatedDescriptorDataSource: GatedDescriptorDataSource = {\n getGatedDescriptor: vi.fn(),\n getGatedDescriptorForTypedData: vi.fn(),\n };\n\n const mockCertificateLoader: PkiCertificateLoader = {\n loadCertificate: vi.fn(),\n };\n\n const mockProxyDataSource: ProxyDataSource = {\n getProxyImplementationAddress: vi.fn(),\n };\n\n const mockLoggerFactory = () => ({\n debug: vi.fn(),\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n subscribers: [],\n });\n\n const loader = new GatedSigningContextLoader(\n mockGatedDescriptorDataSource,\n mockCertificateLoader,\n mockProxyDataSource,\n mockLoggerFactory,\n );\n\n const mockCertificate: PkiCertificate = {\n keyUsageNumber: 1,\n payload: new Uint8Array([0x01, 0x02, 0x03]),\n };\n\n const SUPPORTED_TYPES: ClearSignContextType[] = [\n ClearSignContextType.ETHEREUM_GATED_SIGNING,\n ];\n\n beforeEach(() => {\n vi.resetAllMocks();\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockResolvedValue(\n mockCertificate,\n );\n });\n\n describe(\"canHandle function\", () => {\n const validInput: GatedSigningContextInput = {\n to: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"0xa1251d75\",\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n\n it(\"should return true for valid input\", () => {\n expect(loader.canHandle(validInput, SUPPORTED_TYPES)).toBe(true);\n });\n\n it(\"should return false for invalid expected type\", () => {\n expect(\n loader.canHandle(validInput, [ClearSignContextType.ETHEREUM_TOKEN]),\n ).toBe(false);\n expect(\n loader.canHandle(validInput, [\n ClearSignContextType.ETHEREUM_DYNAMIC_NETWORK,\n ]),\n ).toBe(false);\n });\n\n it.each([\n [null, \"null input\"],\n [undefined, \"undefined input\"],\n [{}, \"empty object\"],\n [\"string\", \"string input\"],\n [123, \"number input\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: undefined }, \"missing to\"],\n [{ ...validInput, selector: undefined }, \"missing selector\"],\n [{ ...validInput, chainId: undefined }, \"missing chainId\"],\n [{ ...validInput, deviceModelId: undefined }, \"missing deviceModelId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n\n it.each([\n [{ ...validInput, to: \"0x\" }, \"empty to (0x)\"],\n [{ ...validInput, to: \"not-hex\" }, \"non-hex to\"],\n [{ ...validInput, selector: \"not-hex\" }, \"non-hex selector\"],\n [{ ...validInput, chainId: \"1\" as unknown as number }, \"string chainId\"],\n [{ ...validInput, chainId: null as unknown as number }, \"null chainId\"],\n ])(\"should return false for %s\", (input, _description) => {\n expect(loader.canHandle(input, SUPPORTED_TYPES)).toBe(false);\n });\n });\n\n describe(\"load function\", () => {\n const validInput: GatedSigningContextInput = {\n to: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"0xa1251d75\",\n chainId: 1,\n deviceModelId: DeviceModelId.STAX,\n };\n\n const signedDescriptor =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735150100\";\n\n it(\"should return error context when getGatedDescriptor returns Left and proxy resolution fails\", async () => {\n const error = new Error(\"Failed to fetch gated descriptors\");\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Left(error));\n vi.spyOn(\n mockProxyDataSource,\n \"getProxyImplementationAddress\",\n ).mockResolvedValue(Left(new Error(\"Not a proxy\")));\n\n const result = await loader.load(validInput);\n\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error,\n },\n ]);\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith({\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(\n mockProxyDataSource.getProxyImplementationAddress,\n ).toHaveBeenCalledWith({\n proxyAddress: validInput.to,\n chainId: validInput.chainId,\n challenge: \"\",\n calldata: \"0x\",\n });\n expect(mockCertificateLoader.loadCertificate).not.toHaveBeenCalled();\n });\n\n it(\"should return gated signing context when getGatedDescriptor succeeds\", async () => {\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n const result = await loader.load(validInput);\n\n expect(result).toHaveLength(1);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n certificate: mockCertificate,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith({\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: KeyId.CalGatedSigning,\n keyUsage: KeyUsage.GatedSigning,\n targetDevice: validInput.deviceModelId,\n });\n });\n\n it(\"should pass to as contractAddress to getGatedDescriptor\", async () => {\n const customTo = \"0xabcdef1234567890abcdef1234567890abcdef12\";\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n await loader.load({\n ...validInput,\n to: customTo,\n });\n\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledWith(\n expect.objectContaining({\n contractAddress: customTo,\n }),\n );\n });\n\n it(\"should request certificate for correct device model\", async () => {\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n\n await loader.load({\n ...validInput,\n deviceModelId: DeviceModelId.FLEX,\n });\n\n expect(mockCertificateLoader.loadCertificate).toHaveBeenCalledWith({\n keyId: KeyId.CalGatedSigning,\n keyUsage: KeyUsage.GatedSigning,\n targetDevice: DeviceModelId.FLEX,\n });\n });\n\n it(\"should reject when certificate loading fails\", async () => {\n const certificateError = new Error(\"Certificate loading failed\");\n vi.spyOn(\n mockGatedDescriptorDataSource,\n \"getGatedDescriptor\",\n ).mockResolvedValue(Right({ signedDescriptor }));\n vi.spyOn(mockCertificateLoader, \"loadCertificate\").mockRejectedValue(\n certificateError,\n );\n\n await expect(loader.load(validInput)).rejects.toThrow(certificateError);\n });\n\n it(\"should return PROXY_INFO and GATED_SIGNING when to is proxy and gated descriptor exists for implementation\", async () => {\n const implementationAddress =\n \"0xabcdef1234567890abcdef1234567890abcdef12\";\n const proxySignedDescriptor = \"0xproxy-descriptor\";\n vi.spyOn(mockGatedDescriptorDataSource, \"getGatedDescriptor\")\n .mockResolvedValueOnce(Left(new Error(\"No gated descriptor\")))\n .mockResolvedValueOnce(Right({ signedDescriptor }));\n vi.spyOn(\n mockProxyDataSource,\n \"getProxyImplementationAddress\",\n ).mockResolvedValue(\n Right({\n implementationAddress,\n signedDescriptor: proxySignedDescriptor,\n keyId: \"domain-metadata\",\n keyUsage: \"trusted-name\",\n }),\n );\n\n const result = await loader.load(validInput);\n\n expect(result).toHaveLength(2);\n expect(result[0]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_PROXY_INFO,\n payload: proxySignedDescriptor,\n });\n expect(result[1]).toMatchObject({\n type: ClearSignContextType.ETHEREUM_GATED_SIGNING,\n payload: signedDescriptor,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenCalledTimes(2);\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenNthCalledWith(1, {\n contractAddress: validInput.to,\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n expect(\n mockGatedDescriptorDataSource.getGatedDescriptor,\n ).toHaveBeenNthCalledWith(2, {\n contractAddress: implementationAddress.toLowerCase(),\n selector: validInput.selector,\n chainId: validInput.chainId,\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DeviceModelId", "Left", "Right", "GatedSigningContextLoader", "KeyId", "KeyUsage", "ClearSignContextType", "mockGatedDescriptorDataSource", "mockCertificateLoader", "mockProxyDataSource", "mockLoggerFactory", "loader", "mockCertificate", "SUPPORTED_TYPES", "validInput", "input", "_description", "signedDescriptor", "error", "result", "customTo", "certificateError", "implementationAddress", "proxySignedDescriptor"]
|
|
7
7
|
}
|
package/lib/esm/src/modules/ethereum/gated-signing/domain/GatedSigningTypedDataContextLoader.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var I=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var E=(n,e,t,r)=>{for(var a=r>1?void 0:r?k(e,t):e,o=n.length-1,i;o>=0;o--)(i=n[o])&&(a=(r?i(e,t,a):i(a))||a);return r&&a&&I(e,t,a),a},p=(n,e)=>(t,r)=>e(t,r,n);import{inject as l,injectable as v}from"inversify";import{configTypes as w}from"../../../../config/di/configTypes";import{gatedSigningTypes as P}from"../../../../modules/ethereum/gated-signing/di/gatedSigningTypes";import{proxyTypes as H}from"../../../../modules/ethereum/proxy/di/proxyTypes";import{getSchemaHash as A}from"../../../../modules/ethereum/typed-data/utils/getSchemaHash";import{pkiTypes as L}from"../../../../modules/multichain/pki/di/pkiTypes";import{KeyId as C}from"../../../../modules/multichain/pki/model/KeyId";import{KeyUsage as T}from"../../../../modules/multichain/pki/model/KeyUsage";import{ClearSignContextType as s}from"../../../../shared/model/ClearSignContext";const b="0x0000000000000000000000000000000000000000",N=[s.ETHEREUM_GATED_SIGNING];function U(n){if(!n||typeof n!="object")return!1;const e=n;if(!e.types||typeof e.types!="object"||Array.isArray(e.types))return!1;const t=e.types;for(const r of Object.keys(t)){if(typeof r!="string")return!1;const a=t[r];if(!Array.isArray(a))return!1;for(const o of a)if(!o||typeof o!="object"||typeof o.name!="string"||typeof o.type!="string")return!1}return!0}let f=class{constructor(e,t,r,a){this._dataSource=e;this._certificateLoader=t;this._proxyDataSource=r;this.logger=a("GatedSigningTypedDataContextLoader")}logger;canHandle(e,t){return N.every(r=>t.includes(r))&&typeof e=="object"&&e!==null&&"data"in e&&U(e.data)&&"chainId"in e&&"deviceModelId"in e&&e.deviceModelId!==void 0&&"challenge"in e&&typeof e.challenge=="string"}async load({data:e,chainId:t,deviceModelId:r,challenge:a}){const o=e.domain?.verifyingContract?.toLowerCase()??b,i=o.startsWith("0x")?o:`0x${o}`,d=A(e.types),m=await this._dataSource.getGatedDescriptorForTypedData({contractAddress:i,schemaHash:d,chainId:t});if(m.isRight()){const{signedDescriptor:c}=m.unsafeCoerce(),_=await this._certificateLoader.loadCertificate({keyId:C.CalGatedSigning,keyUsage:T.GatedSigning,targetDevice:r});return this.logger.debug("load result",{data:{path:"direct",verifyingContract:i,schemaHash:d,chainId:t,contextTypes:[s.ETHEREUM_GATED_SIGNING]}}),[{type:s.ETHEREUM_GATED_SIGNING,payload:c,certificate:_}]}const g=m.caseOf({Left:c=>c,Right:()=>new Error("unreachable")}),u=await this._proxyDataSource.getProxyImplementationAddress({proxyAddress:i,chainId:t,challenge:a,calldata:"0x"});if(u.isLeft()){const c=u.extract();return this.logger.warn("Direct gated descriptor lookup failed and proxy resolution failed",{data:{verifyingContract:i,schemaHash:d,chainId:t,directError:g.message,proxyError:c.message}}),[{type:s.ERROR,error:g}]}const y=u.unsafeCoerce(),x=y.implementationAddress.toLowerCase(),S=x.startsWith("0x")?x:`0x${x}`,D=await this._dataSource.getGatedDescriptorForTypedData({contractAddress:S,schemaHash:d,chainId:t});if(D.isLeft()){const c=D.extract();return this.logger.warn("No gated descriptor found for proxy implementation address",{data:{verifyingContract:i,implementationAddress:S,schemaHash:d,chainId:t,directError:g.message,implError:c.message}}),[{type:s.ERROR,error:g}]}const{signedDescriptor:h}=D.unsafeCoerce(),[G,R]=await Promise.all([this._certificateLoader.loadCertificate({keyId:y.keyId,keyUsage:y.keyUsage,targetDevice:r}),this._certificateLoader.loadCertificate({keyId:C.CalGatedSigning,keyUsage:T.GatedSigning,targetDevice:r})]);return this.logger.debug("load result",{data:{path:"proxy",verifyingContract:i,implementationAddress:S,schemaHash:d,chainId:t,contextTypes:[s.ETHEREUM_PROXY_INFO,s.ETHEREUM_GATED_SIGNING]}}),[{type:s.ETHEREUM_PROXY_INFO,payload:y.signedDescriptor,certificate:G},{type:s.ETHEREUM_GATED_SIGNING,payload:h,certificate:R}]}};f=E([v(),p(0,l(P.GatedDescriptorDataSource)),p(1,l(L.PkiCertificateLoader)),p(2,l(H.ProxyDataSource)),p(3,l(w.ContextModuleLoggerFactory))],f);export{f as GatedSigningTypedDataContextLoader};
|
|
2
2
|
//# sourceMappingURL=GatedSigningTypedDataContextLoader.js.map
|