cosmos-explorer/src/libs/data/msg-transfer.js
2021-12-04 15:47:48 +08:00

167 lines
5.7 KiB
JavaScript

// eslint-disable-next-line import/no-extraneous-dependencies
const long1 = require('long')
const minimal1 = require('protobufjs-dbx/minimal')
const coin1 = require('cosmjs-types/cosmos/base/v1beta1/coin')
const client1 = require('cosmjs-types/ibc/core/client/v1/client')
const baseMsgTransfer = {
sourcePort: '',
sourceChannel: '',
sender: '',
receiver: '',
timeoutTimestamp: '0',
}
exports.MsgTransfer = {
encode(message, writer = minimal1.default.Writer.create()) {
if (message.sourcePort !== '') {
writer.uint32(10).string(message.sourcePort)
}
if (message.sourceChannel !== '') {
writer.uint32(18).string(message.sourceChannel)
}
if (message.token !== undefined) {
coin1.Coin.encode(message.token, writer.uint32(26).fork()).ldelim()
}
if (message.sender !== '') {
writer.uint32(34).string(message.sender)
}
if (message.receiver !== '') {
writer.uint32(42).string(message.receiver)
}
if (message.timeoutHeight !== undefined) {
client1.Height.encode(message.timeoutHeight, writer.uint32(50).fork()).ldelim()
}
if (!message.timeoutTimestamp.isZero()) {
writer.uint32(56).uint64(message.timeoutTimestamp)
}
return writer
},
decode(input, length) {
const reader = input instanceof minimal1.default.Reader ? input : new minimal1.default.Reader(input)
const end = length === undefined ? reader.len : reader.pos + length
const message = { ...baseMsgTransfer }
while (reader.pos < end) {
const tag = reader.uint32()
// eslint-disable-next-line no-bitwise
switch (tag >>> 3) {
case 1:
message.sourcePort = reader.string()
break
case 2:
message.sourceChannel = reader.string()
break
case 3:
message.token = coin1.Coin.decode(reader, reader.uint32())
break
case 4:
message.sender = reader.string()
break
case 5:
message.receiver = reader.string()
break
case 6:
message.timeoutHeight = client1.Height.decode(reader, reader.uint32())
break
case 7:
message.timeoutTimestamp = reader.uint64()
break
default:
// eslint-disable-next-line no-bitwise
reader.skipType(tag & 7)
break
}
}
return message
},
fromJSON(object) {
const message = { ...baseMsgTransfer }
if (object.sourcePort !== undefined && object.sourcePort !== null) {
message.sourcePort = String(object.sourcePort)
} else {
message.sourcePort = ''
}
if (object.sourceChannel !== undefined && object.sourceChannel !== null) {
message.sourceChannel = String(object.sourceChannel)
} else {
message.sourceChannel = ''
}
if (object.token !== undefined && object.token !== null) {
message.token = coin1.Coin.fromJSON(object.token)
} else {
message.token = undefined
}
if (object.sender !== undefined && object.sender !== null) {
message.sender = String(object.sender)
} else {
message.sender = ''
}
if (object.receiver !== undefined && object.receiver !== null) {
message.receiver = String(object.receiver)
} else {
message.receiver = ''
}
if (object.timeoutHeight !== undefined && object.timeoutHeight !== null) {
message.timeoutHeight = client1.Height.fromJSON(object.timeoutHeight)
} else {
message.timeoutHeight = undefined
}
if (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null) {
message.timeoutTimestamp = long1.default.fromString(object.timeoutTimestamp)
} else {
message.timeoutTimestamp = long1.default.UZERO
}
return message
},
toJSON(message) {
const obj = {}
if (message.sourcePort !== undefined) obj.sourcePort = message.sourcePort
if (message.sourceChannel !== undefined) obj.sourceChannel = message.sourceChannel
if (message.token !== undefined) obj.token = message.token ? coin1.Coin.toJSON(message.token) : undefined
if (message.sender !== undefined) obj.sender = message.sender
if (message.receiver !== undefined) obj.receiver = message.receiver
if (message.timeoutHeight !== undefined) obj.timeoutHeight = message.timeoutHeight ? client1.Height.toJSON(message.timeoutHeight) : undefined
if (message.timeoutTimestamp !== undefined) obj.timeoutTimestamp = (message.timeoutTimestamp || '0').toString()
return obj
},
fromPartial(object) {
const message = { ...baseMsgTransfer }
if (object.sourcePort !== undefined && object.sourcePort !== null) {
message.sourcePort = object.sourcePort
} else {
message.sourcePort = ''
}
if (object.sourceChannel !== undefined && object.sourceChannel !== null) {
message.sourceChannel = object.sourceChannel
} else {
message.sourceChannel = ''
}
if (object.token !== undefined && object.token !== null) {
message.token = coin1.Coin.fromPartial(object.token)
} else {
message.token = undefined
}
if (object.sender !== undefined && object.sender !== null) {
message.sender = object.sender
} else {
message.sender = ''
}
if (object.receiver !== undefined && object.receiver !== null) {
message.receiver = object.receiver
} else {
message.receiver = ''
}
if (object.timeoutHeight !== undefined && object.timeoutHeight !== null) {
message.timeoutHeight = client1.Height.fromPartial(object.timeoutHeight)
} else {
message.timeoutHeight = undefined
}
if (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null) {
message.timeoutTimestamp = object.timeoutTimestamp
} else {
message.timeoutTimestamp = long1.default.UZERO
}
return message
},
}