@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/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,IAAAA,EAGO,2CAEPC,EAAwC,gEAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAO,CACX,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EAIMC,EAHU,IAAI,0BAAwBD,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EAIMC,EAHU,IAAI,0BAAwBD,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,EAElC,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMH,EAAO,CACX,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,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": ["import_device_management_kit", "import_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,IAAAA,EAGO,2CAEPC,EAAwC,gEAExC,SAAS,0BAA2B,IAAM,CACxC,SAAS,OAAQ,IAAM,CACrB,GAAG,+BAAgC,IAAM,CACvC,MAAMC,EAAU,IAAI,0BAAwB,CAC1C,QAAS,IAAI,WACb,aAAc,EAChB,CAAC,EACD,OAAOA,EAAQ,IAAI,EAAE,KAAK,kBAAkB,CAC9C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,6BAA8B,IAAM,CAErC,MAAMC,EAAO,CACX,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EAIMC,EAHU,IAAI,0BAAwBD,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EAIMC,EAHU,IAAI,0BAAwBD,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EACxC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,CAAM,EAC/B,OAAOA,EAAO,IAAI,EAAE,cAAc,EAElC,OAAO,KAAK,oBAAoB,CAEpC,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMH,EAAO,CACX,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,GAAM,EAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,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,WAAS,sBAAmB,UAAU,EACtC,aAAc,EAChB,EACME,EAAW,CACf,WAAY,WAAW,KAAK,CAAC,IAAM,GAAI,CAAC,EACxC,KAAM,IAAI,UACZ,EAGMC,EAAS,IAAI,0BAAwBH,CAAI,EAAE,cAAcE,CAAQ,KAGnE,0BAAuBC,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": ["import_device_management_kit", "import_ProvideWeb3CheckCommand", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var F=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},T=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of u(e))!y.call(r,l)&&l!==t&&s(r,l,{get:()=>e[l],enumerable:!(i=m(e,l))||i.enumerable});return r};var
|
|
1
|
+
"use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var F=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},T=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of u(e))!y.call(r,l)&&l!==t&&s(r,l,{get:()=>e[l],enumerable:!(i=m(e,l))||i.enumerable});return r};var E=r=>T(s({},"__esModule",{value:!0}),r);var I={};F(I,{CalldataParamPresence:()=>c,Eip712FilterType:()=>g,SendEIP712FilteringCommand:()=>h});module.exports=E(I);var d=require("@ledgerhq/device-management-kit"),o=require("@ledgerhq/signer-utils"),p=require("purify-ts"),n=require("./utils/ethAppErrors"),g=(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))(g||{}),c=(i=>(i[i.None=0]="None",i[i.Present=1]="Present",i[i.VerifyingContract=2]="VerifyingContract",i))(c||{});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 h{constructor(e){this.args=e}name="sendEIP712Filtering";errorHelper=new o.CommandErrorHelper(n.ETH_APP_ERRORS,n.EthAppCommandErrorFactory);getApdu(){const e={cla:224,ins:30,p1:"discarded"in this.args&&this.args.discarded?1:0,p2:C[this.args.type]},t=new d.ApduBuilder(e);switch(this.args.type){case"message_info":t.encodeInLVFromAscii(this.args.displayName).add8BitUIntToData(this.args.filtersCount).encodeInLVFromHexa(this.args.signature);break;case"discarded_path":t.encodeInLVFromAscii(this.args.path);break;case"datetime":case"raw":t.encodeInLVFromAscii(this.args.displayName).encodeInLVFromHexa(this.args.signature);break;case"trusted-name":t.encodeInLVFromAscii(this.args.displayName).addHexaStringToData(this.args.typesAndSourcesPayload).encodeInLVFromHexa(this.args.signature);break;case"token":case"amount":this.args.type==="amount"&&t.encodeInLVFromAscii(this.args.displayName),t.add8BitUIntToData(this.args.tokenIndex).encodeInLVFromHexa(this.args.signature);break;case"calldata-info":t.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":t.add8BitUIntToData(this.args.calldataIndex).encodeInLVFromHexa(this.args.signature);break}return t.build()}parseResponse(e){return p.Maybe.fromNullable(this.errorHelper.getError(e)).orDefault((0,d.CommandResultFactory)({data:void 0}))}}0&&(module.exports={CalldataParamPresence,Eip712FilterType,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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,2BAAAE,EAAA,qBAAAC,EAAA,+BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEKN,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,IAmBAD,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,QAAU,GAAV,UACAA,IAAA,kBAAoB,GAApB,oBAHUA,OAAA,IAwEZ,MAAMQ,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,MAAMN,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": ["SendEIP712FilteringCommand_exports", "__export", "CalldataParamPresence", "Eip712FilterType", "SendEIP712FilteringCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "FILTER_TO_P2", "args", "filteringArgs", "builder", "apduResponse"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var c=require("@ledgerhq/device-management-kit"),x=require("./SendEIP712FilteringCommand");const s=Uint8Array.from([224,30,0,0,0]),o=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]),r=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]),m=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]),b=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]),i=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]),p=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]),l=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]),A=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 e={type:x.Eip712FilterType.Activation},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(s)}),it("Discarded path APDU",()=>{const e={type:x.Eip712FilterType.DiscardedPath,path:"to.[].wallets.[]"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(A)}),it("Message info APDU",()=>{const e={type:x.Eip712FilterType.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(o)}),it("Raw APDU",()=>{const e={type:x.Eip712FilterType.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(t)}),it("Calldata info APDU",()=>{const e={type:x.Eip712FilterType.CalldataInfo,discarded:!1,calldataIndex:3,valueFlag:!0,calleeFlag:x.CalldataParamPresence.Present,chainIdFlag:!1,selectorFlag:!0,amountFlag:!1,spenderFlag:x.CalldataParamPresence.VerifyingContract,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(r)}),it.each([{name:"spender",type:x.Eip712FilterType.CalldataSpender,cmd:244},{name:"amount",type:x.Eip712FilterType.CalldataAmount,cmd:245},{name:"selector",type:x.Eip712FilterType.CalldataSelector,cmd:246},{name:"chainId",type:x.Eip712FilterType.CalldataChainId,cmd:247},{name:"callee",type:x.Eip712FilterType.CalldataCallee,cmd:248},{name:"value",type:x.Eip712FilterType.CalldataValue,cmd:249}])("Calldata APDU $name",({type:e,cmd:d})=>{const a={type:e,discarded:!1,calldataIndex:7,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},n=Uint8Array.from(m);n[3]=d;const f=new x.SendEIP712FilteringCommand(a).getApdu();expect(f.getRawApdu()).toStrictEqual(n)}),it("Token APDU",()=>{const e={type:x.Eip712FilterType.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(b)}),it("Amount APDU",()=>{const e={type:x.Eip712FilterType.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(i)}),it("Date-time APDU",()=>{const e={type:x.Eip712FilterType.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(l)}),it("Trusted name APDU",()=>{const e={type:x.Eip712FilterType.TrustedName,discarded:!1,displayName:"Spender",typesAndSourcesPayload:"010203010002",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(p)}),it("Discarded filter",()=>{const e={type:x.Eip712FilterType.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.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 e={statusCode:Buffer.from([106,128]),data:Buffer.from([])},a=new x.SendEIP712FilteringCommand({type:x.Eip712FilterType.Activation}).parseResponse(e);expect((0,c.isSuccessCommandResult)(a)).toBe(!1)}),it("should parse the response",()=>{const e={statusCode:Buffer.from([144,0]),data:Buffer.from([])},d=new x.SendEIP712FilteringCommand({type:x.Eip712FilterType.Activation});expect(d.parseResponse(e)).toStrictEqual((0,c.CommandResultFactory)({data:void 0}))})})});
|
|
1
|
+
"use strict";var c=require("@ledgerhq/device-management-kit"),x=require("./SendEIP712FilteringCommand");const s=Uint8Array.from([224,30,0,0,0]),o=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]),r=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]),m=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]),b=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]),i=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]),p=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]),l=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]),A=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 e=new x.SendEIP712FilteringCommand({type:x.Eip712FilterType.Activation});expect(e.name).toBe("sendEIP712Filtering")})}),describe("getApdu",()=>{it("Activate APDU",()=>{const e={type:x.Eip712FilterType.Activation},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(s)}),it("Discarded path APDU",()=>{const e={type:x.Eip712FilterType.DiscardedPath,path:"to.[].wallets.[]"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(A)}),it("Message info APDU",()=>{const e={type:x.Eip712FilterType.MessageInfo,displayName:"1inch Order",filtersCount:6,signature:"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(o)}),it("Raw APDU",()=>{const e={type:x.Eip712FilterType.Raw,discarded:!1,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(t)}),it("Calldata info APDU",()=>{const e={type:x.Eip712FilterType.CalldataInfo,discarded:!1,calldataIndex:3,valueFlag:!0,calleeFlag:x.CalldataParamPresence.Present,chainIdFlag:!1,selectorFlag:!0,amountFlag:!1,spenderFlag:x.CalldataParamPresence.VerifyingContract,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(r)}),it.each([{name:"spender",type:x.Eip712FilterType.CalldataSpender,cmd:244},{name:"amount",type:x.Eip712FilterType.CalldataAmount,cmd:245},{name:"selector",type:x.Eip712FilterType.CalldataSelector,cmd:246},{name:"chainId",type:x.Eip712FilterType.CalldataChainId,cmd:247},{name:"callee",type:x.Eip712FilterType.CalldataCallee,cmd:248},{name:"value",type:x.Eip712FilterType.CalldataValue,cmd:249}])("Calldata APDU $name",({type:e,cmd:d})=>{const a={type:e,discarded:!1,calldataIndex:7,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},n=Uint8Array.from(m);n[3]=d;const f=new x.SendEIP712FilteringCommand(a).getApdu();expect(f.getRawApdu()).toStrictEqual(n)}),it("Token APDU",()=>{const e={type:x.Eip712FilterType.Token,discarded:!1,tokenIndex:1,signature:"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(b)}),it("Amount APDU",()=>{const e={type:x.Eip712FilterType.Amount,discarded:!1,displayName:"Receive minimum",tokenIndex:1,signature:"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(i)}),it("Date-time APDU",()=>{const e={type:x.Eip712FilterType.Datetime,discarded:!1,displayName:"Approval expire",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(l)}),it("Trusted name APDU",()=>{const e={type:x.Eip712FilterType.TrustedName,discarded:!1,displayName:"Spender",typesAndSourcesPayload:"010203010002",signature:"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.getRawApdu()).toStrictEqual(p)}),it("Discarded filter",()=>{const e={type:x.Eip712FilterType.Raw,discarded:!0,displayName:"From",signature:"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44"},a=new x.SendEIP712FilteringCommand(e).getApdu();expect(a.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 e={statusCode:Buffer.from([106,128]),data:Buffer.from([])},a=new x.SendEIP712FilteringCommand({type:x.Eip712FilterType.Activation}).parseResponse(e);expect((0,c.isSuccessCommandResult)(a)).toBe(!1)}),it("should parse the response",()=>{const e={statusCode:Buffer.from([144,0]),data:Buffer.from([])},d=new x.SendEIP712FilteringCommand({type:x.Eip712FilterType.Activation});expect(d.parseResponse(e)).toStrictEqual((0,c.CommandResultFactory)({data:void 0}))})})});
|
|
2
2
|
//# sourceMappingURL=SendEIP712FilteringCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712FilteringCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type ApduResponse,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n CalldataParamPresence,\n Eip712FilterType,\n SendEIP712FilteringCommand,\n type SendEIP712FilteringCommandArgs,\n} from \"./SendEIP712FilteringCommand\";\n\nconst ACTIVATE_APDU = Uint8Array.from([0xe0, 0x1e, 0x00, 0x00, 0x00]);\nconst MESSAGE_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x0f, 0x54, 0x0b, 0x31, 0x69, 0x6e, 0x63, 0x68, 0x20, 0x4f,\n 0x72, 0x64, 0x65, 0x72, 0x06, 0x46, 0x30, 0x44, 0x02, 0x20, 0x29, 0x5e, 0x0a,\n 0xeb, 0x17, 0xca, 0x09, 0x29, 0xb2, 0xa9, 0x4c, 0x32, 0x4d, 0x67, 0xd0, 0xb5,\n 0x52, 0x8a, 0xba, 0x26, 0x81, 0x77, 0xf3, 0xac, 0x29, 0x7b, 0x56, 0x31, 0x41,\n 0xe0, 0x00, 0x27, 0x02, 0x20, 0x3a, 0xc3, 0x60, 0xd9, 0xfd, 0x0c, 0x9c, 0x0c,\n 0x12, 0x27, 0x9d, 0x1e, 0x73, 0xbe, 0xa5, 0xd5, 0x49, 0xa1, 0xe8, 0x14, 0x1f,\n 0x45, 0x4d, 0x88, 0xfb, 0xe1, 0xe8, 0xef, 0x97, 0x0e, 0x68, 0x02,\n]);\nconst RAW_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xff, 0x4d, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x30, 0x45,\n 0x02, 0x21, 0x00, 0xb8, 0x20, 0xe4, 0xdf, 0xb1, 0xa0, 0xcd, 0xe6, 0xdc, 0x97,\n 0xd9, 0xa3, 0x4e, 0xeb, 0xb1, 0xa4, 0xee, 0xf0, 0xb2, 0x26, 0x26, 0x2e, 0x67,\n 0x88, 0x11, 0x8a, 0xb3, 0xc7, 0xfb, 0x79, 0xfe, 0x35, 0x02, 0x20, 0x2d, 0x42,\n 0x6a, 0x38, 0x8b, 0x4c, 0x3a, 0x80, 0x96, 0xb3, 0xf8, 0x44, 0x12, 0xa7, 0x02,\n 0xea, 0x53, 0x77, 0x70, 0xe6, 0x1e, 0xe0, 0x72, 0x7e, 0xc1, 0xb7, 0x10, 0xc1,\n 0xda, 0x52, 0x0c, 0x44,\n]);\nconst CALLDATA_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfa, 0x4f, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, 0x02, 0x47,\n 0x30, 0x45, 0x02, 0x21, 0x00, 0xff, 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5,\n 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4, 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b,\n 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58, 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20,\n 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6, 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7,\n 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06, 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c,\n 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst CALLDATA_VALUE_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xf9, 0x49, 0x07, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst TOKEN_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfd, 0x49, 0x01, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst AMOUNT_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfe, 0x59, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,\n 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x01, 0x47, 0x30, 0x45, 0x02,\n 0x21, 0x00, 0xa5, 0x9d, 0xc4, 0x79, 0xa8, 0x38, 0xa8, 0x13, 0x90, 0x9c, 0x14,\n 0x0a, 0x15, 0xe6, 0xb6, 0x5b, 0xc5, 0x8c, 0x56, 0x33, 0x28, 0x4b, 0xf9, 0x73,\n 0xc4, 0x36, 0xde, 0x5a, 0x59, 0x26, 0x34, 0xe2, 0x02, 0x20, 0x1e, 0x03, 0x8f,\n 0xc7, 0x99, 0x5d, 0x93, 0x9f, 0xcc, 0xd5, 0x46, 0xe4, 0xc8, 0x5e, 0x79, 0x3c,\n 0x0a, 0xd4, 0x51, 0x21, 0x6e, 0x36, 0xa4, 0xed, 0xfc, 0x7b, 0xce, 0x5b, 0xe2,\n 0x78, 0x08, 0xcb,\n]);\nconst TRUSTED_NAME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfb, 0x56, 0x07, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x72,\n 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xe8,\n 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41, 0x39, 0x81,\n 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8, 0xc3, 0x99,\n 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a, 0x57, 0x4b,\n 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff, 0xaf, 0x30,\n 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda, 0x8f, 0x6a,\n]);\nconst DATE_TIME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfc, 0x58, 0x0f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,\n 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x47, 0x30, 0x45, 0x02, 0x21,\n 0x00, 0xe8, 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41,\n 0x39, 0x81, 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8,\n 0xc3, 0x99, 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a,\n 0x57, 0x4b, 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff,\n 0xaf, 0x30, 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda,\n 0x8f, 0x6a,\n]);\nconst DISCARDED_PATH_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x01, 0x11, 0x10, 0x74, 0x6f, 0x2e, 0x5b, 0x5d, 0x2e, 0x77,\n 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x2e, 0x5b, 0x5d,\n]);\n\ndescribe(\"SendEIP712FilteringCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"Activate APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Activation,\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ACTIVATE_APDU);\n });\n\n it(\"Discarded path APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.DiscardedPath,\n path: \"to.[].wallets.[]\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DISCARDED_PATH_APDU);\n });\n\n it(\"Message info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.MessageInfo,\n displayName: \"1inch Order\",\n filtersCount: 6,\n signature:\n \"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(MESSAGE_INFO_APDU);\n });\n\n it(\"Raw APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: false,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(RAW_APDU);\n });\n\n it(\"Calldata info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.CalldataInfo,\n discarded: false,\n calldataIndex: 3,\n valueFlag: true,\n calleeFlag: CalldataParamPresence.Present,\n chainIdFlag: false,\n selectorFlag: true,\n amountFlag: false,\n spenderFlag: CalldataParamPresence.VerifyingContract,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(CALLDATA_INFO_APDU);\n });\n\n it.each([\n { name: \"spender\", type: Eip712FilterType.CalldataSpender, cmd: 0xf4 },\n { name: \"amount\", type: Eip712FilterType.CalldataAmount, cmd: 0xf5 },\n { name: \"selector\", type: Eip712FilterType.CalldataSelector, cmd: 0xf6 },\n { name: \"chainId\", type: Eip712FilterType.CalldataChainId, cmd: 0xf7 },\n { name: \"callee\", type: Eip712FilterType.CalldataCallee, cmd: 0xf8 },\n { name: \"value\", type: Eip712FilterType.CalldataValue, cmd: 0xf9 },\n ])(\"Calldata APDU $name\", ({ type, cmd }) => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type,\n discarded: false,\n calldataIndex: 7,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n } as SendEIP712FilteringCommandArgs;\n const expectedApdu = Uint8Array.from(CALLDATA_VALUE_APDU);\n expectedApdu[3] = cmd;\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(expectedApdu);\n });\n\n it(\"Token APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Token,\n discarded: false,\n tokenIndex: 1,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TOKEN_APDU);\n });\n\n it(\"Amount APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Amount,\n discarded: false,\n displayName: \"Receive minimum\",\n tokenIndex: 1,\n signature:\n \"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(AMOUNT_APDU);\n });\n\n it(\"Date-time APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Datetime,\n discarded: false,\n displayName: \"Approval expire\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DATE_TIME_APDU);\n });\n\n it(\"Trusted name APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.TrustedName,\n discarded: false,\n displayName: \"Spender\",\n typesAndSourcesPayload: \"010203010002\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TRUSTED_NAME_APDU);\n });\n\n it(\"Discarded filter\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: true,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([...RAW_APDU.slice(0, 2), 0x01, ...RAW_APDU.slice(3)]),\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 statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should parse the response\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["import_device_management_kit", "import_SendEIP712FilteringCommand", "ACTIVATE_APDU", "MESSAGE_INFO_APDU", "RAW_APDU", "CALLDATA_INFO_APDU", "CALLDATA_VALUE_APDU", "TOKEN_APDU", "AMOUNT_APDU", "TRUSTED_NAME_APDU", "DATE_TIME_APDU", "DISCARDED_PATH_APDU", "args", "apdu", "type", "cmd", "expectedApdu", "response", "result"
|
|
4
|
+
"sourcesContent": ["import {\n type ApduResponse,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n CalldataParamPresence,\n Eip712FilterType,\n SendEIP712FilteringCommand,\n type SendEIP712FilteringCommandArgs,\n} from \"./SendEIP712FilteringCommand\";\n\nconst ACTIVATE_APDU = Uint8Array.from([0xe0, 0x1e, 0x00, 0x00, 0x00]);\nconst MESSAGE_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x0f, 0x54, 0x0b, 0x31, 0x69, 0x6e, 0x63, 0x68, 0x20, 0x4f,\n 0x72, 0x64, 0x65, 0x72, 0x06, 0x46, 0x30, 0x44, 0x02, 0x20, 0x29, 0x5e, 0x0a,\n 0xeb, 0x17, 0xca, 0x09, 0x29, 0xb2, 0xa9, 0x4c, 0x32, 0x4d, 0x67, 0xd0, 0xb5,\n 0x52, 0x8a, 0xba, 0x26, 0x81, 0x77, 0xf3, 0xac, 0x29, 0x7b, 0x56, 0x31, 0x41,\n 0xe0, 0x00, 0x27, 0x02, 0x20, 0x3a, 0xc3, 0x60, 0xd9, 0xfd, 0x0c, 0x9c, 0x0c,\n 0x12, 0x27, 0x9d, 0x1e, 0x73, 0xbe, 0xa5, 0xd5, 0x49, 0xa1, 0xe8, 0x14, 0x1f,\n 0x45, 0x4d, 0x88, 0xfb, 0xe1, 0xe8, 0xef, 0x97, 0x0e, 0x68, 0x02,\n]);\nconst RAW_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xff, 0x4d, 0x04, 0x46, 0x72, 0x6f, 0x6d, 0x47, 0x30, 0x45,\n 0x02, 0x21, 0x00, 0xb8, 0x20, 0xe4, 0xdf, 0xb1, 0xa0, 0xcd, 0xe6, 0xdc, 0x97,\n 0xd9, 0xa3, 0x4e, 0xeb, 0xb1, 0xa4, 0xee, 0xf0, 0xb2, 0x26, 0x26, 0x2e, 0x67,\n 0x88, 0x11, 0x8a, 0xb3, 0xc7, 0xfb, 0x79, 0xfe, 0x35, 0x02, 0x20, 0x2d, 0x42,\n 0x6a, 0x38, 0x8b, 0x4c, 0x3a, 0x80, 0x96, 0xb3, 0xf8, 0x44, 0x12, 0xa7, 0x02,\n 0xea, 0x53, 0x77, 0x70, 0xe6, 0x1e, 0xe0, 0x72, 0x7e, 0xc1, 0xb7, 0x10, 0xc1,\n 0xda, 0x52, 0x0c, 0x44,\n]);\nconst CALLDATA_INFO_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfa, 0x4f, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, 0x02, 0x47,\n 0x30, 0x45, 0x02, 0x21, 0x00, 0xff, 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5,\n 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4, 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b,\n 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58, 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20,\n 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6, 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7,\n 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06, 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c,\n 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst CALLDATA_VALUE_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xf9, 0x49, 0x07, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst TOKEN_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfd, 0x49, 0x01, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xff,\n 0x72, 0x78, 0x47, 0x44, 0x54, 0x31, 0xe5, 0x71, 0xcd, 0x2a, 0x0d, 0x9d, 0xb4,\n 0x2a, 0x7e, 0xb6, 0x2e, 0x37, 0x87, 0x7b, 0x9b, 0xf2, 0x0e, 0x6a, 0x96, 0x58,\n 0x42, 0x55, 0x34, 0x7e, 0x19, 0x02, 0x20, 0x0a, 0x6e, 0x95, 0xb7, 0xf8, 0xe6,\n 0x3b, 0x2f, 0xab, 0x0b, 0xef, 0x88, 0xc7, 0x47, 0xde, 0x6a, 0x38, 0x7d, 0x06,\n 0x35, 0x1b, 0xe5, 0xbd, 0xc3, 0x4b, 0x2c, 0x1f, 0x9a, 0xea, 0x6f, 0xdd, 0x28,\n]);\nconst AMOUNT_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfe, 0x59, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,\n 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x01, 0x47, 0x30, 0x45, 0x02,\n 0x21, 0x00, 0xa5, 0x9d, 0xc4, 0x79, 0xa8, 0x38, 0xa8, 0x13, 0x90, 0x9c, 0x14,\n 0x0a, 0x15, 0xe6, 0xb6, 0x5b, 0xc5, 0x8c, 0x56, 0x33, 0x28, 0x4b, 0xf9, 0x73,\n 0xc4, 0x36, 0xde, 0x5a, 0x59, 0x26, 0x34, 0xe2, 0x02, 0x20, 0x1e, 0x03, 0x8f,\n 0xc7, 0x99, 0x5d, 0x93, 0x9f, 0xcc, 0xd5, 0x46, 0xe4, 0xc8, 0x5e, 0x79, 0x3c,\n 0x0a, 0xd4, 0x51, 0x21, 0x6e, 0x36, 0xa4, 0xed, 0xfc, 0x7b, 0xce, 0x5b, 0xe2,\n 0x78, 0x08, 0xcb,\n]);\nconst TRUSTED_NAME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfb, 0x56, 0x07, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x72,\n 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x47, 0x30, 0x45, 0x02, 0x21, 0x00, 0xe8,\n 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41, 0x39, 0x81,\n 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8, 0xc3, 0x99,\n 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a, 0x57, 0x4b,\n 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff, 0xaf, 0x30,\n 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda, 0x8f, 0x6a,\n]);\nconst DATE_TIME_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0xfc, 0x58, 0x0f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,\n 0x6c, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x47, 0x30, 0x45, 0x02, 0x21,\n 0x00, 0xe8, 0x47, 0x16, 0x6e, 0x60, 0xf8, 0x51, 0xe3, 0xc8, 0xd1, 0xf4, 0x41,\n 0x39, 0x81, 0x18, 0x98, 0xcc, 0xd0, 0xd3, 0xa0, 0x3a, 0xed, 0x6c, 0x77, 0xf8,\n 0xc3, 0x99, 0x38, 0x13, 0xf4, 0x79, 0xd2, 0x02, 0x20, 0x31, 0xfe, 0x6b, 0x6a,\n 0x57, 0x4b, 0x56, 0xc5, 0x10, 0x40, 0x03, 0xcf, 0x07, 0x90, 0x0d, 0x11, 0xff,\n 0xaf, 0x30, 0x3d, 0xc0, 0x16, 0xda, 0x4c, 0x1c, 0x3d, 0x18, 0x46, 0x63, 0xda,\n 0x8f, 0x6a,\n]);\nconst DISCARDED_PATH_APDU = Uint8Array.from([\n 0xe0, 0x1e, 0x00, 0x01, 0x11, 0x10, 0x74, 0x6f, 0x2e, 0x5b, 0x5d, 0x2e, 0x77,\n 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x2e, 0x5b, 0x5d,\n]);\n\ndescribe(\"SendEIP712FilteringCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'sendEIP712Filtering'\", () => {\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n expect(command.name).toBe(\"sendEIP712Filtering\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"Activate APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Activation,\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ACTIVATE_APDU);\n });\n\n it(\"Discarded path APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.DiscardedPath,\n path: \"to.[].wallets.[]\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DISCARDED_PATH_APDU);\n });\n\n it(\"Message info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.MessageInfo,\n displayName: \"1inch Order\",\n filtersCount: 6,\n signature:\n \"30440220295e0aeb17ca0929b2a94c324d67d0b5528aba268177f3ac297b563141e0002702203ac360d9fd0c9c0c12279d1e73bea5d549a1e8141f454d88fbe1e8ef970e6802\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(MESSAGE_INFO_APDU);\n });\n\n it(\"Raw APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: false,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(RAW_APDU);\n });\n\n it(\"Calldata info APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.CalldataInfo,\n discarded: false,\n calldataIndex: 3,\n valueFlag: true,\n calleeFlag: CalldataParamPresence.Present,\n chainIdFlag: false,\n selectorFlag: true,\n amountFlag: false,\n spenderFlag: CalldataParamPresence.VerifyingContract,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(CALLDATA_INFO_APDU);\n });\n\n it.each([\n { name: \"spender\", type: Eip712FilterType.CalldataSpender, cmd: 0xf4 },\n { name: \"amount\", type: Eip712FilterType.CalldataAmount, cmd: 0xf5 },\n { name: \"selector\", type: Eip712FilterType.CalldataSelector, cmd: 0xf6 },\n { name: \"chainId\", type: Eip712FilterType.CalldataChainId, cmd: 0xf7 },\n { name: \"callee\", type: Eip712FilterType.CalldataCallee, cmd: 0xf8 },\n { name: \"value\", type: Eip712FilterType.CalldataValue, cmd: 0xf9 },\n ])(\"Calldata APDU $name\", ({ type, cmd }) => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type,\n discarded: false,\n calldataIndex: 7,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n } as SendEIP712FilteringCommandArgs;\n const expectedApdu = Uint8Array.from(CALLDATA_VALUE_APDU);\n expectedApdu[3] = cmd;\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(expectedApdu);\n });\n\n it(\"Token APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Token,\n discarded: false,\n tokenIndex: 1,\n signature:\n \"3045022100ff727847445431e571cd2a0d9db42a7eb62e37877b9bf20e6a96584255347e1902200a6e95b7f8e63b2fab0bef88c747de6a387d06351be5bdc34b2c1f9aea6fdd28\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TOKEN_APDU);\n });\n\n it(\"Amount APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Amount,\n discarded: false,\n displayName: \"Receive minimum\",\n tokenIndex: 1,\n signature:\n \"3045022100a59dc479a838a813909c140a15e6b65bc58c5633284bf973c436de5a592634e202201e038fc7995d939fccd546e4c85e793c0ad451216e36a4edfc7bce5be27808cb\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(AMOUNT_APDU);\n });\n\n it(\"Date-time APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Datetime,\n discarded: false,\n displayName: \"Approval expire\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(DATE_TIME_APDU);\n });\n\n it(\"Trusted name APDU\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.TrustedName,\n discarded: false,\n displayName: \"Spender\",\n typesAndSourcesPayload: \"010203010002\",\n signature:\n \"3045022100e847166e60f851e3c8d1f44139811898ccd0d3a03aed6c77f8c3993813f479d2022031fe6b6a574b56c5104003cf07900d11ffaf303dc016da4c1c3d184663da8f6a\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(TRUSTED_NAME_APDU);\n });\n\n it(\"Discarded filter\", () => {\n // GIVEN\n const args: SendEIP712FilteringCommandArgs = {\n type: Eip712FilterType.Raw,\n discarded: true,\n displayName: \"From\",\n signature:\n \"3045022100b820e4dfb1a0cde6dc97d9a34eebb1a4eef0b226262e6788118ab3c7fb79fe3502202d426a388b4c3a8096b3f84412a702ea537770e61ee0727ec1b710c1da520c44\",\n };\n // WHEN\n const command = new SendEIP712FilteringCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n Uint8Array.from([...RAW_APDU.slice(0, 2), 0x01, ...RAW_APDU.slice(3)]),\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 statusCode: Buffer.from([0x6a, 0x80]), // Invalid status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n\n it(\"should parse the response\", () => {\n // GIVEN\n const response: ApduResponse = {\n statusCode: Buffer.from([0x90, 0x00]), // Success status code\n data: Buffer.from([]),\n };\n // WHEN\n const command = new SendEIP712FilteringCommand({\n type: Eip712FilterType.Activation,\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_device_management_kit", "import_SendEIP712FilteringCommand", "ACTIVATE_APDU", "MESSAGE_INFO_APDU", "RAW_APDU", "CALLDATA_INFO_APDU", "CALLDATA_VALUE_APDU", "TOKEN_APDU", "AMOUNT_APDU", "TRUSTED_NAME_APDU", "DATE_TIME_APDU", "DISCARDED_PATH_APDU", "command", "args", "apdu", "type", "cmd", "expectedApdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var m=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var f=(
|
|
1
|
+
"use strict";var m=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var f=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},h=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of l(e))!g.call(n,i)&&i!==t&&m(n,i,{get:()=>e[i],enumerable:!(o=y(e,i))||o.enumerable});return n};var T=n=>h(m({},"__esModule",{value:!0}),n);var A={};f(A,{SendEIP712StructDefinitionCommand:()=>S,StructDefinitionCommand:()=>c});module.exports=T(A);var a=require("@ledgerhq/device-management-kit"),p=require("@ledgerhq/signer-utils"),s=require("purify-ts"),r=require("../../typed-data/model/Types"),d=require("./utils/ethAppErrors"),c=(t=>(t[t.Name=0]="Name",t[t.Field=255]="Field",t))(c||{});class S{constructor(e){this.args=e}name="sendEIP712StructDefinition";errorHelper=new p.CommandErrorHelper(d.ETH_APP_ERRORS,d.EthAppCommandErrorFactory);getApdu(){const e={cla:224,ins:26,p1:0,p2:this.args.command};if(this.args.command===0)return new a.ApduBuilder(e).addAsciiStringToData(this.args.name).build();const t=new a.ApduBuilder(e),o=this.constructTypeDescByte(this.args.type);if(t.add8BitUIntToData(o),this.getTypeCustomName(this.args.type).ifJust(i=>{t.encodeInLVFromAscii(i)}),this.getTypeSize(this.args.type).ifJust(i=>{t.add8BitUIntToData(i)}),this.args.type instanceof r.ArrayType){t.add8BitUIntToData(this.args.type.levels.length);for(const i of this.args.type.levels)i.caseOf({Just:u=>{t.add8BitUIntToData(1).add8BitUIntToData(u)},Nothing:()=>{t.add8BitUIntToData(0)}})}return t.encodeInLVFromAscii(this.args.name).build()}parseResponse(e){return s.Maybe.fromNullable(this.errorHelper.getError(e)).orDefault((0,a.CommandResultFactory)({data:void 0}))}constructTypeDescByte(e){const t=e instanceof r.ArrayType?1:0,o=this.getTypeSize(e).isJust()?1:0,i=this.getType(e);return t<<7|o<<6|i}getTypeSize(e){return e instanceof r.ArrayType?this.getTypeSize(e.rootType):e instanceof r.PrimitiveType?e.size:s.Nothing}getTypeCustomName(e){return e instanceof r.ArrayType?this.getTypeCustomName(e.rootType):e instanceof r.StructType?(0,s.Just)(e.typeName):s.Nothing}getType(e){if(e instanceof r.ArrayType)return this.getType(e.rootType);if(e instanceof r.StructType)return 0;switch(e.name){case"int":return 1;case"uint":return 2;case"address":return 3;case"bool":return 4;case"string":return 5;case"bytes":return e.size.isJust()?6:7}}}0&&(module.exports={SendEIP712StructDefinitionCommand,StructDefinitionCommand});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructDefinitionCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712StructDefinitionCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-send-struct-definition\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 { Just, Maybe, Nothing } from \"purify-ts\";\n\nimport {\n ArrayType,\n type FieldName,\n type FieldType,\n PrimitiveType,\n StructType,\n} from \"@internal/typed-data/model/Types\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport enum StructDefinitionCommand {\n Name = 0,\n Field = 255,\n}\n\nexport type SendEIP712StructDefinitionCommandArgs =\n | { command: StructDefinitionCommand.Name; name: string }\n | {\n command: StructDefinitionCommand.Field;\n name: FieldName;\n type: FieldType;\n };\n\nenum ArraySize {\n Dynamic,\n Fixed,\n}\n\nenum Type {\n Custom,\n Int,\n Uint,\n Address,\n Bool,\n String,\n FixedSizedBytes,\n DynamicSizedBytes,\n}\n\nexport class SendEIP712StructDefinitionCommand\n implements Command<void, SendEIP712StructDefinitionCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private args: SendEIP712StructDefinitionCommandArgs) {}\n\n getApdu(): Apdu {\n const SendEIP712StructDefinitionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1a,\n p1: 0x00,\n p2: this.args.command,\n };\n\n // Struct name\n if (this.args.command === StructDefinitionCommand.Name) {\n return new ApduBuilder(SendEIP712StructDefinitionArgs)\n .addAsciiStringToData(this.args.name)\n .build();\n }\n\n // Struct field\n const builder = new ApduBuilder(SendEIP712StructDefinitionArgs);\n\n const typeDesc = this.constructTypeDescByte(this.args.type);\n\n // Add type descriptor\n builder.add8BitUIntToData(typeDesc);\n\n // Add struct name if this is a custom type\n this.getTypeCustomName(this.args.type).ifJust((customName) => {\n builder.encodeInLVFromAscii(customName);\n });\n\n // Add type size, if applicable\n this.getTypeSize(this.args.type).ifJust((size) => {\n builder.add8BitUIntToData(size);\n });\n\n // Add array levels, if it is an array\n if (this.args.type instanceof ArrayType) {\n builder.add8BitUIntToData(this.args.type.levels.length);\n for (const level of this.args.type.levels) {\n level.caseOf({\n Just: (l) => {\n builder.add8BitUIntToData(ArraySize.Fixed).add8BitUIntToData(l);\n },\n Nothing: () => {\n builder.add8BitUIntToData(ArraySize.Dynamic);\n },\n });\n }\n }\n\n // Add field name\n return builder.encodeInLVFromAscii(this.args.name).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 private constructTypeDescByte(type: FieldType): number {\n const isArrayBit = type instanceof ArrayType ? 1 : 0;\n const hasTypeSize = this.getTypeSize(type).isJust() ? 1 : 0;\n const typeBits = this.getType(type);\n\n // Combine the bits using bitwise operations\n const combinedBits = (isArrayBit << 7) | (hasTypeSize << 6) | typeBits;\n return combinedBits;\n }\n\n private getTypeSize(type: FieldType): Maybe<number> {\n if (type instanceof ArrayType) {\n return this.getTypeSize(type.rootType);\n }\n return type instanceof PrimitiveType ? type.size : Nothing;\n }\n\n private getTypeCustomName(type: FieldType): Maybe<string> {\n if (type instanceof ArrayType) {\n return this.getTypeCustomName(type.rootType);\n }\n return type instanceof StructType ? Just(type.typeName) : Nothing;\n }\n\n private getType(type: FieldType): Type {\n if (type instanceof ArrayType) {\n return this.getType(type.rootType);\n } else if (type instanceof StructType) {\n return Type.Custom;\n }\n switch (type.name) {\n case \"int\":\n return Type.Int;\n case \"uint\":\n return Type.Uint;\n case \"address\":\n return Type.Address;\n case \"bool\":\n return Type.Bool;\n case \"string\":\n return Type.String;\n case \"bytes\":\n return type.size.isJust()\n ? Type.FixedSizedBytes\n : Type.DynamicSizedBytes;\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uCAAAE,EAAA,4BAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,2CACPC,EAAmC,kCACnCC,EAAqC,qBAErCC,EAMO,4CAEPC,EAIO,gCAEKN,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,MAAQ,KAAR,QAFUA,OAAA,IA6BL,MAAMO,CAEb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-send-struct-definition\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 { Just, Maybe, Nothing } from \"purify-ts\";\n\nimport {\n ArrayType,\n type FieldName,\n type FieldType,\n PrimitiveType,\n StructType,\n} from \"@internal/typed-data/model/Types\";\n\nimport {\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n type EthErrorCodes,\n} from \"./utils/ethAppErrors\";\n\nexport enum StructDefinitionCommand {\n Name = 0,\n Field = 255,\n}\n\nexport type SendEIP712StructDefinitionCommandArgs =\n | { command: StructDefinitionCommand.Name; name: string }\n | {\n command: StructDefinitionCommand.Field;\n name: FieldName;\n type: FieldType;\n };\n\nenum ArraySize {\n Dynamic,\n Fixed,\n}\n\nenum Type {\n Custom,\n Int,\n Uint,\n Address,\n Bool,\n String,\n FixedSizedBytes,\n DynamicSizedBytes,\n}\n\nexport class SendEIP712StructDefinitionCommand\n implements Command<void, SendEIP712StructDefinitionCommandArgs, EthErrorCodes>\n{\n readonly name = \"sendEIP712StructDefinition\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n\n constructor(private args: SendEIP712StructDefinitionCommandArgs) {}\n\n getApdu(): Apdu {\n const SendEIP712StructDefinitionArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1a,\n p1: 0x00,\n p2: this.args.command,\n };\n\n // Struct name\n if (this.args.command === StructDefinitionCommand.Name) {\n return new ApduBuilder(SendEIP712StructDefinitionArgs)\n .addAsciiStringToData(this.args.name)\n .build();\n }\n\n // Struct field\n const builder = new ApduBuilder(SendEIP712StructDefinitionArgs);\n\n const typeDesc = this.constructTypeDescByte(this.args.type);\n\n // Add type descriptor\n builder.add8BitUIntToData(typeDesc);\n\n // Add struct name if this is a custom type\n this.getTypeCustomName(this.args.type).ifJust((customName) => {\n builder.encodeInLVFromAscii(customName);\n });\n\n // Add type size, if applicable\n this.getTypeSize(this.args.type).ifJust((size) => {\n builder.add8BitUIntToData(size);\n });\n\n // Add array levels, if it is an array\n if (this.args.type instanceof ArrayType) {\n builder.add8BitUIntToData(this.args.type.levels.length);\n for (const level of this.args.type.levels) {\n level.caseOf({\n Just: (l) => {\n builder.add8BitUIntToData(ArraySize.Fixed).add8BitUIntToData(l);\n },\n Nothing: () => {\n builder.add8BitUIntToData(ArraySize.Dynamic);\n },\n });\n }\n }\n\n // Add field name\n return builder.encodeInLVFromAscii(this.args.name).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 private constructTypeDescByte(type: FieldType): number {\n const isArrayBit = type instanceof ArrayType ? 1 : 0;\n const hasTypeSize = this.getTypeSize(type).isJust() ? 1 : 0;\n const typeBits = this.getType(type);\n\n // Combine the bits using bitwise operations\n const combinedBits = (isArrayBit << 7) | (hasTypeSize << 6) | typeBits;\n return combinedBits;\n }\n\n private getTypeSize(type: FieldType): Maybe<number> {\n if (type instanceof ArrayType) {\n return this.getTypeSize(type.rootType);\n }\n return type instanceof PrimitiveType ? type.size : Nothing;\n }\n\n private getTypeCustomName(type: FieldType): Maybe<string> {\n if (type instanceof ArrayType) {\n return this.getTypeCustomName(type.rootType);\n }\n return type instanceof StructType ? Just(type.typeName) : Nothing;\n }\n\n private getType(type: FieldType): Type {\n if (type instanceof ArrayType) {\n return this.getType(type.rootType);\n } else if (type instanceof StructType) {\n return Type.Custom;\n }\n switch (type.name) {\n case \"int\":\n return Type.Int;\n case \"uint\":\n return Type.Uint;\n case \"address\":\n return Type.Address;\n case \"bool\":\n return Type.Bool;\n case \"string\":\n return Type.String;\n case \"bytes\":\n return type.size.isJust()\n ? Type.FixedSizedBytes\n : Type.DynamicSizedBytes;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uCAAAE,EAAA,4BAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,2CACPC,EAAmC,kCACnCC,EAAqC,qBAErCC,EAMO,4CAEPC,EAIO,gCAEKN,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,MAAQ,KAAR,QAFUA,OAAA,IA6BL,MAAMO,CAEb,CAOE,YAAoBC,EAA6C,CAA7C,UAAAA,CAA8C,CANzD,KAAO,6BACC,YAAc,IAAI,qBACjC,iBACA,2BACF,EAIA,SAAgB,CACd,MAAMC,EAAkD,CACtD,IAAK,IACL,IAAK,GACL,GAAI,EACJ,GAAI,KAAK,KAAK,OAChB,EAGA,GAAI,KAAK,KAAK,UAAY,EACxB,OAAO,IAAI,cAAYA,CAA8B,EAClD,qBAAqB,KAAK,KAAK,IAAI,EACnC,MAAM,EAIX,MAAMC,EAAU,IAAI,cAAYD,CAA8B,EAExDE,EAAW,KAAK,sBAAsB,KAAK,KAAK,IAAI,EAgB1D,GAbAD,EAAQ,kBAAkBC,CAAQ,EAGlC,KAAK,kBAAkB,KAAK,KAAK,IAAI,EAAE,OAAQC,GAAe,CAC5DF,EAAQ,oBAAoBE,CAAU,CACxC,CAAC,EAGD,KAAK,YAAY,KAAK,KAAK,IAAI,EAAE,OAAQC,GAAS,CAChDH,EAAQ,kBAAkBG,CAAI,CAChC,CAAC,EAGG,KAAK,KAAK,gBAAgB,YAAW,CACvCH,EAAQ,kBAAkB,KAAK,KAAK,KAAK,OAAO,MAAM,EACtD,UAAWI,KAAS,KAAK,KAAK,KAAK,OACjCA,EAAM,OAAO,CACX,KAAOC,GAAM,CACXL,EAAQ,kBAAkB,CAAe,EAAE,kBAAkBK,CAAC,CAChE,EACA,QAAS,IAAM,CACbL,EAAQ,kBAAkB,CAAiB,CAC7C,CACF,CAAC,CAEL,CAGA,OAAOA,EAAQ,oBAAoB,KAAK,KAAK,IAAI,EAAE,MAAM,CAC3D,CAEA,cAAcM,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CAEQ,sBAAsBC,EAAyB,CACrD,MAAMC,EAAaD,aAAgB,YAAY,EAAI,EAC7CE,EAAc,KAAK,YAAYF,CAAI,EAAE,OAAO,EAAI,EAAI,EACpDG,EAAW,KAAK,QAAQH,CAAI,EAIlC,OADsBC,GAAc,EAAMC,GAAe,EAAKC,CAEhE,CAEQ,YAAYH,EAAgC,CAClD,OAAIA,aAAgB,YACX,KAAK,YAAYA,EAAK,QAAQ,EAEhCA,aAAgB,gBAAgBA,EAAK,KAAO,SACrD,CAEQ,kBAAkBA,EAAgC,CACxD,OAAIA,aAAgB,YACX,KAAK,kBAAkBA,EAAK,QAAQ,EAEtCA,aAAgB,gBAAa,QAAKA,EAAK,QAAQ,EAAI,SAC5D,CAEQ,QAAQA,EAAuB,CACrC,GAAIA,aAAgB,YAClB,OAAO,KAAK,QAAQA,EAAK,QAAQ,EAC5B,GAAIA,aAAgB,aACzB,MAAO,GAET,OAAQA,EAAK,KAAM,CACjB,IAAK,MACH,MAAO,GACT,IAAK,OACH,MAAO,GACT,IAAK,UACH,MAAO,GACT,IAAK,OACH,MAAO,GACT,IAAK,SACH,MAAO,GACT,IAAK,QACH,OAAOA,EAAK,KAAK,OAAO,EACpB,EACA,CACR,CACF,CACF",
|
|
6
6
|
"names": ["SendEIP712StructDefinitionCommand_exports", "__export", "SendEIP712StructDefinitionCommand", "StructDefinitionCommand", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_Types", "import_ethAppErrors", "SendEIP712StructDefinitionCommand", "args", "SendEIP712StructDefinitionArgs", "builder", "typeDesc", "customName", "size", "level", "l", "response", "type", "isArrayBit", "hasTypeSize", "typeBits"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("@ledgerhq/device-management-kit"),n=require("purify-ts"),r=require("../../typed-data/model/Types"),
|
|
1
|
+
"use strict";var o=require("@ledgerhq/device-management-kit"),n=require("purify-ts"),r=require("../../typed-data/model/Types"),t=require("./SendEIP712StructDefinitionCommand");const d=Uint8Array.from([224,26,0,0,12,69,73,80,55,49,50,68,111,109,97,105,110]),s=Uint8Array.from([224,26,0,0,5,71,114,111,117,112]),i=Uint8Array.from([224,26,0,255,6,5,4,110,97,109,101]),u=Uint8Array.from([224,26,0,255,9,5,7,118,101,114,115,105,111,110]),p=Uint8Array.from([224,26,0,255,10,66,32,7,99,104,97,105,110,73,100]),c=Uint8Array.from([224,26,0,255,19,3,17,118,101,114,105,102,121,105,110,103,67,111,110,116,114,97,99,116]),m=Uint8Array.from([224,26,0,255,18,128,6,80,101,114,115,111,110,1,0,7,109,101,109,98,101,114,115]),f=Uint8Array.from([224,26,0,255,13,0,6,80,101,114,115,111,110,4,102,114,111,109]),E=Uint8Array.from([224,26,0,255,11,131,1,0,7,119,97,108,108,101,116,115]),A=Uint8Array.from([224,26,0,255,17,7,15,115,116,97,116,105,99,69,120,116,114,97,100,97,116,97]),y=Uint8Array.from([224,26,0,255,20,7,18,114,101,112,108,97,99,101,109,101,110,116,80,97,116,116,101,114,110]),l=Uint8Array.from([224,26,0,255,11,70,4,8,100,97,116,97,84,121,112,101]),_=Uint8Array.from([224,26,0,255,14,133,2,1,3,0,8,100,111,99,117,109,101,110,116]),w=Uint8Array.from([224,26,0,255,14,194,1,4,0,0,0,0,6,100,101,112,116,104,121]);describe("SendEIP712StructDefinitionCommand",()=>{let x;describe("name",()=>{it("should be 'sendEIP712StructDefinition'",()=>{const e=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Name,name:"test"});expect(e.name).toBe("sendEIP712StructDefinition")})}),describe("getApdu",()=>{it("should return the apdu for 'EIP712Domain' name definition",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Name,name:"EIP712Domain"});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(d)}),it("should return the apdu for 'Group' name definition",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Name,name:"Group"});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(s)}),it("should return the apdu for 'name' of type 'string'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"name",type:new r.PrimitiveType("string","string",n.Nothing)});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(i)}),it("should return the apdu for 'version' of type 'string'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"version",type:new r.PrimitiveType("string","string",n.Nothing)});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(u)}),it("should return the apdu for 'chainId' of type 'uint256'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"chainId",type:new r.PrimitiveType("uint256","uint",(0,n.Just)(32))});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(p)}),it("should return the apdu for 'verifyingContract' of type 'address'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"verifyingContract",type:new r.PrimitiveType("address","address",n.Nothing)});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(c)}),it("should return the apdu for 'members' of type 'Person[]'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"members",type:new r.ArrayType("Person[]",new r.StructType("Person"),"Person",n.Nothing,[n.Nothing])});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(m)}),it("should return the apdu for 'from' of type 'Person'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"from",type:new r.StructType("Person")});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(f)}),it("should return the apdu for 'wallets' of type 'address[]'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"wallets",type:new r.ArrayType("address[]",new r.PrimitiveType("address","address",n.Nothing),"address",n.Nothing,[n.Nothing])});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(E)}),it("should return the apdu for 'staticExtradata' of type 'bytes'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"staticExtradata",type:new r.PrimitiveType("bytes","bytes",n.Nothing)});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(A)}),it("should return the apdu for 'replacementPattern' of type 'bytes'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"replacementPattern",type:new r.PrimitiveType("bytes","bytes",n.Nothing)});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(y)}),it("should return the apdu for 'dataType' of type 'bytes4'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"dataType",type:new r.PrimitiveType("bytes4","bytes",(0,n.Just)(4))});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(l)}),it("should return the apdu for 'document' of type 'string[3][]'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"document",type:new r.ArrayType("string[3][]",new r.PrimitiveType("string","string",n.Nothing),"string[3]",n.Nothing,[(0,n.Just)(3),n.Nothing])});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(_)}),it("should return the apdu for 'depthy' of type 'uint8[][][][]'",()=>{x=new t.SendEIP712StructDefinitionCommand({command:t.StructDefinitionCommand.Field,name:"depthy",type:new r.ArrayType("uint8[][][][]",new r.PrimitiveType("uint8","uint",(0,n.Just)(1)),"uint8[][][]",n.Nothing,[n.Nothing,n.Nothing,n.Nothing,n.Nothing])});const e=x.getApdu();expect(e.getRawApdu()).toStrictEqual(w)})}),describe("parseResponse",()=>{it("should parse the response",()=>{const e={statusCode:Uint8Array.from([144,0]),data:new Uint8Array},a=x.parseResponse(e);expect(a).toStrictEqual((0,o.CommandResultFactory)({data:void 0}))}),it("should throw an error if the response is not successful",()=>{const e={statusCode:Uint8Array.from([85,21]),data:new Uint8Array},a=x.parseResponse(e);expect((0,o.isSuccessCommandResult)(a)).toBe(!1)})})});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructDefinitionCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712StructDefinitionCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n ArrayType,\n PrimitiveType,\n StructType,\n} from \"@internal/typed-data/model/Types\";\n\nimport { type EthErrorCodes } from \"./utils/ethAppErrors\";\nimport {\n SendEIP712StructDefinitionCommand,\n type SendEIP712StructDefinitionCommandArgs,\n StructDefinitionCommand,\n} from \"./SendEIP712StructDefinitionCommand\";\n\nconst EIP712_DEF_NAME_EIP712DOMAIN = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0x00, 0x0c, 0x45, 0x49, 0x50, 0x37, 0x31, 0x32, 0x44, 0x6f,\n 0x6d, 0x61, 0x69, 0x6e,\n]);\n\nconst EIP712_DEF_NAME_GROUP = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0x00, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70,\n]);\n\n// name string\nconst EIP712_DEF_FIELD_NAME_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x06, 0x05, 0x04, 0x6e, 0x61, 0x6d, 0x65,\n]);\n\n// version string\nconst EIP712_DEF_FIELD_VERSION_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x09, 0x05, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,\n 0x6e,\n]);\n\n// chainId uint256\nconst EIP712_DEF_FIELD_CHAINID_UINT256 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0a, 0x42, 0x20, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,\n 0x49, 0x64,\n]);\n\n// verifyingContract address\nconst EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x13, 0x03, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,\n 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,\n]);\n\n// members Person[]\nconst EIP712_DEF_FIELD_MEMBERS_PERSON = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x12, 0x80, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,\n 0x01, 0x00, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,\n]);\n\n// from Person\nconst EIP712_DEF_FIELD_FROM_PERSON = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0d, 0x00, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,\n 0x04, 0x66, 0x72, 0x6f, 0x6d,\n]);\n\n// wallets address[]\nconst EIP712_DEF_FIELD_WALLETS_ADDRESS = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0b, 0x83, 0x01, 0x00, 0x07, 0x77, 0x61, 0x6c, 0x6c,\n 0x65, 0x74, 0x73,\n]);\n\n// staticExtradata bytes\nconst EIP712_DEF_FIELD_STATICEXTRADATA_BYTES = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x11, 0x07, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63,\n 0x45, 0x78, 0x74, 0x72, 0x61, 0x64, 0x61, 0x74, 0x61,\n]);\n\n// replacementPattern bytes\nconst EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x14, 0x07, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,\n 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,\n]);\n\n// dataType bytes4\nconst EIP712_DEF_FIELD_DATA_TYPE_BYTES4 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0b, 0x46, 0x04, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54,\n 0x79, 0x70, 0x65,\n]);\n\n// document string[3][]\nconst EIP712_DEF_FIELD_DOCUMENT_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0e, 0x85, 0x02, 0x01, 0x03, 0x00, 0x08, 0x64, 0x6f,\n 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,\n]);\n\n// depthy uint8[][][][]\nconst EIP712_DEF_FIELD_DEPTHY_UINT8 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0e, 0xc2, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06,\n 0x64, 0x65, 0x70, 0x74, 0x68, 0x79,\n]);\n\n// TODO: find examples for bool and int types.\n\ndescribe(\"SendEIP712StructDefinitionCommand\", () => {\n let command: Command<\n void,\n SendEIP712StructDefinitionCommandArgs,\n EthErrorCodes\n >;\n\n describe(\"getApdu\", () => {\n it(\"should return the apdu for 'EIP712Domain' name definition\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Name,\n name: \"EIP712Domain\",\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_NAME_EIP712DOMAIN);\n });\n\n it(\"should return the apdu for 'Group' name definition\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Name,\n name: \"Group\",\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_NAME_GROUP);\n });\n\n it(\"should return the apdu for 'name' of type 'string'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"name\",\n type: new PrimitiveType(\"string\", \"string\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_NAME_STRING);\n });\n\n it(\"should return the apdu for 'version' of type 'string'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"version\",\n type: new PrimitiveType(\"string\", \"string\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_VERSION_STRING);\n });\n\n it(\"should return the apdu for 'chainId' of type 'uint256'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"chainId\",\n type: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_CHAINID_UINT256);\n });\n\n it(\"should return the apdu for 'verifyingContract' of type 'address'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"verifyingContract\",\n type: new PrimitiveType(\"address\", \"address\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS,\n );\n });\n\n it(\"should return the apdu for 'members' of type 'Person[]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"members\",\n type: new ArrayType(\n \"Person[]\",\n new StructType(\"Person\"),\n \"Person\",\n Nothing,\n [Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_MEMBERS_PERSON);\n });\n\n it(\"should return the apdu for 'from' of type 'Person'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"from\",\n type: new StructType(\"Person\"),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_FROM_PERSON);\n });\n\n it(\"should return the apdu for 'wallets' of type 'address[]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"wallets\",\n type: new ArrayType(\n \"address[]\",\n new PrimitiveType(\"address\", \"address\", Nothing),\n \"address\",\n Nothing,\n [Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_WALLETS_ADDRESS);\n });\n\n it(\"should return the apdu for 'staticExtradata' of type 'bytes'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"staticExtradata\",\n type: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_STATICEXTRADATA_BYTES,\n );\n });\n\n it(\"should return the apdu for 'replacementPattern' of type 'bytes'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"replacementPattern\",\n type: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES,\n );\n });\n\n it(\"should return the apdu for 'dataType' of type 'bytes4'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"dataType\",\n type: new PrimitiveType(\"bytes4\", \"bytes\", Just(4)),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_DATA_TYPE_BYTES4,\n );\n });\n\n it(\"should return the apdu for 'document' of type 'string[3][]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"document\",\n type: new ArrayType(\n \"string[3][]\",\n new PrimitiveType(\"string\", \"string\", Nothing),\n \"string[3]\",\n Nothing,\n [Just(3), Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_DOCUMENT_STRING);\n });\n\n it(\"should return the apdu for 'depthy' of type 'uint8[][][][]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"depthy\",\n type: new ArrayType(\n \"uint8[][][][]\",\n new PrimitiveType(\"uint8\", \"uint\", Just(1)),\n \"uint8[][][]\",\n Nothing,\n [Nothing, Nothing, Nothing, Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_DEPTHY_UINT8);\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: new Uint8Array(),\n };\n\n // WHEN\n const parsedResponse = command.parseResponse(response);\n\n // THEN\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n\n it(\"should throw 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": "aAAA,IAAAA,EAIO,2CACPC,EAA8B,qBAE9BC,EAIO,4CAGPC,EAIO,+CAEP,MAAMC,EAA+B,WAAW,KAAK,CACnD,IAAM,GAAM,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IACxE,IAAM,GAAM,IAAM,GACpB,CAAC,EAEKC,EAAwB,WAAW,KAAK,CAC5C,IAAM,GAAM,EAAM,EAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GACxD,CAAC,EAGKC,EAA+B,WAAW,KAAK,CACnD,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,IAAM,GAAM,IAAM,GAC9D,CAAC,EAGKC,EAAkC,WAAW,KAAK,CACtD,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACxE,GACF,CAAC,EAGKC,EAAmC,WAAW,KAAK,CACvD,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,EAAM,GAAM,IAAM,GAAM,IAAM,IACxE,GAAM,GACR,CAAC,EAGKC,EAA6C,WAAW,KAAK,CACjE,IAAM,GAAM,EAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IACxE,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAC9D,CAAC,EAGKC,EAAkC,WAAW,KAAK,CACtD,IAAM,GAAM,EAAM,IAAM,GAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxD,CAAC,EAGKC,EAA+B,WAAW,KAAK,CACnD,IAAM,GAAM,EAAM,IAAM,GAAM,EAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IACxE,EAAM,IAAM,IAAM,IAAM,GAC1B,CAAC,EAGKC,EAAmC,WAAW,KAAK,CACvD,IAAM,GAAM,EAAM,IAAM,GAAM,IAAM,EAAM,EAAM,EAAM,IAAM,GAAM,IAAM,IACxE,IAAM,IAAM,GACd,CAAC,EAGKC,EAAyC,WAAW,KAAK,CAC7D,IAAM,GAAM,EAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GACxE,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAClD,CAAC,EAGKC,EAA4C,WAAW,KAAK,CAChE,IAAM,GAAM,EAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GACpE,CAAC,EAGKC,EAAoC,WAAW,KAAK,CACxD,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,EAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GACxE,IAAM,IAAM,GACd,CAAC,EAGKC,EAAmC,WAAW,KAAK,CACvD,IAAM,GAAM,EAAM,IAAM,GAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,IAAM,IACxE,GAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,EAGKC,EAAgC,WAAW,KAAK,CACpD,IAAM,GAAM,EAAM,IAAM,GAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EACxE,IAAM,IAAM,IAAM,IAAM,IAAM,GAChC,CAAC,EAID,SAAS,oCAAqC,IAAM,CAClD,IAAIC,EAMJ,SAAS,UAAW,IAAM,CACxB,GAAG,4DAA6D,IAAM,
|
|
6
|
-
"names": ["import_device_management_kit", "import_purify_ts", "import_Types", "import_SendEIP712StructDefinitionCommand", "EIP712_DEF_NAME_EIP712DOMAIN", "EIP712_DEF_NAME_GROUP", "EIP712_DEF_FIELD_NAME_STRING", "EIP712_DEF_FIELD_VERSION_STRING", "EIP712_DEF_FIELD_CHAINID_UINT256", "EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS", "EIP712_DEF_FIELD_MEMBERS_PERSON", "EIP712_DEF_FIELD_FROM_PERSON", "EIP712_DEF_FIELD_WALLETS_ADDRESS", "EIP712_DEF_FIELD_STATICEXTRADATA_BYTES", "EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES", "EIP712_DEF_FIELD_DATA_TYPE_BYTES4", "EIP712_DEF_FIELD_DOCUMENT_STRING", "EIP712_DEF_FIELD_DEPTHY_UINT8", "command", "apdu", "response", "parsedResponse", "result"]
|
|
4
|
+
"sourcesContent": ["import {\n type Command,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { Just, Nothing } from \"purify-ts\";\n\nimport {\n ArrayType,\n PrimitiveType,\n StructType,\n} from \"@internal/typed-data/model/Types\";\n\nimport { type EthErrorCodes } from \"./utils/ethAppErrors\";\nimport {\n SendEIP712StructDefinitionCommand,\n type SendEIP712StructDefinitionCommandArgs,\n StructDefinitionCommand,\n} from \"./SendEIP712StructDefinitionCommand\";\n\nconst EIP712_DEF_NAME_EIP712DOMAIN = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0x00, 0x0c, 0x45, 0x49, 0x50, 0x37, 0x31, 0x32, 0x44, 0x6f,\n 0x6d, 0x61, 0x69, 0x6e,\n]);\n\nconst EIP712_DEF_NAME_GROUP = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0x00, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70,\n]);\n\n// name string\nconst EIP712_DEF_FIELD_NAME_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x06, 0x05, 0x04, 0x6e, 0x61, 0x6d, 0x65,\n]);\n\n// version string\nconst EIP712_DEF_FIELD_VERSION_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x09, 0x05, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,\n 0x6e,\n]);\n\n// chainId uint256\nconst EIP712_DEF_FIELD_CHAINID_UINT256 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0a, 0x42, 0x20, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,\n 0x49, 0x64,\n]);\n\n// verifyingContract address\nconst EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x13, 0x03, 0x11, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79,\n 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74,\n]);\n\n// members Person[]\nconst EIP712_DEF_FIELD_MEMBERS_PERSON = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x12, 0x80, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,\n 0x01, 0x00, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,\n]);\n\n// from Person\nconst EIP712_DEF_FIELD_FROM_PERSON = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0d, 0x00, 0x06, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,\n 0x04, 0x66, 0x72, 0x6f, 0x6d,\n]);\n\n// wallets address[]\nconst EIP712_DEF_FIELD_WALLETS_ADDRESS = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0b, 0x83, 0x01, 0x00, 0x07, 0x77, 0x61, 0x6c, 0x6c,\n 0x65, 0x74, 0x73,\n]);\n\n// staticExtradata bytes\nconst EIP712_DEF_FIELD_STATICEXTRADATA_BYTES = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x11, 0x07, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63,\n 0x45, 0x78, 0x74, 0x72, 0x61, 0x64, 0x61, 0x74, 0x61,\n]);\n\n// replacementPattern bytes\nconst EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x14, 0x07, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63,\n 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,\n]);\n\n// dataType bytes4\nconst EIP712_DEF_FIELD_DATA_TYPE_BYTES4 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0b, 0x46, 0x04, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54,\n 0x79, 0x70, 0x65,\n]);\n\n// document string[3][]\nconst EIP712_DEF_FIELD_DOCUMENT_STRING = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0e, 0x85, 0x02, 0x01, 0x03, 0x00, 0x08, 0x64, 0x6f,\n 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,\n]);\n\n// depthy uint8[][][][]\nconst EIP712_DEF_FIELD_DEPTHY_UINT8 = Uint8Array.from([\n 0xe0, 0x1a, 0x00, 0xff, 0x0e, 0xc2, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06,\n 0x64, 0x65, 0x70, 0x74, 0x68, 0x79,\n]);\n\n// TODO: find examples for bool and int types.\n\ndescribe(\"SendEIP712StructDefinitionCommand\", () => {\n let command: Command<\n void,\n SendEIP712StructDefinitionCommandArgs,\n EthErrorCodes\n >;\n\n describe(\"name\", () => {\n it(\"should be 'sendEIP712StructDefinition'\", () => {\n const cmd = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Name,\n name: \"test\",\n });\n expect(cmd.name).toBe(\"sendEIP712StructDefinition\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the apdu for 'EIP712Domain' name definition\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Name,\n name: \"EIP712Domain\",\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_NAME_EIP712DOMAIN);\n });\n\n it(\"should return the apdu for 'Group' name definition\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Name,\n name: \"Group\",\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_NAME_GROUP);\n });\n\n it(\"should return the apdu for 'name' of type 'string'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"name\",\n type: new PrimitiveType(\"string\", \"string\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_NAME_STRING);\n });\n\n it(\"should return the apdu for 'version' of type 'string'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"version\",\n type: new PrimitiveType(\"string\", \"string\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_VERSION_STRING);\n });\n\n it(\"should return the apdu for 'chainId' of type 'uint256'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"chainId\",\n type: new PrimitiveType(\"uint256\", \"uint\", Just(32)),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_CHAINID_UINT256);\n });\n\n it(\"should return the apdu for 'verifyingContract' of type 'address'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"verifyingContract\",\n type: new PrimitiveType(\"address\", \"address\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS,\n );\n });\n\n it(\"should return the apdu for 'members' of type 'Person[]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"members\",\n type: new ArrayType(\n \"Person[]\",\n new StructType(\"Person\"),\n \"Person\",\n Nothing,\n [Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_MEMBERS_PERSON);\n });\n\n it(\"should return the apdu for 'from' of type 'Person'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"from\",\n type: new StructType(\"Person\"),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_FROM_PERSON);\n });\n\n it(\"should return the apdu for 'wallets' of type 'address[]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"wallets\",\n type: new ArrayType(\n \"address[]\",\n new PrimitiveType(\"address\", \"address\", Nothing),\n \"address\",\n Nothing,\n [Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_WALLETS_ADDRESS);\n });\n\n it(\"should return the apdu for 'staticExtradata' of type 'bytes'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"staticExtradata\",\n type: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_STATICEXTRADATA_BYTES,\n );\n });\n\n it(\"should return the apdu for 'replacementPattern' of type 'bytes'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"replacementPattern\",\n type: new PrimitiveType(\"bytes\", \"bytes\", Nothing),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES,\n );\n });\n\n it(\"should return the apdu for 'dataType' of type 'bytes4'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"dataType\",\n type: new PrimitiveType(\"bytes4\", \"bytes\", Just(4)),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(\n EIP712_DEF_FIELD_DATA_TYPE_BYTES4,\n );\n });\n\n it(\"should return the apdu for 'document' of type 'string[3][]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"document\",\n type: new ArrayType(\n \"string[3][]\",\n new PrimitiveType(\"string\", \"string\", Nothing),\n \"string[3]\",\n Nothing,\n [Just(3), Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_DOCUMENT_STRING);\n });\n\n it(\"should return the apdu for 'depthy' of type 'uint8[][][][]'\", () => {\n // GIVEN\n command = new SendEIP712StructDefinitionCommand({\n command: StructDefinitionCommand.Field,\n name: \"depthy\",\n type: new ArrayType(\n \"uint8[][][][]\",\n new PrimitiveType(\"uint8\", \"uint\", Just(1)),\n \"uint8[][][]\",\n Nothing,\n [Nothing, Nothing, Nothing, Nothing],\n ),\n });\n\n // WHEN\n const apdu = command.getApdu();\n\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(EIP712_DEF_FIELD_DEPTHY_UINT8);\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: new Uint8Array(),\n };\n\n // WHEN\n const parsedResponse = command.parseResponse(response);\n\n // THEN\n expect(parsedResponse).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n\n it(\"should throw 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
|
+
"names": ["import_device_management_kit", "import_purify_ts", "import_Types", "import_SendEIP712StructDefinitionCommand", "EIP712_DEF_NAME_EIP712DOMAIN", "EIP712_DEF_NAME_GROUP", "EIP712_DEF_FIELD_NAME_STRING", "EIP712_DEF_FIELD_VERSION_STRING", "EIP712_DEF_FIELD_CHAINID_UINT256", "EIP712_DEF_FIELD_VERIFYINGCONTRACT_ADDRESS", "EIP712_DEF_FIELD_MEMBERS_PERSON", "EIP712_DEF_FIELD_FROM_PERSON", "EIP712_DEF_FIELD_WALLETS_ADDRESS", "EIP712_DEF_FIELD_STATICEXTRADATA_BYTES", "EIP712_DEF_FIELD_REPLACEMENTPATTERN_BYTES", "EIP712_DEF_FIELD_DATA_TYPE_BYTES4", "EIP712_DEF_FIELD_DOCUMENT_STRING", "EIP712_DEF_FIELD_DEPTHY_UINT8", "command", "cmd", "apdu", "response", "parsedResponse", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var p=Object.defineProperty;var
|
|
1
|
+
"use strict";var p=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var E=(t,e)=>{for(var d in e)p(t,d,{get:e[d],enumerable:!0})},y=(t,e,d,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of i(e))!A.call(t,o)&&o!==d&&p(t,o,{get:()=>e[o],enumerable:!(r=l(e,o))||r.enumerable});return t};var c=t=>y(p({},"__esModule",{value:!0}),t);var R={};E(R,{SendEIP712StructImplemCommand:()=>g,StructImplemType:()=>u});module.exports=c(R);var a=require("@ledgerhq/device-management-kit"),m=require("@ledgerhq/signer-utils"),n=require("purify-ts"),s=require("./utils/ethAppErrors"),u=(r=>(r[r.ROOT=0]="ROOT",r[r.ARRAY=15]="ARRAY",r[r.FIELD=255]="FIELD",r))(u||{});class g{constructor(e){this.args=e}name="sendEIP712StructImplem";errorHelper=new m.CommandErrorHelper(s.ETH_APP_ERRORS,s.EthAppCommandErrorFactory);getApdu(){const e={cla:224,ins:28,p1:this.args.type!=255||this.args.value.isLastChunk?0:1,p2:this.args.type};switch(this.args.type){case 0:return new a.ApduBuilder(e).addAsciiStringToData(this.args.value).build();case 15:return new a.ApduBuilder(e).add8BitUIntToData(this.args.value).build();case 255:return new a.ApduBuilder(e).addBufferToData(this.args.value.data).build()}}parseResponse(e){return n.Maybe.fromNullable(this.errorHelper.getError(e)).orDefault((0,a.CommandResultFactory)({data:void 0}))}}0&&(module.exports={SendEIP712StructImplemCommand,StructImplemType});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructImplemCommand.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712StructImplemCommand.ts"],
|
|
4
|
-
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-send-struct-implementation\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 StructImplemType {\n ROOT = 0x00,\n ARRAY = 0x0f,\n FIELD = 0xff,\n}\n\nexport type SendEIP712StructImplemCommandArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: {\n /**\n * The chunk of the data that is ready to send, that is to say, prefixed by its length in two bytes.\n * Eg. 01020304 => [0x00, 0x04, 0x01, 0x02, 0x03, 0x04] where [0x00, 0x04] are the length of the data.\n */\n data: Uint8Array;\n isLastChunk: boolean;\n };\n };\n\nexport class SendEIP712StructImplemCommand\n implements Command<void, SendEIP712StructImplemCommandArgs, EthErrorCodes>\n{\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n constructor(private readonly args: SendEIP712StructImplemCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1c,\n p1:\n this.args.type != StructImplemType.FIELD || this.args.value.isLastChunk\n ? 0x00\n : 0x01,\n p2: this.args.type,\n };\n switch (this.args.type) {\n case StructImplemType.ROOT:\n return new ApduBuilder(apduBuilderArgs)\n .addAsciiStringToData(this.args.value)\n .build();\n case StructImplemType.ARRAY:\n return new ApduBuilder(apduBuilderArgs)\n .add8BitUIntToData(this.args.value)\n .build();\n case StructImplemType.FIELD:\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.value.data)\n .build();\n }\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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEKL,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,MAAQ,IAAR,QACAA,IAAA,MAAQ,KAAR,QAHUA,OAAA,IA2BL,MAAMD,CAEb,
|
|
4
|
+
"sourcesContent": ["// https://github.com/LedgerHQ/app-ethereum/blob/develop/doc/ethapp.adoc#eip712-send-struct-implementation\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 StructImplemType {\n ROOT = 0x00,\n ARRAY = 0x0f,\n FIELD = 0xff,\n}\n\nexport type SendEIP712StructImplemCommandArgs =\n | {\n type: StructImplemType.ROOT;\n value: string;\n }\n | {\n type: StructImplemType.ARRAY;\n value: number;\n }\n | {\n type: StructImplemType.FIELD;\n value: {\n /**\n * The chunk of the data that is ready to send, that is to say, prefixed by its length in two bytes.\n * Eg. 01020304 => [0x00, 0x04, 0x01, 0x02, 0x03, 0x04] where [0x00, 0x04] are the length of the data.\n */\n data: Uint8Array;\n isLastChunk: boolean;\n };\n };\n\nexport class SendEIP712StructImplemCommand\n implements Command<void, SendEIP712StructImplemCommandArgs, EthErrorCodes>\n{\n readonly name = \"sendEIP712StructImplem\";\n private readonly errorHelper = new CommandErrorHelper<void, EthErrorCodes>(\n ETH_APP_ERRORS,\n EthAppCommandErrorFactory,\n );\n constructor(private readonly args: SendEIP712StructImplemCommandArgs) {}\n\n getApdu(): Apdu {\n const apduBuilderArgs: ApduBuilderArgs = {\n cla: 0xe0,\n ins: 0x1c,\n p1:\n this.args.type != StructImplemType.FIELD || this.args.value.isLastChunk\n ? 0x00\n : 0x01,\n p2: this.args.type,\n };\n switch (this.args.type) {\n case StructImplemType.ROOT:\n return new ApduBuilder(apduBuilderArgs)\n .addAsciiStringToData(this.args.value)\n .build();\n case StructImplemType.ARRAY:\n return new ApduBuilder(apduBuilderArgs)\n .add8BitUIntToData(this.args.value)\n .build();\n case StructImplemType.FIELD:\n return new ApduBuilder(apduBuilderArgs)\n .addBufferToData(this.args.value.data)\n .build();\n }\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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,EAAA,qBAAAC,IAAA,eAAAC,EAAAJ,GACA,IAAAK,EAQO,2CACPC,EAAmC,kCACnCC,EAAsB,qBAEtBC,EAIO,gCAEKL,OACVA,IAAA,KAAO,GAAP,OACAA,IAAA,MAAQ,IAAR,QACAA,IAAA,MAAQ,KAAR,QAHUA,OAAA,IA2BL,MAAMD,CAEb,CAME,YAA6BO,EAAyC,CAAzC,UAAAA,CAA0C,CAL9D,KAAO,yBACC,YAAc,IAAI,qBACjC,iBACA,2BACF,EAGA,SAAgB,CACd,MAAMC,EAAmC,CACvC,IAAK,IACL,IAAK,GACL,GACE,KAAK,KAAK,MAAQ,KAA0B,KAAK,KAAK,MAAM,YACxD,EACA,EACN,GAAI,KAAK,KAAK,IAChB,EACA,OAAQ,KAAK,KAAK,KAAM,CACtB,IAAK,GACH,OAAO,IAAI,cAAYA,CAAe,EACnC,qBAAqB,KAAK,KAAK,KAAK,EACpC,MAAM,EACX,IAAK,IACH,OAAO,IAAI,cAAYA,CAAe,EACnC,kBAAkB,KAAK,KAAK,KAAK,EACjC,MAAM,EACX,IAAK,KACH,OAAO,IAAI,cAAYA,CAAe,EACnC,gBAAgB,KAAK,KAAK,MAAM,IAAI,EACpC,MAAM,CACb,CACF,CAEA,cAAcC,EAA4D,CACxE,OAAO,QAAM,aAAa,KAAK,YAAY,SAASA,CAAQ,CAAC,EAAE,aAC7D,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CACF",
|
|
6
6
|
"names": ["SendEIP712StructImplemCommand_exports", "__export", "SendEIP712StructImplemCommand", "StructImplemType", "__toCommonJS", "import_device_management_kit", "import_signer_utils", "import_purify_ts", "import_ethAppErrors", "args", "apduBuilderArgs", "response"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("@ledgerhq/device-management-kit"),e=require("./SendEIP712StructImplemCommand");const s=Uint8Array.from([224,28,0,0,6,108,101,100,103,101,114]),c=Uint8Array.from([224,28,0,15,1,19]),a=Uint8Array.from([224,28,0,255,6,0,4,1,2,3,4]),m=Uint8Array.from([224,28,1,255,5,5,6,7,8,9]);describe("SendEIP712StructImplemCommand",()=>{describe("getApdu",()=>{it("should return the correct APDU for ROOT",()=>{const t={type:e.StructImplemType.ROOT,value:"ledger"},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(s)}),it("should return the correct APDU for ARRAY",()=>{const t={type:e.StructImplemType.ARRAY,value:19},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(c)}),it("should return the correct APDU for FIELD when receiving last chunk",()=>{const t={type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([0,4,1,2,3,4]),isLastChunk:!0}},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(a)}),it("should return the correct APDU for FIELD when receiving other chunk",()=>{const t={type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([5,6,7,8,9]),isLastChunk:!1}},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(m)})}),describe("parseResponse",()=>{it("should return an error if the response status code is not success",()=>{const t={data:new Uint8Array,statusCode:new Uint8Array([106,128])},r=new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"ledger"}).parseResponse(t);expect((0,o.isSuccessCommandResult)(r)).toBe(!1)}),it("should not return an error if the response status code is success",()=>{const t={data:new Uint8Array,statusCode:new Uint8Array([144,0])},n=new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"ledger"});expect(n.parseResponse(t)).toStrictEqual((0,o.CommandResultFactory)({data:void 0}))})})});
|
|
1
|
+
"use strict";var o=require("@ledgerhq/device-management-kit"),e=require("./SendEIP712StructImplemCommand");const s=Uint8Array.from([224,28,0,0,6,108,101,100,103,101,114]),c=Uint8Array.from([224,28,0,15,1,19]),a=Uint8Array.from([224,28,0,255,6,0,4,1,2,3,4]),m=Uint8Array.from([224,28,1,255,5,5,6,7,8,9]);describe("SendEIP712StructImplemCommand",()=>{describe("name",()=>{it("should be 'sendEIP712StructImplem'",()=>{const t=new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"test"});expect(t.name).toBe("sendEIP712StructImplem")})}),describe("getApdu",()=>{it("should return the correct APDU for ROOT",()=>{const t={type:e.StructImplemType.ROOT,value:"ledger"},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(s)}),it("should return the correct APDU for ARRAY",()=>{const t={type:e.StructImplemType.ARRAY,value:19},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(c)}),it("should return the correct APDU for FIELD when receiving last chunk",()=>{const t={type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([0,4,1,2,3,4]),isLastChunk:!0}},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(a)}),it("should return the correct APDU for FIELD when receiving other chunk",()=>{const t={type:e.StructImplemType.FIELD,value:{data:Uint8Array.from([5,6,7,8,9]),isLastChunk:!1}},r=new e.SendEIP712StructImplemCommand(t).getApdu();expect(r.getRawApdu()).toStrictEqual(m)})}),describe("parseResponse",()=>{it("should return an error if the response status code is not success",()=>{const t={data:new Uint8Array,statusCode:new Uint8Array([106,128])},r=new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"ledger"}).parseResponse(t);expect((0,o.isSuccessCommandResult)(r)).toBe(!1)}),it("should not return an error if the response status code is success",()=>{const t={data:new Uint8Array,statusCode:new Uint8Array([144,0])},n=new e.SendEIP712StructImplemCommand({type:e.StructImplemType.ROOT,value:"ledger"});expect(n.parseResponse(t)).toStrictEqual((0,o.CommandResultFactory)({data:void 0}))})})});
|
|
2
2
|
//# sourceMappingURL=SendEIP712StructImplemCommand.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/internal/app-binder/command/SendEIP712StructImplemCommand.test.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n type SendEIP712StructImplemCommandArgs,\n StructImplemType,\n} from \"./SendEIP712StructImplemCommand\";\n\nconst ROOT_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x00, 0x00, 0x06, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\nconst ARRAY_APDU = Uint8Array.from([0xe0, 0x1c, 0x00, 0x0f, 0x01, 0x13]);\n\nconst FIELD_LAST_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x00, 0xff, 0x06, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04,\n]);\n\nconst FIELD_OTHER_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x01, 0xff, 0x05, 0x05, 0x06, 0x07, 0x08, 0x09,\n]);\n\ndescribe(\"SendEIP712StructImplemCommand\", () => {\n describe(\"getApdu\", () => {\n it(\"should return the correct APDU for ROOT\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.ROOT,\n value: \"ledger\",\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ROOT_APDU);\n });\n it(\"should return the correct APDU for ARRAY\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.ARRAY,\n value: 19,\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ARRAY_APDU);\n });\n it(\"should return the correct APDU for FIELD when receiving last chunk\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isLastChunk: true,\n },\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIELD_LAST_CHUNK_APDU);\n });\n it(\"should return the correct APDU for FIELD when receiving other chunk\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x05, 0x06, 0x07, 0x08, 0x09]),\n isLastChunk: false,\n },\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIELD_OTHER_CHUNK_APDU);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is not success\", () => {\n // GIVEN\n const response = {\n data: new Uint8Array(),\n statusCode: new Uint8Array([0x6a, 0x80]),\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"ledger\",\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n it(\"should not return an error if the response status code is success\", () => {\n // GIVEN\n const response = {\n data: new Uint8Array(),\n statusCode: new Uint8Array([0x90, 0x00]),\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"ledger\",\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAIO,2CAEP,MAAMC,EAAY,WAAW,KAAK,CAChC,IAAM,GAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAC9D,CAAC,EAEKC,EAAa,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,GAAM,EAAM,EAAI,CAAC,EAEjEC,EAAwB,WAAW,KAAK,CAC5C,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC9D,CAAC,EAEKC,EAAyB,WAAW,KAAK,CAC7C,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAElD,MAAMC,EAA0C,CAC9C,KAAM,mBAAiB,KACvB,MAAO,QACT,EAGMC,EADU,IAAI,gCAA8BD,CAAI,EACjC,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,
|
|
6
|
-
"names": ["import_device_management_kit", "import_SendEIP712StructImplemCommand", "ROOT_APDU", "ARRAY_APDU", "FIELD_LAST_CHUNK_APDU", "FIELD_OTHER_CHUNK_APDU", "args", "apdu", "response", "result"
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\n\nimport {\n SendEIP712StructImplemCommand,\n type SendEIP712StructImplemCommandArgs,\n StructImplemType,\n} from \"./SendEIP712StructImplemCommand\";\n\nconst ROOT_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x00, 0x00, 0x06, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72,\n]);\n\nconst ARRAY_APDU = Uint8Array.from([0xe0, 0x1c, 0x00, 0x0f, 0x01, 0x13]);\n\nconst FIELD_LAST_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x00, 0xff, 0x06, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04,\n]);\n\nconst FIELD_OTHER_CHUNK_APDU = Uint8Array.from([\n 0xe0, 0x1c, 0x01, 0xff, 0x05, 0x05, 0x06, 0x07, 0x08, 0x09,\n]);\n\ndescribe(\"SendEIP712StructImplemCommand\", () => {\n describe(\"name\", () => {\n it(\"should be 'sendEIP712StructImplem'\", () => {\n const command = new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"test\",\n });\n expect(command.name).toBe(\"sendEIP712StructImplem\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the correct APDU for ROOT\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.ROOT,\n value: \"ledger\",\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ROOT_APDU);\n });\n it(\"should return the correct APDU for ARRAY\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.ARRAY,\n value: 19,\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(ARRAY_APDU);\n });\n it(\"should return the correct APDU for FIELD when receiving last chunk\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x00, 0x04, 0x01, 0x02, 0x03, 0x04]),\n isLastChunk: true,\n },\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIELD_LAST_CHUNK_APDU);\n });\n it(\"should return the correct APDU for FIELD when receiving other chunk\", () => {\n // GIVEN\n const args: SendEIP712StructImplemCommandArgs = {\n type: StructImplemType.FIELD,\n value: {\n data: Uint8Array.from([0x05, 0x06, 0x07, 0x08, 0x09]),\n isLastChunk: false,\n },\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand(args);\n const apdu = command.getApdu();\n // THEN\n expect(apdu.getRawApdu()).toStrictEqual(FIELD_OTHER_CHUNK_APDU);\n });\n });\n describe(\"parseResponse\", () => {\n it(\"should return an error if the response status code is not success\", () => {\n // GIVEN\n const response = {\n data: new Uint8Array(),\n statusCode: new Uint8Array([0x6a, 0x80]),\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"ledger\",\n });\n // THEN\n const result = command.parseResponse(response);\n expect(isSuccessCommandResult(result)).toBe(false);\n });\n it(\"should not return an error if the response status code is success\", () => {\n // GIVEN\n const response = {\n data: new Uint8Array(),\n statusCode: new Uint8Array([0x90, 0x00]),\n };\n // WHEN\n const command = new SendEIP712StructImplemCommand({\n type: StructImplemType.ROOT,\n value: \"ledger\",\n });\n // THEN\n expect(command.parseResponse(response)).toStrictEqual(\n CommandResultFactory({ data: undefined }),\n );\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "aAAA,IAAAA,EAGO,2CAEPC,EAIO,2CAEP,MAAMC,EAAY,WAAW,KAAK,CAChC,IAAM,GAAM,EAAM,EAAM,EAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAC9D,CAAC,EAEKC,EAAa,WAAW,KAAK,CAAC,IAAM,GAAM,EAAM,GAAM,EAAM,EAAI,CAAC,EAEjEC,EAAwB,WAAW,KAAK,CAC5C,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CAC9D,CAAC,EAEKC,EAAyB,WAAW,KAAK,CAC7C,IAAM,GAAM,EAAM,IAAM,EAAM,EAAM,EAAM,EAAM,EAAM,CACxD,CAAC,EAED,SAAS,gCAAiC,IAAM,CAC9C,SAAS,OAAQ,IAAM,CACrB,GAAG,qCAAsC,IAAM,CAC7C,MAAMC,EAAU,IAAI,gCAA8B,CAChD,KAAM,mBAAiB,KACvB,MAAO,MACT,CAAC,EACD,OAAOA,EAAQ,IAAI,EAAE,KAAK,wBAAwB,CACpD,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAElD,MAAMC,EAA0C,CAC9C,KAAM,mBAAiB,KACvB,MAAO,QACT,EAGMC,EADU,IAAI,gCAA8BD,CAAI,EACjC,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcN,CAAS,CACnD,CAAC,EACD,GAAG,2CAA4C,IAAM,CAEnD,MAAMK,EAA0C,CAC9C,KAAM,mBAAiB,MACvB,MAAO,EACT,EAGMC,EADU,IAAI,gCAA8BD,CAAI,EACjC,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcL,CAAU,CACpD,CAAC,EACD,GAAG,qEAAsE,IAAM,CAE7E,MAAMI,EAA0C,CAC9C,KAAM,mBAAiB,MACvB,MAAO,CACL,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,EAC1D,YAAa,EACf,CACF,EAGMC,EADU,IAAI,gCAA8BD,CAAI,EACjC,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcJ,CAAqB,CAC/D,CAAC,EACD,GAAG,sEAAuE,IAAM,CAE9E,MAAMG,EAA0C,CAC9C,KAAM,mBAAiB,MACvB,MAAO,CACL,KAAM,WAAW,KAAK,CAAC,EAAM,EAAM,EAAM,EAAM,CAAI,CAAC,EACpD,YAAa,EACf,CACF,EAGMC,EADU,IAAI,gCAA8BD,CAAI,EACjC,QAAQ,EAE7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcH,CAAsB,CAChE,CAAC,CACH,CAAC,EACD,SAAS,gBAAiB,IAAM,CAC9B,GAAG,oEAAqE,IAAM,CAE5E,MAAMI,EAAW,CACf,KAAM,IAAI,WACV,WAAY,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,CACzC,EAOMC,EALU,IAAI,gCAA8B,CAChD,KAAM,mBAAiB,KACvB,MAAO,QACT,CAAC,EAEsB,cAAcD,CAAQ,EAC7C,UAAO,0BAAuBC,CAAM,CAAC,EAAE,KAAK,EAAK,CACnD,CAAC,EACD,GAAG,oEAAqE,IAAM,CAE5E,MAAMD,EAAW,CACf,KAAM,IAAI,WACV,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,CACzC,EAEMH,EAAU,IAAI,gCAA8B,CAChD,KAAM,mBAAiB,KACvB,MAAO,QACT,CAAC,EAED,OAAOA,EAAQ,cAAcG,CAAQ,CAAC,EAAE,iBACtC,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,CACF,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["import_device_management_kit", "import_SendEIP712StructImplemCommand", "ROOT_APDU", "ARRAY_APDU", "FIELD_LAST_CHUNK_APDU", "FIELD_OTHER_CHUNK_APDU", "command", "args", "apdu", "response", "result"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var g=(e,r)=>{for(var o in r)d(e,o,{get:r[o],enumerable:!0})},E=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of i(r))!u.call(e,t)&&t!==o&&d(e,t,{get:()=>r[t],enumerable:!(s=m(r,t))||s.enumerable});return e};var A=e=>E(d({},"__esModule",{value:!0}),e);var C={};g(C,{SetExternalPluginCommand:()=>y});module.exports=A(C);var a=require("@ledgerhq/device-management-kit"),p=require("@ledgerhq/signer-utils"),l=require("purify-ts"),n=require("./utils/ethAppErrors");class y{constructor(r){this.args=r}name="setExternalPlugin";errorHelper=new p.CommandErrorHelper(n.ETH_APP_ERRORS,n.EthAppCommandErrorFactory);getApdu(){const r={cla:224,ins:18,p1:0,p2:0};return new a.ApduBuilder(r).addHexaStringToData(this.args.payload).addHexaStringToData(this.args.signature??"").build()}parseResponse(r){return l.Maybe.fromNullable(this.errorHelper.getError(r)).orDefault((0,a.CommandResultFactory)({data:void 0}))}}0&&(module.exports={SetExternalPluginCommand});
|
|
2
2
|
//# sourceMappingURL=SetExternalPluginCommand.js.map
|