@aeternity/aepp-calldata
Version:
Aeternity data serialization library
27 lines (22 loc) • 701 B
JavaScript
import RLP from 'rlp'
import FateTag from '../FateTag.js'
import BaseSerializer from './BaseSerializer.js'
import FateOracleQueryAddress from '../types/FateOracleQueryAddress.js'
class OracleQuerySerializer extends BaseSerializer {
serialize(data) {
return [
FateTag.OBJECT,
FateTag.OTYPE_ORACLE_QUERY,
...RLP.encode(data.value)
]
}
deserializeStream(data) {
const buffer = new Uint8Array(data)
const decoded = RLP.decode(buffer.slice(2), true)
return [
new FateOracleQueryAddress(decoded.data),
new Uint8Array(decoded.remainder)
]
}
}
export default OracleQuerySerializer