@ledgerhq/context-module 1.16.0 → 1.17.1
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 +2 -3
- package/lib/cjs/src/DefaultContextModule.js +1 -1
- package/lib/cjs/src/DefaultContextModule.js.map +3 -3
- package/lib/cjs/src/account-ownership/data/AccountOwnershipDataSource.js +2 -0
- package/lib/cjs/src/account-ownership/data/AccountOwnershipDataSource.js.map +7 -0
- package/lib/cjs/src/account-ownership/data/AccountOwnershipError.js +2 -0
- package/lib/cjs/src/account-ownership/data/AccountOwnershipError.js.map +7 -0
- package/lib/cjs/src/account-ownership/data/HttpAccountOwnershipDataSource.js +2 -0
- package/lib/cjs/src/account-ownership/data/HttpAccountOwnershipDataSource.js.map +7 -0
- package/lib/cjs/src/account-ownership/data/HttpAccountOwnershipDataSource.test.js +2 -0
- package/lib/cjs/src/account-ownership/data/HttpAccountOwnershipDataSource.test.js.map +7 -0
- package/lib/cjs/src/account-ownership/data/dto/AccountOwnershipDto.js +2 -0
- package/lib/cjs/src/account-ownership/data/dto/AccountOwnershipDto.js.map +7 -0
- package/lib/cjs/src/account-ownership/di/accountOwnershipModuleFactory.js +2 -0
- package/lib/cjs/src/account-ownership/di/accountOwnershipModuleFactory.js.map +7 -0
- package/lib/cjs/src/account-ownership/di/accountOwnershipTypes.js +2 -0
- package/lib/cjs/src/account-ownership/di/accountOwnershipTypes.js.map +7 -0
- package/lib/cjs/src/account-ownership/domain/AccountOwnershipContextLoader.js +2 -0
- package/lib/cjs/src/account-ownership/domain/AccountOwnershipContextLoader.js.map +7 -0
- package/lib/cjs/src/account-ownership/domain/AccountOwnershipContextLoader.test.js +2 -0
- package/lib/cjs/src/account-ownership/domain/AccountOwnershipContextLoader.test.js.map +7 -0
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +1 -1
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +3 -3
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +1 -1
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +3 -3
- package/lib/cjs/src/calldata/di/calldataModuleFactory.js +1 -1
- package/lib/cjs/src/calldata/di/calldataModuleFactory.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/dynamic-network/data/HttpDynamicNetworkDataSource.js +1 -1
- package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +3 -3
- package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +1 -1
- package/lib/cjs/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +3 -3
- package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
- package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
- package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
- package/lib/cjs/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
- package/lib/cjs/src/gated-signing/data/HttpGatedDescriptorDataSource.js +1 -1
- package/lib/cjs/src/gated-signing/data/HttpGatedDescriptorDataSource.js.map +3 -3
- package/lib/cjs/src/gated-signing/data/HttpGatedDescriptorDataSource.test.js +1 -1
- package/lib/cjs/src/gated-signing/data/HttpGatedDescriptorDataSource.test.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/network/di/networkModuleFactory.js +2 -0
- package/lib/cjs/src/network/di/networkModuleFactory.js.map +7 -0
- package/lib/cjs/src/network/di/networkTypes.js +2 -0
- package/lib/cjs/src/network/di/networkTypes.js.map +7 -0
- package/lib/cjs/src/network/networkClientFactory.js +2 -0
- package/lib/cjs/src/network/networkClientFactory.js.map +7 -0
- package/lib/cjs/src/network/networkClientFactory.test.js +2 -0
- package/lib/cjs/src/network/networkClientFactory.test.js.map +7 -0
- package/lib/cjs/src/nft/data/HttpNftDataSource.js +1 -1
- package/lib/cjs/src/nft/data/HttpNftDataSource.js.map +3 -3
- package/lib/cjs/src/nft/data/HttpNftDataSource.test.js +1 -1
- package/lib/cjs/src/nft/data/HttpNftDataSource.test.js.map +3 -3
- package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
- package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
- package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js +1 -1
- package/lib/cjs/src/pki/data/HttpPkiCertificateDataSource.test.js.map +3 -3
- package/lib/cjs/src/proxy/data/HttpProxyDataSource.js +1 -1
- package/lib/cjs/src/proxy/data/HttpProxyDataSource.js.map +3 -3
- package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js +1 -1
- package/lib/cjs/src/proxy/data/HttpProxyDataSource.test.js.map +3 -3
- package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js +1 -1
- package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.js.map +3 -3
- package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js +1 -1
- package/lib/cjs/src/proxy/data/HttpSafeProxyDataSource.test.js.map +3 -3
- package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js +1 -1
- package/lib/cjs/src/proxy/di/proxyModuleFactory.test.js.map +3 -3
- package/lib/cjs/src/reporter/data/BlindSigningReporterDatasource.js +1 -1
- package/lib/cjs/src/reporter/data/BlindSigningReporterDatasource.js.map +1 -1
- package/lib/cjs/src/reporter/data/HttpBlindSigningReporterDatasource.js +1 -1
- package/lib/cjs/src/reporter/data/HttpBlindSigningReporterDatasource.js.map +3 -3
- package/lib/cjs/src/reporter/data/HttpBlindSigningReporterDatasource.test.js +1 -1
- package/lib/cjs/src/reporter/data/HttpBlindSigningReporterDatasource.test.js.map +3 -3
- package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js +1 -1
- package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.js.map +3 -3
- package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js +1 -1
- package/lib/cjs/src/safe/data/HttpSafeAccountDataSource.test.js.map +3 -3
- 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/solana/data/HttpSolanaOwnerInfoDataSource.js +1 -1
- package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +3 -3
- package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +1 -1
- package/lib/cjs/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +3 -3
- package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js +1 -1
- package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +3 -3
- package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +1 -1
- package/lib/cjs/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +3 -3
- package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js +1 -1
- package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +3 -3
- package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +6 -6
- package/lib/cjs/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +3 -3
- package/lib/cjs/src/token/data/HttpTokenDataSource.js +1 -1
- package/lib/cjs/src/token/data/HttpTokenDataSource.js.map +3 -3
- package/lib/cjs/src/token/data/HttpTokenDataSource.test.js +1 -1
- package/lib/cjs/src/token/data/HttpTokenDataSource.test.js.map +3 -3
- package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js +1 -1
- package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +3 -3
- package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +1 -1
- package/lib/cjs/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +3 -3
- package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js +1 -1
- package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +3 -3
- package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +1 -1
- package/lib/cjs/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +3 -3
- package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
- package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
- package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
- package/lib/cjs/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
- package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
- package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
- package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
- package/lib/cjs/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
- package/lib/esm/package.json +2 -3
- package/lib/esm/src/DefaultContextModule.js +1 -1
- package/lib/esm/src/DefaultContextModule.js.map +3 -3
- package/lib/esm/src/account-ownership/data/AccountOwnershipDataSource.js +1 -0
- package/lib/esm/src/account-ownership/data/AccountOwnershipDataSource.js.map +7 -0
- package/lib/esm/src/account-ownership/data/AccountOwnershipError.js +2 -0
- package/lib/esm/src/account-ownership/data/AccountOwnershipError.js.map +7 -0
- package/lib/esm/src/account-ownership/data/HttpAccountOwnershipDataSource.js +2 -0
- package/lib/esm/src/account-ownership/data/HttpAccountOwnershipDataSource.js.map +7 -0
- package/lib/esm/src/account-ownership/data/HttpAccountOwnershipDataSource.test.js +2 -0
- package/lib/esm/src/account-ownership/data/HttpAccountOwnershipDataSource.test.js.map +7 -0
- package/lib/esm/src/account-ownership/data/dto/AccountOwnershipDto.js +1 -0
- package/lib/esm/src/account-ownership/data/dto/AccountOwnershipDto.js.map +7 -0
- package/lib/esm/src/account-ownership/di/accountOwnershipModuleFactory.js +2 -0
- package/lib/esm/src/account-ownership/di/accountOwnershipModuleFactory.js.map +7 -0
- package/lib/esm/src/account-ownership/di/accountOwnershipTypes.js +2 -0
- package/lib/esm/src/account-ownership/di/accountOwnershipTypes.js.map +7 -0
- package/lib/esm/src/account-ownership/domain/AccountOwnershipContextLoader.js +2 -0
- package/lib/esm/src/account-ownership/domain/AccountOwnershipContextLoader.js.map +7 -0
- package/lib/esm/src/account-ownership/domain/AccountOwnershipContextLoader.test.js +2 -0
- package/lib/esm/src/account-ownership/domain/AccountOwnershipContextLoader.test.js.map +7 -0
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +1 -1
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +3 -3
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +1 -1
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +3 -3
- package/lib/esm/src/calldata/di/calldataModuleFactory.js +1 -1
- package/lib/esm/src/calldata/di/calldataModuleFactory.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/dynamic-network/data/HttpDynamicNetworkDataSource.js +1 -1
- package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.js.map +3 -3
- package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js +1 -1
- package/lib/esm/src/dynamic-network/data/HttpDynamicNetworkDataSource.test.js.map +3 -3
- package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js +1 -1
- package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.js.map +3 -3
- package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js +1 -1
- package/lib/esm/src/external-plugin/data/HttpExternalPluginDataSource.test.js.map +3 -3
- package/lib/esm/src/gated-signing/data/HttpGatedDescriptorDataSource.js +1 -1
- package/lib/esm/src/gated-signing/data/HttpGatedDescriptorDataSource.js.map +3 -3
- package/lib/esm/src/gated-signing/data/HttpGatedDescriptorDataSource.test.js +1 -1
- package/lib/esm/src/gated-signing/data/HttpGatedDescriptorDataSource.test.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/network/di/networkModuleFactory.js +2 -0
- package/lib/esm/src/network/di/networkModuleFactory.js.map +7 -0
- package/lib/esm/src/network/di/networkTypes.js +2 -0
- package/lib/esm/src/network/di/networkTypes.js.map +7 -0
- package/lib/esm/src/network/networkClientFactory.js +2 -0
- package/lib/esm/src/network/networkClientFactory.js.map +7 -0
- package/lib/esm/src/network/networkClientFactory.test.js +2 -0
- package/lib/esm/src/network/networkClientFactory.test.js.map +7 -0
- package/lib/esm/src/nft/data/HttpNftDataSource.js +1 -1
- package/lib/esm/src/nft/data/HttpNftDataSource.js.map +3 -3
- package/lib/esm/src/nft/data/HttpNftDataSource.test.js +1 -1
- package/lib/esm/src/nft/data/HttpNftDataSource.test.js.map +3 -3
- package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js +1 -1
- package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.js.map +3 -3
- package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js +1 -1
- package/lib/esm/src/pki/data/HttpPkiCertificateDataSource.test.js.map +3 -3
- package/lib/esm/src/proxy/data/HttpProxyDataSource.js +1 -1
- package/lib/esm/src/proxy/data/HttpProxyDataSource.js.map +3 -3
- package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js +1 -1
- package/lib/esm/src/proxy/data/HttpProxyDataSource.test.js.map +3 -3
- package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js +1 -1
- package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.js.map +3 -3
- package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js +1 -1
- package/lib/esm/src/proxy/data/HttpSafeProxyDataSource.test.js.map +3 -3
- package/lib/esm/src/proxy/di/proxyModuleFactory.test.js +1 -1
- package/lib/esm/src/proxy/di/proxyModuleFactory.test.js.map +3 -3
- package/lib/esm/src/reporter/data/HttpBlindSigningReporterDatasource.js +1 -1
- package/lib/esm/src/reporter/data/HttpBlindSigningReporterDatasource.js.map +3 -3
- package/lib/esm/src/reporter/data/HttpBlindSigningReporterDatasource.test.js +1 -1
- package/lib/esm/src/reporter/data/HttpBlindSigningReporterDatasource.test.js.map +3 -3
- package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js +1 -1
- package/lib/esm/src/safe/data/HttpSafeAccountDataSource.js.map +3 -3
- package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js +1 -1
- package/lib/esm/src/safe/data/HttpSafeAccountDataSource.test.js.map +3 -3
- 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/solana/data/HttpSolanaOwnerInfoDataSource.js +1 -1
- package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.js.map +3 -3
- package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js +1 -1
- package/lib/esm/src/solana/data/HttpSolanaOwnerInfoDataSource.test.js.map +3 -3
- package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js +1 -1
- package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.js.map +3 -3
- package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js +1 -1
- package/lib/esm/src/solanaLifi/data/HttpSolanaLifiDataSource.test.js.map +3 -3
- package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js +1 -1
- package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.js.map +3 -3
- package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js +6 -6
- package/lib/esm/src/solanaToken/data/HttpSolanaTokenDataSource.test.js.map +3 -3
- package/lib/esm/src/token/data/HttpTokenDataSource.js +1 -1
- package/lib/esm/src/token/data/HttpTokenDataSource.js.map +3 -3
- package/lib/esm/src/token/data/HttpTokenDataSource.test.js +1 -1
- package/lib/esm/src/token/data/HttpTokenDataSource.test.js.map +3 -3
- package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js +1 -1
- package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.js.map +3 -3
- package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js +1 -1
- package/lib/esm/src/transaction-check/data/HttpTransactionCheckDataSource.test.js.map +3 -3
- package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js +1 -1
- package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.js.map +3 -3
- package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js +1 -1
- package/lib/esm/src/transaction-check/data/HttpTypedDataCheckDataSource.test.js.map +3 -3
- package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js +1 -1
- package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.js.map +3 -3
- package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js +1 -1
- package/lib/esm/src/trusted-name/data/HttpTrustedNameDataSource.test.js.map +3 -3
- package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js +1 -1
- package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.js.map +3 -3
- package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js +1 -1
- package/lib/esm/src/typed-data/data/HttpTypedDataDataSource.test.js.map +3 -3
- package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
- package/lib/types/src/account-ownership/data/AccountOwnershipDataSource.d.ts +17 -0
- package/lib/types/src/account-ownership/data/AccountOwnershipDataSource.d.ts.map +1 -0
- package/lib/types/src/account-ownership/data/AccountOwnershipError.d.ts +17 -0
- package/lib/types/src/account-ownership/data/AccountOwnershipError.d.ts.map +1 -0
- package/lib/types/src/account-ownership/data/HttpAccountOwnershipDataSource.d.ts +30 -0
- package/lib/types/src/account-ownership/data/HttpAccountOwnershipDataSource.d.ts.map +1 -0
- package/lib/types/src/account-ownership/data/HttpAccountOwnershipDataSource.test.d.ts +2 -0
- package/lib/types/src/account-ownership/data/HttpAccountOwnershipDataSource.test.d.ts.map +1 -0
- package/lib/types/src/account-ownership/data/dto/AccountOwnershipDto.d.ts +6 -0
- package/lib/types/src/account-ownership/data/dto/AccountOwnershipDto.d.ts.map +1 -0
- package/lib/types/src/account-ownership/di/accountOwnershipModuleFactory.d.ts +3 -0
- package/lib/types/src/account-ownership/di/accountOwnershipModuleFactory.d.ts.map +1 -0
- package/lib/types/src/account-ownership/di/accountOwnershipTypes.d.ts +5 -0
- package/lib/types/src/account-ownership/di/accountOwnershipTypes.d.ts.map +1 -0
- package/lib/types/src/account-ownership/domain/AccountOwnershipContextLoader.d.ts +20 -0
- package/lib/types/src/account-ownership/domain/AccountOwnershipContextLoader.d.ts.map +1 -0
- package/lib/types/src/account-ownership/domain/AccountOwnershipContextLoader.test.d.ts +2 -0
- package/lib/types/src/account-ownership/domain/AccountOwnershipContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts +3 -1
- package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -1
- package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -1
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts +3 -1
- package/lib/types/src/dynamic-network/data/HttpDynamicNetworkDataSource.d.ts.map +1 -1
- package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts +3 -1
- package/lib/types/src/external-plugin/data/HttpExternalPluginDataSource.d.ts.map +1 -1
- package/lib/types/src/gated-signing/data/HttpGatedDescriptorDataSource.d.ts +3 -1
- package/lib/types/src/gated-signing/data/HttpGatedDescriptorDataSource.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +4 -0
- package/lib/types/src/index.d.ts.map +1 -1
- package/lib/types/src/network/di/networkModuleFactory.d.ts +4 -0
- package/lib/types/src/network/di/networkModuleFactory.d.ts.map +1 -0
- package/lib/types/src/network/di/networkTypes.d.ts +4 -0
- package/lib/types/src/network/di/networkTypes.d.ts.map +1 -0
- package/lib/types/src/network/networkClientFactory.d.ts +4 -0
- package/lib/types/src/network/networkClientFactory.d.ts.map +1 -0
- package/lib/types/src/network/networkClientFactory.test.d.ts +2 -0
- package/lib/types/src/network/networkClientFactory.test.d.ts.map +1 -0
- package/lib/types/src/nft/data/HttpNftDataSource.d.ts +3 -1
- package/lib/types/src/nft/data/HttpNftDataSource.d.ts.map +1 -1
- package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts +4 -1
- package/lib/types/src/pki/data/HttpPkiCertificateDataSource.d.ts.map +1 -1
- package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts +3 -1
- package/lib/types/src/proxy/data/HttpProxyDataSource.d.ts.map +1 -1
- package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts +3 -1
- package/lib/types/src/proxy/data/HttpSafeProxyDataSource.d.ts.map +1 -1
- package/lib/types/src/reporter/data/BlindSigningReporterDatasource.d.ts +7 -1
- package/lib/types/src/reporter/data/BlindSigningReporterDatasource.d.ts.map +1 -1
- package/lib/types/src/reporter/data/HttpBlindSigningReporterDatasource.d.ts +3 -1
- package/lib/types/src/reporter/data/HttpBlindSigningReporterDatasource.d.ts.map +1 -1
- package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts +3 -1
- package/lib/types/src/safe/data/HttpSafeAccountDataSource.d.ts.map +1 -1
- package/lib/types/src/shared/model/ClearSignContext.d.ts +2 -1
- package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
- package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts +3 -1
- package/lib/types/src/solana/data/HttpSolanaOwnerInfoDataSource.d.ts.map +1 -1
- package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts +3 -2
- package/lib/types/src/solanaLifi/data/HttpSolanaLifiDataSource.d.ts.map +1 -1
- package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts +3 -1
- package/lib/types/src/solanaToken/data/HttpSolanaTokenDataSource.d.ts.map +1 -1
- package/lib/types/src/token/data/HttpTokenDataSource.d.ts +3 -1
- package/lib/types/src/token/data/HttpTokenDataSource.d.ts.map +1 -1
- package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts +3 -1
- package/lib/types/src/transaction-check/data/HttpTransactionCheckDataSource.d.ts.map +1 -1
- package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts +3 -1
- package/lib/types/src/transaction-check/data/HttpTypedDataCheckDataSource.d.ts.map +1 -1
- package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts +3 -1
- package/lib/types/src/trusted-name/data/HttpTrustedNameDataSource.d.ts.map +1 -1
- package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts +3 -1
- package/lib/types/src/typed-data/data/HttpTypedDataDataSource.d.ts.map +1 -1
- package/lib/types/src/typed-data/data/HttpTypedDataDataSource.test.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var a=require("purify-ts"),u=require("../../gated-signing/data/HttpGatedDescriptorDataSource");describe("HttpGatedDescriptorDataSource",()=>{const n={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",branch:"next",mode:"prod"},originToken:"test-origin-token"},e="0x1111111254fb6c44bac0bed2854e76f90643097d",d="0xa1251d75",o=1,p="010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735",l=[{gated_descriptors:{"0x1111111254fb6c44bac0bed2854e76f90643097d":{a1251d75:{network:"ethereum",chain_id:1,address:"0x1111111254fb6c44bac0bed2854e76f90643097d",selector:"a1251d75",version:"v1",descriptor:p,signatures:{prod:"00",test:"00"}}}}}],g=`${p}150100`;let r,s;beforeEach(()=>{vi.clearAllMocks(),r={get:vi.fn()},s=new u.HttpGatedDescriptorDataSource(n,r)}),describe("getGatedDescriptor",()=>{it("should return descriptor on successful request with correct URL and params",async()=>{r.get.mockResolvedValue(l);const t=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(r.get).toHaveBeenCalledWith(`${n.cal.url}/gated_dapps`,{params:{ref:"branch:next",output:"gated_descriptors,app,category",contracts:e,chain_id:o}}),expect(t).toEqual((0,a.Right)({signedDescriptor:g}))}),it("should find descriptor when API response has selector key without 0x prefix",async()=>{r.get.mockResolvedValue(l);const t=await s.getGatedDescriptor({contractAddress:e,selector:"0xa1251d75",chainId:o});expect(t).toEqual((0,a.Right)({signedDescriptor:g}))}),it("should return Left when response is not an array",async()=>{r.get.mockResolvedValue({gated_descriptors:{}});const t=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(t).toEqual((0,a.Left)(new Error("[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response")))}),it("should return Left when response is empty array",async()=>{r.get.mockResolvedValue([]);const t=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(t).toEqual((0,a.Left)(new Error("[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response")))}),it("should return Left when no descriptor matches contract and selector",async()=>{r.get.mockResolvedValue([{gated_descriptors:{"0xothercontract":{a1251d75:{descriptor:"some-descriptor",network:"ethereum",chain_id:1,address:"0xother",selector:"a1251d75",version:"v1"}}}}]);const t=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(t).toEqual((0,a.Left)(new Error("[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract 0x1111111254fb6c44bac0bed2854e76f90643097d and selector 0xa1251d75")))}),it("should return Left when http.get request fails",async()=>{r.get.mockRejectedValue(new Error("Network error"));const t=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(t).toEqual((0,a.Left)(new Error("[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error")))}),it("should use config.cal.branch in ref param",async()=>{const t={...n,cal:{...n.cal,branch:"main"}};r.get.mockResolvedValue(l),await new u.HttpGatedDescriptorDataSource(t,r).getGatedDescriptor({contractAddress:e,selector:d,chainId:o}),expect(r.get).toHaveBeenCalledWith(`${n.cal.url}/gated_dapps`,expect.objectContaining({params:expect.objectContaining({ref:"branch:main"})}))}),describe("when response fails DTO validation",()=>{const t=new Error("[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response");it("should return Left when array item has no gated_descriptors",async()=>{r.get.mockResolvedValue([{}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when gated_descriptors is not an object",async()=>{r.get.mockResolvedValue([{gated_descriptors:"not-an-object"}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when entry is missing required field (descriptor)",async()=>{r.get.mockResolvedValue([{gated_descriptors:{[e]:{a1251d75:{network:"ethereum",chain_id:1,address:e,selector:"a1251d75",version:"v1"}}}}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when entry has wrong type for chain_id",async()=>{r.get.mockResolvedValue([{gated_descriptors:{[e]:{a1251d75:{network:"ethereum",chain_id:"1",address:e,selector:"a1251d75",version:"v1",descriptor:p,signatures:{prod:"00",test:"00"}}}}}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when entry signatures contains non-string value",async()=>{r.get.mockResolvedValue([{gated_descriptors:{[e]:{a1251d75:{network:"ethereum",chain_id:1,address:e,selector:"a1251d75",version:"v1",descriptor:p,signatures:{prod:123}}}}}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when array item is null",async()=>{r.get.mockResolvedValue([null]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))}),it("should return Left when selectors map value is not an object",async()=>{r.get.mockResolvedValue([{gated_descriptors:{[e]:"not-a-selectors-map"}}]);const c=await s.getGatedDescriptor({contractAddress:e,selector:d,chainId:o});expect(c).toEqual((0,a.Left)(t))})})}),describe("getGatedDescriptorForTypedData",()=>{const t="4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3",c="010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735",h=[{gated_descriptors:{[e]:{[t]:{network:"ethereum",chain_id:1,address:e,selector:"eip712",version:"v1",descriptor:c,signatures:{prod:"00",test:"00"}}}}}],w=`${c}150100`;it("should return descriptor on successful request when keyed by schema hash",async()=>{r.get.mockResolvedValue(h);const i=await s.getGatedDescriptorForTypedData({contractAddress:e,schemaHash:t,chainId:o});expect(r.get).toHaveBeenCalledWith(`${n.cal.url}/gated_dapps`,{params:{ref:"branch:next",output:"gated_descriptors",contracts:e,chain_id:o}}),expect(i).toEqual((0,a.Right)({signedDescriptor:w}))}),it("should return Left when no descriptor matches contract and schema hash",async()=>{r.get.mockResolvedValue([{gated_descriptors:{[e]:{other_schema_hash:{descriptor:"some-descriptor",network:"ethereum",chain_id:1,address:e,selector:"eip712",version:"v1"}}}}]);const i=await s.getGatedDescriptorForTypedData({contractAddress:e,schemaHash:t,chainId:o});expect(i).toEqual((0,a.Left)(new Error(`[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract ${e} and schema hash ${t}`)))}),it("should return Left when http.get request fails",async()=>{r.get.mockRejectedValue(new Error("Network error"));const i=await s.getGatedDescriptorForTypedData({contractAddress:e,schemaHash:t,chainId:o});expect(i).toEqual((0,a.Left)(new Error("[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error")))})})});
|
|
2
2
|
//# sourceMappingURL=HttpGatedDescriptorDataSource.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/gated-signing/data/HttpGatedDescriptorDataSource.test.ts"],
|
|
4
|
-
"sourcesContent": ["import axios from \"axios\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport { HttpGatedDescriptorDataSource } from \"@/gated-signing/data/HttpGatedDescriptorDataSource\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\n\ndescribe(\"HttpGatedDescriptorDataSource\", () => {\n const config: ContextModuleServiceConfig = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n branch: \"next\",\n mode: \"prod\",\n },\n originToken: \"test-origin-token\",\n } as ContextModuleServiceConfig;\n\n const contractAddress = \"0x1111111254fb6c44bac0bed2854e76f90643097d\";\n const selector = \"0xa1251d75\";\n const chainId = 1;\n\n const descriptorPayload =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735\";\n const validGatedDappsResponse = [\n {\n gated_descriptors: {\n \"0x1111111254fb6c44bac0bed2854e76f90643097d\": {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ];\n // signedDescriptor = payload + SIGNATURE_TAG(\"15\") + length(01) + signature(\"00\")\n const expectedSignedDescriptor = `${descriptorPayload}150100`;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"getGatedDescriptor\", () => {\n it(\"should return descriptor on successful request with correct URL and params\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: validGatedDappsResponse,\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(axios.request).toHaveBeenCalledWith({\n method: \"GET\",\n url: \"https://crypto-assets-service.api.ledger.com/v1/gated_dapps\",\n params: {\n ref: \"branch:next\",\n output: \"gated_descriptors,app,category\",\n contracts: contractAddress,\n chain_id: chainId,\n },\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: \"test-origin-token\",\n },\n });\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptor,\n }),\n );\n });\n\n it(\"should find descriptor when API response has selector key without 0x prefix\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: validGatedDappsResponse,\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector: \"0xa1251d75\",\n chainId,\n });\n\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptor,\n }),\n );\n });\n\n it(\"should return Left when response is not an array\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: { gated_descriptors: {} },\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n ),\n ),\n );\n });\n\n it(\"should return Left when response is empty array\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n ),\n ),\n );\n });\n\n it(\"should return Left when no descriptor matches contract and selector\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n \"0xothercontract\": {\n a1251d75: {\n descriptor: \"some-descriptor\",\n network: \"ethereum\",\n chain_id: 1,\n address: \"0xother\",\n selector: \"a1251d75\",\n version: \"v1\",\n },\n },\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract 0x1111111254fb6c44bac0bed2854e76f90643097d and selector 0xa1251d75\",\n ),\n ),\n );\n });\n\n it(\"should return Left when axios request fails\", async () => {\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"Network error\"));\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error\",\n ),\n ),\n );\n });\n\n it(\"should use config.cal.branch in ref param\", async () => {\n const configMain: ContextModuleServiceConfig = {\n ...config,\n cal: { ...config.cal!, branch: \"main\" },\n } as ContextModuleServiceConfig;\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: validGatedDappsResponse,\n });\n\n await new HttpGatedDescriptorDataSource(configMain).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n params: expect.objectContaining({\n ref: \"branch:main\",\n }),\n }),\n );\n });\n\n describe(\"when response fails DTO validation\", () => {\n const invalidResponseError = new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n );\n\n it(\"should return Left when array item has no gated_descriptors\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [{}],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when gated_descriptors is not an object\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [{ gated_descriptors: \"not-an-object\" }],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry is missing required field (descriptor)\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n // descriptor missing\n },\n },\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry has wrong type for chain_id\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: \"1\", // string instead of number\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry signatures contains non-string value\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: 123 }, // number instead of string\n },\n },\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when array item is null\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [null],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when selectors map value is not an object\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n [contractAddress]: \"not-a-selectors-map\",\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n });\n });\n\n describe(\"getGatedDescriptorForTypedData\", () => {\n const schemaHash =\n \"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3\";\n const descriptorPayloadTypedData =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735\";\n const validTypedDataResponse = [\n {\n gated_descriptors: {\n [contractAddress]: {\n [schemaHash]: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"eip712\",\n version: \"v1\",\n descriptor: descriptorPayloadTypedData,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ];\n const expectedSignedDescriptorTypedData = `${descriptorPayloadTypedData}150100`;\n\n it(\"should return descriptor on successful request when keyed by schema hash\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: validTypedDataResponse,\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(axios.request).toHaveBeenCalledWith({\n method: \"GET\",\n url: \"https://crypto-assets-service.api.ledger.com/v1/gated_dapps\",\n params: {\n ref: \"branch:next\",\n output: \"gated_descriptors\",\n contracts: contractAddress,\n chain_id: chainId,\n },\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: \"test-origin-token\",\n },\n });\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptorTypedData,\n }),\n );\n });\n\n it(\"should return Left when no descriptor matches contract and schema hash\", async () => {\n vi.spyOn(axios, \"request\").mockResolvedValue({\n status: 200,\n data: [\n {\n gated_descriptors: {\n [contractAddress]: {\n other_schema_hash: {\n descriptor: \"some-descriptor\",\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"eip712\",\n version: \"v1\",\n },\n },\n },\n },\n ],\n });\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n `[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract ${contractAddress} and schema hash ${schemaHash}`,\n ),\n ),\n );\n });\n\n it(\"should return Left when axios request fails\", async () => {\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error(\"Network error\"));\n\n const result = await new HttpGatedDescriptorDataSource(\n config,\n ).getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error\",\n ),\n ),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { type DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport { HttpGatedDescriptorDataSource } from \"@/gated-signing/data/HttpGatedDescriptorDataSource\";\n\ndescribe(\"HttpGatedDescriptorDataSource\", () => {\n const config: ContextModuleServiceConfig = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n branch: \"next\",\n mode: \"prod\",\n },\n originToken: \"test-origin-token\",\n } as ContextModuleServiceConfig;\n\n const contractAddress = \"0x1111111254fb6c44bac0bed2854e76f90643097d\";\n const selector = \"0xa1251d75\";\n const chainId = 1;\n\n const descriptorPayload =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735\";\n const validGatedDappsResponse = [\n {\n gated_descriptors: {\n \"0x1111111254fb6c44bac0bed2854e76f90643097d\": {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: \"0x1111111254fb6c44bac0bed2854e76f90643097d\",\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ];\n // signedDescriptor = payload + SIGNATURE_TAG(\"15\") + length(01) + signature(\"00\")\n const expectedSignedDescriptor = `${descriptorPayload}150100`;\n\n let httpMock: { get: ReturnType<typeof vi.fn> };\n let dataSource: HttpGatedDescriptorDataSource;\n\n beforeEach(() => {\n vi.clearAllMocks();\n httpMock = { get: vi.fn() };\n dataSource = new HttpGatedDescriptorDataSource(\n config,\n httpMock as unknown as DmkNetworkClient,\n );\n });\n\n describe(\"getGatedDescriptor\", () => {\n it(\"should return descriptor on successful request with correct URL and params\", async () => {\n httpMock.get.mockResolvedValue(validGatedDappsResponse);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n `${config.cal.url}/gated_dapps`,\n {\n params: {\n ref: \"branch:next\",\n output: \"gated_descriptors,app,category\",\n contracts: contractAddress,\n chain_id: chainId,\n },\n },\n );\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptor,\n }),\n );\n });\n\n it(\"should find descriptor when API response has selector key without 0x prefix\", async () => {\n httpMock.get.mockResolvedValue(validGatedDappsResponse);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector: \"0xa1251d75\",\n chainId,\n });\n\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptor,\n }),\n );\n });\n\n it(\"should return Left when response is not an array\", async () => {\n httpMock.get.mockResolvedValue({ gated_descriptors: {} });\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n ),\n ),\n );\n });\n\n it(\"should return Left when response is empty array\", async () => {\n httpMock.get.mockResolvedValue([]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n ),\n ),\n );\n });\n\n it(\"should return Left when no descriptor matches contract and selector\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n \"0xothercontract\": {\n a1251d75: {\n descriptor: \"some-descriptor\",\n network: \"ethereum\",\n chain_id: 1,\n address: \"0xother\",\n selector: \"a1251d75\",\n version: \"v1\",\n },\n },\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract 0x1111111254fb6c44bac0bed2854e76f90643097d and selector 0xa1251d75\",\n ),\n ),\n );\n });\n\n it(\"should return Left when http.get request fails\", async () => {\n httpMock.get.mockRejectedValue(new Error(\"Network error\"));\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error\",\n ),\n ),\n );\n });\n\n it(\"should use config.cal.branch in ref param\", async () => {\n const configMain: ContextModuleServiceConfig = {\n ...config,\n cal: { ...config.cal!, branch: \"main\" },\n } as ContextModuleServiceConfig;\n httpMock.get.mockResolvedValue(validGatedDappsResponse);\n\n const mainDataSource = new HttpGatedDescriptorDataSource(\n configMain,\n httpMock as unknown as DmkNetworkClient,\n );\n await mainDataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n `${config.cal.url}/gated_dapps`,\n expect.objectContaining({\n params: expect.objectContaining({ ref: \"branch:main\" }),\n }),\n );\n });\n\n describe(\"when response fails DTO validation\", () => {\n const invalidResponseError = new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Invalid gated descriptors response\",\n );\n\n it(\"should return Left when array item has no gated_descriptors\", async () => {\n httpMock.get.mockResolvedValue([{}]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when gated_descriptors is not an object\", async () => {\n httpMock.get.mockResolvedValue([\n { gated_descriptors: \"not-an-object\" },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry is missing required field (descriptor)\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n // descriptor missing\n },\n },\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry has wrong type for chain_id\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: \"1\", // string instead of number\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when entry signatures contains non-string value\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n [contractAddress]: {\n a1251d75: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"a1251d75\",\n version: \"v1\",\n descriptor: descriptorPayload,\n signatures: { prod: 123 }, // number instead of string\n },\n },\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when array item is null\", async () => {\n httpMock.get.mockResolvedValue([null]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n\n it(\"should return Left when selectors map value is not an object\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n [contractAddress]: \"not-a-selectors-map\",\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptor({\n contractAddress,\n selector,\n chainId,\n });\n\n expect(result).toEqual(Left(invalidResponseError));\n });\n });\n });\n\n describe(\"getGatedDescriptorForTypedData\", () => {\n const schemaHash =\n \"4d593149e876e739220f3b5ede1b38a0213d76c4705b1547c4323df3\";\n const descriptorPayloadTypedData =\n \"010122020101222a30783131313131313235346662366334346261633062656432383534653736663930363433303937642308000000000000000140086131323531643735\";\n const validTypedDataResponse = [\n {\n gated_descriptors: {\n [contractAddress]: {\n [schemaHash]: {\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"eip712\",\n version: \"v1\",\n descriptor: descriptorPayloadTypedData,\n signatures: { prod: \"00\", test: \"00\" },\n },\n },\n },\n },\n ];\n const expectedSignedDescriptorTypedData = `${descriptorPayloadTypedData}150100`;\n\n it(\"should return descriptor on successful request when keyed by schema hash\", async () => {\n httpMock.get.mockResolvedValue(validTypedDataResponse);\n\n const result = await dataSource.getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n `${config.cal.url}/gated_dapps`,\n {\n params: {\n ref: \"branch:next\",\n output: \"gated_descriptors\",\n contracts: contractAddress,\n chain_id: chainId,\n },\n },\n );\n expect(result).toEqual(\n Right({\n signedDescriptor: expectedSignedDescriptorTypedData,\n }),\n );\n });\n\n it(\"should return Left when no descriptor matches contract and schema hash\", async () => {\n httpMock.get.mockResolvedValue([\n {\n gated_descriptors: {\n [contractAddress]: {\n other_schema_hash: {\n descriptor: \"some-descriptor\",\n network: \"ethereum\",\n chain_id: 1,\n address: contractAddress,\n selector: \"eip712\",\n version: \"v1\",\n },\n },\n },\n },\n ]);\n\n const result = await dataSource.getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n `[ContextModule] HttpGatedDescriptorDataSource: No gated descriptor for contract ${contractAddress} and schema hash ${schemaHash}`,\n ),\n ),\n );\n });\n\n it(\"should return Left when http.get request fails\", async () => {\n httpMock.get.mockRejectedValue(new Error(\"Network error\"));\n\n const result = await dataSource.getGatedDescriptorForTypedData({\n contractAddress,\n schemaHash,\n chainId,\n });\n\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpGatedDescriptorDataSource: Failed to fetch gated descriptors: Error: Network error\",\n ),\n ),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_purify_ts", "import_HttpGatedDescriptorDataSource", "config", "contractAddress", "selector", "chainId", "descriptorPayload", "validGatedDappsResponse", "expectedSignedDescriptor", "httpMock", "dataSource", "result", "configMain", "invalidResponseError", "schemaHash", "descriptorPayloadTypedData", "validTypedDataResponse", "expectedSignedDescriptorTypedData"]
|
|
7
7
|
}
|
package/lib/cjs/src/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var C=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e,f,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let x of l(e))!d.call(t,x)&&x!==f&&C(t,x,{get:()=>e[x],enumerable:!(m=n(e,x))||m.enumerable});return t},r=(t,e,f)=>(p(t,e,"default"),f&&p(f,e,"default"));var M=t=>p(C({},"__esModule",{value:!0}),t);var o={};module.exports=M(o);r(o,require("./calldata/data/CalldataDescriptorDataSource"),module.exports);r(o,require("./calldata/data/HttpCalldataDescriptorDataSource"),module.exports);r(o,require("./calldata/domain/CalldataContextLoader"),module.exports);r(o,require("./ContextModule"),module.exports);r(o,require("./ContextModuleBuilder"),module.exports);r(o,require("./DefaultContextModule"),module.exports);r(o,require("./dynamic-network/data/DynamicNetworkDataSource"),module.exports);r(o,require("./dynamic-network/data/HttpDynamicNetworkDataSource"),module.exports);r(o,require("./dynamic-network/domain/DynamicNetworkContextLoader"),module.exports);r(o,require("./dynamic-network/model/DynamicNetworkConfiguration"),module.exports);r(o,require("./external-plugin/data/ExternalPluginDataSource"),module.exports);r(o,require("./external-plugin/data/HttpExternalPluginDataSource"),module.exports);r(o,require("./external-plugin/domain/ExternalPluginContextLoader"),module.exports);r(o,require("./gated-signing/data/GatedDescriptorDataSource"),module.exports);r(o,require("./gated-signing/data/HttpGatedDescriptorDataSource"),module.exports);r(o,require("./gated-signing/domain/GatedSigningContextLoader"),module.exports);r(o,require("./gated-signing/domain/GatedSigningTypedDataContextLoader"),module.exports);r(o,require("./nft/data/HttpNftDataSource"),module.exports);r(o,require("./nft/data/NftDataSource"),module.exports);r(o,require("./nft/domain/NftContextFieldLoader"),module.exports);r(o,require("./nft/domain/NftContextLoader"),module.exports);r(o,require("./pki/data/HttpPkiCertificateDataSource"),module.exports);r(o,require("./pki/data/PkiCertificateDataSource"),module.exports);r(o,require("./pki/domain/DefaultPkiCertificateLoader"),module.exports);r(o,require("./pki/domain/PkiCertificateLoader"),module.exports);r(o,require("./pki/model/KeyId"),module.exports);r(o,require("./pki/model/KeyUsage"),module.exports);r(o,require("./pki/model/PkiCertificate"),module.exports);r(o,require("./pki/model/PkiCertificateInfo"),module.exports);r(o,require("./proxy/data/HttpProxyDataSource"),module.exports);r(o,require("./proxy/data/HttpSafeProxyDataSource"),module.exports);r(o,require("./proxy/data/ProxyDataSource"),module.exports);r(o,require("./proxy/domain/ProxyContextFieldLoader"),module.exports);r(o,require("./reporter/data/BlindSigningReporterDatasource"),module.exports);r(o,require("./reporter/data/HttpBlindSigningReporterDatasource"),module.exports);r(o,require("./reporter/domain/BlindSigningReporter"),module.exports);r(o,require("./reporter/domain/DefaultBlindSigningReporter"),module.exports);r(o,require("./reporter/model/BlindSigningEvent"),module.exports);r(o,require("./reporter/model/BlindSigningModelId"),module.exports);r(o,require("./shared/domain/ContextFieldLoader"),module.exports);r(o,require("./shared/domain/ContextLoader"),module.exports);r(o,require("./shared/model/ClearSignContext"),module.exports);r(o,require("./shared/model/GenericPath"),module.exports);r(o,require("./shared/model/SolanaContextTypes"),module.exports);r(o,require("./shared/model/TransactionSubset"),module.exports);r(o,require("./shared/model/TypedDataClearSignContext"),module.exports);r(o,require("./shared/model/TypedDataContext"),module.exports);r(o,require("./solana/data/HttpSolanaOwnerInfoDataSource"),module.exports);r(o,require("./solana/data/SolanaDataSource"),module.exports);r(o,require("./solana/domain/DefaultSolanaContextLoader"),module.exports);r(o,require("./solana/domain/SolanaContextLoader"),module.exports);r(o,require("./solana/domain/solanaContextTypes"),module.exports);r(o,require("./token/data/HttpTokenDataSource"),module.exports);r(o,require("./token/data/TokenDataSource"),module.exports);r(o,require("./token/domain/TokenContextFieldLoader"),module.exports);r(o,require("./token/domain/TokenContextLoader"),module.exports);r(o,require("./trusted-name/data/HttpTrustedNameDataSource"),module.exports);r(o,require("./trusted-name/data/TrustedNameDataSource"),module.exports);r(o,require("./trusted-name/domain/TrustedNameContextFieldLoader"),module.exports);r(o,require("./trusted-name/domain/TrustedNameContextLoader"),module.exports);r(o,require("./typed-data/data/HttpTypedDataDataSource"),module.exports);r(o,require("./typed-data/data/TypedDataDataSource"),module.exports);r(o,require("./typed-data/domain/DefaultTypedDataContextLoader"),module.exports);r(o,require("./typed-data/domain/TypedDataContextLoader"),module.exports);r(o,require("./typed-data/utils/getSchemaHash"),module.exports);r(o,require("./uniswap/data/AbiDecoderDataSource"),module.exports);r(o,require("./uniswap/data/CommandDecoderDataSource"),module.exports);r(o,require("./uniswap/data/DefaultCommandDecoderDataSource"),module.exports);r(o,require("./uniswap/data/EthersAbiDecoderDataSource"),module.exports);r(o,require("./uniswap/domain/UniswapContextLoader"),module.exports);0&&(module.exports={...require("./calldata/data/CalldataDescriptorDataSource"),...require("./calldata/data/HttpCalldataDescriptorDataSource"),...require("./calldata/domain/CalldataContextLoader"),...require("./ContextModule"),...require("./ContextModuleBuilder"),...require("./DefaultContextModule"),...require("./dynamic-network/data/DynamicNetworkDataSource"),...require("./dynamic-network/data/HttpDynamicNetworkDataSource"),...require("./dynamic-network/domain/DynamicNetworkContextLoader"),...require("./dynamic-network/model/DynamicNetworkConfiguration"),...require("./external-plugin/data/ExternalPluginDataSource"),...require("./external-plugin/data/HttpExternalPluginDataSource"),...require("./external-plugin/domain/ExternalPluginContextLoader"),...require("./gated-signing/data/GatedDescriptorDataSource"),...require("./gated-signing/data/HttpGatedDescriptorDataSource"),...require("./gated-signing/domain/GatedSigningContextLoader"),...require("./gated-signing/domain/GatedSigningTypedDataContextLoader"),...require("./nft/data/HttpNftDataSource"),...require("./nft/data/NftDataSource"),...require("./nft/domain/NftContextFieldLoader"),...require("./nft/domain/NftContextLoader"),...require("./pki/data/HttpPkiCertificateDataSource"),...require("./pki/data/PkiCertificateDataSource"),...require("./pki/domain/DefaultPkiCertificateLoader"),...require("./pki/domain/PkiCertificateLoader"),...require("./pki/model/KeyId"),...require("./pki/model/KeyUsage"),...require("./pki/model/PkiCertificate"),...require("./pki/model/PkiCertificateInfo"),...require("./proxy/data/HttpProxyDataSource"),...require("./proxy/data/HttpSafeProxyDataSource"),...require("./proxy/data/ProxyDataSource"),...require("./proxy/domain/ProxyContextFieldLoader"),...require("./reporter/data/BlindSigningReporterDatasource"),...require("./reporter/data/HttpBlindSigningReporterDatasource"),...require("./reporter/domain/BlindSigningReporter"),...require("./reporter/domain/DefaultBlindSigningReporter"),...require("./reporter/model/BlindSigningEvent"),...require("./reporter/model/BlindSigningModelId"),...require("./shared/domain/ContextFieldLoader"),...require("./shared/domain/ContextLoader"),...require("./shared/model/ClearSignContext"),...require("./shared/model/GenericPath"),...require("./shared/model/SolanaContextTypes"),...require("./shared/model/TransactionSubset"),...require("./shared/model/TypedDataClearSignContext"),...require("./shared/model/TypedDataContext"),...require("./solana/data/HttpSolanaOwnerInfoDataSource"),...require("./solana/data/SolanaDataSource"),...require("./solana/domain/DefaultSolanaContextLoader"),...require("./solana/domain/SolanaContextLoader"),...require("./solana/domain/solanaContextTypes"),...require("./token/data/HttpTokenDataSource"),...require("./token/data/TokenDataSource"),...require("./token/domain/TokenContextFieldLoader"),...require("./token/domain/TokenContextLoader"),...require("./trusted-name/data/HttpTrustedNameDataSource"),...require("./trusted-name/data/TrustedNameDataSource"),...require("./trusted-name/domain/TrustedNameContextFieldLoader"),...require("./trusted-name/domain/TrustedNameContextLoader"),...require("./typed-data/data/HttpTypedDataDataSource"),...require("./typed-data/data/TypedDataDataSource"),...require("./typed-data/domain/DefaultTypedDataContextLoader"),...require("./typed-data/domain/TypedDataContextLoader"),...require("./typed-data/utils/getSchemaHash"),...require("./uniswap/data/AbiDecoderDataSource"),...require("./uniswap/data/CommandDecoderDataSource"),...require("./uniswap/data/DefaultCommandDecoderDataSource"),...require("./uniswap/data/EthersAbiDecoderDataSource"),...require("./uniswap/domain/UniswapContextLoader")});
|
|
1
|
+
"use strict";var C=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var p=(t,e,f,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let x of l(e))!d.call(t,x)&&x!==f&&C(t,x,{get:()=>e[x],enumerable:!(m=n(e,x))||m.enumerable});return t},r=(t,e,f)=>(p(t,e,"default"),f&&p(f,e,"default"));var M=t=>p(C({},"__esModule",{value:!0}),t);var o={};module.exports=M(o);r(o,require("./account-ownership/data/AccountOwnershipDataSource"),module.exports);r(o,require("./account-ownership/data/AccountOwnershipError"),module.exports);r(o,require("./account-ownership/data/HttpAccountOwnershipDataSource"),module.exports);r(o,require("./account-ownership/domain/AccountOwnershipContextLoader"),module.exports);r(o,require("./calldata/data/CalldataDescriptorDataSource"),module.exports);r(o,require("./calldata/data/HttpCalldataDescriptorDataSource"),module.exports);r(o,require("./calldata/domain/CalldataContextLoader"),module.exports);r(o,require("./ContextModule"),module.exports);r(o,require("./ContextModuleBuilder"),module.exports);r(o,require("./DefaultContextModule"),module.exports);r(o,require("./dynamic-network/data/DynamicNetworkDataSource"),module.exports);r(o,require("./dynamic-network/data/HttpDynamicNetworkDataSource"),module.exports);r(o,require("./dynamic-network/domain/DynamicNetworkContextLoader"),module.exports);r(o,require("./dynamic-network/model/DynamicNetworkConfiguration"),module.exports);r(o,require("./external-plugin/data/ExternalPluginDataSource"),module.exports);r(o,require("./external-plugin/data/HttpExternalPluginDataSource"),module.exports);r(o,require("./external-plugin/domain/ExternalPluginContextLoader"),module.exports);r(o,require("./gated-signing/data/GatedDescriptorDataSource"),module.exports);r(o,require("./gated-signing/data/HttpGatedDescriptorDataSource"),module.exports);r(o,require("./gated-signing/domain/GatedSigningContextLoader"),module.exports);r(o,require("./gated-signing/domain/GatedSigningTypedDataContextLoader"),module.exports);r(o,require("./nft/data/HttpNftDataSource"),module.exports);r(o,require("./nft/data/NftDataSource"),module.exports);r(o,require("./nft/domain/NftContextFieldLoader"),module.exports);r(o,require("./nft/domain/NftContextLoader"),module.exports);r(o,require("./pki/data/HttpPkiCertificateDataSource"),module.exports);r(o,require("./pki/data/PkiCertificateDataSource"),module.exports);r(o,require("./pki/domain/DefaultPkiCertificateLoader"),module.exports);r(o,require("./pki/domain/PkiCertificateLoader"),module.exports);r(o,require("./pki/model/KeyId"),module.exports);r(o,require("./pki/model/KeyUsage"),module.exports);r(o,require("./pki/model/PkiCertificate"),module.exports);r(o,require("./pki/model/PkiCertificateInfo"),module.exports);r(o,require("./proxy/data/HttpProxyDataSource"),module.exports);r(o,require("./proxy/data/HttpSafeProxyDataSource"),module.exports);r(o,require("./proxy/data/ProxyDataSource"),module.exports);r(o,require("./proxy/domain/ProxyContextFieldLoader"),module.exports);r(o,require("./reporter/data/BlindSigningReporterDatasource"),module.exports);r(o,require("./reporter/data/HttpBlindSigningReporterDatasource"),module.exports);r(o,require("./reporter/domain/BlindSigningReporter"),module.exports);r(o,require("./reporter/domain/DefaultBlindSigningReporter"),module.exports);r(o,require("./reporter/model/BlindSigningEvent"),module.exports);r(o,require("./reporter/model/BlindSigningModelId"),module.exports);r(o,require("./shared/domain/ContextFieldLoader"),module.exports);r(o,require("./shared/domain/ContextLoader"),module.exports);r(o,require("./shared/model/ClearSignContext"),module.exports);r(o,require("./shared/model/GenericPath"),module.exports);r(o,require("./shared/model/SolanaContextTypes"),module.exports);r(o,require("./shared/model/TransactionSubset"),module.exports);r(o,require("./shared/model/TypedDataClearSignContext"),module.exports);r(o,require("./shared/model/TypedDataContext"),module.exports);r(o,require("./solana/data/HttpSolanaOwnerInfoDataSource"),module.exports);r(o,require("./solana/data/SolanaDataSource"),module.exports);r(o,require("./solana/domain/DefaultSolanaContextLoader"),module.exports);r(o,require("./solana/domain/SolanaContextLoader"),module.exports);r(o,require("./solana/domain/solanaContextTypes"),module.exports);r(o,require("./token/data/HttpTokenDataSource"),module.exports);r(o,require("./token/data/TokenDataSource"),module.exports);r(o,require("./token/domain/TokenContextFieldLoader"),module.exports);r(o,require("./token/domain/TokenContextLoader"),module.exports);r(o,require("./trusted-name/data/HttpTrustedNameDataSource"),module.exports);r(o,require("./trusted-name/data/TrustedNameDataSource"),module.exports);r(o,require("./trusted-name/domain/TrustedNameContextFieldLoader"),module.exports);r(o,require("./trusted-name/domain/TrustedNameContextLoader"),module.exports);r(o,require("./typed-data/data/HttpTypedDataDataSource"),module.exports);r(o,require("./typed-data/data/TypedDataDataSource"),module.exports);r(o,require("./typed-data/domain/DefaultTypedDataContextLoader"),module.exports);r(o,require("./typed-data/domain/TypedDataContextLoader"),module.exports);r(o,require("./typed-data/utils/getSchemaHash"),module.exports);r(o,require("./uniswap/data/AbiDecoderDataSource"),module.exports);r(o,require("./uniswap/data/CommandDecoderDataSource"),module.exports);r(o,require("./uniswap/data/DefaultCommandDecoderDataSource"),module.exports);r(o,require("./uniswap/data/EthersAbiDecoderDataSource"),module.exports);r(o,require("./uniswap/domain/UniswapContextLoader"),module.exports);0&&(module.exports={...require("./account-ownership/data/AccountOwnershipDataSource"),...require("./account-ownership/data/AccountOwnershipError"),...require("./account-ownership/data/HttpAccountOwnershipDataSource"),...require("./account-ownership/domain/AccountOwnershipContextLoader"),...require("./calldata/data/CalldataDescriptorDataSource"),...require("./calldata/data/HttpCalldataDescriptorDataSource"),...require("./calldata/domain/CalldataContextLoader"),...require("./ContextModule"),...require("./ContextModuleBuilder"),...require("./DefaultContextModule"),...require("./dynamic-network/data/DynamicNetworkDataSource"),...require("./dynamic-network/data/HttpDynamicNetworkDataSource"),...require("./dynamic-network/domain/DynamicNetworkContextLoader"),...require("./dynamic-network/model/DynamicNetworkConfiguration"),...require("./external-plugin/data/ExternalPluginDataSource"),...require("./external-plugin/data/HttpExternalPluginDataSource"),...require("./external-plugin/domain/ExternalPluginContextLoader"),...require("./gated-signing/data/GatedDescriptorDataSource"),...require("./gated-signing/data/HttpGatedDescriptorDataSource"),...require("./gated-signing/domain/GatedSigningContextLoader"),...require("./gated-signing/domain/GatedSigningTypedDataContextLoader"),...require("./nft/data/HttpNftDataSource"),...require("./nft/data/NftDataSource"),...require("./nft/domain/NftContextFieldLoader"),...require("./nft/domain/NftContextLoader"),...require("./pki/data/HttpPkiCertificateDataSource"),...require("./pki/data/PkiCertificateDataSource"),...require("./pki/domain/DefaultPkiCertificateLoader"),...require("./pki/domain/PkiCertificateLoader"),...require("./pki/model/KeyId"),...require("./pki/model/KeyUsage"),...require("./pki/model/PkiCertificate"),...require("./pki/model/PkiCertificateInfo"),...require("./proxy/data/HttpProxyDataSource"),...require("./proxy/data/HttpSafeProxyDataSource"),...require("./proxy/data/ProxyDataSource"),...require("./proxy/domain/ProxyContextFieldLoader"),...require("./reporter/data/BlindSigningReporterDatasource"),...require("./reporter/data/HttpBlindSigningReporterDatasource"),...require("./reporter/domain/BlindSigningReporter"),...require("./reporter/domain/DefaultBlindSigningReporter"),...require("./reporter/model/BlindSigningEvent"),...require("./reporter/model/BlindSigningModelId"),...require("./shared/domain/ContextFieldLoader"),...require("./shared/domain/ContextLoader"),...require("./shared/model/ClearSignContext"),...require("./shared/model/GenericPath"),...require("./shared/model/SolanaContextTypes"),...require("./shared/model/TransactionSubset"),...require("./shared/model/TypedDataClearSignContext"),...require("./shared/model/TypedDataContext"),...require("./solana/data/HttpSolanaOwnerInfoDataSource"),...require("./solana/data/SolanaDataSource"),...require("./solana/domain/DefaultSolanaContextLoader"),...require("./solana/domain/SolanaContextLoader"),...require("./solana/domain/solanaContextTypes"),...require("./token/data/HttpTokenDataSource"),...require("./token/data/TokenDataSource"),...require("./token/domain/TokenContextFieldLoader"),...require("./token/domain/TokenContextLoader"),...require("./trusted-name/data/HttpTrustedNameDataSource"),...require("./trusted-name/data/TrustedNameDataSource"),...require("./trusted-name/domain/TrustedNameContextFieldLoader"),...require("./trusted-name/domain/TrustedNameContextLoader"),...require("./typed-data/data/HttpTypedDataDataSource"),...require("./typed-data/data/TypedDataDataSource"),...require("./typed-data/domain/DefaultTypedDataContextLoader"),...require("./typed-data/domain/TypedDataContextLoader"),...require("./typed-data/utils/getSchemaHash"),...require("./uniswap/data/AbiDecoderDataSource"),...require("./uniswap/data/CommandDecoderDataSource"),...require("./uniswap/data/DefaultCommandDecoderDataSource"),...require("./uniswap/data/EthersAbiDecoderDataSource"),...require("./uniswap/domain/UniswapContextLoader")});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/src/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./calldata/domain/CalldataContextLoader\";\nexport 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 \"./dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./nft/data/HttpNftDataSource\";\nexport * from \"./nft/data/NftDataSource\";\nexport * from \"./nft/domain/NftContextFieldLoader\";\nexport * from \"./nft/domain/NftContextLoader\";\nexport * from \"./pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./pki/data/PkiCertificateDataSource\";\nexport * from \"./pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./pki/domain/PkiCertificateLoader\";\nexport * from \"./pki/model/KeyId\";\nexport * from \"./pki/model/KeyUsage\";\nexport * from \"./pki/model/PkiCertificate\";\nexport * from \"./pki/model/PkiCertificateInfo\";\nexport * from \"./proxy/data/HttpProxyDataSource\";\nexport * from \"./proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./proxy/data/ProxyDataSource\";\nexport * from \"./proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./reporter/domain/BlindSigningReporter\";\nexport * from \"./reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./reporter/model/BlindSigningEvent\";\nexport * from \"./reporter/model/BlindSigningModelId\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/SolanaContextTypes\";\nexport * from \"./shared/model/TransactionSubset\";\nexport * from \"./shared/model/TypedDataClearSignContext\";\nexport * from \"./shared/model/TypedDataContext\";\nexport * from \"./solana/data/HttpSolanaOwnerInfoDataSource\";\nexport * from \"./solana/data/SolanaDataSource\";\nexport * from \"./solana/domain/DefaultSolanaContextLoader\";\nexport * from \"./solana/domain/SolanaContextLoader\";\nexport * from \"./solana/domain/solanaContextTypes\";\nexport * from \"./token/data/HttpTokenDataSource\";\nexport * from \"./token/data/TokenDataSource\";\nexport * from \"./token/domain/TokenContextFieldLoader\";\nexport * from \"./token/domain/TokenContextLoader\";\nexport * from \"./trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./trusted-name/data/TrustedNameDataSource\";\nexport * from \"./trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./typed-data/data/TypedDataDataSource\";\nexport * from \"./typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./typed-data/domain/TypedDataContextLoader\";\nexport * from \"./typed-data/utils/getSchemaHash\";\nexport * from \"./uniswap/data/AbiDecoderDataSource\";\nexport * from \"./uniswap/data/CommandDecoderDataSource\";\nexport * from \"./uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./uniswap/domain/UniswapContextLoader\";\n"],
|
|
5
|
-
"mappings": "iaAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAAAE,EAAAF,EAAc,
|
|
4
|
+
"sourcesContent": ["export * from \"./account-ownership/data/AccountOwnershipDataSource\";\nexport * from \"./account-ownership/data/AccountOwnershipError\";\nexport * from \"./account-ownership/data/HttpAccountOwnershipDataSource\";\nexport * from \"./account-ownership/domain/AccountOwnershipContextLoader\";\nexport * from \"./calldata/data/CalldataDescriptorDataSource\";\nexport * from \"./calldata/data/HttpCalldataDescriptorDataSource\";\nexport * from \"./calldata/domain/CalldataContextLoader\";\nexport 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 \"./dynamic-network/data/DynamicNetworkDataSource\";\nexport * from \"./dynamic-network/data/HttpDynamicNetworkDataSource\";\nexport * from \"./dynamic-network/domain/DynamicNetworkContextLoader\";\nexport * from \"./dynamic-network/model/DynamicNetworkConfiguration\";\nexport * from \"./external-plugin/data/ExternalPluginDataSource\";\nexport * from \"./external-plugin/data/HttpExternalPluginDataSource\";\nexport * from \"./external-plugin/domain/ExternalPluginContextLoader\";\nexport * from \"./gated-signing/data/GatedDescriptorDataSource\";\nexport * from \"./gated-signing/data/HttpGatedDescriptorDataSource\";\nexport * from \"./gated-signing/domain/GatedSigningContextLoader\";\nexport * from \"./gated-signing/domain/GatedSigningTypedDataContextLoader\";\nexport * from \"./nft/data/HttpNftDataSource\";\nexport * from \"./nft/data/NftDataSource\";\nexport * from \"./nft/domain/NftContextFieldLoader\";\nexport * from \"./nft/domain/NftContextLoader\";\nexport * from \"./pki/data/HttpPkiCertificateDataSource\";\nexport * from \"./pki/data/PkiCertificateDataSource\";\nexport * from \"./pki/domain/DefaultPkiCertificateLoader\";\nexport * from \"./pki/domain/PkiCertificateLoader\";\nexport * from \"./pki/model/KeyId\";\nexport * from \"./pki/model/KeyUsage\";\nexport * from \"./pki/model/PkiCertificate\";\nexport * from \"./pki/model/PkiCertificateInfo\";\nexport * from \"./proxy/data/HttpProxyDataSource\";\nexport * from \"./proxy/data/HttpSafeProxyDataSource\";\nexport * from \"./proxy/data/ProxyDataSource\";\nexport * from \"./proxy/domain/ProxyContextFieldLoader\";\nexport * from \"./reporter/data/BlindSigningReporterDatasource\";\nexport * from \"./reporter/data/HttpBlindSigningReporterDatasource\";\nexport * from \"./reporter/domain/BlindSigningReporter\";\nexport * from \"./reporter/domain/DefaultBlindSigningReporter\";\nexport * from \"./reporter/model/BlindSigningEvent\";\nexport * from \"./reporter/model/BlindSigningModelId\";\nexport * from \"./shared/domain/ContextFieldLoader\";\nexport * from \"./shared/domain/ContextLoader\";\nexport * from \"./shared/model/ClearSignContext\";\nexport * from \"./shared/model/GenericPath\";\nexport * from \"./shared/model/SolanaContextTypes\";\nexport * from \"./shared/model/TransactionSubset\";\nexport * from \"./shared/model/TypedDataClearSignContext\";\nexport * from \"./shared/model/TypedDataContext\";\nexport * from \"./solana/data/HttpSolanaOwnerInfoDataSource\";\nexport * from \"./solana/data/SolanaDataSource\";\nexport * from \"./solana/domain/DefaultSolanaContextLoader\";\nexport * from \"./solana/domain/SolanaContextLoader\";\nexport * from \"./solana/domain/solanaContextTypes\";\nexport * from \"./token/data/HttpTokenDataSource\";\nexport * from \"./token/data/TokenDataSource\";\nexport * from \"./token/domain/TokenContextFieldLoader\";\nexport * from \"./token/domain/TokenContextLoader\";\nexport * from \"./trusted-name/data/HttpTrustedNameDataSource\";\nexport * from \"./trusted-name/data/TrustedNameDataSource\";\nexport * from \"./trusted-name/domain/TrustedNameContextFieldLoader\";\nexport * from \"./trusted-name/domain/TrustedNameContextLoader\";\nexport * from \"./typed-data/data/HttpTypedDataDataSource\";\nexport * from \"./typed-data/data/TypedDataDataSource\";\nexport * from \"./typed-data/domain/DefaultTypedDataContextLoader\";\nexport * from \"./typed-data/domain/TypedDataContextLoader\";\nexport * from \"./typed-data/utils/getSchemaHash\";\nexport * from \"./uniswap/data/AbiDecoderDataSource\";\nexport * from \"./uniswap/data/CommandDecoderDataSource\";\nexport * from \"./uniswap/data/DefaultCommandDecoderDataSource\";\nexport * from \"./uniswap/data/EthersAbiDecoderDataSource\";\nexport * from \"./uniswap/domain/UniswapContextLoader\";\n"],
|
|
5
|
+
"mappings": "iaAAA,IAAAA,EAAA,kBAAAC,EAAAD,GAAAE,EAAAF,EAAc,+DAAd,gBACAE,EAAAF,EAAc,0DADd,gBAEAE,EAAAF,EAAc,mEAFd,gBAGAE,EAAAF,EAAc,oEAHd,gBAIAE,EAAAF,EAAc,wDAJd,gBAKAE,EAAAF,EAAc,4DALd,gBAMAE,EAAAF,EAAc,mDANd,gBAiBAE,EAAAF,EAAc,2BAjBd,gBAkBAE,EAAAF,EAAc,kCAlBd,gBAmBAE,EAAAF,EAAc,kCAnBd,gBAoBAE,EAAAF,EAAc,2DApBd,gBAqBAE,EAAAF,EAAc,+DArBd,gBAsBAE,EAAAF,EAAc,gEAtBd,gBAuBAE,EAAAF,EAAc,+DAvBd,gBAwBAE,EAAAF,EAAc,2DAxBd,gBAyBAE,EAAAF,EAAc,+DAzBd,gBA0BAE,EAAAF,EAAc,gEA1Bd,gBA2BAE,EAAAF,EAAc,0DA3Bd,gBA4BAE,EAAAF,EAAc,8DA5Bd,gBA6BAE,EAAAF,EAAc,4DA7Bd,gBA8BAE,EAAAF,EAAc,qEA9Bd,gBA+BAE,EAAAF,EAAc,wCA/Bd,gBAgCAE,EAAAF,EAAc,oCAhCd,gBAiCAE,EAAAF,EAAc,8CAjCd,gBAkCAE,EAAAF,EAAc,yCAlCd,gBAmCAE,EAAAF,EAAc,mDAnCd,gBAoCAE,EAAAF,EAAc,+CApCd,gBAqCAE,EAAAF,EAAc,oDArCd,gBAsCAE,EAAAF,EAAc,6CAtCd,gBAuCAE,EAAAF,EAAc,6BAvCd,gBAwCAE,EAAAF,EAAc,gCAxCd,gBAyCAE,EAAAF,EAAc,sCAzCd,gBA0CAE,EAAAF,EAAc,0CA1Cd,gBA2CAE,EAAAF,EAAc,4CA3Cd,gBA4CAE,EAAAF,EAAc,gDA5Cd,gBA6CAE,EAAAF,EAAc,wCA7Cd,gBA8CAE,EAAAF,EAAc,kDA9Cd,gBA+CAE,EAAAF,EAAc,0DA/Cd,gBAgDAE,EAAAF,EAAc,8DAhDd,gBAiDAE,EAAAF,EAAc,kDAjDd,gBAkDAE,EAAAF,EAAc,yDAlDd,gBAmDAE,EAAAF,EAAc,8CAnDd,gBAoDAE,EAAAF,EAAc,gDApDd,gBAqDAE,EAAAF,EAAc,8CArDd,gBAsDAE,EAAAF,EAAc,yCAtDd,gBAuDAE,EAAAF,EAAc,2CAvDd,gBAwDAE,EAAAF,EAAc,sCAxDd,gBAyDAE,EAAAF,EAAc,6CAzDd,gBA0DAE,EAAAF,EAAc,4CA1Dd,gBA2DAE,EAAAF,EAAc,oDA3Dd,gBA4DAE,EAAAF,EAAc,2CA5Dd,gBA6DAE,EAAAF,EAAc,uDA7Dd,gBA8DAE,EAAAF,EAAc,0CA9Dd,gBA+DAE,EAAAF,EAAc,sDA/Dd,gBAgEAE,EAAAF,EAAc,+CAhEd,gBAiEAE,EAAAF,EAAc,8CAjEd,gBAkEAE,EAAAF,EAAc,4CAlEd,gBAmEAE,EAAAF,EAAc,wCAnEd,gBAoEAE,EAAAF,EAAc,kDApEd,gBAqEAE,EAAAF,EAAc,6CArEd,gBAsEAE,EAAAF,EAAc,yDAtEd,gBAuEAE,EAAAF,EAAc,qDAvEd,gBAwEAE,EAAAF,EAAc,+DAxEd,gBAyEAE,EAAAF,EAAc,0DAzEd,gBA0EAE,EAAAF,EAAc,qDA1Ed,gBA2EAE,EAAAF,EAAc,iDA3Ed,gBA4EAE,EAAAF,EAAc,6DA5Ed,gBA6EAE,EAAAF,EAAc,sDA7Ed,gBA8EAE,EAAAF,EAAc,4CA9Ed,gBA+EAE,EAAAF,EAAc,+CA/Ed,gBAgFAE,EAAAF,EAAc,mDAhFd,gBAiFAE,EAAAF,EAAc,0DAjFd,gBAkFAE,EAAAF,EAAc,qDAlFd,gBAmFAE,EAAAF,EAAc,iDAnFd",
|
|
6
6
|
"names": ["src_exports", "__toCommonJS", "__reExport"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var w=(t,o)=>{for(var r in o)n(t,r,{get:o[r],enumerable:!0})},a=(t,o,r,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of k(o))!f.call(t,e)&&e!==r&&n(t,e,{get:()=>o[e],enumerable:!(i=p(o,e))||i.enumerable});return t};var c=t=>a(n({},"__esModule",{value:!0}),t);var y={};w(y,{networkModuleFactory:()=>u});module.exports=c(y);var m=require("inversify"),C=require("../../network/di/networkTypes"),l=require("../../network/networkClientFactory");const u=t=>new m.ContainerModule(({bind:o})=>{o(C.networkTypes.NetworkClient).toConstantValue((0,l.networkClientFactory)(t))});0&&(module.exports={networkModuleFactory});
|
|
2
|
+
//# sourceMappingURL=networkModuleFactory.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/network/di/networkModuleFactory.ts"],
|
|
4
|
+
"sourcesContent": ["import { type DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\nimport { ContainerModule } from \"inversify\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport { networkTypes } from \"@/network/di/networkTypes\";\nimport { networkClientFactory } from \"@/network/networkClientFactory\";\n\nexport const networkModuleFactory = (config: ContextModuleServiceConfig) =>\n new ContainerModule(({ bind }) => {\n bind<DmkNetworkClient>(networkTypes.NetworkClient).toConstantValue(\n networkClientFactory(config),\n );\n });\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAgC,qBAGhCC,EAA6B,qCAC7BC,EAAqC,0CAE9B,MAAMJ,EAAwBK,GACnC,IAAI,kBAAgB,CAAC,CAAE,KAAAC,CAAK,IAAM,CAChCA,EAAuB,eAAa,aAAa,EAAE,mBACjD,wBAAqBD,CAAM,CAC7B,CACF,CAAC",
|
|
6
|
+
"names": ["networkModuleFactory_exports", "__export", "networkModuleFactory", "__toCommonJS", "import_inversify", "import_networkTypes", "import_networkClientFactory", "config", "bind"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var r=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(o,e)=>{for(var n in e)r(o,n,{get:e[n],enumerable:!0})},s=(o,e,n,k)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of w(e))!i.call(o,t)&&t!==n&&r(o,t,{get:()=>e[t],enumerable:!(k=l(e,t))||k.enumerable});return o};var y=o=>s(r({},"__esModule",{value:!0}),o);var b={};p(b,{networkTypes:()=>C});module.exports=y(b);const C={NetworkClient:Symbol.for("networkClient")};0&&(module.exports={networkTypes});
|
|
2
|
+
//# sourceMappingURL=networkTypes.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/network/di/networkTypes.ts"],
|
|
4
|
+
"sourcesContent": ["export const networkTypes = {\n NetworkClient: Symbol.for(\"networkClient\"),\n};\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAe,CAC1B,cAAe,OAAO,IAAI,eAAe,CAC3C",
|
|
6
|
+
"names": ["networkTypes_exports", "__export", "networkTypes", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var R=Object.create;var i=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty;var D=(o,e)=>{for(var r in e)i(o,r,{get:e[r],enumerable:!0})},m=(o,e,r,E)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of f(e))!l.call(o,t)&&t!==r&&i(o,t,{get:()=>e[t],enumerable:!(E=_(e,t))||E.enumerable});return o};var N=(o,e,r)=>(r=o!=null?R(k(o)):{},m(e||!o||!o.__esModule?i(r,"default",{value:o,enumerable:!0}):r,o)),c=o=>m(i({},"__esModule",{value:!0}),o);var x={};D(x,{networkClientFactory:()=>d});module.exports=c(x);var C=require("@ledgerhq/device-management-kit"),n=require("../shared/constant/HttpHeaders"),p=N(require("../../package.json"));const d=o=>new C.DmkNetworkClient({headers:{[n.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${p.default.version}`,...o.originToken&&{[n.LEDGER_ORIGIN_TOKEN_HEADER]:o.originToken}}});0&&(module.exports={networkClientFactory});
|
|
2
|
+
//# sourceMappingURL=networkClientFactory.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/network/networkClientFactory.ts"],
|
|
4
|
+
"sourcesContent": ["import { DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\nexport const networkClientFactory = (config: ContextModuleServiceConfig) =>\n new DmkNetworkClient({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n ...(config.originToken && {\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n }),\n },\n });\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiC,2CAGjCC,EAGO,yCACPC,EAAoB,iCAEb,MAAMJ,EAAwBK,GACnC,IAAI,mBAAiB,CACnB,QAAS,CACP,CAAC,8BAA4B,EAAG,kBAAkB,EAAAC,QAAQ,OAAO,GACjE,GAAID,EAAO,aAAe,CACxB,CAAC,4BAA0B,EAAGA,EAAO,WACvC,CACF,CACF,CAAC",
|
|
6
|
+
"names": ["networkClientFactory_exports", "__export", "networkClientFactory", "__toCommonJS", "import_device_management_kit", "import_HttpHeaders", "import_package", "config", "PACKAGE"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var d=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var g=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of f(o))!h.call(e,i)&&i!==t&&r(e,i,{get:()=>o[i],enumerable:!(n=p(o,i))||n.enumerable});return e};var u=(e,o,t)=>(t=e!=null?l(d(e)):{},g(o||!e||!e.__esModule?r(t,"default",{value:e,enumerable:!0}):t,e));var c=require("../network/networkClientFactory"),s=require("../shared/constant/HttpHeaders"),a=u(require("../../package.json"));describe("networkClientFactory",()=>{let e;beforeEach(()=>{e=vi.fn().mockResolvedValue(new Response(null,{status:204})),vi.stubGlobal("fetch",e)}),afterEach(()=>{vi.unstubAllGlobals()});const o=()=>{expect(e).toHaveBeenCalledTimes(1);const t=e.mock.calls[0]?.[1];return expect(t).toBeDefined(),t?.headers};it("should set the context-module client version header",async()=>{await(0,c.networkClientFactory)({}).get("https://example.test",{responseType:"void"}),expect(o()).toMatchObject({[s.LEDGER_CLIENT_VERSION_HEADER]:`context-module/${a.default.version}`})}),it("should set the origin token header when configured",async()=>{const t={originToken:"origin-token"};await(0,c.networkClientFactory)(t).get("https://example.test",{responseType:"void"}),expect(o()).toMatchObject({[s.LEDGER_ORIGIN_TOKEN_HEADER]:t.originToken})}),it("should not set the origin token header when it is missing",async()=>{await(0,c.networkClientFactory)({}).get("https://example.test",{responseType:"void"}),expect(o()).not.toHaveProperty(s.LEDGER_ORIGIN_TOKEN_HEADER)})});
|
|
2
|
+
//# sourceMappingURL=networkClientFactory.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/network/networkClientFactory.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport { networkClientFactory } from \"@/network/networkClientFactory\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport PACKAGE from \"@root/package.json\";\n\ndescribe(\"networkClientFactory\", () => {\n let fetchMock: ReturnType<typeof vi.fn<typeof fetch>>;\n\n beforeEach(() => {\n fetchMock = vi\n .fn<typeof fetch>()\n .mockResolvedValue(new Response(null, { status: 204 }));\n vi.stubGlobal(\"fetch\", fetchMock);\n });\n\n afterEach(() => {\n vi.unstubAllGlobals();\n });\n\n const getRequestHeaders = () => {\n expect(fetchMock).toHaveBeenCalledTimes(1);\n\n const requestInit = fetchMock.mock.calls[0]?.[1];\n expect(requestInit).toBeDefined();\n\n return requestInit?.headers as Record<string, string>;\n };\n\n it(\"should set the context-module client version header\", async () => {\n // GIVEN\n const config = {} as ContextModuleServiceConfig;\n const client = networkClientFactory(config);\n\n // WHEN\n await client.get(\"https://example.test\", { responseType: \"void\" });\n\n // THEN\n expect(getRequestHeaders()).toMatchObject({\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n });\n });\n\n it(\"should set the origin token header when configured\", async () => {\n // GIVEN\n const config = {\n originToken: \"origin-token\",\n } as ContextModuleServiceConfig;\n const client = networkClientFactory(config);\n\n // WHEN\n await client.get(\"https://example.test\", { responseType: \"void\" });\n\n // THEN\n expect(getRequestHeaders()).toMatchObject({\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n });\n });\n\n it(\"should not set the origin token header when it is missing\", async () => {\n // GIVEN\n const config = {} as ContextModuleServiceConfig;\n const client = networkClientFactory(config);\n\n // WHEN\n await client.get(\"https://example.test\", { responseType: \"void\" });\n\n // THEN\n expect(getRequestHeaders()).not.toHaveProperty(LEDGER_ORIGIN_TOKEN_HEADER);\n });\n});\n"],
|
|
5
|
+
"mappings": "wdACA,IAAAA,EAAqC,0CACrCC,EAGO,yCACPC,EAAoB,iCAEpB,SAAS,uBAAwB,IAAM,CACrC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAY,GACT,GAAiB,EACjB,kBAAkB,IAAI,SAAS,KAAM,CAAE,OAAQ,GAAI,CAAC,CAAC,EACxD,GAAG,WAAW,QAASA,CAAS,CAClC,CAAC,EAED,UAAU,IAAM,CACd,GAAG,iBAAiB,CACtB,CAAC,EAED,MAAMC,EAAoB,IAAM,CAC9B,OAAOD,CAAS,EAAE,sBAAsB,CAAC,EAEzC,MAAME,EAAcF,EAAU,KAAK,MAAM,CAAC,IAAI,CAAC,EAC/C,cAAOE,CAAW,EAAE,YAAY,EAEzBA,GAAa,OACtB,EAEA,GAAG,sDAAuD,SAAY,CAMpE,QAHe,wBADA,CAAC,CAC0B,EAG7B,IAAI,uBAAwB,CAAE,aAAc,MAAO,CAAC,EAGjE,OAAOD,EAAkB,CAAC,EAAE,cAAc,CACxC,CAAC,8BAA4B,EAAG,kBAAkB,EAAAE,QAAQ,OAAO,EACnE,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAMC,EAAS,CACb,YAAa,cACf,EAIA,QAHe,wBAAqBA,CAAM,EAG7B,IAAI,uBAAwB,CAAE,aAAc,MAAO,CAAC,EAGjE,OAAOH,EAAkB,CAAC,EAAE,cAAc,CACxC,CAAC,4BAA0B,EAAGG,EAAO,WACvC,CAAC,CACH,CAAC,EAED,GAAG,4DAA6D,SAAY,CAM1E,QAHe,wBADA,CAAC,CAC0B,EAG7B,IAAI,uBAAwB,CAAE,aAAc,MAAO,CAAC,EAGjE,OAAOH,EAAkB,CAAC,EAAE,IAAI,eAAe,4BAA0B,CAC3E,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_networkClientFactory", "import_HttpHeaders", "import_package", "fetchMock", "getRequestHeaders", "requestInit", "PACKAGE", "config"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var P=(a,t)=>{for(var r in t)s(a,r,{get:t[r],enumerable:!0})},C=(a,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of y(t))!h.call(a,e)&&e!==r&&s(a,e,{get:()=>t[e],enumerable:!(o=f(t,e))||o.enumerable});return a};var w=a=>C(s({},"__esModule",{value:!0}),a),d=(a,t,r,o)=>{for(var e=o>1?void 0:o?f(t,r):t,m=a.length-1,c;m>=0;m--)(c=a[m])&&(e=(o?c(t,r,e):c(e))||e);return o&&e&&s(t,r,e),e},p=(a,t)=>(r,o)=>t(r,o,a);var S={};P(S,{HttpNftDataSource:()=>i});module.exports=w(S);var l=require("inversify"),n=require("purify-ts"),u=require("../../config/di/configTypes"),g=require("../../network/di/networkTypes");let i=class{constructor(t,r){this.config=t;this.http=r}async getSetPluginPayload({chainId:t,address:r,selector:o}){try{const e=await this.http.get(`${this.config.metadataServiceDomain.url}/v1/ethereum/${t}/contracts/${r}/plugin-selector/${o}`);return e.payload?(0,n.Right)(e.payload):(0,n.Left)(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}catch{return(0,n.Left)(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}}async getNftInfosPayload({chainId:t,address:r}){try{const o=await this.http.get(`${this.config.metadataServiceDomain.url}/v1/ethereum/${t}/contracts/${r}`);return o.payload?(0,n.Right)(o.payload):(0,n.Left)(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}catch{return(0,n.Left)(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}}};i=d([(0,l.injectable)(),p(0,(0,l.inject)(u.configTypes.Config)),p(1,(0,l.inject)(g.networkTypes.NetworkClient))],i);0&&(module.exports={HttpNftDataSource});
|
|
2
2
|
//# sourceMappingURL=HttpNftDataSource.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/nft/data/HttpNftDataSource.ts"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["HttpNftDataSource_exports", "__export", "HttpNftDataSource", "__toCommonJS", "
|
|
4
|
+
"sourcesContent": ["import { DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\nimport { networkTypes } from \"@/network/di/networkTypes\";\nimport {\n GetNftInformationsParams,\n GetSetPluginPayloadParams,\n NftDataSource,\n} from \"@/nft/data/NftDataSource\";\n\n@injectable()\nexport class HttpNftDataSource implements NftDataSource {\n constructor(\n @inject(configTypes.Config)\n private readonly config: ContextModuleServiceConfig,\n @inject(networkTypes.NetworkClient)\n private readonly http: DmkNetworkClient,\n ) {}\n\n public async getSetPluginPayload({\n chainId,\n address,\n selector,\n }: GetSetPluginPayloadParams): Promise<Either<Error, string>> {\n try {\n const data = (await this.http.get(\n `${this.config.metadataServiceDomain.url}/v1/ethereum/${chainId}/contracts/${address}/plugin-selector/${selector}`,\n )) as { payload: string };\n\n return data.payload\n ? Right(data.payload)\n : Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: unexpected empty response\",\n ),\n );\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload\",\n ),\n );\n }\n }\n\n public async getNftInfosPayload({\n chainId,\n address,\n }: GetNftInformationsParams): Promise<Either<Error, string>> {\n try {\n const data = (await this.http.get(\n `${this.config.metadataServiceDomain.url}/v1/ethereum/${chainId}/contracts/${address}`,\n )) as { payload: string };\n\n return data.payload\n ? Right(data.payload)\n : Left(new Error(\"[ContextModule] HttpNftDataSource: no nft metadata\"));\n } catch (_error) {\n return Left(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch nft informations\",\n ),\n );\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAE5BC,EAA6B,qCAQtB,IAAMC,EAAN,KAAiD,CACtD,YAEmBC,EAEAC,EACjB,CAHiB,YAAAD,EAEA,UAAAC,CAChB,CAEH,MAAa,oBAAoB,CAC/B,QAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA8D,CAC5D,GAAI,CACF,MAAMC,EAAQ,MAAM,KAAK,KAAK,IAC5B,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBH,CAAO,cAAcC,CAAO,oBAAoBC,CAAQ,EAClH,EAEA,OAAOC,EAAK,WACR,SAAMA,EAAK,OAAO,KAClB,QACE,IAAI,MACF,8DACF,CACF,CACN,MAAiB,CACf,SAAO,QACL,IAAI,MACF,uEACF,CACF,CACF,CACF,CAEA,MAAa,mBAAmB,CAC9B,QAAAH,EACA,QAAAC,CACF,EAA6D,CAC3D,GAAI,CACF,MAAME,EAAQ,MAAM,KAAK,KAAK,IAC5B,GAAG,KAAK,OAAO,sBAAsB,GAAG,gBAAgBH,CAAO,cAAcC,CAAO,EACtF,EAEA,OAAOE,EAAK,WACR,SAAMA,EAAK,OAAO,KAClB,QAAK,IAAI,MAAM,oDAAoD,CAAC,CAC1E,MAAiB,CACf,SAAO,QACL,IAAI,MACF,qEACF,CACF,CACF,CACF,CACF,EAtDaN,EAANO,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,GAEzBA,EAAA,eAAO,eAAa,aAAa,IAJzBR",
|
|
6
|
+
"names": ["HttpNftDataSource_exports", "__export", "HttpNftDataSource", "__toCommonJS", "import_inversify", "import_purify_ts", "import_configTypes", "import_networkTypes", "HttpNftDataSource", "config", "http", "chainId", "address", "selector", "data", "__decorateClass", "__decorateParam"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var o=require("./HttpNftDataSource");const r={web3checks:{url:"web3checksUrl"},metadataServiceDomain:{url:"https://nft.api.live.ledger.com"},originToken:"originToken"};describe("HttpNftDataSource",()=>{let a,e;beforeEach(()=>{e={get:vi.fn()},a=new o.HttpNftDataSource(r,e)}),describe("getNftInfosPayload",()=>{it("should call the expected metadata service URL",async()=>{e.get.mockResolvedValue({payload:"payload"}),await a.getNftInfosPayload({address:"0x00",chainId:1}),expect(e.get).toHaveBeenCalledWith("https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0x00")}),it("should return an error when the network client throws",async()=>{e.get.mockRejectedValue(new Error("error"));const t=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch nft informations"))}),it("should return an error when the response has no payload",async()=>{e.get.mockResolvedValue({});const t=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: no nft metadata"))}),it("should return the payload",async()=>{e.get.mockResolvedValue({payload:"payload"});const t=await a.getNftInfosPayload({address:"0x00",chainId:1});expect(t.extract()).toEqual("payload")})}),describe("getSetPluginPayload",()=>{it("should call the expected metadata service URL",async()=>{e.get.mockResolvedValue({payload:"payload"}),await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"}),expect(e.get).toHaveBeenCalledWith("https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0x00/plugin-selector/0x00")}),it("should return an error when the network client throws",async()=>{e.get.mockRejectedValue(new Error("error"));const t=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload"))}),it("should return an error when the response has no payload",async()=>{e.get.mockResolvedValue({});const t=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual(new Error("[ContextModule] HttpNftDataSource: unexpected empty response"))}),it("should return the payload",async()=>{e.get.mockResolvedValue({payload:"payload"});const t=await a.getSetPluginPayload({address:"0x00",chainId:1,selector:"0x00"});expect(t.extract()).toEqual("payload")})})});
|
|
2
2
|
//# sourceMappingURL=HttpNftDataSource.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/nft/data/HttpNftDataSource.test.ts"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import { type DmkNetworkClient } from \"@ledgerhq/device-management-kit\";\n\nimport { type ContextModuleServiceConfig } from \"@/config/model/ContextModuleConfig\";\n\nimport { HttpNftDataSource } from \"./HttpNftDataSource\";\nimport { type NftDataSource } from \"./NftDataSource\";\n\nconst config = {\n web3checks: {\n url: \"web3checksUrl\",\n },\n metadataServiceDomain: {\n url: \"https://nft.api.live.ledger.com\",\n },\n originToken: \"originToken\",\n} as ContextModuleServiceConfig;\n\ndescribe(\"HttpNftDataSource\", () => {\n let datasource: NftDataSource;\n let httpMock: { get: ReturnType<typeof vi.fn> };\n\n beforeEach(() => {\n httpMock = { get: vi.fn() };\n datasource = new HttpNftDataSource(\n config,\n httpMock as unknown as DmkNetworkClient,\n );\n });\n\n describe(\"getNftInfosPayload\", () => {\n it(\"should call the expected metadata service URL\", async () => {\n httpMock.get.mockResolvedValue({ payload: \"payload\" });\n\n await datasource.getNftInfosPayload({ address: \"0x00\", chainId: 1 });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n \"https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0x00\",\n );\n });\n\n it(\"should return an error when the network client throws\", async () => {\n httpMock.get.mockRejectedValue(new Error(\"error\"));\n\n const result = await datasource.getNftInfosPayload({\n address: \"0x00\",\n chainId: 1,\n });\n\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch nft informations\",\n ),\n );\n });\n\n it(\"should return an error when the response has no payload\", async () => {\n httpMock.get.mockResolvedValue({});\n\n const result = await datasource.getNftInfosPayload({\n address: \"0x00\",\n chainId: 1,\n });\n\n expect(result.extract()).toEqual(\n new Error(\"[ContextModule] HttpNftDataSource: no nft metadata\"),\n );\n });\n\n it(\"should return the payload\", async () => {\n httpMock.get.mockResolvedValue({ payload: \"payload\" });\n\n const result = await datasource.getNftInfosPayload({\n address: \"0x00\",\n chainId: 1,\n });\n\n expect(result.extract()).toEqual(\"payload\");\n });\n });\n\n describe(\"getSetPluginPayload\", () => {\n it(\"should call the expected metadata service URL\", async () => {\n httpMock.get.mockResolvedValue({ payload: \"payload\" });\n\n await datasource.getSetPluginPayload({\n address: \"0x00\",\n chainId: 1,\n selector: \"0x00\",\n });\n\n expect(httpMock.get).toHaveBeenCalledWith(\n \"https://nft.api.live.ledger.com/v1/ethereum/1/contracts/0x00/plugin-selector/0x00\",\n );\n });\n\n it(\"should return an error when the network client throws\", async () => {\n httpMock.get.mockRejectedValue(new Error(\"error\"));\n\n const result = await datasource.getSetPluginPayload({\n address: \"0x00\",\n chainId: 1,\n selector: \"0x00\",\n });\n\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpNftDataSource: Failed to fetch set plugin payload\",\n ),\n );\n });\n\n it(\"should return an error when the response has no payload\", async () => {\n httpMock.get.mockResolvedValue({});\n\n const result = await datasource.getSetPluginPayload({\n address: \"0x00\",\n chainId: 1,\n selector: \"0x00\",\n });\n\n expect(result.extract()).toEqual(\n new Error(\n \"[ContextModule] HttpNftDataSource: unexpected empty response\",\n ),\n );\n });\n\n it(\"should return the payload\", async () => {\n httpMock.get.mockResolvedValue({ payload: \"payload\" });\n\n const result = await datasource.getSetPluginPayload({\n address: \"0x00\",\n chainId: 1,\n selector: \"0x00\",\n });\n\n expect(result.extract()).toEqual(\"payload\");\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAIA,IAAAA,EAAkC,+BAGlC,MAAMC,EAAS,CACb,WAAY,CACV,IAAK,eACP,EACA,sBAAuB,CACrB,IAAK,iCACP,EACA,YAAa,aACf,EAEA,SAAS,oBAAqB,IAAM,CAClC,IAAIC,EACAC,EAEJ,WAAW,IAAM,CACfA,EAAW,CAAE,IAAK,GAAG,GAAG,CAAE,EAC1BD,EAAa,IAAI,oBACfD,EACAE,CACF,CACF,CAAC,EAED,SAAS,qBAAsB,IAAM,CACnC,GAAG,gDAAiD,SAAY,CAC9DA,EAAS,IAAI,kBAAkB,CAAE,QAAS,SAAU,CAAC,EAErD,MAAMD,EAAW,mBAAmB,CAAE,QAAS,OAAQ,QAAS,CAAE,CAAC,EAEnE,OAAOC,EAAS,GAAG,EAAE,qBACnB,8DACF,CACF,CAAC,EAED,GAAG,wDAAyD,SAAY,CACtEA,EAAS,IAAI,kBAAkB,IAAI,MAAM,OAAO,CAAC,EAEjD,MAAMC,EAAS,MAAMF,EAAW,mBAAmB,CACjD,QAAS,OACT,QAAS,CACX,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QACvB,IAAI,MACF,qEACF,CACF,CACF,CAAC,EAED,GAAG,0DAA2D,SAAY,CACxED,EAAS,IAAI,kBAAkB,CAAC,CAAC,EAEjC,MAAMC,EAAS,MAAMF,EAAW,mBAAmB,CACjD,QAAS,OACT,QAAS,CACX,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QACvB,IAAI,MAAM,oDAAoD,CAChE,CACF,CAAC,EAED,GAAG,4BAA6B,SAAY,CAC1CD,EAAS,IAAI,kBAAkB,CAAE,QAAS,SAAU,CAAC,EAErD,MAAMC,EAAS,MAAMF,EAAW,mBAAmB,CACjD,QAAS,OACT,QAAS,CACX,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QAAQ,SAAS,CAC5C,CAAC,CACH,CAAC,EAED,SAAS,sBAAuB,IAAM,CACpC,GAAG,gDAAiD,SAAY,CAC9DD,EAAS,IAAI,kBAAkB,CAAE,QAAS,SAAU,CAAC,EAErD,MAAMD,EAAW,oBAAoB,CACnC,QAAS,OACT,QAAS,EACT,SAAU,MACZ,CAAC,EAED,OAAOC,EAAS,GAAG,EAAE,qBACnB,mFACF,CACF,CAAC,EAED,GAAG,wDAAyD,SAAY,CACtEA,EAAS,IAAI,kBAAkB,IAAI,MAAM,OAAO,CAAC,EAEjD,MAAMC,EAAS,MAAMF,EAAW,oBAAoB,CAClD,QAAS,OACT,QAAS,EACT,SAAU,MACZ,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QACvB,IAAI,MACF,uEACF,CACF,CACF,CAAC,EAED,GAAG,0DAA2D,SAAY,CACxED,EAAS,IAAI,kBAAkB,CAAC,CAAC,EAEjC,MAAMC,EAAS,MAAMF,EAAW,oBAAoB,CAClD,QAAS,OACT,QAAS,EACT,SAAU,MACZ,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QACvB,IAAI,MACF,8DACF,CACF,CACF,CAAC,EAED,GAAG,4BAA6B,SAAY,CAC1CD,EAAS,IAAI,kBAAkB,CAAE,QAAS,SAAU,CAAC,EAErD,MAAMC,EAAS,MAAMF,EAAW,oBAAoB,CAClD,QAAS,OACT,QAAS,EACT,SAAU,MACZ,CAAC,EAED,OAAOE,EAAO,QAAQ,CAAC,EAAE,QAAQ,SAAS,CAC5C,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_HttpNftDataSource", "config", "datasource", "httpMock", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var f=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var R=(o,e)=>{for(var r in e)f(o,r,{get:e[r],enumerable:!0})},v=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of P(e))!_.call(o,i)&&i!==r&&f(o,i,{get:()=>e[i],enumerable:!(t=u(e,i))||t.enumerable});return o};var x=o=>v(f({},"__esModule",{value:!0}),o),l=(o,e,r,t)=>{for(var i=t>1?void 0:t?u(e,r):e,s=o.length-1,p;s>=0;s--)(p=o[s])&&(i=(t?p(e,r,i):p(i))||i);return t&&i&&f(e,r,i),i},d=(o,e)=>(r,t)=>e(r,t,o);var M={};R(M,{HttpPkiCertificateDataSource:()=>n});module.exports=x(M);var m=require("@ledgerhq/device-management-kit"),c=require("inversify"),a=require("purify-ts"),g=require("../../config/di/configTypes"),y=require("../../network/di/networkTypes"),C=require("../../shared/model/SignatureTags"),k=require("../../shared/utils/HexStringUtils"),h=require("../../shared/utils/KeyUsageMapper");let n=class{constructor(e,r){this.config=e;this.http=r}async fetchCertificate(e){const r={output:"descriptor",target_device:e.targetDevice,latest:!0,public_key_id:e.keyId,public_key_usage:e.keyUsage};try{const t=await this.http.get(`${this.config.cal.url}/certificates`,{params:{output:r.output,target_device:r.target_device,latest:r.latest,public_key_id:r.public_key_id,public_key_usage:r.public_key_usage}});if(Array.isArray(t)&&t.length>0&&this.isValidPkiCertificateResponse(t[0],this.config.cal.mode)){const i=(0,m.hexaStringToBuffer)(k.HexStringUtils.appendSignatureToPayload(t[0].descriptor.data,t[0].descriptor.signatures[this.config.cal.mode],C.SIGNATURE_TAG));if(!i)return(0,a.Left)(Error("[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate"));const s={payload:i,keyUsageNumber:h.KeyUsageMapper.mapKeyUsageForFirmware(e.keyUsage)};return(0,a.Right)(s)}else return(0,a.Left)(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}catch{return(0,a.Left)(Error("[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor"))}}isValidPkiCertificateResponse(e,r){if(!this.isRecord(e)||!this.isRecord(e.descriptor))return!1;const t=e.descriptor;return typeof t.data!="string"||!this.isRecord(t.signatures)?!1:typeof t.signatures[r]=="string"}isRecord(e){return typeof e=="object"&&e!==null}};n=l([(0,c.injectable)(),d(0,(0,c.inject)(g.configTypes.Config)),d(1,(0,c.inject)(y.networkTypes.NetworkClient))],n);0&&(module.exports={HttpPkiCertificateDataSource});
|
|
2
2
|
//# sourceMappingURL=HttpPkiCertificateDataSource.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pki/data/HttpPkiCertificateDataSource.ts"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["HttpPkiCertificateDataSource_exports", "__export", "HttpPkiCertificateDataSource", "__toCommonJS", "import_device_management_kit", "
|
|
4
|
+
"sourcesContent": ["import {\n DmkNetworkClient,\n hexaStringToBuffer,\n} from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport type {\n ContextModuleCalMode,\n ContextModuleServiceConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { networkTypes } from \"@/network/di/networkTypes\";\nimport { PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\nimport { SIGNATURE_TAG } from \"@/shared/model/SignatureTags\";\nimport { HexStringUtils } from \"@/shared/utils/HexStringUtils\";\nimport { KeyUsageMapper } from \"@/shared/utils/KeyUsageMapper\";\n\nimport { type PkiCertificateDataSource } from \"./PkiCertificateDataSource\";\nimport {\n type PkiCertificateRequestDto,\n type PkiCertificateResponseDto,\n} from \"./pkiDataSourceTypes\";\n\n@injectable()\nexport class HttpPkiCertificateDataSource implements PkiCertificateDataSource {\n constructor(\n @inject(configTypes.Config)\n private readonly config: ContextModuleServiceConfig,\n @inject(networkTypes.NetworkClient)\n private readonly http: DmkNetworkClient,\n ) {}\n\n async fetchCertificate(\n pkiCertificateInfo: PkiCertificateInfo,\n ): Promise<Either<Error, PkiCertificate | undefined>> {\n const requestDto: PkiCertificateRequestDto = {\n output: \"descriptor\",\n target_device: pkiCertificateInfo.targetDevice,\n latest: true,\n public_key_id: pkiCertificateInfo.keyId,\n public_key_usage: pkiCertificateInfo.keyUsage,\n };\n\n try {\n const data = await this.http.get(`${this.config.cal.url}/certificates`, {\n params: {\n output: requestDto.output,\n target_device: requestDto.target_device,\n latest: requestDto.latest,\n public_key_id: requestDto.public_key_id,\n public_key_usage: requestDto.public_key_usage,\n },\n });\n\n if (\n Array.isArray(data) &&\n data.length > 0 &&\n this.isValidPkiCertificateResponse(data[0], this.config.cal.mode)\n ) {\n const payload = hexaStringToBuffer(\n HexStringUtils.appendSignatureToPayload(\n data[0].descriptor.data,\n data[0].descriptor.signatures[this.config.cal.mode],\n SIGNATURE_TAG,\n ),\n );\n if (!payload) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: Cannot generate payload from fetched PKI Certificate\",\n ),\n );\n }\n const pkiCertificate: PkiCertificate = {\n payload: payload,\n keyUsageNumber: KeyUsageMapper.mapKeyUsageForFirmware(\n pkiCertificateInfo.keyUsage,\n ),\n };\n return Right(pkiCertificate);\n } else {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n } catch (_error) {\n return Left(\n Error(\n \"[ContextModule] HttpPkiCertificateDataSource: failed to fetch PKI for given descriptor\",\n ),\n );\n }\n }\n\n private isValidPkiCertificateResponse(\n value: unknown,\n mode: ContextModuleCalMode,\n ): value is PkiCertificateResponseDto {\n if (!this.isRecord(value) || !this.isRecord(value[\"descriptor\"])) {\n return false;\n }\n const descriptor = value[\"descriptor\"];\n if (\n typeof descriptor[\"data\"] !== \"string\" ||\n !this.isRecord(descriptor[\"signatures\"])\n ) {\n return false;\n }\n return typeof descriptor[\"signatures\"][mode] === \"string\";\n }\n\n private isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n }\n}\n"],
|
|
5
|
+
"mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,kCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAGO,2CACPC,EAAmC,qBACnCC,EAAoC,qBAEpCC,EAA4B,mCAK5BC,EAA6B,qCAG7BC,EAA8B,wCAC9BC,EAA+B,yCAC/BC,EAA+B,yCASxB,IAAMC,EAAN,KAAuE,CAC5E,YAEmBC,EAEAC,EACjB,CAHiB,YAAAD,EAEA,UAAAC,CAChB,CAEH,MAAM,iBACJC,EACoD,CACpD,MAAMC,EAAuC,CAC3C,OAAQ,aACR,cAAeD,EAAmB,aAClC,OAAQ,GACR,cAAeA,EAAmB,MAClC,iBAAkBA,EAAmB,QACvC,EAEA,GAAI,CACF,MAAME,EAAO,MAAM,KAAK,KAAK,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,gBAAiB,CACtE,OAAQ,CACN,OAAQD,EAAW,OACnB,cAAeA,EAAW,cAC1B,OAAQA,EAAW,OACnB,cAAeA,EAAW,cAC1B,iBAAkBA,EAAW,gBAC/B,CACF,CAAC,EAED,GACE,MAAM,QAAQC,CAAI,GAClBA,EAAK,OAAS,GACd,KAAK,8BAA8BA,EAAK,CAAC,EAAG,KAAK,OAAO,IAAI,IAAI,EAChE,CACA,MAAMC,KAAU,sBACd,iBAAe,yBACbD,EAAK,CAAC,EAAE,WAAW,KACnBA,EAAK,CAAC,EAAE,WAAW,WAAW,KAAK,OAAO,IAAI,IAAI,EAClD,eACF,CACF,EACA,GAAI,CAACC,EACH,SAAO,QACL,MACE,oGACF,CACF,EAEF,MAAMC,EAAiC,CACrC,QAASD,EACT,eAAgB,iBAAe,uBAC7BH,EAAmB,QACrB,CACF,EACA,SAAO,SAAMI,CAAc,CAC7B,KACE,UAAO,QACL,MACE,wFACF,CACF,CAEJ,MAAiB,CACf,SAAO,QACL,MACE,wFACF,CACF,CACF,CACF,CAEQ,8BACNC,EACAC,EACoC,CACpC,GAAI,CAAC,KAAK,SAASD,CAAK,GAAK,CAAC,KAAK,SAASA,EAAM,UAAa,EAC7D,MAAO,GAET,MAAME,EAAaF,EAAM,WACzB,OACE,OAAOE,EAAW,MAAY,UAC9B,CAAC,KAAK,SAASA,EAAW,UAAa,EAEhC,GAEF,OAAOA,EAAW,WAAcD,CAAI,GAAM,QACnD,CAEQ,SAASD,EAAkD,CACjE,OAAO,OAAOA,GAAU,UAAYA,IAAU,IAChD,CACF,EA5FaR,EAANW,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,cAAY,MAAM,GAEzBA,EAAA,eAAO,eAAa,aAAa,IAJzBZ",
|
|
6
|
+
"names": ["HttpPkiCertificateDataSource_exports", "__export", "HttpPkiCertificateDataSource", "__toCommonJS", "import_device_management_kit", "import_inversify", "import_purify_ts", "import_configTypes", "import_networkTypes", "import_SignatureTags", "import_HexStringUtils", "import_KeyUsageMapper", "HttpPkiCertificateDataSource", "config", "http", "pkiCertificateInfo", "requestDto", "data", "payload", "pkiCertificate", "value", "mode", "descriptor", "__decorateClass", "__decorateParam"]
|
|
7
7
|
}
|