UNPKG

@aeternity/aepp-calldata

Version:
27 lines (22 loc) 682 B
import RLP from 'rlp' import FateTag from '../FateTag.js' import BaseSerializer from './BaseSerializer.js' import FateContractAddress from '../types/FateContractAddress.js' class ContractSerializer extends BaseSerializer { serialize(data) { return [ FateTag.OBJECT, FateTag.OTYPE_CONTRACT, ...RLP.encode(data.value) ] } deserializeStream(data) { const buffer = new Uint8Array(data) const decoded = RLP.decode(buffer.slice(2), true) return [ new FateContractAddress(decoded.data), new Uint8Array(decoded.remainder) ] } } export default ContractSerializer