@ledgerhq/context-module 0.0.0-multisig-20250918154034 → 0.0.0-multisig-2-20250922093851
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/src/ContextModule.js +1 -1
- package/lib/cjs/src/ContextModule.js.map +1 -1
- package/lib/cjs/src/DefaultContextModule.js +1 -1
- package/lib/cjs/src/DefaultContextModule.js.map +3 -3
- package/lib/cjs/src/DefaultContextModule.test.js +1 -1
- package/lib/cjs/src/DefaultContextModule.test.js.map +2 -2
- package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js +2 -0
- package/lib/cjs/src/calldata/data/CalldataDescriptorDataSource.js.map +7 -0
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
- package/lib/cjs/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
- package/lib/cjs/src/{transaction → calldata}/data/dto/CalldataDto.js.map +1 -1
- package/lib/cjs/src/calldata/di/calldataModuleFactory.js +2 -0
- package/lib/cjs/src/calldata/di/calldataModuleFactory.js.map +7 -0
- package/lib/cjs/src/calldata/di/calldataTypes.js +2 -0
- package/lib/cjs/src/calldata/di/calldataTypes.js.map +7 -0
- package/lib/cjs/src/calldata/domain/CalldataContextLoader.js +2 -0
- package/lib/cjs/src/calldata/domain/CalldataContextLoader.js.map +7 -0
- package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js +2 -0
- package/lib/cjs/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
- package/lib/cjs/src/di.js +1 -1
- package/lib/cjs/src/di.js.map +3 -3
- package/lib/cjs/src/index.js +1 -1
- package/lib/cjs/src/index.js.map +2 -2
- package/lib/cjs/src/nft/domain/NftContextFieldLoader.js +1 -1
- package/lib/cjs/src/nft/domain/NftContextFieldLoader.js.map +3 -3
- package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js +1 -1
- package/lib/cjs/src/nft/domain/NftContextFieldLoader.test.js.map +3 -3
- package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js +1 -1
- package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.js.map +3 -3
- package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js +1 -1
- package/lib/cjs/src/proxy/domain/ProxyContextFieldLoader.test.js.map +3 -3
- package/lib/cjs/src/shared/domain/ContextFieldLoader.js +1 -1
- package/lib/cjs/src/shared/domain/ContextFieldLoader.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/shared/model/TypedDataClearSignContext.js.map +1 -1
- package/lib/cjs/src/token/domain/TokenContextFieldLoader.js +1 -1
- package/lib/cjs/src/token/domain/TokenContextFieldLoader.js.map +3 -3
- package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js +1 -1
- package/lib/cjs/src/token/domain/TokenContextFieldLoader.test.js.map +3 -3
- package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js +1 -1
- package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +3 -3
- package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +1 -1
- package/lib/cjs/src/trusted-name/domain/TrustedNameContextFieldLoader.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 +1 -1
- package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
- package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +2 -2
- package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
- package/lib/cjs/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +2 -2
- package/lib/esm/src/DefaultContextModule.js +1 -1
- package/lib/esm/src/DefaultContextModule.js.map +3 -3
- package/lib/esm/src/DefaultContextModule.test.js +1 -1
- package/lib/esm/src/DefaultContextModule.test.js.map +2 -2
- package/lib/esm/src/calldata/data/CalldataDescriptorDataSource.js +1 -0
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js +2 -0
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.js.map +7 -0
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js +2 -0
- package/lib/esm/src/calldata/data/HttpCalldataDescriptorDataSource.test.js.map +7 -0
- package/lib/esm/src/calldata/di/calldataModuleFactory.js +2 -0
- package/lib/esm/src/calldata/di/calldataModuleFactory.js.map +7 -0
- package/lib/esm/src/calldata/di/calldataTypes.js +2 -0
- package/lib/esm/src/calldata/di/calldataTypes.js.map +7 -0
- package/lib/esm/src/calldata/domain/CalldataContextLoader.js +2 -0
- package/lib/esm/src/calldata/domain/CalldataContextLoader.js.map +7 -0
- package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js +2 -0
- package/lib/esm/src/calldata/domain/CalldataContextLoader.test.js.map +7 -0
- package/lib/esm/src/di.js +1 -1
- package/lib/esm/src/di.js.map +3 -3
- package/lib/esm/src/index.js +1 -1
- package/lib/esm/src/index.js.map +2 -2
- package/lib/esm/src/nft/domain/NftContextFieldLoader.js +1 -1
- package/lib/esm/src/nft/domain/NftContextFieldLoader.js.map +3 -3
- package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js +1 -1
- package/lib/esm/src/nft/domain/NftContextFieldLoader.test.js.map +3 -3
- package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js +1 -1
- package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.js.map +3 -3
- package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js +1 -1
- package/lib/esm/src/proxy/domain/ProxyContextFieldLoader.test.js.map +3 -3
- package/lib/esm/src/shared/domain/ContextFieldLoader.js +0 -1
- package/lib/esm/src/shared/domain/ContextFieldLoader.js.map +4 -4
- package/lib/esm/src/shared/model/ClearSignContext.js +1 -1
- package/lib/esm/src/shared/model/ClearSignContext.js.map +2 -2
- package/lib/esm/src/shared/model/TypedDataClearSignContext.js.map +1 -1
- package/lib/esm/src/token/domain/TokenContextFieldLoader.js +1 -1
- package/lib/esm/src/token/domain/TokenContextFieldLoader.js.map +3 -3
- package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js +1 -1
- package/lib/esm/src/token/domain/TokenContextFieldLoader.test.js.map +3 -3
- package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js +1 -1
- package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.js.map +3 -3
- package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.test.js +1 -1
- package/lib/esm/src/trusted-name/domain/TrustedNameContextFieldLoader.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 +1 -1
- package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js +1 -1
- package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.js.map +2 -2
- package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js +1 -1
- package/lib/esm/src/typed-data/domain/DefaultTypedDataContextLoader.test.js.map +2 -2
- package/lib/types/src/ContextModule.d.ts +2 -2
- package/lib/types/src/ContextModule.d.ts.map +1 -1
- package/lib/types/src/DefaultContextModule.d.ts +1 -1
- package/lib/types/src/DefaultContextModule.d.ts.map +1 -1
- package/lib/types/src/{transaction/data/TransactionDataSource.d.ts → calldata/data/CalldataDescriptorDataSource.d.ts} +4 -4
- package/lib/types/src/calldata/data/CalldataDescriptorDataSource.d.ts.map +1 -0
- package/lib/types/src/{transaction/data/HttpTransactionDataSource.d.ts → calldata/data/HttpCalldataDescriptorDataSource.d.ts} +6 -5
- package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.d.ts.map +1 -0
- package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts +2 -0
- package/lib/types/src/calldata/data/HttpCalldataDescriptorDataSource.test.d.ts.map +1 -0
- package/lib/types/src/calldata/data/dto/CalldataDto.d.ts.map +1 -0
- package/lib/types/src/calldata/di/calldataModuleFactory.d.ts +3 -0
- package/lib/types/src/calldata/di/calldataModuleFactory.d.ts.map +1 -0
- package/lib/types/src/calldata/di/calldataTypes.d.ts +6 -0
- package/lib/types/src/calldata/di/calldataTypes.d.ts.map +1 -0
- package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts +15 -0
- package/lib/types/src/calldata/domain/CalldataContextLoader.d.ts.map +1 -0
- package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts +2 -0
- package/lib/types/src/calldata/domain/CalldataContextLoader.test.d.ts.map +1 -0
- package/lib/types/src/di.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +5 -4
- package/lib/types/src/index.d.ts.map +1 -1
- package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts +4 -5
- package/lib/types/src/nft/domain/NftContextFieldLoader.d.ts.map +1 -1
- package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts +4 -5
- package/lib/types/src/proxy/domain/ProxyContextFieldLoader.d.ts.map +1 -1
- package/lib/types/src/shared/domain/ContextFieldLoader.d.ts +11 -8
- package/lib/types/src/shared/domain/ContextFieldLoader.d.ts.map +1 -1
- package/lib/types/src/shared/model/ClearSignContext.d.ts +1 -1
- package/lib/types/src/shared/model/ClearSignContext.d.ts.map +1 -1
- package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts +1 -1
- package/lib/types/src/shared/model/TypedDataClearSignContext.d.ts.map +1 -1
- package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts +4 -5
- package/lib/types/src/token/domain/TokenContextFieldLoader.d.ts.map +1 -1
- package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts +4 -5
- package/lib/types/src/trusted-name/domain/TrustedNameContextFieldLoader.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/lib/cjs/src/shared/model/TransactionFieldContext.js +0 -2
- package/lib/cjs/src/shared/model/TransactionFieldContext.js.map +0 -7
- package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js +0 -2
- package/lib/cjs/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
- package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
- package/lib/cjs/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
- package/lib/cjs/src/transaction/data/TransactionDataSource.js +0 -2
- package/lib/cjs/src/transaction/data/TransactionDataSource.js.map +0 -7
- package/lib/cjs/src/transaction/di/transactionModuleFactory.js +0 -2
- package/lib/cjs/src/transaction/di/transactionModuleFactory.js.map +0 -7
- package/lib/cjs/src/transaction/di/transactionTypes.js +0 -2
- package/lib/cjs/src/transaction/di/transactionTypes.js.map +0 -7
- package/lib/cjs/src/transaction/domain/TransactionContextLoader.js +0 -2
- package/lib/cjs/src/transaction/domain/TransactionContextLoader.js.map +0 -7
- package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js +0 -2
- package/lib/cjs/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
- package/lib/esm/src/shared/model/TransactionFieldContext.js +0 -1
- package/lib/esm/src/transaction/data/HttpTransactionDataSource.js +0 -2
- package/lib/esm/src/transaction/data/HttpTransactionDataSource.js.map +0 -7
- package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js +0 -2
- package/lib/esm/src/transaction/data/HttpTransactionDataSource.test.js.map +0 -7
- package/lib/esm/src/transaction/data/TransactionDataSource.js +0 -1
- package/lib/esm/src/transaction/data/TransactionDataSource.js.map +0 -7
- package/lib/esm/src/transaction/di/transactionModuleFactory.js +0 -2
- package/lib/esm/src/transaction/di/transactionModuleFactory.js.map +0 -7
- package/lib/esm/src/transaction/di/transactionTypes.js +0 -2
- package/lib/esm/src/transaction/di/transactionTypes.js.map +0 -7
- package/lib/esm/src/transaction/domain/TransactionContextLoader.js +0 -2
- package/lib/esm/src/transaction/domain/TransactionContextLoader.js.map +0 -7
- package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js +0 -2
- package/lib/esm/src/transaction/domain/TransactionContextLoader.test.js.map +0 -7
- package/lib/types/src/shared/model/TransactionFieldContext.d.ts +0 -26
- package/lib/types/src/shared/model/TransactionFieldContext.d.ts.map +0 -1
- package/lib/types/src/transaction/data/HttpTransactionDataSource.d.ts.map +0 -1
- package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts +0 -2
- package/lib/types/src/transaction/data/HttpTransactionDataSource.test.d.ts.map +0 -1
- package/lib/types/src/transaction/data/TransactionDataSource.d.ts.map +0 -1
- package/lib/types/src/transaction/data/dto/CalldataDto.d.ts.map +0 -1
- package/lib/types/src/transaction/di/transactionModuleFactory.d.ts +0 -3
- package/lib/types/src/transaction/di/transactionModuleFactory.d.ts.map +0 -1
- package/lib/types/src/transaction/di/transactionTypes.d.ts +0 -5
- package/lib/types/src/transaction/di/transactionTypes.d.ts.map +0 -1
- package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts +0 -12
- package/lib/types/src/transaction/domain/TransactionContextLoader.d.ts.map +0 -1
- package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts +0 -2
- package/lib/types/src/transaction/domain/TransactionContextLoader.test.d.ts.map +0 -1
- /package/lib/cjs/src/{transaction → calldata}/data/dto/CalldataDto.js +0 -0
- /package/lib/esm/src/{shared/model/TransactionFieldContext.js.map → calldata/data/CalldataDescriptorDataSource.js.map} +0 -0
- /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js +0 -0
- /package/lib/esm/src/{transaction → calldata}/data/dto/CalldataDto.js.map +0 -0
- /package/lib/types/src/{transaction → calldata}/data/dto/CalldataDto.d.ts +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/data/HttpTransactionDataSource.ts"],
|
|
4
|
-
"sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { configTypes } from \"@/config/di/configTypes\";\nimport {\n type ContextModuleCalMode,\n type ContextModuleConfig,\n} from \"@/config/model/ContextModuleConfig\";\nimport { pkiTypes } from \"@/pki/di/pkiTypes\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { KeyId } from \"@/pki/model/KeyId\";\nimport { KeyUsage } from \"@/pki/model/KeyUsage\";\nimport { PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport { PkiCertificateInfo } from \"@/pki/model/PkiCertificateInfo\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport {\n ClearSignContextReference,\n ClearSignContextReferenceType,\n ClearSignContextSuccess,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { GenericPath } from \"@/shared/model/GenericPath\";\nimport { INFO_SIGNATURE_TAG } from \"@/shared/model/SignatureTags\";\nimport { HexStringUtils } from \"@/shared/utils/HexStringUtils\";\nimport PACKAGE from \"@root/package.json\";\n\nimport {\n CalldataDescriptor,\n CalldataDescriptorContainerPathV1,\n CalldataDescriptorParam,\n CalldataDescriptorPathElementsV1,\n CalldataDescriptorPathElementV1,\n CalldataDescriptorV1,\n CalldataDescriptorValueBinaryPathV1,\n CalldataDescriptorValueConstantV1,\n CalldataDescriptorValueV1,\n CalldataDto,\n CalldataEnumV1,\n CalldataFieldV1,\n CalldataSignatures,\n CalldataTransactionDescriptor,\n CalldataTransactionInfoV1,\n} from \"./dto/CalldataDto\";\nimport {\n GetTransactionDescriptorsParams,\n TransactionDataSource,\n} from \"./TransactionDataSource\";\n\n@injectable()\nexport class HttpTransactionDataSource implements TransactionDataSource {\n constructor(\n @inject(configTypes.Config) private readonly config: ContextModuleConfig,\n @inject(pkiTypes.PkiCertificateLoader)\n private readonly _certificateLoader: PkiCertificateLoader,\n ) {}\n\n public async getTransactionDescriptors({\n chainId,\n address,\n selector,\n deviceModelId,\n }: GetTransactionDescriptorsParams): Promise<\n Either<Error, ClearSignContextSuccess[]>\n > {\n let dto: CalldataDto[] | undefined;\n try {\n const response = await axios.request<CalldataDto[]>({\n method: \"GET\",\n url: `${this.config.cal.url}/dapps`,\n params: {\n output: \"descriptors_calldata\",\n chain_id: chainId,\n contracts: address,\n // TODO revert to branch\n ref: `commit:cdd7d0f9cec33eb969a12641810cc7b06efeec1c`,\n },\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: this.config.originToken,\n },\n });\n dto = response.data;\n } catch (error) {\n return Left(\n new Error(\n `[ContextModule] HttpTransactionDataSource: Failed to fetch transaction informations: ${error}`,\n ),\n );\n }\n\n if (!Array.isArray(dto)) {\n return Left(\n new Error(\n `[ContextModule] HttpTransactionDataSource: Response is not an array`,\n ),\n );\n }\n\n if (dto.length === 0) {\n return Left(\n new Error(\n `[ContextModule] HttpTransactionDataSource: No data for contract ${address} and selector ${selector}`,\n ),\n );\n }\n\n for (const calldata of dto) {\n // Normalize the address and selector\n address = address.toLowerCase();\n selector = `0x${selector.slice(2).toLowerCase()}`;\n const calldataDescriptor =\n calldata.descriptors_calldata?.[address]?.[selector];\n\n if (\n !calldataDescriptor ||\n !this.isCalldataDescriptorV1(calldataDescriptor, this.config.cal.mode)\n ) {\n continue;\n }\n\n const infoData = calldataDescriptor.transaction_info.descriptor.data;\n const infoSignature =\n calldataDescriptor.transaction_info.descriptor.signatures[\n this.config.cal.mode\n ];\n\n const certificateInfos: PkiCertificateInfo = {\n targetDevice: deviceModelId,\n keyUsage: KeyUsage.Calldata,\n keyId: KeyId.CalCalldataKey,\n };\n const certificate: PkiCertificate | undefined =\n await this._certificateLoader.loadCertificate(certificateInfos);\n\n const info: ClearSignContextSuccess = {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: HexStringUtils.appendSignatureToPayload(\n infoData,\n infoSignature,\n INFO_SIGNATURE_TAG,\n ),\n certificate,\n };\n\n const enums: ClearSignContextSuccess[] = [];\n for (const [id, values] of Object.entries(calldataDescriptor.enums)) {\n for (const [\n value,\n { data, signatures },\n ] of Object.entries<CalldataTransactionDescriptor>(values)) {\n enums.push({\n type: ClearSignContextType.ENUM,\n id: Number(id),\n value: Number(value),\n payload: HexStringUtils.appendSignatureToPayload(\n data,\n signatures[this.config.cal.mode]!,\n INFO_SIGNATURE_TAG,\n ),\n certificate,\n });\n }\n }\n\n const fields: ClearSignContextSuccess[] = calldataDescriptor.fields.map(\n (field) => ({\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: field.descriptor,\n reference: this.getReference(field.param),\n }),\n );\n return Right([info, ...enums, ...fields]);\n }\n\n return Left(\n new Error(\n `[ContextModule] HttpTransactionDataSource: Invalid response for contract ${address} and selector ${selector}`,\n ),\n );\n }\n\n private getReference(\n param: CalldataDescriptorParam,\n ): ClearSignContextReference | undefined {\n if (\n param.type === \"TOKEN_AMOUNT\" &&\n param.token !== undefined &&\n param.token.type === \"path\"\n ) {\n return {\n type: ClearSignContextReferenceType.TOKEN,\n valuePath: this.toGenericPath(param.token.binary_path),\n };\n } else if (\n param.type === \"TOKEN_AMOUNT\" &&\n param.token !== undefined &&\n param.token.type === \"constant\"\n ) {\n return {\n type: ClearSignContextReferenceType.TOKEN,\n value: param.token.value,\n };\n } else if (param.type === \"NFT\" && param.collection.type === \"path\") {\n return {\n type: ClearSignContextReferenceType.NFT,\n valuePath: this.toGenericPath(param.collection.binary_path),\n };\n } else if (param.type === \"NFT\" && param.collection.type === \"constant\") {\n return {\n type: ClearSignContextReferenceType.NFT,\n value: param.collection.value,\n };\n } else if (param.type === \"TRUSTED_NAME\" && param.value.type === \"path\") {\n return {\n type: ClearSignContextReferenceType.TRUSTED_NAME,\n valuePath: this.toGenericPath(param.value.binary_path),\n types: param.types,\n sources: param.sources,\n };\n } else if (param.type === \"ENUM\" && param.value.type === \"path\") {\n return {\n type: ClearSignContextReferenceType.ENUM,\n valuePath: this.toGenericPath(param.value.binary_path),\n id: param.id,\n };\n } else if (\n param.type === \"CALLDATA\" &&\n param.value.type === \"path\" &&\n param.callee.type === \"path\"\n ) {\n return {\n type: ClearSignContextReferenceType.CALLDATA,\n valuePath: this.toGenericPath(param.value.binary_path),\n callee: this.toGenericPath(param.callee.binary_path),\n selector:\n param.selector?.type === \"path\"\n ? this.toGenericPath(param.selector.binary_path)\n : undefined,\n amount:\n param.amount?.type === \"path\"\n ? this.toGenericPath(param.amount.binary_path)\n : undefined,\n spender:\n param.spender?.type === \"path\"\n ? this.toGenericPath(param.spender.binary_path)\n : undefined,\n chainId:\n param.chainId?.type === \"path\"\n ? this.toGenericPath(param.chainId.binary_path)\n : undefined,\n };\n }\n return undefined;\n }\n\n private toGenericPath(\n path: CalldataDescriptorContainerPathV1 | CalldataDescriptorPathElementsV1,\n ): GenericPath {\n if (path.type === \"CONTAINER\") {\n return path.value;\n }\n return path.elements.map((element) => {\n if (element.type === \"ARRAY\") {\n const { weight: itemSize, ...rest } = element;\n return {\n itemSize,\n ...rest,\n };\n } else if (element.type === \"LEAF\") {\n const { leaf_type: leafType, ...rest } = element;\n return {\n leafType,\n ...rest,\n };\n }\n return element;\n });\n }\n\n private isCalldataDescriptorV1(\n data: CalldataDescriptor,\n mode: ContextModuleCalMode,\n ): data is CalldataDescriptorV1 & {\n transaction_info: {\n descriptor: {\n signatures: { [_key in ContextModuleCalMode]: string };\n };\n };\n } {\n return (\n typeof data === \"object\" &&\n data.type === \"calldata\" &&\n data.version === \"v1\" &&\n this.isTransactionInfoV1(data.transaction_info, mode) &&\n this.isEnumV1(data.enums, mode) &&\n Array.isArray(data.fields) &&\n data.fields.every((f) => this.isFieldV1(f))\n );\n }\n\n private isTransactionInfoV1(\n data: CalldataTransactionInfoV1,\n mode: ContextModuleCalMode,\n ): data is CalldataTransactionInfoV1 & {\n descriptor: {\n signatures: { [_key in ContextModuleCalMode]: string };\n };\n } {\n return (\n typeof data === \"object\" &&\n typeof data.descriptor === \"object\" &&\n typeof data.descriptor.data === \"string\" &&\n typeof data.descriptor.signatures === \"object\" &&\n typeof data.descriptor.signatures[mode] === \"string\"\n );\n }\n\n private isEnumV1(\n calldata: CalldataEnumV1,\n mode: ContextModuleCalMode,\n ): calldata is CalldataEnumV1 {\n return (\n typeof calldata === \"object\" &&\n Object.entries(calldata).every(\n ([id, values]) =>\n typeof id === \"string\" &&\n typeof values === \"object\" &&\n Object.entries<CalldataTransactionDescriptor>(values).every(\n ([value, obj]) =>\n typeof value === \"string\" &&\n typeof obj === \"object\" &&\n typeof obj.data === \"string\" &&\n obj.signatures !== undefined &&\n this.isCalldataSignatures(obj.signatures, mode),\n ),\n )\n );\n }\n\n private isCalldataSignatures(\n data: CalldataSignatures,\n mode: ContextModuleCalMode,\n ): data is CalldataSignatures & { [_key in ContextModuleCalMode]: string } {\n return typeof data === \"object\" && typeof data[mode] === \"string\";\n }\n\n private isFieldV1(data: CalldataFieldV1): boolean {\n return (\n typeof data === \"object\" &&\n typeof data.descriptor === \"string\" &&\n typeof data.param === \"object\" &&\n typeof data.param.value === \"object\" &&\n this.isDescriptorValueV1(data.param.value) &&\n (data.param.type === \"RAW\" ||\n data.param.type === \"AMOUNT\" ||\n data.param.type === \"DATETIME\" ||\n data.param.type === \"DURATION\" ||\n data.param.type === \"UNIT\" ||\n data.param.type === \"ENUM\" ||\n (data.param.type === \"NFT\" &&\n this.isDescriptorValueV1(data.param.collection)) ||\n (data.param.type === \"TOKEN_AMOUNT\" &&\n (data.param.token === undefined ||\n this.isDescriptorValueV1(data.param.token))) ||\n (data.param.type === \"TRUSTED_NAME\" &&\n Array.isArray(data.param.types) &&\n Array.isArray(data.param.sources) &&\n data.param.types.every((t) => typeof t === \"string\") &&\n data.param.sources.every((t) => typeof t === \"string\")) ||\n (data.param.type === \"CALLDATA\" &&\n this.isDescriptorValueV1(data.param.value) &&\n this.isDescriptorValueV1(data.param.callee) &&\n (data.param.selector === undefined ||\n this.isDescriptorValueV1(data.param.selector)) &&\n (data.param.amount === undefined ||\n this.isDescriptorValueV1(data.param.amount)) &&\n (data.param.spender === undefined ||\n this.isDescriptorValueV1(data.param.spender)) &&\n (data.param.chainId === undefined ||\n this.isDescriptorValueV1(data.param.chainId))))\n );\n }\n\n private isDescriptorValueV1(data: CalldataDescriptorValueV1): boolean {\n return (\n typeof data === \"object\" &&\n typeof data.type_family === \"string\" &&\n [\n \"UINT\",\n \"INT\",\n \"UFIXED\",\n \"FIXED\",\n \"ADDRESS\",\n \"BOOL\",\n \"BYTES\",\n \"STRING\",\n ].includes(data.type_family) &&\n (typeof data.type_size === \"undefined\" ||\n typeof data.type_size === \"number\") &&\n ((data.type === \"path\" &&\n this.isCalldataDescriptorValueBinaryPathV1(data)) ||\n (data.type === \"constant\" &&\n this.isCalldataDescriptorValueConstantV1(data)))\n );\n }\n\n private isCalldataDescriptorValueConstantV1(\n data: CalldataDescriptorValueConstantV1,\n ): boolean {\n return (\n typeof data === \"object\" &&\n data.type === \"constant\" &&\n typeof data.value === \"string\"\n );\n }\n\n private isCalldataDescriptorValueBinaryPathV1(\n data: CalldataDescriptorValueBinaryPathV1,\n ): boolean {\n return (\n typeof data === \"object\" &&\n ((data.type === \"path\" &&\n data.binary_path.type === \"CONTAINER\" &&\n [\"FROM\", \"TO\", \"VALUE\"].includes(data.binary_path.value)) ||\n (data.binary_path.type === \"DATA\" &&\n Array.isArray(data.binary_path.elements) &&\n data.binary_path.elements.every((e) => this.isPathElementV1(e))))\n );\n }\n\n private isPathElementV1(data: CalldataDescriptorPathElementV1): boolean {\n return (\n typeof data === \"object\" &&\n (data.type === \"REF\" ||\n (data.type === \"TUPLE\" && typeof data.offset === \"number\") ||\n (data.type === \"ARRAY\" &&\n typeof data.weight === \"number\" &&\n (typeof data.start === \"undefined\" ||\n typeof data.start === \"number\") &&\n (typeof data.end === \"undefined\" || typeof data.end === \"number\")) ||\n (data.type === \"LEAF\" &&\n typeof data.leaf_type === \"string\" &&\n [\"ARRAY_LEAF\", \"TUPLE_LEAF\", \"STATIC_LEAF\", \"DYNAMIC_LEAF\"].includes(\n data.leaf_type,\n )) ||\n (data.type === \"SLICE\" &&\n (typeof data.start === \"undefined\" ||\n typeof data.start === \"number\") &&\n (typeof data.end === \"undefined\" || typeof data.end === \"number\")))\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["axios", "inject", "injectable", "Left", "Right", "configTypes", "pkiTypes", "KeyId", "KeyUsage", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "ClearSignContextReferenceType", "ClearSignContextType", "INFO_SIGNATURE_TAG", "HexStringUtils", "PACKAGE", "HttpTransactionDataSource", "config", "_certificateLoader", "chainId", "address", "selector", "deviceModelId", "dto", "axios", "LEDGER_CLIENT_VERSION_HEADER", "PACKAGE", "LEDGER_ORIGIN_TOKEN_HEADER", "error", "Left", "calldata", "calldataDescriptor", "infoData", "infoSignature", "certificateInfos", "KeyUsage", "KeyId", "certificate", "info", "ClearSignContextType", "HexStringUtils", "INFO_SIGNATURE_TAG", "enums", "id", "values", "value", "data", "signatures", "fields", "field", "Right", "param", "ClearSignContextReferenceType", "path", "element", "itemSize", "rest", "leafType", "mode", "f", "obj", "e", "__decorateClass", "injectable", "__decorateParam", "inject", "configTypes", "pkiTypes"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{DeviceModelId as o}from"@ledgerhq/device-management-kit";import d from"axios";import{Left as i}from"purify-ts";import{LEDGER_CLIENT_VERSION_HEADER as D,LEDGER_ORIGIN_TOKEN_HEADER as h}from"../../shared/constant/HttpHeaders";import{HttpTransactionDataSource as C}from"../../transaction/data/HttpTransactionDataSource";import I from"../../../package.json";vi.mock("axios");const x={cal:{url:"https://crypto-assets-service.api.ledger.com/v1",mode:"test",branch:"main"},originToken:"originToken"};describe("HttpTransactionDataSource",()=>{let t,r,u,l,E,v,f,p,b,y,m,A;const c={loadCertificate:vi.fn()};beforeAll(()=>{vi.clearAllMocks(),t=new C(x,c),r={descriptor:{data:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c",signatures:{test:"3045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f"}}},u={0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c65",signatures:{test:"3045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582"}},2:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c65",signatures:{test:"3045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523"}}}},f=T("FROM","UFIXED","AMOUNT","06"),p=T("TO","FIXED","DATETIME","07"),b=T("TO","BOOL","UNIT","08"),y=T("VALUE","INT","DURATION","09"),l={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"TOKEN_AMOUNT",token:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",start:0,end:5,weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20}},descriptor:"0001000112416d6f756e7420746f20776974686472617702010203580001000115000100010101020120030a000100010200010401030215000100010105020114030a000100010200000401030420ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05034d6178"},E={param:{value:{type:"path",binary_path:{type:"CONTAINER",value:"TO"},type_family:"STRING",type_size:20},type:"TRUSTED_NAME",types:["eoa"],sources:["ens","unstoppable_domain"]},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114030a00010001020002040103020101030402030402"},v={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES",type_size:20},collection:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"ARRAY_LEAF"},{type:"SLICE",start:1}]},type_family:"INT",type_size:20},type:"NFT"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020114"},m={param:{id:0,value:{type:"path",binary_path:{type:"DATA",elements:[]},type_family:"BYTES",type_size:20},type:"ENUM"},descriptor:"000100010c546f20726563697069656e7402010803230001000115000100010105020112"},A={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"ARRAY",weight:1},{type:"LEAF",leaf_type:"DYNAMIC_LEAF"}]},type_family:"ADDRESS",type_size:20},selector:{type:"path",binary_path:{type:"CONTAINER",value:"FROM"},type_family:"BYTES",type_size:4},amount:{type:"path",binary_path:{type:"DATA",elements:[{type:"REF"},{type:"LEAF",leaf_type:"TUPLE_LEAF"}]},type_family:"UINT",type_size:32},spender:{type:"path",binary_path:{type:"DATA",elements:[{type:"SLICE",start:0,end:20},{type:"LEAF",leaf_type:"ARRAY_LEAF"}]},type_family:"ADDRESS",type_size:20},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"}});function T(a,e,n,F){return{param:{value:{type:"path",binary_path:{type:"CONTAINER",value:a},type_family:e,type_size:32},type:n},descriptor:F}}function s(a,e,n){return{descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldata",version:"v1",transaction_info:a,enums:e,fields:n}}}}}it("should call axios with the ledger client version header",async()=>{const a=`context-module/${I.version}`,e=vi.fn(()=>Promise.resolve({data:[]}));vi.spyOn(d,"request").mockImplementation(e),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0),await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"}),expect(e).toHaveBeenCalledWith(expect.objectContaining({headers:{[D]:a,[h]:x.originToken}}))}),it("should return an error when axios throws an error",async()=>{vi.spyOn(d,"request").mockRejectedValue(new Error),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const a=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(a).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Failed to fetch transaction informations: Error")))}),it("should return an error when no payload is returned",async()=>{const a={data:{test:""}};vi.spyOn(d,"request").mockResolvedValue(a),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Response is not an array")))}),it("should return an error when an empty array is returned",async()=>{vi.spyOn(d,"request").mockResolvedValue({data:[]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const a=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x0abc",selector:"0x01ff"});expect(a).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: No data for contract 0x0abc and selector 0x01ff")))}),it("should return an error when selector is not found",async()=>{const a=s(r,u,[l]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x01fe"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x01fe")))}),it("Calldata with fields references and enums",async()=>{const a=s(r,u,[l,E,v,m]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(e.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"enum",id:0,value:1},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"enum",id:0,value:2},{payload:l.descriptor,type:"transactionFieldDescription",reference:{type:"token",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:E.descriptor,type:"transactionFieldDescription",reference:{type:"trustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:v.descriptor,type:"transactionFieldDescription",reference:{type:"nft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:m.descriptor,type:"transactionFieldDescription",reference:{type:"enum",valuePath:[],id:0}}])}),it("Calldata with fields references and enums with certificates",async()=>{const a=s(r,u,[l,E,v,m]),e={keyUsageNumber:11,payload:new Uint8Array([1,2,3,4,21,4,5,6,7,8])};vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValueOnce(e);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9",selector:"0x69328dEc"});expect(n.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo",certificate:e},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582",type:"enum",id:0,value:1,certificate:e},{payload:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523",type:"enum",id:0,value:2,certificate:e},{payload:l.descriptor,type:"transactionFieldDescription",reference:{type:"token",valuePath:[{type:"ARRAY",start:0,end:5,itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}]}},{payload:E.descriptor,type:"transactionFieldDescription",reference:{type:"trustedName",valuePath:"TO",types:["eoa"],sources:["ens","unstoppable_domain"]}},{payload:v.descriptor,type:"transactionFieldDescription",reference:{type:"nft",valuePath:[{type:"REF"},{type:"LEAF",leafType:"ARRAY_LEAF"},{type:"SLICE",start:1}]}},{payload:m.descriptor,type:"transactionFieldDescription",reference:{type:"enum",valuePath:[],id:0}}])}),it("Calldata without fields references",async()=>{const a=s(r,[],[f,p,b,y]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{type:"transactionFieldDescription",payload:f.descriptor},{type:"transactionFieldDescription",payload:p.descriptor},{type:"transactionFieldDescription",payload:b.descriptor},{type:"transactionFieldDescription",payload:y.descriptor}])}),it("Calldata on third array element",async()=>{const a=s(r,[],[f,p,b,y]);vi.spyOn(d,"request").mockResolvedValue({data:[{},{},a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{type:"transactionFieldDescription",payload:f.descriptor},{type:"transactionFieldDescription",payload:p.descriptor},{type:"transactionFieldDescription",payload:b.descriptor},{type:"transactionFieldDescription",payload:y.descriptor}])}),it("Calldata without fields references and transaction info signature length % 2 different from 0",async()=>{const a={descriptor:{data:r.descriptor.data,signatures:{test:r.descriptor.signatures.test+"0"}}},e=s(a,[],[f,p,b,y]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff4803045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f0",type:"transactionInfo"},{type:"transactionFieldDescription",payload:f.descriptor},{type:"transactionFieldDescription",payload:p.descriptor},{type:"transactionFieldDescription",payload:b.descriptor},{type:"transactionFieldDescription",payload:y.descriptor}])}),it("Calldata with token fields references as constants",async()=>{const a={name:"Amount to exchange",param:{type:"TOKEN_AMOUNT",token:{raw:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",type:"constant",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_stETHAmount"}]},type_size:32,binary_path:{type:"DATA",version:1,elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"UINT"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f0001010101050201140514ae7ab96520de3a18e5e111b5eaab095312d7fe84"},e=s(r,[],[a]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{payload:a.descriptor,type:"transactionFieldDescription",reference:{type:"token",value:"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"}}])}),it("Calldata with collection fields references as constants",async()=>{const a={name:"Collection ID",param:{type:"NFT",collection:{raw:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",type:"constant",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",version:1,type_size:20,type_family:"ADDRESS"},value:{type:"path",version:1,abi_path:{type:"data",absolute:!0,elements:[{type:"field",identifier:"_collectionId"}]},type_size:20,binary_path:{type:"DATA",version:1,elements:[{type:"ARRAY",weight:2},{type:"LEAF",leaf_type:"TUPLE_LEAF"},{type:"SLICE",end:2}]},type_family:"BYTES"},version:1},version:1,descriptor:"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f00010101010502011405147d2768de32b0b80b7a3454c06bdac94a69ddc7a9"},e=s(r,[],[a]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{payload:a.descriptor,type:"transactionFieldDescription",reference:{type:"nft",value:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9"}}])}),it("Calldata with CALLDATA fields references",async()=>{const a=s(r,[],[A]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{payload:A.descriptor,type:"transactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"ARRAY",itemSize:1},{type:"LEAF",leafType:"DYNAMIC_LEAF"}],selector:"FROM",amount:[{type:"REF"},{type:"LEAF",leafType:"TUPLE_LEAF"}],spender:[{type:"SLICE",start:0,end:20},{type:"LEAF",leafType:"ARRAY_LEAF"}]}}])}),it("Calldata with CALLDATA fields references without optional properties",async()=>{const a={param:{value:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},callee:{type:"path",binary_path:{type:"DATA",elements:[{type:"TUPLE",offset:0},{type:"LEAF",leaf_type:"STATIC_LEAF"}]},type_family:"BYTES",type_size:32},type:"CALLDATA"},descriptor:"000100010c43616c6c64617461207465737402010803230001000115000100010105020114"},e=s(r,[],[a]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n.extract()).toEqual([{payload:"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f",type:"transactionInfo"},{payload:a.descriptor,type:"transactionFieldDescription",reference:{type:"calldata",valuePath:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],callee:[{type:"TUPLE",offset:0},{type:"LEAF",leafType:"STATIC_LEAF"}],selector:void 0,amount:void 0,spender:void 0,chainId:void 0}}])}),it("should return an error when calldata is not correctly formatted",async()=>{const a={descriptors_calldata:{"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9":{"0x69328dec":{type:"calldat",version:"v1",transaction_info:r,enums:u,fields:[l]}}}};vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when transactionInfo is not correctly formatted",async()=>{const a=s({descriptor:{data:"1234",signatures:{prod:"1234"}}},u,[l]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum is not correctly formatted",async()=>{const a=s(r,["badEnum"],[l]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum does not contain a signature",async()=>{const a=s(r,{0:{1:{data:"1234"}}},[l]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when enum contain the wrong signature",async()=>{const a=s(r,{0:{1:{data:"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010106067374626c65",signatures:{prod:"wrongSignature"}}}},[l]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field is not correctly formatted",async()=>{const a=s(r,[],[{descriptor:3}]);vi.spyOn(d,"request").mockResolvedValue({data:[a]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const e=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(e).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field value is not correctly formatted",async()=>{const e=s(r,[],[{param:{value:{binary_path:"TO",type_family:"UNKNOWN",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field container path is not correctly formatted",async()=>{const e=s(r,[],[{param:{value:{binary_path:"UNKNOWN",type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field calldata path is not correctly formatted",async()=>{const e=s(r,[],[{param:{value:{binary_path:{elements:[{type:"UNKNOWN"}]},type_family:"ADDRESS",type_size:20},type:"DATETIME"},descriptor:"000100010c546f20726563697069667"}]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should return an error when field type is not correctly formatted",async()=>{const e=s(r,[],[{param:{value:{binary_path:"TO",type_family:"ADDRESS",type_size:20},type:"UNKNOWN"},descriptor:"000100010c546f20726563697069667"}]);vi.spyOn(d,"request").mockResolvedValue({data:[e]}),vi.spyOn(c,"loadCertificate").mockResolvedValue(void 0);const n=await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"});expect(n).toEqual(i(new Error("[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec")))}),it("should call axios with the correct headers",async()=>{vi.spyOn(d,"request").mockResolvedValueOnce({data:{}}),await t.getTransactionDescriptors({deviceModelId:o.FLEX,chainId:1,address:"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9",selector:"0x69328dec"}),expect(d.request).toHaveBeenCalledWith(expect.objectContaining({headers:{[D]:`context-module/${I.version}`,[h]:x.originToken}}))})});
|
|
2
|
-
//# sourceMappingURL=HttpTransactionDataSource.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/data/HttpTransactionDataSource.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport axios from \"axios\";\nimport { Left } from \"purify-ts\";\n\nimport type { ContextModuleConfig } from \"@/config/model/ContextModuleConfig\";\nimport { type PkiCertificateLoader } from \"@/pki/domain/PkiCertificateLoader\";\nimport { type PkiCertificate } from \"@/pki/model/PkiCertificate\";\nimport {\n LEDGER_CLIENT_VERSION_HEADER,\n LEDGER_ORIGIN_TOKEN_HEADER,\n} from \"@/shared/constant/HttpHeaders\";\nimport type {\n CalldataEnumV1,\n CalldataFieldV1,\n CalldataTransactionInfoV1,\n} from \"@/transaction/data/dto/CalldataDto\";\nimport { HttpTransactionDataSource } from \"@/transaction/data/HttpTransactionDataSource\";\nimport type { TransactionDataSource } from \"@/transaction/data/TransactionDataSource\";\nimport PACKAGE from \"@root/package.json\";\n\nvi.mock(\"axios\");\nconst config = {\n cal: {\n url: \"https://crypto-assets-service.api.ledger.com/v1\",\n mode: \"test\",\n branch: \"main\",\n },\n originToken: \"originToken\",\n} as ContextModuleConfig;\n\ndescribe(\"HttpTransactionDataSource\", () => {\n let datasource: TransactionDataSource;\n let transactionInfo: CalldataTransactionInfoV1;\n let enums: CalldataEnumV1;\n let fieldToken: CalldataFieldV1;\n let fieldTrustedName: CalldataFieldV1;\n let fieldNft: CalldataFieldV1;\n let fieldAmount: CalldataFieldV1;\n let fieldDatetime: CalldataFieldV1;\n let fieldUnit: CalldataFieldV1;\n let fieldDuration: CalldataFieldV1;\n let fieldEnum: CalldataFieldV1;\n let fieldCalldata: CalldataFieldV1;\n const certificateLoaderMock = {\n loadCertificate: vi.fn(),\n };\n\n beforeAll(() => {\n vi.clearAllMocks();\n datasource = new HttpTransactionDataSource(\n config,\n certificateLoaderMock as unknown as PkiCertificateLoader,\n );\n\n transactionInfo = {\n descriptor: {\n data: \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c\",\n signatures: {\n test: \"3045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n },\n },\n };\n enums = {\n \"0\": {\n \"1\": {\n data: \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c65\",\n signatures: {\n test: \"3045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582\",\n },\n },\n \"2\": {\n data: \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c65\",\n signatures: {\n test: \"3045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523\",\n },\n },\n },\n };\n\n fieldAmount = createFieldWithoutReference(\"FROM\", \"UFIXED\", \"AMOUNT\", \"06\");\n fieldDatetime = createFieldWithoutReference(\n \"TO\",\n \"FIXED\",\n \"DATETIME\",\n \"07\",\n );\n fieldUnit = createFieldWithoutReference(\"TO\", \"BOOL\", \"UNIT\", \"08\");\n fieldDuration = createFieldWithoutReference(\n \"VALUE\",\n \"INT\",\n \"DURATION\",\n \"09\",\n );\n fieldToken = {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"ARRAY\",\n start: 0,\n end: 5,\n weight: 1,\n },\n {\n type: \"LEAF\",\n leaf_type: \"DYNAMIC_LEAF\",\n },\n ],\n },\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n type: \"TOKEN_AMOUNT\",\n token: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"ARRAY\",\n start: 0,\n end: 5,\n weight: 1,\n },\n {\n type: \"LEAF\",\n leaf_type: \"DYNAMIC_LEAF\",\n },\n ],\n },\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n },\n descriptor:\n \"0001000112416d6f756e7420746f20776974686472617702010203580001000115000100010101020120030a000100010200010401030215000100010105020114030a000100010200000401030420ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05034d6178\",\n };\n fieldTrustedName = {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"CONTAINER\",\n value: \"TO\",\n },\n type_family: \"STRING\",\n type_size: 20,\n },\n type: \"TRUSTED_NAME\",\n types: [\"eoa\"],\n sources: [\"ens\", \"unstoppable_domain\"],\n },\n descriptor:\n \"000100010c546f20726563697069656e7402010803230001000115000100010105020114030a00010001020002040103020101030402030402\",\n };\n fieldNft = {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"ARRAY\",\n weight: 2,\n },\n {\n type: \"LEAF\",\n leaf_type: \"TUPLE_LEAF\",\n },\n {\n type: \"SLICE\",\n end: 2,\n },\n ],\n },\n type_family: \"BYTES\",\n type_size: 20,\n },\n collection: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"REF\",\n },\n {\n type: \"LEAF\",\n leaf_type: \"ARRAY_LEAF\",\n },\n {\n type: \"SLICE\",\n start: 1,\n },\n ],\n },\n type_family: \"INT\",\n type_size: 20,\n },\n type: \"NFT\",\n },\n descriptor:\n \"000100010c546f20726563697069656e7402010803230001000115000100010105020114\",\n };\n fieldEnum = {\n param: {\n id: 0,\n value: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [],\n },\n type_family: \"BYTES\",\n type_size: 20,\n },\n type: \"ENUM\",\n },\n descriptor:\n \"000100010c546f20726563697069656e7402010803230001000115000100010105020112\",\n };\n fieldCalldata = {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leaf_type: \"STATIC_LEAF\",\n },\n ],\n },\n type_family: \"BYTES\",\n type_size: 32,\n },\n callee: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"ARRAY\",\n weight: 1,\n },\n {\n type: \"LEAF\",\n leaf_type: \"DYNAMIC_LEAF\",\n },\n ],\n },\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n selector: {\n type: \"path\",\n binary_path: {\n type: \"CONTAINER\",\n value: \"FROM\",\n },\n type_family: \"BYTES\",\n type_size: 4,\n },\n amount: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"REF\",\n },\n {\n type: \"LEAF\",\n leaf_type: \"TUPLE_LEAF\",\n },\n ],\n },\n type_family: \"UINT\",\n type_size: 32,\n },\n spender: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"SLICE\",\n start: 0,\n end: 20,\n },\n {\n type: \"LEAF\",\n leaf_type: \"ARRAY_LEAF\",\n },\n ],\n },\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n type: \"CALLDATA\",\n },\n descriptor:\n \"000100010c43616c6c64617461207465737402010803230001000115000100010105020114\",\n };\n });\n\n function createFieldWithoutReference(\n binary_path: string,\n type_family: string,\n type: string,\n descriptor: string,\n ): CalldataFieldV1 {\n return {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"CONTAINER\",\n value: binary_path,\n },\n type_family,\n type_size: 32,\n },\n type,\n },\n descriptor,\n } as CalldataFieldV1;\n }\n\n function createCalldata(\n calldataTransactionInfo: CalldataTransactionInfoV1,\n calldataEnums: CalldataEnumV1,\n fields: unknown[],\n ): unknown {\n return {\n descriptors_calldata: {\n \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\": {\n \"0x69328dec\": {\n type: \"calldata\",\n version: \"v1\",\n transaction_info: calldataTransactionInfo,\n enums: calldataEnums,\n fields: fields,\n },\n },\n },\n };\n }\n\n it(\"should call axios with the ledger client version header\", async () => {\n // GIVEN\n const version = `context-module/${PACKAGE.version}`;\n const requestSpy = vi.fn(() => Promise.resolve({ data: [] }));\n vi.spyOn(axios, \"request\").mockImplementation(requestSpy);\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(requestSpy).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: version,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n }),\n );\n });\n\n it(\"should return an error when axios throws an error\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockRejectedValue(new Error());\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Failed to fetch transaction informations: Error\",\n ),\n ),\n );\n });\n\n it(\"should return an error when no payload is returned\", async () => {\n // GIVEN\n const response = { data: { test: \"\" } };\n vi.spyOn(axios, \"request\").mockResolvedValue(response);\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Response is not an array\",\n ),\n ),\n );\n });\n\n it(\"should return an error when an empty array is returned\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x0abc\",\n selector: \"0x01ff\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: No data for contract 0x0abc and selector 0x01ff\",\n ),\n ),\n );\n });\n\n it(\"should return an error when selector is not found\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(transactionInfo, enums, [fieldToken]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x01fe\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x01fe\",\n ),\n ),\n );\n });\n\n it(\"Calldata with fields references and enums\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(transactionInfo, enums, [\n fieldToken,\n fieldTrustedName,\n fieldNft,\n fieldEnum,\n ]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dEc\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n payload:\n \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582\",\n type: \"enum\",\n id: 0,\n value: 1,\n },\n {\n payload:\n \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523\",\n type: \"enum\",\n id: 0,\n value: 2,\n },\n {\n payload: fieldToken.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"token\",\n valuePath: [\n {\n type: \"ARRAY\",\n start: 0,\n end: 5,\n itemSize: 1,\n },\n {\n type: \"LEAF\",\n leafType: \"DYNAMIC_LEAF\",\n },\n ],\n },\n },\n {\n payload: fieldTrustedName.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"trustedName\",\n valuePath: \"TO\",\n types: [\"eoa\"],\n sources: [\"ens\", \"unstoppable_domain\"],\n },\n },\n {\n payload: fieldNft.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"nft\",\n valuePath: [\n {\n type: \"REF\",\n },\n {\n type: \"LEAF\",\n leafType: \"ARRAY_LEAF\",\n },\n {\n type: \"SLICE\",\n start: 1,\n },\n ],\n },\n },\n {\n payload: fieldEnum.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"enum\",\n valuePath: [],\n id: 0,\n },\n },\n ]);\n });\n\n it(\"Calldata with fields references and enums with certificates\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(transactionInfo, enums, [\n fieldToken,\n fieldTrustedName,\n fieldNft,\n fieldEnum,\n ]);\n const certificate: PkiCertificate = {\n keyUsageNumber: 11,\n payload: new Uint8Array([\n 0x01, 0x02, 0x03, 0x04, 0x15, 0x04, 0x05, 0x06, 0x07, 0x08,\n ]),\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValueOnce(\n certificate,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80B7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dEc\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n // certificate is added to the transactionInfo\n certificate,\n },\n {\n payload:\n \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec0401000501010606737461626c6581ff473045022100862e724db664f5d94484928a6a5963268a22cd8178ad36e8c4ff13769ac5c27e0220079da2b6e86810156f6b5955b8190bc016c2fe813d27fcb878a9b99658546582\",\n type: \"enum\",\n id: 0,\n value: 1,\n // certificate is added also to the enum\n certificate,\n },\n {\n payload:\n \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010206087661726961626c6581ff473045022100b838ee3d597d6bad2533606cef7335f6c8a45b46d5717803e646777f6c8a6897022074f04b82c3dad8445bb6230ab762010c5fc6ee06198fd3e54752287cbf95c523\",\n type: \"enum\",\n id: 0,\n value: 2,\n // certificate is added also to the enum\n certificate,\n },\n {\n payload: fieldToken.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"token\",\n valuePath: [\n {\n type: \"ARRAY\",\n start: 0,\n end: 5,\n itemSize: 1,\n },\n {\n type: \"LEAF\",\n leafType: \"DYNAMIC_LEAF\",\n },\n ],\n },\n },\n {\n payload: fieldTrustedName.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"trustedName\",\n valuePath: \"TO\",\n types: [\"eoa\"],\n sources: [\"ens\", \"unstoppable_domain\"],\n },\n },\n {\n payload: fieldNft.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"nft\",\n valuePath: [\n {\n type: \"REF\",\n },\n {\n type: \"LEAF\",\n leafType: \"ARRAY_LEAF\",\n },\n {\n type: \"SLICE\",\n start: 1,\n },\n ],\n },\n },\n {\n payload: fieldEnum.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"enum\",\n valuePath: [],\n id: 0,\n },\n },\n ]);\n });\n\n it(\"Calldata without fields references\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n [],\n [fieldAmount, fieldDatetime, fieldUnit, fieldDuration],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldAmount.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDatetime.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldUnit.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDuration.descriptor,\n },\n ]);\n });\n\n it(\"Calldata on third array element\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n [],\n [fieldAmount, fieldDatetime, fieldUnit, fieldDuration],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({\n data: [{}, {}, calldataDTO],\n });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldAmount.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDatetime.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldUnit.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDuration.descriptor,\n },\n ]);\n });\n\n it(\"Calldata without fields references and transaction info signature length % 2 different from 0\", async () => {\n // GIVEN\n const newTransactionInfo: CalldataTransactionInfoV1 = {\n descriptor: {\n data: transactionInfo.descriptor.data,\n signatures: {\n test: transactionInfo.descriptor.signatures.test + \"0\",\n },\n },\n };\n const calldataDTO = createCalldata(\n newTransactionInfo,\n [],\n [fieldAmount, fieldDatetime, fieldUnit, fieldDuration],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff4803045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f0\",\n type: \"transactionInfo\",\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldAmount.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDatetime.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldUnit.descriptor,\n },\n {\n type: \"transactionFieldDescription\",\n payload: fieldDuration.descriptor,\n },\n ]);\n });\n\n it(\"Calldata with token fields references as constants\", async () => {\n // GIVEN\n const field = {\n name: \"Amount to exchange\",\n param: {\n type: \"TOKEN_AMOUNT\",\n token: {\n raw: \"0xae7ab96520de3a18e5e111b5eaab095312d7fe84\",\n type: \"constant\",\n value: \"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\",\n version: 1,\n type_size: 20,\n type_family: \"ADDRESS\",\n },\n value: {\n type: \"path\",\n version: 1,\n abi_path: {\n type: \"data\",\n absolute: true,\n elements: [\n {\n type: \"field\",\n identifier: \"_stETHAmount\",\n },\n ],\n },\n type_size: 32,\n binary_path: {\n type: \"DATA\",\n version: 1,\n elements: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leaf_type: \"STATIC_LEAF\",\n },\n ],\n },\n type_family: \"UINT\",\n },\n version: 1,\n },\n version: 1,\n descriptor:\n \"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f0001010101050201140514ae7ab96520de3a18e5e111b5eaab095312d7fe84\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n payload: field.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"token\",\n value: \"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\",\n },\n },\n ]);\n });\n\n it(\"Calldata with collection fields references as constants\", async () => {\n // GIVEN\n const field = {\n name: \"Collection ID\",\n param: {\n type: \"NFT\",\n collection: {\n raw: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n type: \"constant\",\n value: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n version: 1,\n type_size: 20,\n type_family: \"ADDRESS\",\n },\n value: {\n type: \"path\",\n version: 1,\n abi_path: {\n type: \"data\",\n absolute: true,\n elements: [\n {\n type: \"field\",\n identifier: \"_collectionId\",\n },\n ],\n },\n type_size: 20,\n binary_path: {\n type: \"DATA\",\n version: 1,\n elements: [\n {\n type: \"ARRAY\",\n weight: 2,\n },\n {\n type: \"LEAF\",\n leaf_type: \"TUPLE_LEAF\",\n },\n {\n type: \"SLICE\",\n end: 2,\n },\n ],\n },\n type_family: \"BYTES\",\n },\n version: 1,\n },\n version: 1,\n descriptor:\n \"0001010112416d6f756e7420746f2065786368616e6765020102033b0001010115000101010101020120030a00010101020000040103021f00010101010502011405147d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n payload: field.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"nft\",\n value: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n },\n },\n ]);\n });\n\n it(\"Calldata with CALLDATA fields references\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(transactionInfo, [], [fieldCalldata]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n payload: fieldCalldata.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"calldata\",\n valuePath: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leafType: \"STATIC_LEAF\",\n },\n ],\n callee: [\n {\n type: \"ARRAY\",\n itemSize: 1,\n },\n {\n type: \"LEAF\",\n leafType: \"DYNAMIC_LEAF\",\n },\n ],\n selector: \"FROM\",\n amount: [\n {\n type: \"REF\",\n },\n {\n type: \"LEAF\",\n leafType: \"TUPLE_LEAF\",\n },\n ],\n spender: [\n {\n type: \"SLICE\",\n start: 0,\n end: 20,\n },\n {\n type: \"LEAF\",\n leafType: \"ARRAY_LEAF\",\n },\n ],\n },\n },\n ]);\n });\n\n it(\"Calldata with CALLDATA fields references without optional properties\", async () => {\n // GIVEN\n const fieldCalldataMinimal = {\n param: {\n value: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leaf_type: \"STATIC_LEAF\",\n },\n ],\n },\n type_family: \"BYTES\",\n type_size: 32,\n },\n callee: {\n type: \"path\",\n binary_path: {\n type: \"DATA\",\n elements: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leaf_type: \"STATIC_LEAF\",\n },\n ],\n },\n type_family: \"BYTES\",\n type_size: 32,\n },\n type: \"CALLDATA\",\n },\n descriptor:\n \"000100010c43616c6c64617461207465737402010803230001000115000100010105020114\",\n };\n const calldataDTO = createCalldata(\n transactionInfo,\n [],\n [fieldCalldataMinimal],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result.extract()).toEqual([\n {\n payload:\n \"0001000108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04207d5e9ed0004b8035b164edd9d78c37415ad6b1d123be4943d0abd5a50035cae3050857697468647261770604416176650708416176652044414f081068747470733a2f2f616176652e636f6d0a045fc4ba9c81ff473045022100eb67599abfd9c7360b07599a2a2cb769c6e3f0f74e1e52444d788c8f577a16d20220402e92b0adbf97d890fa2f9654bc30c7bd70dacabe870f160e6842d9eb73d36f\",\n type: \"transactionInfo\",\n },\n {\n payload: fieldCalldataMinimal.descriptor,\n type: \"transactionFieldDescription\",\n reference: {\n type: \"calldata\",\n valuePath: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leafType: \"STATIC_LEAF\",\n },\n ],\n callee: [\n {\n type: \"TUPLE\",\n offset: 0,\n },\n {\n type: \"LEAF\",\n leafType: \"STATIC_LEAF\",\n },\n ],\n selector: undefined,\n amount: undefined,\n spender: undefined,\n chainId: undefined,\n },\n },\n ]);\n });\n\n it(\"should return an error when calldata is not correctly formatted\", async () => {\n // GIVEN\n const calldataDTO = {\n descriptors_calldata: {\n \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\": {\n \"0x69328dec\": {\n type: \"calldat\",\n version: \"v1\",\n transaction_info: transactionInfo,\n enums: enums,\n fields: [fieldToken],\n },\n },\n },\n };\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when transactionInfo is not correctly formatted\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n {\n descriptor: {\n data: \"1234\",\n signatures: {\n prod: \"1234\",\n },\n },\n },\n enums,\n [fieldToken],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when enum is not correctly formatted\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n [\"badEnum\"] as unknown as CalldataEnumV1,\n [fieldToken],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when enum does not contain a signature\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n { 0: { 1: { data: \"1234\" } } } as unknown as CalldataEnumV1,\n [fieldToken],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when enum contain the wrong signature\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n {\n 0: {\n 1: {\n data: \"0001010108000000000000000102147d2768de32b0b80b7a3454c06bdac94a69ddc7a9030469328dec04010005010106067374626c65\",\n signatures: {\n prod: \"wrongSignature\", // prod instead of test signature\n },\n },\n },\n },\n [fieldToken],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when field is not correctly formatted\", async () => {\n // GIVEN\n const calldataDTO = createCalldata(\n transactionInfo,\n [],\n [{ descriptor: 3 }],\n );\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when field value is not correctly formatted\", async () => {\n // GIVEN\n const field = {\n param: {\n value: {\n binary_path: \"TO\",\n type_family: \"UNKNOWN\",\n type_size: 20,\n },\n type: \"DATETIME\",\n },\n descriptor: \"000100010c546f20726563697069667\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when field container path is not correctly formatted\", async () => {\n // GIVEN\n const field = {\n param: {\n value: {\n binary_path: \"UNKNOWN\",\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n type: \"DATETIME\",\n },\n descriptor: \"000100010c546f20726563697069667\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when field calldata path is not correctly formatted\", async () => {\n // GIVEN\n const field = {\n param: {\n value: {\n binary_path: {\n elements: [\n {\n type: \"UNKNOWN\",\n },\n ],\n },\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n type: \"DATETIME\",\n },\n descriptor: \"000100010c546f20726563697069667\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should return an error when field type is not correctly formatted\", async () => {\n // GIVEN\n const field = {\n param: {\n value: {\n binary_path: \"TO\",\n type_family: \"ADDRESS\",\n type_size: 20,\n },\n type: \"UNKNOWN\",\n },\n descriptor: \"000100010c546f20726563697069667\",\n };\n const calldataDTO = createCalldata(transactionInfo, [], [field]);\n vi.spyOn(axios, \"request\").mockResolvedValue({ data: [calldataDTO] });\n vi.spyOn(certificateLoaderMock, \"loadCertificate\").mockResolvedValue(\n undefined,\n );\n\n // WHEN\n const result = await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(result).toEqual(\n Left(\n new Error(\n \"[ContextModule] HttpTransactionDataSource: Invalid response for contract 0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9 and selector 0x69328dec\",\n ),\n ),\n );\n });\n\n it(\"should call axios with the correct headers\", async () => {\n // GIVEN\n vi.spyOn(axios, \"request\").mockResolvedValueOnce({ data: {} });\n\n // WHEN\n await datasource.getTransactionDescriptors({\n deviceModelId: DeviceModelId.FLEX,\n chainId: 1,\n address: \"0x7d2768de32b0b80b7a3454c06bdac94a69ddc7a9\",\n selector: \"0x69328dec\",\n });\n\n // THEN\n expect(axios.request).toHaveBeenCalledWith(\n expect.objectContaining({\n headers: {\n [LEDGER_CLIENT_VERSION_HEADER]: `context-module/${PACKAGE.version}`,\n [LEDGER_ORIGIN_TOKEN_HEADER]: config.originToken,\n },\n }),\n );\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAAS,iBAAAA,MAAqB,kCAC9B,OAAOC,MAAW,QAClB,OAAS,QAAAC,MAAY,YAKrB,OACE,gCAAAC,EACA,8BAAAC,MACK,gCAMP,OAAS,6BAAAC,MAAiC,+CAE1C,OAAOC,MAAa,qBAEpB,GAAG,KAAK,OAAO,EACf,MAAMC,EAAS,CACb,IAAK,CACH,IAAK,kDACL,KAAM,OACN,OAAQ,MACV,EACA,YAAa,aACf,EAEA,SAAS,4BAA6B,IAAM,CAC1C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAwB,CAC5B,gBAAiB,GAAG,GAAG,CACzB,EAEA,UAAU,IAAM,CACd,GAAG,cAAc,EACjBZ,EAAa,IAAIH,EACfE,EACAa,CACF,EAEAX,EAAkB,CAChB,WAAY,CACV,KAAM,6PACN,WAAY,CACV,KAAM,gJACR,CACF,CACF,EACAC,EAAQ,CACN,EAAK,CACH,EAAK,CACH,KAAM,iHACN,WAAY,CACV,KAAM,gJACR,CACF,EACA,EAAK,CACH,KAAM,qHACN,WAAY,CACV,KAAM,gJACR,CACF,CACF,CACF,EAEAI,EAAcO,EAA4B,OAAQ,SAAU,SAAU,IAAI,EAC1EN,EAAgBM,EACd,KACA,QACA,WACA,IACF,EACAL,EAAYK,EAA4B,KAAM,OAAQ,OAAQ,IAAI,EAClEJ,EAAgBI,EACd,QACA,MACA,WACA,IACF,EACAV,EAAa,CACX,MAAO,CACL,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,QACN,MAAO,EACP,IAAK,EACL,OAAQ,CACV,EACA,CACE,KAAM,OACN,UAAW,cACb,CACF,CACF,EACA,YAAa,UACb,UAAW,EACb,EACA,KAAM,eACN,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,QACN,MAAO,EACP,IAAK,EACL,OAAQ,CACV,EACA,CACE,KAAM,OACN,UAAW,cACb,CACF,CACF,EACA,YAAa,UACb,UAAW,EACb,CACF,EACA,WACE,0OACJ,EACAC,EAAmB,CACjB,MAAO,CACL,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,YACN,MAAO,IACT,EACA,YAAa,SACb,UAAW,EACb,EACA,KAAM,eACN,MAAO,CAAC,KAAK,EACb,QAAS,CAAC,MAAO,oBAAoB,CACvC,EACA,WACE,oHACJ,EACAC,EAAW,CACT,MAAO,CACL,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,QACN,OAAQ,CACV,EACA,CACE,KAAM,OACN,UAAW,YACb,EACA,CACE,KAAM,QACN,IAAK,CACP,CACF,CACF,EACA,YAAa,QACb,UAAW,EACb,EACA,WAAY,CACV,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,KACR,EACA,CACE,KAAM,OACN,UAAW,YACb,EACA,CACE,KAAM,QACN,MAAO,CACT,CACF,CACF,EACA,YAAa,MACb,UAAW,EACb,EACA,KAAM,KACR,EACA,WACE,0EACJ,EACAK,EAAY,CACV,MAAO,CACL,GAAI,EACJ,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CAAC,CACb,EACA,YAAa,QACb,UAAW,EACb,EACA,KAAM,MACR,EACA,WACE,0EACJ,EACAC,EAAgB,CACd,MAAO,CACL,MAAO,CACL,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,QACN,OAAQ,CACV,EACA,CACE,KAAM,OACN,UAAW,aACb,CACF,CACF,EACA,YAAa,QACb,UAAW,EACb,EACA,OAAQ,CACN,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,QACN,OAAQ,CACV,EACA,CACE,KAAM,OACN,UAAW,cACb,CACF,CACF,EACA,YAAa,UACb,UAAW,EACb,EACA,SAAU,CACR,KAAM,OACN,YAAa,CACX,KAAM,YACN,MAAO,MACT,EACA,YAAa,QACb,UAAW,CACb,EACA,OAAQ,CACN,KAAM,OACN,YAAa,CACX,KAAM,OACN,SAAU,CACR,CACE,KAAM,KACR,EACA,CACE,KAAM,OACN,UAAW,Y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",
|
|
6
|
-
"names": ["DeviceModelId", "axios", "Left", "LEDGER_CLIENT_VERSION_HEADER", "LEDGER_ORIGIN_TOKEN_HEADER", "HttpTransactionDataSource", "PACKAGE", "config", "datasource", "transactionInfo", "enums", "fieldToken", "fieldTrustedName", "fieldNft", "fieldAmount", "fieldDatetime", "fieldUnit", "fieldDuration", "fieldEnum", "fieldCalldata", "certificateLoaderMock", "createFieldWithoutReference", "binary_path", "type_family", "type", "descriptor", "createCalldata", "calldataTransactionInfo", "calldataEnums", "fields", "version", "requestSpy", "result", "response", "calldataDTO", "certificate", "newTransactionInfo", "field", "fieldCalldataMinimal"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=TransactionDataSource.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ContainerModule as r}from"inversify";import{HttpTransactionDataSource as a}from"../../transaction/data/HttpTransactionDataSource";import{transactionTypes as t}from"../../transaction/di/transactionTypes";import{TransactionContextLoader as n}from"../../transaction/domain/TransactionContextLoader";const s=()=>new r(({bind:o})=>{o(t.TransactionDataSource).to(a),o(t.TransactionContextLoader).to(n)});export{s as transactionModuleFactory};
|
|
2
|
-
//# sourceMappingURL=transactionModuleFactory.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/di/transactionModuleFactory.ts"],
|
|
4
|
-
"sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { HttpTransactionDataSource } from \"@/transaction/data/HttpTransactionDataSource\";\nimport { transactionTypes } from \"@/transaction/di/transactionTypes\";\nimport { TransactionContextLoader } from \"@/transaction/domain/TransactionContextLoader\";\n\nexport const transactionModuleFactory = () =>\n new ContainerModule(({ bind }) => {\n bind(transactionTypes.TransactionDataSource).to(HttpTransactionDataSource);\n bind(transactionTypes.TransactionContextLoader).to(\n TransactionContextLoader,\n );\n });\n"],
|
|
5
|
-
"mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAEhC,OAAS,6BAAAC,MAAiC,+CAC1C,OAAS,oBAAAC,MAAwB,oCACjC,OAAS,4BAAAC,MAAgC,gDAElC,MAAMC,EAA2B,IACtC,IAAIJ,EAAgB,CAAC,CAAE,KAAAK,CAAK,IAAM,CAChCA,EAAKH,EAAiB,qBAAqB,EAAE,GAAGD,CAAyB,EACzEI,EAAKH,EAAiB,wBAAwB,EAAE,GAC9CC,CACF,CACF,CAAC",
|
|
6
|
-
"names": ["ContainerModule", "HttpTransactionDataSource", "transactionTypes", "TransactionContextLoader", "transactionModuleFactory", "bind"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/di/transactionTypes.ts"],
|
|
4
|
-
"sourcesContent": ["export const transactionTypes = {\n TransactionDataSource: Symbol.for(\"TransactionDataSource\"),\n TransactionContextLoader: Symbol.for(\"TransactionContextLoader\"),\n};\n"],
|
|
5
|
-
"mappings": "AAAO,MAAMA,EAAmB,CAC9B,sBAAuB,OAAO,IAAI,uBAAuB,EACzD,yBAA0B,OAAO,IAAI,0BAA0B,CACjE",
|
|
6
|
-
"names": ["transactionTypes"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var u=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var m=(s,e,t,o)=>{for(var r=o>1?void 0:o?f(e,t):e,a=s.length-1,n;a>=0;a--)(n=s[a])&&(r=(o?n(e,t,r):n(r))||r);return o&&r&&u(e,t,r),r},l=(s,e)=>(t,o)=>e(t,o,s);import{DeviceModelId as S,isHexaString as C}from"@ledgerhq/device-management-kit";import{inject as y,injectable as g}from"inversify";import{proxyTypes as D}from"../../proxy/di/proxyTypes";import{ClearSignContextType as i}from"../../shared/model/ClearSignContext";import{transactionTypes as R}from"../../transaction/di/transactionTypes";let d=class{constructor(e,t){this.transactionDataSource=e;this.proxyDataSource=t}async load(e){if(e.deviceModelId===S.NANO_S)return[];const{to:t,data:o,selector:r,chainId:a,deviceModelId:n}=e;if(t===void 0)return[];if(!C(r))return[{type:i.ERROR,error:new Error("Invalid selector")}];const p=await this.transactionDataSource.getTransactionDescriptors({deviceModelId:n,address:t,chainId:a,selector:r});return p.isRight()&&p.extract().length>0?p.extract():(await this.proxyDataSource.getProxyImplementationAddress({calldata:o,proxyAddress:t,chainId:a,challenge:""})).caseOf({Right:async({implementationAddress:c})=>{if(!c)return[{type:i.ERROR,error:new Error(`[ContextModule] TransactionContextLoader: No delegate address found for proxy ${t}`)}];const x=await this.transactionDataSource.getTransactionDescriptors({deviceModelId:n,address:c,chainId:a,selector:r});return x.isRight()&&x.extract().length>0?[{type:i.PROXY_DELEGATE_CALL,payload:"0x"},...x.extract()]:[{type:i.ERROR,error:new Error(`[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address using proxy delegate call ${c}`)}]},Left:c=>Promise.resolve([{type:i.ERROR,error:new Error(`[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address ${t}`)}])})}};d=m([g(),l(0,y(R.TransactionDataSource)),l(1,y(D.ProxyDataSource))],d);export{d as TransactionContextLoader};
|
|
2
|
-
//# sourceMappingURL=TransactionContextLoader.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/domain/TransactionContextLoader.ts"],
|
|
4
|
-
"sourcesContent": ["import { DeviceModelId, isHexaString } from \"@ledgerhq/device-management-kit\";\nimport { inject, injectable } from \"inversify\";\n\nimport type {\n ProxyDataSource,\n ProxyImplementationAddress,\n} from \"@/proxy/data/ProxyDataSource\";\nimport { proxyTypes } from \"@/proxy/di/proxyTypes\";\nimport { ContextLoader } from \"@/shared/domain/ContextLoader\";\nimport {\n ClearSignContext,\n ClearSignContextType,\n} from \"@/shared/model/ClearSignContext\";\nimport { TransactionContext } from \"@/shared/model/TransactionContext\";\nimport type { TransactionDataSource } from \"@/transaction/data/TransactionDataSource\";\nimport { transactionTypes } from \"@/transaction/di/transactionTypes\";\n\n@injectable()\nexport class TransactionContextLoader implements ContextLoader {\n constructor(\n @inject(transactionTypes.TransactionDataSource)\n private transactionDataSource: TransactionDataSource,\n @inject(proxyTypes.ProxyDataSource)\n private proxyDataSource: ProxyDataSource,\n ) {}\n\n async load(ctx: TransactionContext): Promise<ClearSignContext[]> {\n if (ctx.deviceModelId === DeviceModelId.NANO_S) {\n return [];\n }\n\n const { to, data, selector, chainId, deviceModelId } = ctx;\n if (to === undefined) {\n return [];\n }\n\n if (!isHexaString(selector)) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ];\n }\n\n // try to fetch the transaction descriptors from the transaction data source\n // using the smart contract address to\n const transactionContexts =\n await this.transactionDataSource.getTransactionDescriptors({\n deviceModelId,\n address: to,\n chainId,\n selector,\n });\n\n if (\n transactionContexts.isRight() &&\n transactionContexts.extract().length > 0\n ) {\n return transactionContexts.extract();\n }\n\n // if the transaction descriptors are not found, try to fetch the proxy delegate call\n // and return the proxy delegate call context\n const proxyImplementationAddress =\n await this.proxyDataSource.getProxyImplementationAddress({\n calldata: data,\n proxyAddress: to,\n chainId,\n challenge: \"\",\n });\n\n return proxyImplementationAddress.caseOf<Promise<ClearSignContext[]>>({\n Right: async ({ implementationAddress }: ProxyImplementationAddress) => {\n if (!implementationAddress) {\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `[ContextModule] TransactionContextLoader: No delegate address found for proxy ${to}`,\n ),\n },\n ];\n }\n\n const transactionProxyContexts =\n await this.transactionDataSource.getTransactionDescriptors({\n deviceModelId,\n address: implementationAddress,\n chainId,\n selector,\n });\n\n if (\n transactionProxyContexts.isRight() &&\n transactionProxyContexts.extract().length > 0\n ) {\n return [\n // This payload is not used as the clear sign context is not used, only the subcontext that will be\n // fetched during the provide, with a correct challenge\n {\n type: ClearSignContextType.PROXY_DELEGATE_CALL,\n payload: \"0x\",\n },\n ...transactionProxyContexts.extract(),\n ];\n }\n\n return [\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address using proxy delegate call ${implementationAddress}`,\n ),\n },\n ];\n },\n Left: (_) => {\n return Promise.resolve([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n `[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address ${to}`,\n ),\n },\n ]);\n },\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "iOAAA,OAAS,iBAAAA,EAAe,gBAAAC,MAAoB,kCAC5C,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YAMnC,OAAS,cAAAC,MAAkB,wBAE3B,OAEE,wBAAAC,MACK,kCAGP,OAAS,oBAAAC,MAAwB,oCAG1B,IAAMC,EAAN,KAAwD,CAC7D,YAEUC,EAEAC,EACR,CAHQ,2BAAAD,EAEA,qBAAAC,CACP,CAEH,MAAM,KAAKC,EAAsD,CAC/D,GAAIA,EAAI,gBAAkBC,EAAc,OACtC,MAAO,CAAC,EAGV,KAAM,CAAE,GAAAC,EAAI,KAAAC,EAAM,SAAAC,EAAU,QAAAC,EAAS,cAAAC,CAAc,EAAIN,EACvD,GAAIE,IAAO,OACT,MAAO,CAAC,EAGV,GAAI,CAACK,EAAaH,CAAQ,EACxB,MAAO,CACL,CACE,KAAMI,EAAqB,MAC3B,MAAO,IAAI,MAAM,kBAAkB,CACrC,CACF,EAKF,MAAMC,EACJ,MAAM,KAAK,sBAAsB,0BAA0B,CACzD,cAAAH,EACA,QAASJ,EACT,QAAAG,EACA,SAAAD,CACF,CAAC,EAEH,OACEK,EAAoB,QAAQ,GAC5BA,EAAoB,QAAQ,EAAE,OAAS,EAEhCA,EAAoB,QAAQ,GAMnC,MAAM,KAAK,gBAAgB,8BAA8B,CACvD,SAAUN,EACV,aAAcD,EACd,QAAAG,EACA,UAAW,EACb,CAAC,GAE+B,OAAoC,CACpE,MAAO,MAAO,CAAE,sBAAAK,CAAsB,IAAkC,CACtE,GAAI,CAACA,EACH,MAAO,CACL,CACE,KAAMF,EAAqB,MAC3B,MAAO,IAAI,MACT,iFAAiFN,CAAE,EACrF,CACF,CACF,EAGF,MAAMS,EACJ,MAAM,KAAK,sBAAsB,0BAA0B,CACzD,cAAAL,EACA,QAASI,EACT,QAAAL,EACA,SAAAD,CACF,CAAC,EAEH,OACEO,EAAyB,QAAQ,GACjCA,EAAyB,QAAQ,EAAE,OAAS,EAErC,CAGL,CACE,KAAMH,EAAqB,oBAC3B,QAAS,IACX,EACA,GAAGG,EAAyB,QAAQ,CACtC,EAGK,CACL,CACE,KAAMH,EAAqB,MAC3B,MAAO,IAAI,MACT,sHAAsHE,CAAqB,EAC7I,CACF,CACF,CACF,EACA,KAAOE,GACE,QAAQ,QAAQ,CACrB,CACE,KAAMJ,EAAqB,MAC3B,MAAO,IAAI,MACT,4FAA4FN,CAAE,EAChG,CACF,CACF,CAAC,CAEL,CAAC,CACH,CACF,EA/GaL,EAANgB,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAiB,qBAAqB,GAE7CF,EAAA,EAAAC,EAAOE,EAAW,eAAe,IAJzBrB",
|
|
6
|
-
"names": ["DeviceModelId", "isHexaString", "inject", "injectable", "proxyTypes", "ClearSignContextType", "transactionTypes", "TransactionContextLoader", "transactionDataSource", "proxyDataSource", "ctx", "DeviceModelId", "to", "data", "selector", "chainId", "deviceModelId", "isHexaString", "ClearSignContextType", "transactionContexts", "implementationAddress", "transactionProxyContexts", "_", "__decorateClass", "injectable", "__decorateParam", "inject", "transactionTypes", "proxyTypes"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{DeviceModelId as i}from"@ledgerhq/device-management-kit";import{Left as c,Right as s}from"purify-ts";import{ClearSignContextType as a}from"../../shared/model/ClearSignContext";import{TransactionContextLoader as x}from"../../transaction/domain/TransactionContextLoader";describe("TransactionContextLoader",()=>{const o=vi.fn(),n=vi.fn(),d={getTransactionDescriptors:o},l={getProxyImplementationAddress:n},r=new x(d,l);beforeEach(()=>{vi.resetAllMocks()}),it("should return an empty array if no destination address is provided",async()=>{const e={},t=await r.load(e);expect(t).toEqual([])}),it("should return an empty array if 'to' is undefined",async()=>{const e={to:void 0,data:"0x"},t=await r.load(e);expect(t).toEqual([])}),it("should return an error if selector is invalid",async()=>{const e={to:"0x7",chainId:3,data:"0xzf68b302000000000000000000000000000000000000000000000000000000000002"},t=await r.load(e);expect(t).toEqual([{type:a.ERROR,error:new Error("Invalid selector")}])}),it("should return an error if data source fails",async()=>{n.mockResolvedValue(c(new Error("data source error"))),o.mockResolvedValue(c(new Error("data source error")));const e={to:"0x7",chainId:3,data:"0xaf68b302000000000000000000000000000000000000000000000000000000000002",selector:"0xaf68b302"},t=await r.load(e);expect(o).toHaveBeenCalledWith({address:"0x7",chainId:3,selector:"0xaf68b302"}),expect(t).toEqual([{type:a.ERROR,error:new Error("[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address 0x7")}])}),it("should return the contexts on success",async()=>{o.mockResolvedValue(s([{type:a.TRANSACTION_INFO,payload:"1234567890"},{type:a.TRANSACTION_FIELD_DESCRIPTION,payload:"deadbeef"}])),n.mockResolvedValue(c(new Error("data source error")));const e={to:"0x7",chainId:3,data:"0xaf68b302000000000000000000000000000000000000000000000000000000000002",selector:"0xaf68b302"},t=await r.load(e);expect(t).toEqual([{type:a.TRANSACTION_INFO,payload:"1234567890"},{type:a.TRANSACTION_FIELD_DESCRIPTION,payload:"deadbeef"}])}),it("should return the proxy delegate call context on success",async()=>{o.mockResolvedValueOnce(s([])),o.mockResolvedValue(s([{type:a.TRANSACTION_INFO,payload:"1234567890"},{type:a.TRANSACTION_FIELD_DESCRIPTION,payload:"deadbeef"}])),n.mockResolvedValue(s({implementationAddress:"0x1234567890abcdef",signedDescriptor:"0x1234567890abcdef"}));const e={to:"0x7",chainId:3,data:"0xaf68b302000000000000000000000000000000000000000000000000000000000002",selector:"0xaf68b302"},t=await r.load(e);expect(t).toEqual([{type:a.PROXY_DELEGATE_CALL,payload:"0x"},{type:a.TRANSACTION_INFO,payload:"1234567890"},{type:a.TRANSACTION_FIELD_DESCRIPTION,payload:"deadbeef"}])}),it("should return an empty array if device model is NANO_S",async()=>{const e={deviceModelId:i.NANO_S,to:"0x7",chainId:3,data:"0xaf68b302000000000000000000000000000000000000000000000000000000000002",selector:"0xaf68b302"},t=await r.load(e);expect(t).toEqual([]),expect(o).not.toHaveBeenCalled(),expect(n).not.toHaveBeenCalled()}),it("should return an error when proxy delegate call succeeds but transaction descriptors for resolved address fail",async()=>{o.mockResolvedValueOnce(s([])),o.mockResolvedValueOnce(c(new Error("data source error"))),n.mockResolvedValue(s({implementationAddress:"0xResolvedAddress",signedDescriptor:"0x1234567890abcdef"}));const e={to:"0x7",chainId:3,data:"0xaf68b302000000000000000000000000000000000000000000000000000000000002",selector:"0xaf68b302"},t=await r.load(e);expect(o).toHaveBeenCalledTimes(2),expect(o).toHaveBeenNthCalledWith(2,{address:"0xResolvedAddress",chainId:3,selector:"0xaf68b302"}),expect(t).toEqual([{type:a.ERROR,error:new Error("[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address using proxy delegate call 0xResolvedAddress")}])})});
|
|
2
|
-
//# sourceMappingURL=TransactionContextLoader.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/transaction/domain/TransactionContextLoader.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { DeviceModelId } from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\n\nimport type { ProxyDataSource } from \"@/proxy/data/ProxyDataSource\";\nimport { ClearSignContextType } from \"@/shared/model/ClearSignContext\";\nimport type { TransactionContext } from \"@/shared/model/TransactionContext\";\nimport type { TransactionDataSource } from \"@/transaction/data/TransactionDataSource\";\nimport { TransactionContextLoader } from \"@/transaction/domain/TransactionContextLoader\";\n\ndescribe(\"TransactionContextLoader\", () => {\n const getTransactionDescriptorsMock = vi.fn();\n const getProxyImplementationAddress = vi.fn();\n const mockTransactionDataSource: TransactionDataSource = {\n getTransactionDescriptors: getTransactionDescriptorsMock,\n };\n const mockProxyDatasource: ProxyDataSource = {\n getProxyImplementationAddress: getProxyImplementationAddress,\n };\n const loader = new TransactionContextLoader(\n mockTransactionDataSource,\n mockProxyDatasource,\n );\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should return an empty array if no destination address is provided\", async () => {\n // GIVEN\n const transaction = {} as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an empty array if 'to' is undefined\", async () => {\n // GIVEN\n const transaction = { to: undefined, data: \"0x\" } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n });\n\n it(\"should return an error if selector is invalid\", async () => {\n // GIVEN\n const transaction = {\n to: \"0x7\",\n chainId: 3,\n data: \"0xzf68b302000000000000000000000000000000000000000000000000000000000002\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\"Invalid selector\"),\n },\n ]);\n });\n\n it(\"should return an error if data source fails\", async () => {\n // GIVEN\n getProxyImplementationAddress.mockResolvedValue(\n Left(new Error(\"data source error\")),\n );\n getTransactionDescriptorsMock.mockResolvedValue(\n Left(new Error(\"data source error\")),\n );\n const transaction = {\n to: \"0x7\",\n chainId: 3,\n data: \"0xaf68b302000000000000000000000000000000000000000000000000000000000002\",\n selector: \"0xaf68b302\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(getTransactionDescriptorsMock).toHaveBeenCalledWith({\n address: \"0x7\",\n chainId: 3,\n selector: \"0xaf68b302\",\n });\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address 0x7\",\n ),\n },\n ]);\n });\n\n it(\"should return the contexts on success\", async () => {\n // GIVEN\n getTransactionDescriptorsMock.mockResolvedValue(\n Right([\n {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: \"deadbeef\",\n },\n ]),\n );\n getProxyImplementationAddress.mockResolvedValue(\n Left(new Error(\"data source error\")),\n );\n const transaction = {\n to: \"0x7\",\n chainId: 3,\n data: \"0xaf68b302000000000000000000000000000000000000000000000000000000000002\",\n selector: \"0xaf68b302\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: \"deadbeef\",\n },\n ]);\n });\n\n it(\"should return the proxy delegate call context on success\", async () => {\n // GIVEN\n getTransactionDescriptorsMock.mockResolvedValueOnce(Right([])); // No transaction descriptors found for the first call\n getTransactionDescriptorsMock.mockResolvedValue(\n Right([\n {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: \"deadbeef\",\n },\n ]),\n );\n getProxyImplementationAddress.mockResolvedValue(\n Right({\n implementationAddress: \"0x1234567890abcdef\",\n signedDescriptor: \"0x1234567890abcdef\",\n }),\n );\n const transaction = {\n to: \"0x7\",\n chainId: 3,\n data: \"0xaf68b302000000000000000000000000000000000000000000000000000000000002\",\n selector: \"0xaf68b302\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([\n {\n type: ClearSignContextType.PROXY_DELEGATE_CALL,\n payload: \"0x\",\n },\n {\n type: ClearSignContextType.TRANSACTION_INFO,\n payload: \"1234567890\",\n },\n {\n type: ClearSignContextType.TRANSACTION_FIELD_DESCRIPTION,\n payload: \"deadbeef\",\n },\n ]);\n });\n\n it(\"should return an empty array if device model is NANO_S\", async () => {\n // GIVEN\n const transaction = {\n deviceModelId: DeviceModelId.NANO_S,\n to: \"0x7\",\n chainId: 3,\n data: \"0xaf68b302000000000000000000000000000000000000000000000000000000000002\",\n selector: \"0xaf68b302\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(result).toEqual([]);\n expect(getTransactionDescriptorsMock).not.toHaveBeenCalled();\n expect(getProxyImplementationAddress).not.toHaveBeenCalled();\n });\n\n it(\"should return an error when proxy delegate call succeeds but transaction descriptors for resolved address fail\", async () => {\n // GIVEN\n getTransactionDescriptorsMock.mockResolvedValueOnce(Right([])); // No transaction descriptors found for the first call\n getTransactionDescriptorsMock.mockResolvedValueOnce(\n Left(new Error(\"data source error\")),\n ); // Second call fails\n getProxyImplementationAddress.mockResolvedValue(\n Right({\n implementationAddress: \"0xResolvedAddress\",\n signedDescriptor: \"0x1234567890abcdef\",\n }),\n );\n const transaction = {\n to: \"0x7\",\n chainId: 3,\n data: \"0xaf68b302000000000000000000000000000000000000000000000000000000000002\",\n selector: \"0xaf68b302\",\n } as TransactionContext;\n\n // WHEN\n const result = await loader.load(transaction);\n\n // THEN\n expect(getTransactionDescriptorsMock).toHaveBeenCalledTimes(2);\n expect(getTransactionDescriptorsMock).toHaveBeenNthCalledWith(2, {\n address: \"0xResolvedAddress\",\n chainId: 3,\n selector: \"0xaf68b302\",\n });\n expect(result).toEqual([\n {\n type: ClearSignContextType.ERROR,\n error: new Error(\n \"[ContextModule] TransactionContextLoader: Unable to fetch contexts from contract address using proxy delegate call 0xResolvedAddress\",\n ),\n },\n ]);\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["DeviceModelId", "Left", "Right", "ClearSignContextType", "TransactionContextLoader", "getTransactionDescriptorsMock", "getProxyImplementationAddress", "mockTransactionDataSource", "mockProxyDatasource", "loader", "transaction", "result"]
|
|
7
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type DeviceModelId } from "@ledgerhq/device-management-kit";
|
|
2
|
-
import { type ContextFieldLoaderKind } from "../../shared/domain/ContextFieldLoader";
|
|
3
|
-
export type TransactionFieldContext<T extends ContextFieldLoaderKind = ContextFieldLoaderKind> = T extends ContextFieldLoaderKind.TOKEN ? {
|
|
4
|
-
kind: ContextFieldLoaderKind.TOKEN;
|
|
5
|
-
chainId: number;
|
|
6
|
-
address: string;
|
|
7
|
-
} : T extends ContextFieldLoaderKind.NFT ? {
|
|
8
|
-
kind: ContextFieldLoaderKind.NFT;
|
|
9
|
-
chainId: number;
|
|
10
|
-
address: string;
|
|
11
|
-
} : T extends ContextFieldLoaderKind.TRUSTED_NAME ? {
|
|
12
|
-
kind: ContextFieldLoaderKind.TRUSTED_NAME;
|
|
13
|
-
chainId: number;
|
|
14
|
-
address: string;
|
|
15
|
-
challenge: string;
|
|
16
|
-
types: string[];
|
|
17
|
-
sources: string[];
|
|
18
|
-
} : T extends ContextFieldLoaderKind.PROXY_DELEGATE_CALL ? {
|
|
19
|
-
kind: ContextFieldLoaderKind.PROXY_DELEGATE_CALL;
|
|
20
|
-
chainId: number;
|
|
21
|
-
proxyAddress: string;
|
|
22
|
-
calldata: string;
|
|
23
|
-
challenge: string;
|
|
24
|
-
deviceModelId: DeviceModelId;
|
|
25
|
-
} : never;
|
|
26
|
-
//# sourceMappingURL=TransactionFieldContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionFieldContext.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/TransactionFieldContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,IACvD,CAAC,SAAS,sBAAsB,CAAC,KAAK,GACtC;IACE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD,CAAC,SAAS,sBAAsB,CAAC,GAAG,GAClC;IACE,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD,CAAC,SAAS,sBAAsB,CAAC,YAAY,GAC3C;IACE,IAAI,EAAE,sBAAsB,CAAC,YAAY,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,GACD,CAAC,SAAS,sBAAsB,CAAC,mBAAmB,GAClD;IACE,IAAI,EAAE,sBAAsB,CAAC,mBAAmB,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,GACD,KAAK,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransactionDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/data/HttpTransactionDataSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAGhD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAS9E,OAAO,EAGL,uBAAuB,EAExB,MAAM,iCAAiC,CAAC;AAuBzC,OAAO,EACL,+BAA+B,EAC/B,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,qBACa,yBAA0B,YAAW,qBAAqB;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEnD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFU,MAAM,EAAE,mBAAmB,EAEvD,kBAAkB,EAAE,oBAAoB;IAG9C,yBAAyB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,GACd,EAAE,+BAA+B,GAAG,OAAO,CAC1C,MAAM,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,CACzC;IAsHD,OAAO,CAAC,YAAY;IA0EpB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,SAAS;IAqCjB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,mCAAmC;IAU3C,OAAO,CAAC,qCAAqC;IAc7C,OAAO,CAAC,eAAe;CAqBxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HttpTransactionDataSource.test.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/data/HttpTransactionDataSource.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionDataSource.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/data/TransactionDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,CACvB,MAAM,EAAE,+BAA+B,GACtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;CACtD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalldataDto.d.ts","sourceRoot":"","sources":["../../../../../../src/transaction/data/dto/CalldataDto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionModuleFactory.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/di/transactionModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAM5C,eAAO,MAAM,wBAAwB,uBAMjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionTypes.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/di/transactionTypes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ProxyDataSource } from "../../proxy/data/ProxyDataSource";
|
|
2
|
-
import { ContextLoader } from "../../shared/domain/ContextLoader";
|
|
3
|
-
import { ClearSignContext } from "../../shared/model/ClearSignContext";
|
|
4
|
-
import { TransactionContext } from "../../shared/model/TransactionContext";
|
|
5
|
-
import type { TransactionDataSource } from "../../transaction/data/TransactionDataSource";
|
|
6
|
-
export declare class TransactionContextLoader implements ContextLoader {
|
|
7
|
-
private transactionDataSource;
|
|
8
|
-
private proxyDataSource;
|
|
9
|
-
constructor(transactionDataSource: TransactionDataSource, proxyDataSource: ProxyDataSource);
|
|
10
|
-
load(ctx: TransactionContext): Promise<ClearSignContext[]>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=TransactionContextLoader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionContextLoader.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/domain/TransactionContextLoader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGtF,qBACa,wBAAyB,YAAW,aAAa;IAG1D,OAAO,CAAC,qBAAqB;IAE7B,OAAO,CAAC,eAAe;gBAFf,qBAAqB,EAAE,qBAAqB,EAE5C,eAAe,EAAE,eAAe;IAGpC,IAAI,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAuGjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionContextLoader.test.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/domain/TransactionContextLoader.test.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|