You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
7 years ago
|
import React, { Component } from 'react'
|
||
|
import PropTypes from 'prop-types'
|
||
|
import ethUtil from 'ethereumjs-util'
|
||
|
import ConfirmTransactionBase from '../confirm-transaction-base'
|
||
|
|
||
|
export default class ConfirmDeployContract extends Component {
|
||
|
static contextTypes = {
|
||
|
t: PropTypes.func,
|
||
|
}
|
||
|
|
||
|
static propTypes = {
|
||
|
txData: PropTypes.object,
|
||
|
}
|
||
|
|
||
|
renderData () {
|
||
|
const { t } = this.context
|
||
|
const {
|
||
|
txData: {
|
||
|
origin,
|
||
|
txParams: {
|
||
|
data,
|
||
|
} = {},
|
||
|
} = {},
|
||
|
} = this.props
|
||
|
|
||
|
return (
|
||
|
<div className="confirm-page-container-content__data">
|
||
|
<div className="confirm-page-container-content__data-box">
|
||
|
<div className="confirm-page-container-content__data-field">
|
||
|
<div className="confirm-page-container-content__data-field-label">
|
||
|
{ `${t('origin')}:` }
|
||
|
</div>
|
||
|
<div>
|
||
|
{ origin }
|
||
|
</div>
|
||
|
</div>
|
||
|
<div className="confirm-page-container-content__data-field">
|
||
|
<div className="confirm-page-container-content__data-field-label">
|
||
|
{ `${t('bytes')}:` }
|
||
|
</div>
|
||
|
<div>
|
||
|
{ ethUtil.toBuffer(data).length }
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div className="confirm-page-container-content__data-box-label">
|
||
|
{ `${t('hexData')}:` }
|
||
|
</div>
|
||
|
<div className="confirm-page-container-content__data-box">
|
||
|
{ data }
|
||
|
</div>
|
||
|
</div>
|
||
|
)
|
||
|
}
|
||
|
|
||
|
render () {
|
||
|
return (
|
||
|
<ConfirmTransactionBase
|
||
|
action={this.context.t('contractDeployment')}
|
||
|
dataComponent={this.renderData()}
|
||
|
/>
|
||
|
)
|
||
|
}
|
||
|
}
|