forked from cerc-io/cosmos-explorer
37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import compareVersions from 'compare-versions'
|
|
import Token from './token'
|
|
|
|
export default class StdTx {
|
|
constructor() {
|
|
this.type = ''
|
|
this.fee = [new Token()]
|
|
this.gas = 0
|
|
this.memo = ''
|
|
this.messages = null
|
|
this.signatures = []
|
|
this.timeout_height = 0
|
|
}
|
|
|
|
static create(element, version = '0.40') {
|
|
const self = new StdTx()
|
|
if (compareVersions(version, '0.40') < 1) {
|
|
self.type = element.type
|
|
self.fee = element.value.fee.amount
|
|
self.gas = element.value.fee.gas
|
|
self.memo = element.value.memo
|
|
self.messages = element.value.msg
|
|
self.signatures = element.value.signatures
|
|
self.timeout_height = 0
|
|
} else {
|
|
self.type = element['@type']
|
|
self.fee = element.auth_info.fee.amount
|
|
self.gas = element.auth_info.fee.gas_limit
|
|
self.memo = element.body.memo
|
|
self.messages = element.body.messages
|
|
self.signatures = element.signatures
|
|
self.timeout_height = element.body.timeout_height
|
|
}
|
|
return self
|
|
}
|
|
}
|