Skip to content
This repository was archived by the owner on Jun 12, 2023. It is now read-only.

Commit

Permalink
Attempt more record upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
Vagabond committed Oct 4, 2022
1 parent 5feac7a commit 4b91243
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/poc/miner_poc_mgr.erl
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ local_poc(OnionKeyHash) ->
case rocksdb:get(DB, CF, OnionKeyHash, []) of
{ok, Bin} ->
[POC] = erlang:binary_to_term(Bin),
{ok, POC};
{ok, upgrade_responses(POC)};
not_found ->
{error, not_found};
Error ->
Expand Down Expand Up @@ -930,6 +930,14 @@ update_addr_hash(Bloom, Element) ->
end
end.

upgrade_responses(#local_poc{responses=Responses}=POC) ->
NewResponses = maps:map(fun(_Key, Value) when element(1, Value) == blockchain_poc_receipt_v1_pb ->
blockchain_poc_receipt_v1:maybe_upgrade(Value);
(_Key, Value) when element(1, Value) == blockchain_poc_witness_v1_pb ->
blockchain_poc_witness_v1:maybe_upgrade(Value)
end, Responses),
POC#local_poc{responses=NewResponses}.

%% ------------------------------------------------------------------
%% DB functions
%% ------------------------------------------------------------------
Expand All @@ -941,7 +949,7 @@ local_pocs(Itr, {error, invalid_iterator}, Acc) ->
catch rocksdb:iterator_close(Itr),
Acc;
local_pocs(Itr, {ok, _, LocalPOCBin}, Acc) ->
local_pocs(Itr, rocksdb:iterator_move(Itr, next), [binary_to_term(LocalPOCBin)|Acc]).
local_pocs(Itr, rocksdb:iterator_move(Itr, next), [upgrade_responses(binary_to_term(LocalPOCBin))|Acc]).

local_poc_keys(#state{db=DB, local_poc_keys_cf=CF}) ->
{ok, Itr} = rocksdb:iterator(DB, CF, []),
Expand Down

0 comments on commit 4b91243

Please sign in to comment.