1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 11:22:43 +02:00

Fix action translations edge cases

This commit is contained in:
Alexander Tseung 2018-10-05 13:02:55 -07:00
parent c8521e49ad
commit c474f30929
4 changed files with 14 additions and 2 deletions

View File

@ -31,7 +31,7 @@ export default class TransactionAction extends PureComponent {
const { transactionAction } = this.state
const { transaction, methodData } = this.props
const { data, done } = methodData
const { name } = data
const { name = '' } = data
if (!done || transactionAction) {
return

View File

@ -1,4 +1,4 @@
export function camelCaseToCapitalize (str) {
export function camelCaseToCapitalize (str = '') {
return str
.replace(/([A-Z])/g, ' $1')
.replace(/^./, str => str.toUpperCase())

View File

@ -5,6 +5,10 @@ describe('Common utils', () => {
describe('camelCaseToCapitalize', () => {
it('should return a capitalized string from a camel-cased string', () => {
const tests = [
{
test: undefined,
expected: '',
},
{
test: '',
expected: '',

View File

@ -44,6 +44,12 @@ export function isConfirmDeployContract (txData = {}) {
return !txParams.to
}
/**
* Returns the action of a transaction as a key to be passed into the translator.
* @param {Object} transaction - txData object
* @param {Object} methodData - Data returned from eth-method-registry
* @returns {string|undefined}
*/
export async function getTransactionActionKey (transaction, methodData) {
const { txParams: { data, to } = {}, msgParams, type } = transaction
@ -80,6 +86,8 @@ export async function getTransactionActionKey (transaction, methodData) {
return APPROVE_ACTION_KEY
case TOKEN_METHOD_TRANSFER_FROM:
return TRANSFER_FROM_ACTION_KEY
default:
return undefined
}
} else {
return SEND_ETHER_ACTION_KEY