|
|
|
// next version number
|
|
|
|
import { TRANSACTION_STATUSES } from '../../../shared/constants/transaction'
|
|
|
|
import failTxsThat from './fail-tx'
|
|
|
|
|
|
|
|
const version = 29
|
|
|
|
|
|
|
|
// time
|
|
|
|
const seconds = 1000
|
|
|
|
const minutes = 60 * seconds
|
|
|
|
const hours = 60 * minutes
|
|
|
|
const unacceptableDelay = 12 * hours
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
normalizes txParams on unconfirmed txs
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
export default {
|
|
|
|
version,
|
|
|
|
|
|
|
|
migrate: failTxsThat(
|
|
|
|
version,
|
|
|
|
'Stuck in approved state for too long.',
|
|
|
|
(txMeta) => {
|
|
|
|
const isApproved = txMeta.status === TRANSACTION_STATUSES.APPROVED
|
|
|
|
const createdTime = txMeta.submittedTime
|
|
|
|
const now = Date.now()
|
|
|
|
return isApproved && now - createdTime > unacceptableDelay
|
|
|
|
},
|
|
|
|
),
|
|
|
|
}
|