@ledgerhq/device-signer-kit-ethereum 1.9.1 → 1.9.3
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/internal/app-binder/command/GetAddressCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
- package/lib/cjs/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js +2 -2
- package/lib/cjs/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
- package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
- package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
- package/lib/cjs/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +2 -2
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/cjs/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +2 -2
- package/lib/cjs/package.json +1 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAddressCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetAppConfigurationCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/GetChallengeCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideEnumCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideNFTInformationCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideNetworkConfigurationCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideProxyInfoCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideSafeAccountCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTokenInformationCommand.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideTrustedNameCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/ProvideWeb3CheckCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712FilteringCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SendEIP712StructImplemCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js +2 -2
- package/lib/esm/internal/app-binder/command/SetExternalPluginCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SetPluginCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js +2 -2
- package/lib/esm/internal/app-binder/command/SetPluginCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignAuthorizationDelegationCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js +1 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignEIP712Command.test.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignPersonalMessageCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/SignTransactionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/StartTransactionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/StoreTransactionCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js +1 -1
- package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.js.map +2 -2
- package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js +1 -1
- package/lib/esm/internal/app-binder/command/Web3CheckOptInCommand.test.js.map +3 -3
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.js.map +2 -2
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js +1 -1
- package/lib/esm/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.test.js.map +3 -3
- package/lib/esm/package.json +1 -1
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/GetAddressCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/GetAppConfigurationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/GetChallengeCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideEnumCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideNFTInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideNetworkConfigurationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideProxyInfoCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideSafeAccountCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideTokenInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideTransactionInformationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideTrustedNameCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/ProvideWeb3CheckCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712FilteringCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructDefinitionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SendEIP712StructImplemCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SetExternalPluginCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SetPluginCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SignAuthorizationDelegationCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SignEIP712Command.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SignPersonalMessageCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/SignTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/StartTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/StoreTransactionCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts +1 -0
- package/lib/types/internal/app-binder/command/Web3CheckOptInCommand.d.ts.map +1 -1
- package/lib/types/internal/app-binder/device-action/SignTypedData/SignTypedDataDeviceAction.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTokenInformationCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-erc-20-token-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTokenInformationCommandArgs = {\n payload: string;\n};\n\nexport type ProvideTokenInformationCommandResponse = {\n tokenIndex: number;\n};\n\nexport class ProvideTokenInformationCommand\n implements\n Command<\n ProvideTokenInformationCommandResponse,\n ProvideTokenInformationCommandArgs,\n EthErrorCodes\n >\n{\n private readonly errorHelper = new CommandErrorHelper<\n ProvideTokenInformationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(private readonly args: ProvideTokenInformationCommandArgs) {}\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x0a,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getEthAddressArgs)\n .addHexaStringToData(this.args.payload)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<ProvideTokenInformationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n const tokenIndex = parser.extract8BitUInt() ?? 0;\n return CommandResultFactory({ data: { tokenIndex } });\n });\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAUA,MAAMC,CAOb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-erc-20-token-information\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n ApduParser,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTokenInformationCommandArgs = {\n payload: string;\n};\n\nexport type ProvideTokenInformationCommandResponse = {\n tokenIndex: number;\n};\n\nexport class ProvideTokenInformationCommand\n implements\n Command<\n ProvideTokenInformationCommandResponse,\n ProvideTokenInformationCommandArgs,\n EthErrorCodes\n >\n{\n readonly name = \"provideTokenInformation\";\n private readonly errorHelper = new CommandErrorHelper<\n ProvideTokenInformationCommandResponse,\n EthErrorCodes\n >(ETH_APP_ERRORS, EthAppCommandErrorFactory);\n\n constructor(private readonly args: ProvideTokenInformationCommandArgs) {}\n\n getApdu(): Apdu {\n const getEthAddressArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x0a,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getEthAddressArgs)\n .addHexaStringToData(this.args.payload)\n .build();\n }\n\n parseResponse(\n response: ApduResponse,\n ): CommandResult<ProvideTokenInformationCommandResponse, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(response),\n ).orDefaultLazy(() => {\n const parser = new ApduParser(response);\n const tokenIndex = parser.extract8BitUInt() ?? 0;\n return CommandResultFactory({ data: { tokenIndex } });\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAEE,eAAAA,EAEA,cAAAC,EAIA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAUA,MAAMC,CAOb,CAOE,YAA6BC,EAA0C,CAA1C,UAAAA,CAA2C,CAN/D,KAAO,0BACC,YAAc,IAAIL,EAGjCE,EAAgBC,CAAyB,EAI3C,SAAgB,CACd,MAAMG,EAAqC,CACzC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAIT,EAAYS,CAAiB,EACrC,oBAAoB,KAAK,KAAK,OAAO,EACrC,MAAM,CACX,CAEA,cACEC,EACsE,CACtE,OAAON,EAAM,aACX,KAAK,YAAY,SAASM,CAAQ,CACpC,EAAE,cAAc,IAAM,CAEpB,MAAMC,EADS,IAAIV,EAAWS,CAAQ,EACZ,gBAAgB,GAAK,EAC/C,OAAOR,EAAqB,CAAE,KAAM,CAAE,WAAAS,CAAW,CAAE,CAAC,CACtD,CAAC,CACH,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "ApduParser", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "ProvideTokenInformationCommand", "args", "getEthAddressArgs", "response", "tokenIndex"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CommandResultFactory as
|
|
1
|
+
import{CommandResultFactory as c,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{ProvideTokenInformationCommand as d}from"./ProvideTokenInformationCommand";const t="0455534454dac17f958d2ee523a2206206994597c13d831ec700000006000000013044022078c66ccea3e4dedb15a24ec3c783d7b582cd260daf62fd36afe9a8212a344aed0220160ba8c1c4b6a8aa6565bed20632a091aeeeb7bfdac67fc6589a6031acbf511c",r="0455534443a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000006000000013045022100b2e358726e4e6a6752cf344017c0e9d45b9a904120758d45f61b2804f9ad5299022015161ef28d8c4481bd9432c13562def9cce688bcfec896ef244c9a213f106cdd",n=Uint8Array.from([224,10,0,0,103,4,85,83,68,84,218,193,127,149,141,46,229,35,162,32,98,6,153,69,151,193,61,131,30,199,0,0,0,6,0,0,0,1,48,68,2,32,120,198,108,206,163,228,222,219,21,162,78,195,199,131,215,181,130,205,38,13,175,98,253,54,175,233,168,33,42,52,74,237,2,32,22,11,168,193,196,182,168,170,101,101,190,210,6,50,160,145,174,238,183,191,218,198,127,198,88,154,96,49,172,191,81,28]),s=Uint8Array.from([224,10,0,0,104,4,85,83,68,67,160,184,105,145,198,33,139,54,193,209,157,74,46,158,176,206,54,6,235,72,0,0,0,6,0,0,0,1,48,69,2,33,0,178,227,88,114,110,78,106,103,82,207,52,64,23,192,233,212,91,154,144,65,32,117,141,69,246,27,40,4,249,173,82,153,2,32,21,22,30,242,141,140,68,129,189,148,50,193,53,98,222,249,204,230,136,188,254,200,150,239,36,76,154,33,63,16,108,221]);describe("ProvideTokenInformationCommand",()=>{let x;describe("name",()=>{it("should be 'provideTokenInformation'",()=>{x=new d({payload:""}),expect(x.name).toBe("provideTokenInformation")})}),describe("getApdu",()=>{it("should return the apdu for usdt payload",()=>{x=new d({payload:t});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(n)}),it("should return the apdu for usdc payload",()=>{x=new d({payload:r});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(s)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const e={statusCode:Uint8Array.from([144,0]),data:Uint8Array.from([1])},a=x.parseResponse(e);expect(a).toStrictEqual(c({data:{tokenIndex:1}}))}),it("should return an error if the response is not successful",()=>{const e={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},a=x.parseResponse(e);expect(o(a)).toBe(!1)})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTokenInformationCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTokenInformationCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideTokenInformationCommand } from \"./ProvideTokenInformationCommand\";\n\nconst PAYLOAD_USDT =\n \"0455534454dac17f958d2ee523a2206206994597c13d831ec700000006000000013044022078c66ccea3e4dedb15a24ec3c783d7b582cd260daf62fd36afe9a8212a344aed0220160ba8c1c4b6a8aa6565bed20632a091aeeeb7bfdac67fc6589a6031acbf511c\";\n\nconst PAYLOAD_USDC =\n \"0455534443a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000006000000013045022100b2e358726e4e6a6752cf344017c0e9d45b9a904120758d45f61b2804f9ad5299022015161ef28d8c4481bd9432c13562def9cce688bcfec896ef244c9a213f106cdd\";\n\nconst PROVIDE_TOKEN_INFORMATION_APDU_USDT = Uint8Array.from([\n 0xe0, 0x0a, 0x00, 0x00, 0x67, 0x04, 0x55, 0x53, 0x44, 0x54, 0xda, 0xc1, 0x7f,\n 0x95, 0x8d, 0x2e, 0xe5, 0x23, 0xa2, 0x20, 0x62, 0x06, 0x99, 0x45, 0x97, 0xc1,\n 0x3d, 0x83, 0x1e, 0xc7, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x30,\n 0x44, 0x02, 0x20, 0x78, 0xc6, 0x6c, 0xce, 0xa3, 0xe4, 0xde, 0xdb, 0x15, 0xa2,\n 0x4e, 0xc3, 0xc7, 0x83, 0xd7, 0xb5, 0x82, 0xcd, 0x26, 0x0d, 0xaf, 0x62, 0xfd,\n 0x36, 0xaf, 0xe9, 0xa8, 0x21, 0x2a, 0x34, 0x4a, 0xed, 0x02, 0x20, 0x16, 0x0b,\n 0xa8, 0xc1, 0xc4, 0xb6, 0xa8, 0xaa, 0x65, 0x65, 0xbe, 0xd2, 0x06, 0x32, 0xa0,\n 0x91, 0xae, 0xee, 0xb7, 0xbf, 0xda, 0xc6, 0x7f, 0xc6, 0x58, 0x9a, 0x60, 0x31,\n 0xac, 0xbf, 0x51, 0x1c,\n]);\n\nconst PROVIDE_TOKEN_INFORMATION_APDU_USDC = Uint8Array.from([\n 0xe0, 0x0a, 0x00, 0x00, 0x68, 0x04, 0x55, 0x53, 0x44, 0x43, 0xa0, 0xb8, 0x69,\n 0x91, 0xc6, 0x21, 0x8b, 0x36, 0xc1, 0xd1, 0x9d, 0x4a, 0x2e, 0x9e, 0xb0, 0xce,\n 0x36, 0x06, 0xeb, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x30,\n 0x45, 0x02, 0x21, 0x00, 0xb2, 0xe3, 0x58, 0x72, 0x6e, 0x4e, 0x6a, 0x67, 0x52,\n 0xcf, 0x34, 0x40, 0x17, 0xc0, 0xe9, 0xd4, 0x5b, 0x9a, 0x90, 0x41, 0x20, 0x75,\n 0x8d, 0x45, 0xf6, 0x1b, 0x28, 0x04, 0xf9, 0xad, 0x52, 0x99, 0x02, 0x20, 0x15,\n 0x16, 0x1e, 0xf2, 0x8d, 0x8c, 0x44, 0x81, 0xbd, 0x94, 0x32, 0xc1, 0x35, 0x62,\n 0xde, 0xf9, 0xcc, 0xe6, 0x88, 0xbc, 0xfe, 0xc8, 0x96, 0xef, 0x24, 0x4c, 0x9a,\n 0x21, 0x3f, 0x10, 0x6c, 0xdd,\n]);\n\ndescribe(\"ProvideTokenInformationCommand\", () => {\n let command: ProvideTokenInformationCommand;\n\n describe(\"getApdu\", () => {\n it(\"should return the apdu for usdt payload\", () => {\n // GIVEN\n command = new ProvideTokenInformationCommand({ payload: PAYLOAD_USDT });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n PROVIDE_TOKEN_INFORMATION_APDU_USDT,\n );\n });\n\n it(\"should return the apdu for usdc payload\", () => {\n // GIVEN\n command = new ProvideTokenInformationCommand({ payload: PAYLOAD_USDC });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n PROVIDE_TOKEN_INFORMATION_APDU_USDC,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([0x01]),\n };\n\n // WHEN\n const parsedResponse = command.parseResponse(response);\n\n // THEN\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({ data: { tokenIndex: 0x01 } }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideTokenInformationCommand } from \"./ProvideTokenInformationCommand\";\n\nconst PAYLOAD_USDT =\n \"0455534454dac17f958d2ee523a2206206994597c13d831ec700000006000000013044022078c66ccea3e4dedb15a24ec3c783d7b582cd260daf62fd36afe9a8212a344aed0220160ba8c1c4b6a8aa6565bed20632a091aeeeb7bfdac67fc6589a6031acbf511c\";\n\nconst PAYLOAD_USDC =\n \"0455534443a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000006000000013045022100b2e358726e4e6a6752cf344017c0e9d45b9a904120758d45f61b2804f9ad5299022015161ef28d8c4481bd9432c13562def9cce688bcfec896ef244c9a213f106cdd\";\n\nconst PROVIDE_TOKEN_INFORMATION_APDU_USDT = Uint8Array.from([\n 0xe0, 0x0a, 0x00, 0x00, 0x67, 0x04, 0x55, 0x53, 0x44, 0x54, 0xda, 0xc1, 0x7f,\n 0x95, 0x8d, 0x2e, 0xe5, 0x23, 0xa2, 0x20, 0x62, 0x06, 0x99, 0x45, 0x97, 0xc1,\n 0x3d, 0x83, 0x1e, 0xc7, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x30,\n 0x44, 0x02, 0x20, 0x78, 0xc6, 0x6c, 0xce, 0xa3, 0xe4, 0xde, 0xdb, 0x15, 0xa2,\n 0x4e, 0xc3, 0xc7, 0x83, 0xd7, 0xb5, 0x82, 0xcd, 0x26, 0x0d, 0xaf, 0x62, 0xfd,\n 0x36, 0xaf, 0xe9, 0xa8, 0x21, 0x2a, 0x34, 0x4a, 0xed, 0x02, 0x20, 0x16, 0x0b,\n 0xa8, 0xc1, 0xc4, 0xb6, 0xa8, 0xaa, 0x65, 0x65, 0xbe, 0xd2, 0x06, 0x32, 0xa0,\n 0x91, 0xae, 0xee, 0xb7, 0xbf, 0xda, 0xc6, 0x7f, 0xc6, 0x58, 0x9a, 0x60, 0x31,\n 0xac, 0xbf, 0x51, 0x1c,\n]);\n\nconst PROVIDE_TOKEN_INFORMATION_APDU_USDC = Uint8Array.from([\n 0xe0, 0x0a, 0x00, 0x00, 0x68, 0x04, 0x55, 0x53, 0x44, 0x43, 0xa0, 0xb8, 0x69,\n 0x91, 0xc6, 0x21, 0x8b, 0x36, 0xc1, 0xd1, 0x9d, 0x4a, 0x2e, 0x9e, 0xb0, 0xce,\n 0x36, 0x06, 0xeb, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x30,\n 0x45, 0x02, 0x21, 0x00, 0xb2, 0xe3, 0x58, 0x72, 0x6e, 0x4e, 0x6a, 0x67, 0x52,\n 0xcf, 0x34, 0x40, 0x17, 0xc0, 0xe9, 0xd4, 0x5b, 0x9a, 0x90, 0x41, 0x20, 0x75,\n 0x8d, 0x45, 0xf6, 0x1b, 0x28, 0x04, 0xf9, 0xad, 0x52, 0x99, 0x02, 0x20, 0x15,\n 0x16, 0x1e, 0xf2, 0x8d, 0x8c, 0x44, 0x81, 0xbd, 0x94, 0x32, 0xc1, 0x35, 0x62,\n 0xde, 0xf9, 0xcc, 0xe6, 0x88, 0xbc, 0xfe, 0xc8, 0x96, 0xef, 0x24, 0x4c, 0x9a,\n 0x21, 0x3f, 0x10, 0x6c, 0xdd,\n]);\n\ndescribe(\"ProvideTokenInformationCommand\", () => {\n let command: ProvideTokenInformationCommand;\n\n describe(\"name\", () => {\n it(\"should be 'provideTokenInformation'\", () => {\n command = new ProvideTokenInformationCommand({ payload: \"\" });\n expect(command.name).toBe(\"provideTokenInformation\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the apdu for usdt payload\", () => {\n // GIVEN\n command = new ProvideTokenInformationCommand({ payload: PAYLOAD_USDT });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n PROVIDE_TOKEN_INFORMATION_APDU_USDT,\n );\n });\n\n it(\"should return the apdu for usdc payload\", () => {\n // GIVEN\n command = new ProvideTokenInformationCommand({ payload: PAYLOAD_USDC });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n PROVIDE_TOKEN_INFORMATION_APDU_USDC,\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: Uint8Array.from([0x01]),\n };\n\n // WHEN\n const parsedResponse = command.parseResponse(response);\n\n // THEN\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({ data: { tokenIndex: 0x01 } }),\n );\n });\n\n it(\"should return an error if the response is not successful\", () => {\n // GIVEN\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = command.parseResponse(response);\n\n // THEN\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["CommandResultFactory", "isSuccessCommandResult", "ProvideTokenInformationCommand", "PAYLOAD_USDT", "PAYLOAD_USDC", "PROVIDE_TOKEN_INFORMATION_APDU_USDT", "PROVIDE_TOKEN_INFORMATION_APDU_USDC", "command", "apdu", "response", "parsedResponse", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as t}from"@ledgerhq/signer-utils";import{Maybe as d}from"purify-ts";import{ETH_APP_ERRORS as
|
|
1
|
+
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as t}from"@ledgerhq/signer-utils";import{Maybe as d}from"purify-ts";import{ETH_APP_ERRORS as i,EthAppCommandErrorFactory as a}from"./utils/ethAppErrors";class u{constructor(r){this.args=r}name="provideTransactionFieldDescription";errorHelper=new t(i,a);getApdu(){const r={cla:224,ins:40,p1:this.args.isFirstChunk?1:0,p2:0};return new e(r).addBufferToData(this.args.data).build()}parseResponse(r){return d.fromNullable(this.errorHelper.getError(r)).orDefault(o({data:void 0}))}}export{u as ProvideTransactionFieldDescriptionCommand};
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionFieldDescriptionCommand.js.map
|
package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.ts"],
|
|
4
|
-
"sourcesContent": ["//https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#tx-field-description\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionFieldDescriptionCommandArgs = {\n /**\n * The field description data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionFieldDescriptionCommand\n implements\n Command<void, ProvideTransactionFieldDescriptionCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionFieldDescriptionCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionFieldDescriptionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x28,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionFieldDescriptionArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAaA,MAAMC,CAGb,
|
|
4
|
+
"sourcesContent": ["//https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#tx-field-description\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionFieldDescriptionCommandArgs = {\n /**\n * The field description data to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionFieldDescriptionCommand\n implements\n Command<void, ProvideTransactionFieldDescriptionCommandArgs, EthErrorCodes>\n{\n readonly name = \"provideTransactionFieldDescription\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionFieldDescriptionCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionFieldDescriptionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x28,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionFieldDescriptionArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAaA,MAAMC,CAGb,CAOE,YACmBC,EACjB,CADiB,UAAAA,CAChB,CARM,KAAO,qCACC,YAAc,IAAIL,EACjCE,EACAC,CACF,EAMA,SAAgB,CACd,MAAMG,EAA0D,CAC9D,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAIR,EAAYQ,CAAsC,EAC1D,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAON,EAAM,aAAa,KAAK,YAAY,SAASM,CAAQ,CAAC,EAAE,UAC7DR,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "ProvideTransactionFieldDescriptionCommand", "args", "ProvideTransactionFieldDescriptionArgs", "response"]
|
|
7
7
|
}
|
package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isSuccessCommandResult as
|
|
1
|
+
import{isSuccessCommandResult as n}from"@ledgerhq/device-management-kit";import{EthAppCommandError as o}from"./utils/ethAppErrors";import{ProvideTransactionFieldDescriptionCommand as t}from"./ProvideTransactionFieldDescriptionCommand";describe("ProvideTransactionFieldDescriptionCommand",()=>{describe("name",()=>{it("should be 'provideTransactionFieldDescription'",()=>{const r=new t({data:new Uint8Array,isFirstChunk:!0});expect(r.name).toBe("provideTransactionFieldDescription")})}),describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const r={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},e=new t(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,40,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const r={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},e=new t(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,40,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},e=new t({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if(n(e))throw new Error("Expected an error");expect(e.error).toBeDefined(),expect(e.error).toBeInstanceOf(o)}),it("should return a success result if the response status code is valid",()=>{const r={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},e=new t({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(r);if(n(e))expect(e.data).toBeUndefined();else throw new Error("Expected a success result")})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionFieldDescriptionCommand.test.js.map
|
package/lib/esm/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionFieldDescriptionCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideTransactionFieldDescriptionCommand,\n type ProvideTransactionFieldDescriptionCommandArgs,\n} from \"./ProvideTransactionFieldDescriptionCommand\";\n\ndescribe(\"ProvideTransactionFieldDescriptionCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (!isSuccessCommandResult(result)) {\n throw new Error(\"Expected a success result\");\n } else {\n expect(result.data).toBeUndefined();\n }\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OACE,6CAAAC,MAEK,8CAEP,SAAS,4CAA6C,IAAM,CAC1D,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAsD,CAC1D,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,
|
|
6
|
-
"names": ["isSuccessCommandResult", "EthAppCommandError", "ProvideTransactionFieldDescriptionCommand", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideTransactionFieldDescriptionCommand,\n type ProvideTransactionFieldDescriptionCommandArgs,\n} from \"./ProvideTransactionFieldDescriptionCommand\";\n\ndescribe(\"ProvideTransactionFieldDescriptionCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'provideTransactionFieldDescription'\", () => {\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(),\n isFirstChunk: true,\n });\n expect(command.name).toBe(\"provideTransactionFieldDescription\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideTransactionFieldDescriptionCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x28, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideTransactionFieldDescriptionCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (!isSuccessCommandResult(result)) {\n throw new Error(\"Expected a success result\");\n } else {\n expect(result.data).toBeUndefined();\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OACE,6CAAAC,MAEK,8CAEP,SAAS,4CAA6C,IAAM,CAC1D,SAAS,OAAQ,IAAM,CACrB,GAAG,iDAAkD,IAAM,CACzD,MAAMC,EAAU,IAAID,EAA0C,CAC5D,KAAM,IAAI,WACV,aAAc,EAChB,CAAC,EACD,OAAOC,EAAQ,IAAI,EAAE,KAAK,oCAAoC,CAChE,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAsD,CAC1D,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIH,EAA0CE,CAAI,EAC7C,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAAsD,CAC1D,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIH,EAA0CE,CAAI,EAC7C,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIL,EAA0C,CAC5D,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcI,CAAQ,EAG7C,GAAIN,EAAuBO,CAAM,EAC/B,MAAM,IAAI,MAAM,mBAAmB,EAEnC,OAAOA,EAAO,KAAK,EAAE,YAAY,EACjC,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAkB,CAE1D,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,MAAMK,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIL,EAA0C,CAC5D,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcI,CAAQ,EAG7C,GAAKN,EAAuBO,CAAM,EAGhC,OAAOA,EAAO,IAAI,EAAE,cAAc,MAFlC,OAAM,IAAI,MAAM,2BAA2B,CAI/C,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["isSuccessCommandResult", "EthAppCommandError", "ProvideTransactionFieldDescriptionCommand", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as o,CommandResultFactory as e}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as a}from"@ledgerhq/signer-utils";import{Maybe as
|
|
1
|
+
import{ApduBuilder as o,CommandResultFactory as e}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as a}from"@ledgerhq/signer-utils";import{Maybe as n}from"purify-ts";import{ETH_APP_ERRORS as t,EthAppCommandErrorFactory as d}from"./utils/ethAppErrors";class l{constructor(r){this.args=r}name="provideTransactionInformation";errorHelper=new a(t,d);getApdu(){const r={cla:224,ins:38,p1:this.args.isFirstChunk?1:0,p2:0};return new o(r).addBufferToData(this.args.data).build()}parseResponse(r){return n.fromNullable(this.errorHelper.getError(r)).orDefault(e({data:void 0}))}}export{l as ProvideTransactionInformationCommand};
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionInformationCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionInformationCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#transaction-info\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionInformationCommandArgs = {\n /**\n * The transaction information to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionInformationCommand\n implements\n Command<void, ProvideTransactionInformationCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionInformationCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionInformationArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x26,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionInformationArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAaA,MAAMC,CAGb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/generic_parser/blob/master/specs.md#transaction-info\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTransactionInformationCommandArgs = {\n /**\n * The transaction information to provide in chunks\n */\n readonly data: Uint8Array;\n /**\n * If this is the first chunk of the message\n */\n readonly isFirstChunk: boolean;\n};\n\nexport class ProvideTransactionInformationCommand\n implements\n Command<void, ProvideTransactionInformationCommandArgs, EthErrorCodes>\n{\n readonly name = \"provideTransactionInformation\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(\n private readonly args: ProvideTransactionInformationCommandArgs,\n ) {}\n\n getApdu(): Apdu {\n const ProvideTransactionInformationArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x26,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(ProvideTransactionInformationArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAaA,MAAMC,CAGb,CAOE,YACmBC,EACjB,CADiB,UAAAA,CAChB,CARM,KAAO,gCACC,YAAc,IAAIL,EACjCE,EACAC,CACF,EAMA,SAAgB,CACd,MAAMG,EAAqD,CACzD,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAIR,EAAYQ,CAAiC,EACrD,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAON,EAAM,aAAa,KAAK,YAAY,SAASM,CAAQ,CAAC,EAAE,UAC7DR,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "ProvideTransactionInformationCommand", "args", "ProvideTransactionInformationArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isSuccessCommandResult as
|
|
1
|
+
import{isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{EthAppCommandError as s}from"./utils/ethAppErrors";import{ProvideTransactionInformationCommand as t}from"./ProvideTransactionInformationCommand";describe("ProvideTransactionInformationCommand",()=>{describe("name",()=>{it("should be 'provideTransactionInformation'",()=>{const e=new t({data:new Uint8Array,isFirstChunk:!0});expect(e.name).toBe("provideTransactionInformation")})}),describe("getApdu",()=>{it("should return the raw APDU for the first chunk",()=>{const e={data:Uint8Array.from([1,2,3]),isFirstChunk:!0},r=new t(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,38,1,0,3,1,2,3]))}),it("should return the raw APDU for the subsequent chunk",()=>{const e={data:Uint8Array.from([4,5,6]),isFirstChunk:!1},r=new t(e).getApdu();expect(r.getRawApdu()).toStrictEqual(Uint8Array.from([224,38,0,0,3,4,5,6]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([109,0])},r=new t({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if(o(r))throw new Error("Expected an error");expect(r.error).toBeDefined(),expect(r.error).toBeInstanceOf(s)}),it("should return a success result if the response status code is valid",()=>{const e={data:Uint8Array.from([]),statusCode:Uint8Array.from([144,0])},r=new t({data:new Uint8Array(0),isFirstChunk:!0}).parseResponse(e);if(o(r))expect(r.data).toBeUndefined();else throw new Error("Expected a success result")})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTransactionInformationCommand.test.js.map
|
package/lib/esm/internal/app-binder/command/ProvideTransactionInformationCommand.test.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTransactionInformationCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideTransactionInformationCommand,\n type ProvideTransactionInformationCommandArgs,\n} from \"./ProvideTransactionInformationCommand\";\n\ndescribe(\"ProvideTransactionInformationCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideTransactionInformationCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x26, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideTransactionInformationCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x26, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (!isSuccessCommandResult(result)) {\n throw new Error(\"Expected a success result\");\n } else {\n expect(result.data).toBeUndefined();\n }\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OACE,wCAAAC,MAEK,yCAEP,SAAS,uCAAwC,IAAM,CACrD,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAiD,CACrD,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,
|
|
6
|
-
"names": ["isSuccessCommandResult", "EthAppCommandError", "ProvideTransactionInformationCommand", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { EthAppCommandError } from \"./utils/ethAppErrors\";\nimport {\n ProvideTransactionInformationCommand,\n type ProvideTransactionInformationCommandArgs,\n} from \"./ProvideTransactionInformationCommand\";\n\ndescribe(\"ProvideTransactionInformationCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'provideTransactionInformation'\", () => {\n const command = new ProvideTransactionInformationCommand({\n data: new Uint8Array(),\n isFirstChunk: true,\n });\n expect(command.name).toBe(\"provideTransactionInformation\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU for the first chunk\", () => {\n // GIVEN\n const args: ProvideTransactionInformationCommandArgs = {\n data: Uint8Array.from([0x01, 0x02, 0x03]),\n isFirstChunk: true,\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x26, 0x01, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for the subsequent chunk\", () => {\n // GIVEN\n const args: ProvideTransactionInformationCommandArgs = {\n data: Uint8Array.from([0x04, 0x05, 0x06]),\n isFirstChunk: false,\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand(args);\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x26, 0x00, 0x00, 0x03, 0x04, 0x05, 0x06]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x6d, 0x00]), // Invalid status code\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n throw new Error(\"Expected an error\");\n } else {\n expect(result.error).toBeDefined();\n expect(result.error).toBeInstanceOf(EthAppCommandError);\n }\n });\n\n it(\"should return a success result if the response status code is valid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Uint8Array.from([]),\n statusCode: Uint8Array.from([0x90, 0x00]), // Success status code\n };\n\n // WHEN\n const command = new ProvideTransactionInformationCommand({\n data: new Uint8Array(0),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n\n // THEN\n if (!isSuccessCommandResult(result)) {\n throw new Error(\"Expected a success result\");\n } else {\n expect(result.data).toBeUndefined();\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OAAS,sBAAAC,MAA0B,uBACnC,OACE,wCAAAC,MAEK,yCAEP,SAAS,uCAAwC,IAAM,CACrD,SAAS,OAAQ,IAAM,CACrB,GAAG,4CAA6C,IAAM,CACpD,MAAMC,EAAU,IAAID,EAAqC,CACvD,KAAM,IAAI,WACV,aAAc,EAChB,CAAC,EACD,OAAOC,EAAQ,IAAI,EAAE,KAAK,+BAA+B,CAC3D,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,iDAAkD,IAAM,CAEzD,MAAMC,EAAiD,CACrD,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIH,EAAqCE,CAAI,EACxC,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,sDAAuD,IAAM,CAE9D,MAAMD,EAAiD,CACrD,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,CAAI,CAAC,EACxC,aAAc,EAChB,EAIMC,EADU,IAAIH,EAAqCE,CAAI,EACxC,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMC,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIL,EAAqC,CACvD,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcI,CAAQ,EAG7C,GAAIN,EAAuBO,CAAM,EAC/B,MAAM,IAAI,MAAM,mBAAmB,EAEnC,OAAOA,EAAO,KAAK,EAAE,YAAY,EACjC,OAAOA,EAAO,KAAK,EAAE,eAAeN,CAAkB,CAE1D,CAAC,EAED,GAAG,sEAAuE,IAAM,CAE9E,MAAMK,EAAyB,CAC7B,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,CAC1C,EAOMC,EAJU,IAAIL,EAAqC,CACvD,KAAM,IAAI,WAAW,CAAC,EACtB,aAAc,EAChB,CAAC,EACsB,cAAcI,CAAQ,EAG7C,GAAKN,EAAuBO,CAAM,EAGhC,OAAOA,EAAO,IAAI,EAAE,cAAc,MAFlC,OAAM,IAAI,MAAM,2BAA2B,CAI/C,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["isSuccessCommandResult", "EthAppCommandError", "ProvideTransactionInformationCommand", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as
|
|
1
|
+
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as t}from"purify-ts";import{ETH_APP_ERRORS as a,EthAppCommandErrorFactory as s}from"./utils/ethAppErrors";const l=2;class A{constructor(r){this.args=r}name="provideTrustedName";errorHelper=new d(a,s);getApdu(){const r={cla:224,ins:34,p1:this.args.isFirstChunk?1:0,p2:0};return new e(r).addBufferToData(this.args.data).build()}parseResponse(r){return t.fromNullable(this.errorHelper.getError(r)).orDefault(o({data:void 0}))}}export{l as PAYLOAD_LENGTH_BYTES,A as ProvideTrustedNameCommand};
|
|
2
2
|
//# sourceMappingURL=ProvideTrustedNameCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedNameCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-trusted-name\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTrustedNameCommandArgs = {\n data: Uint8Array;\n isFirstChunk: boolean;\n};\n\n/**\n * The length of the payload will take 2 bytes in the APDU.\n */\nexport const PAYLOAD_LENGTH_BYTES = 2;\n\n/**\n * The command that provides a chunk of the trusted name to the device.\n */\nexport class ProvideTrustedNameCommand\n implements Command<void, ProvideTrustedNameCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideTrustedNameCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x22,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAUA,MAAMC,EAAuB,EAK7B,MAAMC,CAEb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#provide-trusted-name\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport type ProvideTrustedNameCommandArgs = {\n data: Uint8Array;\n isFirstChunk: boolean;\n};\n\n/**\n * The length of the payload will take 2 bytes in the APDU.\n */\nexport const PAYLOAD_LENGTH_BYTES = 2;\n\n/**\n * The command that provides a chunk of the trusted name to the device.\n */\nexport class ProvideTrustedNameCommand\n implements Command<void, ProvideTrustedNameCommandArgs, EthErrorCodes>\n{\n readonly name = \"provideTrustedName\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideTrustedNameCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x22,\n p1: this.args.isFirstChunk ? 0x01 : 0x00,\n p2: 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.data)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAUA,MAAMC,EAAuB,EAK7B,MAAMC,CAEb,CAOE,YAA6BC,EAAqC,CAArC,UAAAA,CAAsC,CAN1D,KAAO,qBACC,YAAc,IAAIN,EACjCE,EACAC,CACF,EAIA,SAAgB,CACd,MAAMI,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,KAAK,KAAK,aAAe,EAAO,EACpC,GAAI,CACN,EAEA,OAAO,IAAIT,EAAYS,CAAe,EACnC,gBAAgB,KAAK,KAAK,IAAI,EAC9B,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAOP,EAAM,aAAa,KAAK,YAAY,SAASO,CAAQ,CAAC,EAAE,UAC7DT,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "PAYLOAD_LENGTH_BYTES", "ProvideTrustedNameCommand", "args", "apduBuilderArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{ProvideTrustedNameCommand as t}from"./ProvideTrustedNameCommand";const n=Uint8Array.from([224,34,1,0,8,0,6,76,101,100,103,101,114]);describe("ProvideTrustedNameCommand",()=>{describe("getApdu",()=>{it("should return the raw APDU",()=>{const e={data:n.slice(5),isFirstChunk:!0},s=new t(e).getApdu();expect(s.getRawApdu()).toStrictEqual(n)})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Buffer.from([]),statusCode:Buffer.from([106,128])},s=new t({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(o(s)).toBe(!1)}),it("should return success if the response status code is correct",()=>{const e={data:Buffer.from([]),statusCode:Buffer.from([144,0])},s=new t({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(o(s)).toBe(!0)})})});
|
|
1
|
+
import{isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{ProvideTrustedNameCommand as t}from"./ProvideTrustedNameCommand";const n=Uint8Array.from([224,34,1,0,8,0,6,76,101,100,103,101,114]);describe("ProvideTrustedNameCommand",()=>{describe("name",()=>{it("should be 'provideTrustedName'",()=>{const e=new t({data:new Uint8Array,isFirstChunk:!0});expect(e.name).toBe("provideTrustedName")})}),describe("getApdu",()=>{it("should return the raw APDU",()=>{const e={data:n.slice(5),isFirstChunk:!0},s=new t(e).getApdu();expect(s.getRawApdu()).toStrictEqual(n)})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const e={data:Buffer.from([]),statusCode:Buffer.from([106,128])},s=new t({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(o(s)).toBe(!1)}),it("should return success if the response status code is correct",()=>{const e={data:Buffer.from([]),statusCode:Buffer.from([144,0])},s=new t({data:Uint8Array.from([]),isFirstChunk:!0}).parseResponse(e);expect(o(s)).toBe(!0)})})});
|
|
2
2
|
//# sourceMappingURL=ProvideTrustedNameCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideTrustedNameCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n ProvideTrustedNameCommand,\n type ProvideTrustedNameCommandArgs,\n} from \"./ProvideTrustedNameCommand\";\n\nconst FIRST_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x22, 0x01, 0x00, 0x08, 0x00, 0x06, 0x4c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\ndescribe(\"ProvideTrustedNameCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const args: ProvideTrustedNameCommandArgs = {\n data: FIRST_CHUNK_APDU.slice(5),\n isFirstChunk: true,\n };\n // WHEN\n const command = new ProvideTrustedNameCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIRST_CHUNK_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Buffer.from([]),\n statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n };\n // WHEN\n const command = new ProvideTrustedNameCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return success if the response status code is correct\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Buffer.from([]),\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n };\n // WHEN\n const command = new ProvideTrustedNameCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(isSuccessCommandResult(result)).toBe(true);\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OACE,6BAAAC,MAEK,8BAEP,MAAMC,EAAmB,WAAW,KAAK,CACvC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC1E,CAAC,EAED,SAAS,4BAA6B,IAAM,CAC1C,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAsC,CAC1C,
|
|
6
|
-
"names": ["isSuccessCommandResult", "ProvideTrustedNameCommand", "FIRST_CHUNK_APDU", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n ProvideTrustedNameCommand,\n type ProvideTrustedNameCommandArgs,\n} from \"./ProvideTrustedNameCommand\";\n\nconst FIRST_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x22, 0x01, 0x00, 0x08, 0x00, 0x06, 0x4c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\ndescribe(\"ProvideTrustedNameCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'provideTrustedName'\", () => {\n const command = new ProvideTrustedNameCommand({\n data: new Uint8Array(),\n isFirstChunk: true,\n });\n expect(command.name).toBe(\"provideTrustedName\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const args: ProvideTrustedNameCommandArgs = {\n data: FIRST_CHUNK_APDU.slice(5),\n isFirstChunk: true,\n };\n // WHEN\n const command = new ProvideTrustedNameCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIRST_CHUNK_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is invalid\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Buffer.from([]),\n statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n };\n // WHEN\n const command = new ProvideTrustedNameCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should return success if the response status code is correct\", () => {\n // GIVEN\n const response: ApduResponse = {\n data: Buffer.from([]),\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n };\n // WHEN\n const command = new ProvideTrustedNameCommand({\n data: Uint8Array.from([]),\n isFirstChunk: true,\n });\n const result = command.parseResponse(response);\n // THEN\n expect(isSuccessCommandResult(result)).toBe(true);\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCAEP,OACE,6BAAAC,MAEK,8BAEP,MAAMC,EAAmB,WAAW,KAAK,CACvC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAC1E,CAAC,EAED,SAAS,4BAA6B,IAAM,CAC1C,SAAS,OAAQ,IAAM,CACrB,GAAG,iCAAkC,IAAM,CACzC,MAAMC,EAAU,IAAIF,EAA0B,CAC5C,KAAM,IAAI,WACV,aAAc,EAChB,CAAC,EACD,OAAOE,EAAQ,IAAI,EAAE,KAAK,oBAAoB,CAChD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAsC,CAC1C,KAAMF,EAAiB,MAAM,CAAC,EAC9B,aAAc,EAChB,EAGMG,EADU,IAAIJ,EAA0BG,CAAI,EAC7B,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcH,CAAgB,CAC1D,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,gEAAiE,IAAM,CAExE,MAAMI,EAAyB,CAC7B,KAAM,OAAO,KAAK,CAAC,CAAC,EACpB,WAAY,OAAO,KAAK,CAAC,IAAM,GAAI,CAAC,CACtC,EAMMC,EAJU,IAAIN,EAA0B,CAC5C,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,aAAc,EAChB,CAAC,EACsB,cAAcK,CAAQ,EAE7C,OAAON,EAAuBO,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EAED,GAAG,+DAAgE,IAAM,CAEvE,MAAMD,EAAyB,CAC7B,KAAM,OAAO,KAAK,CAAC,CAAC,EACpB,WAAY,OAAO,KAAK,CAAC,IAAM,CAAI,CAAC,CACtC,EAMMC,EAJU,IAAIN,EAA0B,CAC5C,KAAM,WAAW,KAAK,CAAC,CAAC,EACxB,aAAc,EAChB,CAAC,EACsB,cAAcK,CAAQ,EAE7C,OAAON,EAAuBO,CAAM,CAAC,EAAE,KAAK,EAAI,CAClD,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["isSuccessCommandResult", "ProvideTrustedNameCommand", "FIRST_CHUNK_APDU", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as
|
|
1
|
+
import{ApduBuilder as e,CommandResultFactory as o}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as a}from"purify-ts";import{ETH_APP_ERRORS as t,EthAppCommandErrorFactory as p}from"../../app-binder/command/utils/ethAppErrors";class u{constructor(r){this.args=r}name="provideWeb3Check";errorHelper=new d(t,p);getApdu(){const r={cla:224,ins:50,p1:0,p2:this.args.isFirstChunk?1:0};return new e(r).addBufferToData(this.args.payload).build()}parseResponse(r){return a.fromNullable(this.errorHelper.getError(r)).orDefault(o({data:void 0}))}}export{u as ProvideWeb3CheckCommand};
|
|
2
2
|
//# sourceMappingURL=ProvideWeb3CheckCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideWeb3CheckCommand.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type ProvideWeb3CheckCommandArgs = {\n readonly payload: Uint8Array;\n readonly isFirstChunk: boolean;\n};\n\n/**\n * The command that provides a chunk of the trusted name to the device.\n */\nexport class ProvideWeb3CheckCommand\n implements Command<void, ProvideWeb3CheckCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideWeb3CheckCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x32,\n p1: 0x00,\n p2: this.args.isFirstChunk ? 0x01 : 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.payload)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
-
"mappings": "AAAA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,kDAUA,MAAMC,CAEb,
|
|
4
|
+
"sourcesContent": ["import {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"@internal/app-binder/command/utils/ethAppErrors\";\n\nexport type ProvideWeb3CheckCommandArgs = {\n readonly payload: Uint8Array;\n readonly isFirstChunk: boolean;\n};\n\n/**\n * The command that provides a chunk of the trusted name to the device.\n */\nexport class ProvideWeb3CheckCommand\n implements Command<void, ProvideWeb3CheckCommandArgs, EthErrorCodes>\n{\n readonly name = \"provideWeb3Check\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: ProvideWeb3CheckCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x32,\n p1: 0x00,\n p2: this.args.isFirstChunk ? 0x01 : 0x00,\n };\n\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.payload)\n .build();\n }\n\n parseResponse(response: ApduResponse): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(this.errorHelper.getError(response)).orDefault(\n CommandResultFactory({ data: undefined }),\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,kDAUA,MAAMC,CAEb,CAOE,YAA6BC,EAAmC,CAAnC,UAAAA,CAAoC,CANxD,KAAO,mBACC,YAAc,IAAIL,EACjCE,EACAC,CACF,EAIA,SAAgB,CACd,MAAMG,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,aAAe,EAAO,CACtC,EAEA,OAAO,IAAIR,EAAYQ,CAAe,EACnC,gBAAgB,KAAK,KAAK,OAAO,EACjC,MAAM,CACX,CAEA,cAAcC,EAA4D,CACxE,OAAON,EAAM,aAAa,KAAK,YAAY,SAASM,CAAQ,CAAC,EAAE,UAC7DR,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
6
|
"names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "ProvideWeb3CheckCommand", "args", "apduBuilderArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{hexaStringToBuffer as
|
|
1
|
+
import{hexaStringToBuffer as a,isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{ProvideWeb3CheckCommand as s}from"../../app-binder/command/ProvideWeb3CheckCommand";describe("ProvideWeb3CheckCommand",()=>{describe("name",()=>{it("should be 'provideWeb3Check'",()=>{const r=new s({payload:new Uint8Array,isFirstChunk:!0});expect(r.name).toBe("provideWeb3Check")})}),describe("getApdu",()=>{it("should return the raw APDU",()=>{const r={payload:a("0x010203"),isFirstChunk:!0},e=new s(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,50,0,1,3,1,2,3]))}),it("should return the raw APDU for next chunk",()=>{const r={payload:a("0x010203"),isFirstChunk:!1},e=new s(r).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([224,50,0,0,3,1,2,3]))})}),describe("parseResponse",()=>{it("should return undefined",()=>{const r={payload:a("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([144,0]),data:new Uint8Array([])},e=new s(r).parseResponse(t);o(e)?expect(e.data).toBeUndefined():assert.fail("Expected a success")}),it("should return an error if the device is locked",()=>{const r={payload:a("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},e=new s(r).parseResponse(t);o(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"5515",message:"Device is locked."}))}),it("should return an error if data is invalid",()=>{const r={payload:a("0x010203"),isFirstChunk:!0},t={statusCode:Uint8Array.from([106,128]),data:new Uint8Array},e=new s(r).parseResponse(t);o(e)?assert.fail("Expected an error"):expect(e.error).toEqual(expect.objectContaining({errorCode:"6a80",message:"Invalid data"}))})})});
|
|
2
2
|
//# sourceMappingURL=ProvideWeb3CheckCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/ProvideWeb3CheckCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n hexaStringToBuffer,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideWeb3CheckCommand } from \"@internal/app-binder/command/ProvideWeb3CheckCommand\";\n\ndescribe(\"ProvideWeb3CheckCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x01, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for next chunk\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: false,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return undefined\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeUndefined();\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if the device is locked\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"5515\",\n message: \"Device is locked.\",\n }),\n );\n }\n });\n\n it(\"should return an error if data is invalid\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"6a80\",\n message: \"Invalid data\",\n }),\n );\n }\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OACE,sBAAAA,EACA,0BAAAC,MACK,kCAEP,OAAS,2BAAAC,MAA+B,uDAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAO,CACX,
|
|
6
|
-
"names": ["hexaStringToBuffer", "isSuccessCommandResult", "ProvideWeb3CheckCommand", "args", "apdu", "response", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n hexaStringToBuffer,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { ProvideWeb3CheckCommand } from \"@internal/app-binder/command/ProvideWeb3CheckCommand\";\n\ndescribe(\"ProvideWeb3CheckCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'provideWeb3Check'\", () => {\n const command = new ProvideWeb3CheckCommand({\n payload: new Uint8Array(),\n isFirstChunk: true,\n });\n expect(command.name).toBe(\"provideWeb3Check\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the raw APDU\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x01, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n\n it(\"should return the raw APDU for next chunk\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: false,\n };\n const command = new ProvideWeb3CheckCommand(args);\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([0xe0, 0x32, 0x00, 0x00, 0x03, 0x01, 0x02, 0x03]),\n );\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should return undefined\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x90, 0x00]),\n data: new Uint8Array([]),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n expect(result.data).toBeUndefined();\n } else {\n assert.fail(\"Expected a success\");\n }\n });\n\n it(\"should return an error if the device is locked\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x55, 0x15]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"5515\",\n message: \"Device is locked.\",\n }),\n );\n }\n });\n\n it(\"should return an error if data is invalid\", () => {\n // GIVEN\n const args = {\n payload: hexaStringToBuffer(\"0x010203\")!,\n isFirstChunk: true,\n };\n const response = {\n statusCode: Uint8Array.from([0x6a, 0x80]),\n data: new Uint8Array(),\n };\n\n // WHEN\n const result = new ProvideWeb3CheckCommand(args).parseResponse(response);\n\n // THEN\n if (isSuccessCommandResult(result)) {\n assert.fail(\"Expected an error\");\n } else {\n expect(result.error).toEqual(\n expect.objectContaining({\n errorCode: \"6a80\",\n message: \"Invalid data\",\n }),\n );\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,sBAAAA,EACA,0BAAAC,MACK,kCAEP,OAAS,2BAAAC,MAA+B,uDAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,OAAQ,IAAM,CACrB,GAAG,+BAAgC,IAAM,CACvC,MAAMC,EAAU,IAAID,EAAwB,CAC1C,QAAS,IAAI,WACb,aAAc,EAChB,CAAC,EACD,OAAOC,EAAQ,IAAI,EAAE,KAAK,kBAAkB,CAC9C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAO,CACX,QAASJ,EAAmB,UAAU,EACtC,aAAc,EAChB,EAIMK,EAHU,IAAIH,EAAwBE,CAAI,EAG3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,EAED,GAAG,4CAA6C,IAAM,CAEpD,MAAMD,EAAO,CACX,QAASJ,EAAmB,UAAU,EACtC,aAAc,EAChB,EAIMK,EAHU,IAAIH,EAAwBE,CAAI,EAG3B,QAAQ,EAG7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cACxB,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,CAClE,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0BAA2B,IAAM,CAElC,MAAMD,EAAO,CACX,QAASJ,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMM,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,EAGMC,EAAS,IAAIL,EAAwBE,CAAI,EAAE,cAAcE,CAAQ,EAGnEL,EAAuBM,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,EAElC,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMH,EAAO,CACX,QAASJ,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMM,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAIL,EAAwBE,CAAI,EAAE,cAAcE,CAAQ,EAGnEL,EAAuBM,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,mBACX,CAAC,CACH,CAEJ,CAAC,EAED,GAAG,4CAA6C,IAAM,CAEpD,MAAMH,EAAO,CACX,QAASJ,EAAmB,UAAU,EACtC,aAAc,EAChB,EACMM,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAIL,EAAwBE,CAAI,EAAE,cAAcE,CAAQ,EAGnEL,EAAuBM,CAAM,EAC/B,OAAO,KAAK,mBAAmB,EAE/B,OAAOA,EAAO,KAAK,EAAE,QACnB,OAAO,iBAAiB,CACtB,UAAW,OACX,QAAS,cACX,CAAC,CACH,CAEJ,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["hexaStringToBuffer", "isSuccessCommandResult", "ProvideWeb3CheckCommand", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{ApduBuilder as r,CommandResultFactory as l}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as n}from"purify-ts";import{ETH_APP_ERRORS as s,EthAppCommandErrorFactory as o}from"./utils/ethAppErrors";var p=(a=>(a.Activation="activation",a.DiscardedPath="discarded_path",a.MessageInfo="message_info",a.Datetime="datetime",a.Raw="raw",a.Amount="amount",a.Token="token",a.TrustedName="trusted-name",a.CalldataInfo="calldata-info",a.CalldataValue="calldata-value",a.CalldataCallee="calldata-callee",a.CalldataChainId="calldata-chain-id",a.CalldataSelector="calldata-selector",a.CalldataAmount="calldata-amount",a.CalldataSpender="calldata-spender",a))(p||{}),g=(t=>(t[t.None=0]="None",t[t.Present=1]="Present",t[t.VerifyingContract=2]="VerifyingContract",t))(g||{});const c={activation:0,discarded_path:1,message_info:15,"calldata-spender":244,"calldata-amount":245,"calldata-selector":246,"calldata-chain-id":247,"calldata-callee":248,"calldata-value":249,"calldata-info":250,"trusted-name":251,datetime:252,token:253,amount:254,raw:255};class
|
|
1
|
+
import{ApduBuilder as r,CommandResultFactory as l}from"@ledgerhq/device-management-kit";import{CommandErrorHelper as d}from"@ledgerhq/signer-utils";import{Maybe as n}from"purify-ts";import{ETH_APP_ERRORS as s,EthAppCommandErrorFactory as o}from"./utils/ethAppErrors";var p=(a=>(a.Activation="activation",a.DiscardedPath="discarded_path",a.MessageInfo="message_info",a.Datetime="datetime",a.Raw="raw",a.Amount="amount",a.Token="token",a.TrustedName="trusted-name",a.CalldataInfo="calldata-info",a.CalldataValue="calldata-value",a.CalldataCallee="calldata-callee",a.CalldataChainId="calldata-chain-id",a.CalldataSelector="calldata-selector",a.CalldataAmount="calldata-amount",a.CalldataSpender="calldata-spender",a))(p||{}),g=(t=>(t[t.None=0]="None",t[t.Present=1]="Present",t[t.VerifyingContract=2]="VerifyingContract",t))(g||{});const c={activation:0,discarded_path:1,message_info:15,"calldata-spender":244,"calldata-amount":245,"calldata-selector":246,"calldata-chain-id":247,"calldata-callee":248,"calldata-value":249,"calldata-info":250,"trusted-name":251,datetime:252,token:253,amount:254,raw:255};class E{constructor(i){this.args=i}name="sendEIP712Filtering";errorHelper=new d(s,o);getApdu(){const i={cla:224,ins:30,p1:"discarded"in this.args&&this.args.discarded?1:0,p2:c[this.args.type]},e=new r(i);switch(this.args.type){case"message_info":e.encodeInLVFromAscii(this.args.displayName).add8BitUIntToData(this.args.filtersCount).encodeInLVFromHexa(this.args.signature);break;case"discarded_path":e.encodeInLVFromAscii(this.args.path);break;case"datetime":case"raw":e.encodeInLVFromAscii(this.args.displayName).encodeInLVFromHexa(this.args.signature);break;case"trusted-name":e.encodeInLVFromAscii(this.args.displayName).addHexaStringToData(this.args.typesAndSourcesPayload).encodeInLVFromHexa(this.args.signature);break;case"token":case"amount":this.args.type==="amount"&&e.encodeInLVFromAscii(this.args.displayName),e.add8BitUIntToData(this.args.tokenIndex).encodeInLVFromHexa(this.args.signature);break;case"calldata-info":e.add8BitUIntToData(this.args.calldataIndex).add8BitUIntToData(this.args.valueFlag?1:0).add8BitUIntToData(this.args.calleeFlag).add8BitUIntToData(this.args.chainIdFlag?1:0).add8BitUIntToData(this.args.selectorFlag?1:0).add8BitUIntToData(this.args.amountFlag?1:0).add8BitUIntToData(this.args.spenderFlag).encodeInLVFromHexa(this.args.signature);break;case"calldata-value":case"calldata-callee":case"calldata-chain-id":case"calldata-selector":case"calldata-amount":case"calldata-spender":e.add8BitUIntToData(this.args.calldataIndex).encodeInLVFromHexa(this.args.signature);break}return e.build()}parseResponse(i){return n.fromNullable(this.errorHelper.getError(i)).orDefault(l({data:void 0}))}}export{g as CalldataParamPresence,p as Eip712FilterType,E as SendEIP712FilteringCommand};
|
|
2
2
|
//# sourceMappingURL=SendEIP712FilteringCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712FilteringCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-filtering\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport enum Eip712FilterType {\n Activation = \"activation\",\n DiscardedPath = \"discarded_path\",\n MessageInfo = \"message_info\",\n Datetime = \"datetime\",\n Raw = \"raw\",\n Amount = \"amount\",\n Token = \"token\",\n TrustedName = \"trusted-name\",\n // Calldata filters\n CalldataInfo = \"calldata-info\",\n CalldataValue = \"calldata-value\",\n CalldataCallee = \"calldata-callee\",\n CalldataChainId = \"calldata-chain-id\",\n CalldataSelector = \"calldata-selector\",\n CalldataAmount = \"calldata-amount\",\n CalldataSpender = \"calldata-spender\",\n}\n\nexport enum CalldataParamPresence {\n None = 0x0,\n Present = 0x1,\n VerifyingContract = 0x2,\n}\n\nexport type SendEIP712FilteringCommandArgs =\n | { type: Eip712FilterType.Activation }\n | { type: Eip712FilterType.DiscardedPath; path: string }\n | {\n type: Eip712FilterType.MessageInfo;\n displayName: string;\n filtersCount: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Datetime;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.TrustedName;\n discarded: boolean;\n displayName: string;\n typesAndSourcesPayload: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Token;\n discarded: boolean;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Raw;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Amount;\n discarded: boolean;\n displayName: string;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.CalldataInfo;\n discarded: boolean;\n calldataIndex: number;\n valueFlag: boolean;\n calleeFlag: CalldataParamPresence;\n chainIdFlag: boolean;\n selectorFlag: boolean;\n amountFlag: boolean;\n spenderFlag: CalldataParamPresence;\n signature: string;\n }\n | {\n type:\n | Eip712FilterType.CalldataValue\n | Eip712FilterType.CalldataCallee\n | Eip712FilterType.CalldataChainId\n | Eip712FilterType.CalldataSelector\n | Eip712FilterType.CalldataAmount\n | Eip712FilterType.CalldataSpender;\n discarded: boolean;\n calldataIndex: number;\n signature: string;\n };\n\nconst FILTER_TO_P2: Record<Eip712FilterType, number> = {\n [Eip712FilterType.Activation]: 0x00,\n [Eip712FilterType.DiscardedPath]: 0x01,\n [Eip712FilterType.MessageInfo]: 0x0f,\n [Eip712FilterType.CalldataSpender]: 0xf4,\n [Eip712FilterType.CalldataAmount]: 0xf5,\n [Eip712FilterType.CalldataSelector]: 0xf6,\n [Eip712FilterType.CalldataChainId]: 0xf7,\n [Eip712FilterType.CalldataCallee]: 0xf8,\n [Eip712FilterType.CalldataValue]: 0xf9,\n [Eip712FilterType.CalldataInfo]: 0xfa,\n [Eip712FilterType.TrustedName]: 0xfb,\n [Eip712FilterType.Datetime]: 0xfc,\n [Eip712FilterType.Token]: 0xfd,\n [Eip712FilterType.Amount]: 0xfe,\n [Eip712FilterType.Raw]: 0xff,\n};\n\nexport class SendEIP712FilteringCommand\n implements Command<void, SendEIP712FilteringCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: SendEIP712FilteringCommandArgs) {}\n\n getApdu(): Apdu {\n const filteringArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1e,\n p1: \"discarded\" in this.args && this.args.discarded ? 0x01 : 0x00,\n p2: FILTER_TO_P2[this.args.type],\n };\n const builder = new ApduBuilder(filteringArgs);\n\n switch (this.args.type) {\n case Eip712FilterType.MessageInfo:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .add8BitUIntToData(this.args.filtersCount)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.DiscardedPath:\n builder.encodeInLVFromAscii(this.args.path);\n break;\n case Eip712FilterType.Datetime:\n case Eip712FilterType.Raw:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.TrustedName:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .addHexaStringToData(this.args.typesAndSourcesPayload)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.Token:\n case Eip712FilterType.Amount:\n if (this.args.type === Eip712FilterType.Amount) {\n builder.encodeInLVFromAscii(this.args.displayName);\n }\n builder\n .add8BitUIntToData(this.args.tokenIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataInfo:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .add8BitUIntToData(this.args.valueFlag ? 1 : 0)\n .add8BitUIntToData(this.args.calleeFlag)\n .add8BitUIntToData(this.args.chainIdFlag ? 1 : 0)\n .add8BitUIntToData(this.args.selectorFlag ? 1 : 0)\n .add8BitUIntToData(this.args.amountFlag ? 1 : 0)\n .add8BitUIntToData(this.args.spenderFlag)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataValue:\n case Eip712FilterType.CalldataCallee:\n case Eip712FilterType.CalldataChainId:\n case Eip712FilterType.CalldataSelector:\n case Eip712FilterType.CalldataAmount:\n case Eip712FilterType.CalldataSpender:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n }\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefault(CommandResultFactory({ data: undefined }));\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,OAEE,eAAAA,EAKA,wBAAAC,MACK,kCACP,OAAS,sBAAAC,MAA0B,yBACnC,OAAS,SAAAC,MAAa,YAEtB,OACE,kBAAAC,EACA,6BAAAC,MAEK,uBAEA,IAAKC,OACVA,EAAA,WAAa,aACbA,EAAA,cAAgB,iBAChBA,EAAA,YAAc,eACdA,EAAA,SAAW,WACXA,EAAA,IAAM,MACNA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,YAAc,eAEdA,EAAA,aAAe,gBACfA,EAAA,cAAgB,iBAChBA,EAAA,eAAiB,kBACjBA,EAAA,gBAAkB,oBAClBA,EAAA,iBAAmB,oBACnBA,EAAA,eAAiB,kBACjBA,EAAA,gBAAkB,mBAhBRA,OAAA,IAmBAC,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,QAAU,GAAV,UACAA,IAAA,kBAAoB,GAApB,oBAHUA,OAAA,IAwEZ,MAAMC,EAAiD,CACpD,WAA8B,EAC9B,eAAiC,EACjC,aAA+B,GAC/B,mBAAmC,IACnC,kBAAkC,IAClC,oBAAoC,IACpC,oBAAmC,IACnC,kBAAkC,IAClC,iBAAiC,IACjC,gBAAgC,IAChC,eAA+B,IAC/B,SAA4B,IAC5B,MAAyB,IACzB,OAA0B,IAC1B,IAAuB,GAC1B,EAEO,MAAMC,CAEb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-filtering\nimport {\n type Apdu,\n ApduBuilder,\n type ApduBuilderArgs,\n type ApduResponse,\n type Command,\n type CommandResult,\n CommandResultFactory,\n} from \"@ledgerhq/device-management-kit\";\nimport { CommandErrorHelper } from \"@ledgerhq/signer-utils\";\nimport { Maybe } from \"purify-ts\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport enum Eip712FilterType {\n Activation = \"activation\",\n DiscardedPath = \"discarded_path\",\n MessageInfo = \"message_info\",\n Datetime = \"datetime\",\n Raw = \"raw\",\n Amount = \"amount\",\n Token = \"token\",\n TrustedName = \"trusted-name\",\n // Calldata filters\n CalldataInfo = \"calldata-info\",\n CalldataValue = \"calldata-value\",\n CalldataCallee = \"calldata-callee\",\n CalldataChainId = \"calldata-chain-id\",\n CalldataSelector = \"calldata-selector\",\n CalldataAmount = \"calldata-amount\",\n CalldataSpender = \"calldata-spender\",\n}\n\nexport enum CalldataParamPresence {\n None = 0x0,\n Present = 0x1,\n VerifyingContract = 0x2,\n}\n\nexport type SendEIP712FilteringCommandArgs =\n | { type: Eip712FilterType.Activation }\n | { type: Eip712FilterType.DiscardedPath; path: string }\n | {\n type: Eip712FilterType.MessageInfo;\n displayName: string;\n filtersCount: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Datetime;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.TrustedName;\n discarded: boolean;\n displayName: string;\n typesAndSourcesPayload: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Token;\n discarded: boolean;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.Raw;\n discarded: boolean;\n displayName: string;\n signature: string;\n }\n | {\n type: Eip712FilterType.Amount;\n discarded: boolean;\n displayName: string;\n tokenIndex: number;\n signature: string;\n }\n | {\n type: Eip712FilterType.CalldataInfo;\n discarded: boolean;\n calldataIndex: number;\n valueFlag: boolean;\n calleeFlag: CalldataParamPresence;\n chainIdFlag: boolean;\n selectorFlag: boolean;\n amountFlag: boolean;\n spenderFlag: CalldataParamPresence;\n signature: string;\n }\n | {\n type:\n | Eip712FilterType.CalldataValue\n | Eip712FilterType.CalldataCallee\n | Eip712FilterType.CalldataChainId\n | Eip712FilterType.CalldataSelector\n | Eip712FilterType.CalldataAmount\n | Eip712FilterType.CalldataSpender;\n discarded: boolean;\n calldataIndex: number;\n signature: string;\n };\n\nconst FILTER_TO_P2: Record<Eip712FilterType, number> = {\n [Eip712FilterType.Activation]: 0x00,\n [Eip712FilterType.DiscardedPath]: 0x01,\n [Eip712FilterType.MessageInfo]: 0x0f,\n [Eip712FilterType.CalldataSpender]: 0xf4,\n [Eip712FilterType.CalldataAmount]: 0xf5,\n [Eip712FilterType.CalldataSelector]: 0xf6,\n [Eip712FilterType.CalldataChainId]: 0xf7,\n [Eip712FilterType.CalldataCallee]: 0xf8,\n [Eip712FilterType.CalldataValue]: 0xf9,\n [Eip712FilterType.CalldataInfo]: 0xfa,\n [Eip712FilterType.TrustedName]: 0xfb,\n [Eip712FilterType.Datetime]: 0xfc,\n [Eip712FilterType.Token]: 0xfd,\n [Eip712FilterType.Amount]: 0xfe,\n [Eip712FilterType.Raw]: 0xff,\n};\n\nexport class SendEIP712FilteringCommand\n implements Command<void, SendEIP712FilteringCommandArgs, EthErrorCodes>\n{\n readonly name = \"sendEIP712Filtering\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private readonly args: SendEIP712FilteringCommandArgs) {}\n\n getApdu(): Apdu {\n const filteringArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1e,\n p1: \"discarded\" in this.args && this.args.discarded ? 0x01 : 0x00,\n p2: FILTER_TO_P2[this.args.type],\n };\n const builder = new ApduBuilder(filteringArgs);\n\n switch (this.args.type) {\n case Eip712FilterType.MessageInfo:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .add8BitUIntToData(this.args.filtersCount)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.DiscardedPath:\n builder.encodeInLVFromAscii(this.args.path);\n break;\n case Eip712FilterType.Datetime:\n case Eip712FilterType.Raw:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.TrustedName:\n builder\n .encodeInLVFromAscii(this.args.displayName)\n .addHexaStringToData(this.args.typesAndSourcesPayload)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.Token:\n case Eip712FilterType.Amount:\n if (this.args.type === Eip712FilterType.Amount) {\n builder.encodeInLVFromAscii(this.args.displayName);\n }\n builder\n .add8BitUIntToData(this.args.tokenIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataInfo:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .add8BitUIntToData(this.args.valueFlag ? 1 : 0)\n .add8BitUIntToData(this.args.calleeFlag)\n .add8BitUIntToData(this.args.chainIdFlag ? 1 : 0)\n .add8BitUIntToData(this.args.selectorFlag ? 1 : 0)\n .add8BitUIntToData(this.args.amountFlag ? 1 : 0)\n .add8BitUIntToData(this.args.spenderFlag)\n .encodeInLVFromHexa(this.args.signature);\n break;\n case Eip712FilterType.CalldataValue:\n case Eip712FilterType.CalldataCallee:\n case Eip712FilterType.CalldataChainId:\n case Eip712FilterType.CalldataSelector:\n case Eip712FilterType.CalldataAmount:\n case Eip712FilterType.CalldataSpender:\n builder\n .add8BitUIntToData(this.args.calldataIndex)\n .encodeInLVFromHexa(this.args.signature);\n break;\n }\n return builder.build();\n }\n\n parseResponse(\n apduResponse: ApduResponse,\n ): CommandResult<void, EthErrorCodes> {\n return Maybe.fromNullable(\n this.errorHelper.getError(apduResponse),\n ).orDefault(CommandResultFactory({ data: undefined }));\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["ApduBuilder", "CommandResultFactory", "CommandErrorHelper", "Maybe", "ETH_APP_ERRORS", "EthAppCommandErrorFactory", "Eip712FilterType", "CalldataParamPresence", "FILTER_TO_P2", "SendEIP712FilteringCommand", "args", "filteringArgs", "builder", "apduResponse"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CommandResultFactory as o,isSuccessCommandResult as r}from"@ledgerhq/device-management-kit";import{CalldataParamPresence as f,Eip712FilterType as a,SendEIP712FilteringCommand as c}from"./SendEIP712FilteringCommand";const m=Uint8Array.from([224,30,0,0,0]),b=Uint8Array.from([224,30,0,15,84,11,49,105,110,99,104,32,79,114,100,101,114,6,70,48,68,2,32,41,94,10,235,23,202,9,41,178,169,76,50,77,103,208,181,82,138,186,38,129,119,243,172,41,123,86,49,65,224,0,39,2,32,58,195,96,217,253,12,156,12,18,39,157,30,115,190,165,213,73,161,232,20,31,69,77,136,251,225,232,239,151,14,104,2]),t=Uint8Array.from([224,30,0,255,77,4,70,114,111,109,71,48,69,2,33,0,184,32,228,223,177,160,205,230,220,151,217,163,78,235,177,164,238,240,178,38,38,46,103,136,17,138,179,199,251,121,254,53,2,32,45,66,106,56,139,76,58,128,150,179,248,68,18,167,2,234,83,119,112,230,30,224,114,126,193,183,16,193,218,82,12,68]),i=Uint8Array.from([224,30,0,250,79,3,1,1,0,1,0,2,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),p=Uint8Array.from([224,30,0,249,73,7,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),l=Uint8Array.from([224,30,0,253,73,1,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),A=Uint8Array.from([224,30,0,254,89,15,82,101,99,101,105,118,101,32,109,105,110,105,109,117,109,1,71,48,69,2,33,0,165,157,196,121,168,56,168,19,144,156,20,10,21,230,182,91,197,140,86,51,40,75,249,115,196,54,222,90,89,38,52,226,2,32,30,3,143,199,153,93,147,159,204,213,70,228,200,94,121,60,10,212,81,33,110,54,164,237,252,123,206,91,226,120,8,203]),u=Uint8Array.from([224,30,0,251,86,7,83,112,101,110,100,101,114,1,2,3,1,0,2,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),g=Uint8Array.from([224,30,0,252,88,15,65,112,112,114,111,118,97,108,32,101,120,112,105,114,101,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),y=Uint8Array.from([224,30,0,1,17,16,116,111,46,91,93,46,119,97,108,108,101,116,115,46,91,93]);describe("SendEIP712FilteringCommand",()=>{describe("getApdu",()=>{it("Activate APDU",()=>{const x={type:a.Activation},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(m)}),it("Discarded path APDU",()=>{const x={type:a.DiscardedPath,path:"to.[].wallets.[]"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(y)}),it("Message info APDU",()=>{const x={type:a.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(b)}),it("Raw APDU",()=>{const x={type:a.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(t)}),it("Calldata info APDU",()=>{const x={type:a.CalldataInfo,discarded:!1,calldataIndex:3,valueFlag:!0,calleeFlag:f.Present,chainIdFlag:!1,selectorFlag:!0,amountFlag:!1,spenderFlag:f.VerifyingContract,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(i)}),it.each([{name:"spender",type:a.CalldataSpender,cmd:244},{name:"amount",type:a.CalldataAmount,cmd:245},{name:"selector",type:a.CalldataSelector,cmd:246},{name:"chainId",type:a.CalldataChainId,cmd:247},{name:"callee",type:a.CalldataCallee,cmd:248},{name:"value",type:a.CalldataValue,cmd:249}])("Calldata APDU $name",({type:x,cmd:d})=>{const e={type:x,discarded:!1,calldataIndex:7,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},n=Uint8Array.from(p);n[3]=d;const s=new c(e).getApdu();expect(s.getRawApdu()).toStrictEqual(n)}),it("Token APDU",()=>{const x={type:a.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(l)}),it("Amount APDU",()=>{const x={type:a.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(A)}),it("Date-time APDU",()=>{const x={type:a.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(g)}),it("Trusted name APDU",()=>{const x={type:a.TrustedName,discarded:!1,displayName:"Spender",typesAndSourcesPayload:"010203010002",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(u)}),it("Discarded filter",()=>{const x={type:a.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([...t.slice(0,2),1,...t.slice(3)]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const x={statusCode:Buffer.from([106,128]),data:Buffer.from([])},e=new c({type:a.Activation}).parseResponse(x);expect(r(e)).toBe(!1)}),it("should parse the response",()=>{const x={statusCode:Buffer.from([144,0]),data:Buffer.from([])},d=new c({type:a.Activation});expect(d.parseResponse(x)).toStrictEqual(o({data:void 0}))})})});
|
|
1
|
+
import{CommandResultFactory as o,isSuccessCommandResult as r}from"@ledgerhq/device-management-kit";import{CalldataParamPresence as f,Eip712FilterType as a,SendEIP712FilteringCommand as c}from"./SendEIP712FilteringCommand";const m=Uint8Array.from([224,30,0,0,0]),b=Uint8Array.from([224,30,0,15,84,11,49,105,110,99,104,32,79,114,100,101,114,6,70,48,68,2,32,41,94,10,235,23,202,9,41,178,169,76,50,77,103,208,181,82,138,186,38,129,119,243,172,41,123,86,49,65,224,0,39,2,32,58,195,96,217,253,12,156,12,18,39,157,30,115,190,165,213,73,161,232,20,31,69,77,136,251,225,232,239,151,14,104,2]),t=Uint8Array.from([224,30,0,255,77,4,70,114,111,109,71,48,69,2,33,0,184,32,228,223,177,160,205,230,220,151,217,163,78,235,177,164,238,240,178,38,38,46,103,136,17,138,179,199,251,121,254,53,2,32,45,66,106,56,139,76,58,128,150,179,248,68,18,167,2,234,83,119,112,230,30,224,114,126,193,183,16,193,218,82,12,68]),i=Uint8Array.from([224,30,0,250,79,3,1,1,0,1,0,2,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),p=Uint8Array.from([224,30,0,249,73,7,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),l=Uint8Array.from([224,30,0,253,73,1,71,48,69,2,33,0,255,114,120,71,68,84,49,229,113,205,42,13,157,180,42,126,182,46,55,135,123,155,242,14,106,150,88,66,85,52,126,25,2,32,10,110,149,183,248,230,59,47,171,11,239,136,199,71,222,106,56,125,6,53,27,229,189,195,75,44,31,154,234,111,221,40]),A=Uint8Array.from([224,30,0,254,89,15,82,101,99,101,105,118,101,32,109,105,110,105,109,117,109,1,71,48,69,2,33,0,165,157,196,121,168,56,168,19,144,156,20,10,21,230,182,91,197,140,86,51,40,75,249,115,196,54,222,90,89,38,52,226,2,32,30,3,143,199,153,93,147,159,204,213,70,228,200,94,121,60,10,212,81,33,110,54,164,237,252,123,206,91,226,120,8,203]),u=Uint8Array.from([224,30,0,251,86,7,83,112,101,110,100,101,114,1,2,3,1,0,2,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),g=Uint8Array.from([224,30,0,252,88,15,65,112,112,114,111,118,97,108,32,101,120,112,105,114,101,71,48,69,2,33,0,232,71,22,110,96,248,81,227,200,209,244,65,57,129,24,152,204,208,211,160,58,237,108,119,248,195,153,56,19,244,121,210,2,32,49,254,107,106,87,75,86,197,16,64,3,207,7,144,13,17,255,175,48,61,192,22,218,76,28,61,24,70,99,218,143,106]),y=Uint8Array.from([224,30,0,1,17,16,116,111,46,91,93,46,119,97,108,108,101,116,115,46,91,93]);describe("SendEIP712FilteringCommand",()=>{describe("name",()=>{it("should be 'sendEIP712Filtering'",()=>{const x=new c({type:a.Activation});expect(x.name).toBe("sendEIP712Filtering")})}),describe("getApdu",()=>{it("Activate APDU",()=>{const x={type:a.Activation},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(m)}),it("Discarded path APDU",()=>{const x={type:a.DiscardedPath,path:"to.[].wallets.[]"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(y)}),it("Message info APDU",()=>{const x={type:a.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(b)}),it("Raw APDU",()=>{const x={type:a.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(t)}),it("Calldata info APDU",()=>{const x={type:a.CalldataInfo,discarded:!1,calldataIndex:3,valueFlag:!0,calleeFlag:f.Present,chainIdFlag:!1,selectorFlag:!0,amountFlag:!1,spenderFlag:f.VerifyingContract,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(i)}),it.each([{name:"spender",type:a.CalldataSpender,cmd:244},{name:"amount",type:a.CalldataAmount,cmd:245},{name:"selector",type:a.CalldataSelector,cmd:246},{name:"chainId",type:a.CalldataChainId,cmd:247},{name:"callee",type:a.CalldataCallee,cmd:248},{name:"value",type:a.CalldataValue,cmd:249}])("Calldata APDU $name",({type:x,cmd:d})=>{const e={type:x,discarded:!1,calldataIndex:7,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},n=Uint8Array.from(p);n[3]=d;const s=new c(e).getApdu();expect(s.getRawApdu()).toStrictEqual(n)}),it("Token APDU",()=>{const x={type:a.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(l)}),it("Amount APDU",()=>{const x={type:a.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(A)}),it("Date-time APDU",()=>{const x={type:a.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(g)}),it("Trusted name APDU",()=>{const x={type:a.TrustedName,discarded:!1,displayName:"Spender",typesAndSourcesPayload:"010203010002",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(u)}),it("Discarded filter",()=>{const x={type:a.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},e=new c(x).getApdu();expect(e.getRawApdu()).toStrictEqual(Uint8Array.from([...t.slice(0,2),1,...t.slice(3)]))})}),describe("parseResponse",()=>{it("should return an error if the response status code is invalid",()=>{const x={statusCode:Buffer.from([106,128]),data:Buffer.from([])},e=new c({type:a.Activation}).parseResponse(x);expect(r(e)).toBe(!1)}),it("should parse the response",()=>{const x={statusCode:Buffer.from([144,0]),data:Buffer.from([])},d=new c({type:a.Activation});expect(d.parseResponse(x)).toStrictEqual(o({data:void 0}))})})});
|
|
2
2
|
//# sourceMappingURL=SendEIP712FilteringCommand.test.js.map
|