From 9574a5e8007168c6e737d4bac2d9936a178c3929 Mon Sep 17 00:00:00 2001 From: shaojunda Date: Mon, 25 Jan 2021 22:18:23 +0800 Subject: [PATCH] perf: byte32 serializer --- lib/ckb/serializers/code_hash_serializer.rb | 10 +++++++--- lib/ckb/serializers/header_dep_serializer.rb | 10 +++++++--- lib/ckb/serializers/out_point_tx_hash_serializer.rb | 10 +++++++--- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lib/ckb/serializers/code_hash_serializer.rb b/lib/ckb/serializers/code_hash_serializer.rb index 867cf563..d6ef8663 100644 --- a/lib/ckb/serializers/code_hash_serializer.rb +++ b/lib/ckb/serializers/code_hash_serializer.rb @@ -7,19 +7,23 @@ class CodeHashSerializer # @param code_hash [String] def initialize(code_hash) - @byte32_serializer = Byte32Serializer.new(code_hash) + @item = if code_hash + code_hash.start_with?("0x") ? code_hash[2..-1] : code_hash + else + "" + end end private - attr_reader :byte32_serializer + attr_reader :item def layout body end def body - byte32_serializer.serialize[2..-1] + item end end end diff --git a/lib/ckb/serializers/header_dep_serializer.rb b/lib/ckb/serializers/header_dep_serializer.rb index dcc14b0b..a0226989 100644 --- a/lib/ckb/serializers/header_dep_serializer.rb +++ b/lib/ckb/serializers/header_dep_serializer.rb @@ -7,19 +7,23 @@ class HeaderDepSerializer # @param header_dep [String] def initialize(header_dep) - @byte32_serializer = Byte32Serializer.new(header_dep) + @item = if header_dep + header_dep.start_with?("0x") ? header_dep[2..-1] : header_dep + else + "" + end end private - attr_reader :byte32_serializer + attr_reader :item def layout body end def body - byte32_serializer.serialize[2..-1] + item end end end diff --git a/lib/ckb/serializers/out_point_tx_hash_serializer.rb b/lib/ckb/serializers/out_point_tx_hash_serializer.rb index 9805de3e..9d8e6684 100644 --- a/lib/ckb/serializers/out_point_tx_hash_serializer.rb +++ b/lib/ckb/serializers/out_point_tx_hash_serializer.rb @@ -7,19 +7,23 @@ class OutPointTxHashSerializer # @param tx_hash [String] def initialize(tx_hash) - @byte32_serializer = Byte32Serializer.new(tx_hash) + @item = if tx_hash + tx_hash.start_with?("0x") ? tx_hash[2..-1] : tx_hash + else + "" + end end private - attr_reader :byte32_serializer + attr_reader :item def layout body end def body - byte32_serializer.serialize[2..-1] + item end end end