From e48626f517f89863dcf2f1db85deb92f2d2709e8 Mon Sep 17 00:00:00 2001 From: Lucas Molas Date: Tue, 23 Aug 2022 12:04:07 -0300 Subject: [PATCH] chore(cmds): dag import: use ipld legacy decode --- core/commands/dag/import.go | 5 +++-- test/sharness/t0054-dag-car-import-export.sh | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/core/commands/dag/import.go b/core/commands/dag/import.go index 35b3e4764d5..87daaae1198 100644 --- a/core/commands/dag/import.go +++ b/core/commands/dag/import.go @@ -8,6 +8,7 @@ import ( cid "github.com/ipfs/go-cid" files "github.com/ipfs/go-ipfs-files" ipld "github.com/ipfs/go-ipld-format" + ipldlegacy "github.com/ipfs/go-ipld-legacy" iface "github.com/ipfs/interface-go-ipfs-core" "github.com/ipfs/interface-go-ipfs-core/options" "github.com/ipfs/kubo/core/commands/cmdenv" @@ -90,7 +91,7 @@ func dagImport(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment if block, err := node.Blockstore.Get(req.Context, c); err != nil { ret.PinErrorMsg = err.Error() - } else if nd, err := ipld.Decode(block); err != nil { + } else if nd, err := ipldlegacy.DecodeNode(req.Context, block); err != nil { ret.PinErrorMsg = err.Error() } else if err := node.Pinning.Pin(req.Context, nd, true); err != nil { ret.PinErrorMsg = err.Error() @@ -181,7 +182,7 @@ func importWorker(req *cmds.Request, re cmds.ResponseEmitter, api iface.CoreAPI, } // the double-decode is suboptimal, but we need it for batching - nd, err := ipld.Decode(block) + nd, err := ipldlegacy.DecodeNode(req.Context, block) if err != nil { return err } diff --git a/test/sharness/t0054-dag-car-import-export.sh b/test/sharness/t0054-dag-car-import-export.sh index 6f32cf27775..2dd8c70b713 100755 --- a/test/sharness/t0054-dag-car-import-export.sh +++ b/test/sharness/t0054-dag-car-import-export.sh @@ -263,4 +263,14 @@ test_expect_success "version 2 import output as expected" ' test_cmp_sorted version_2_import_expected version_2_import_actual ' +test_expect_success "'ipfs dag import' decode IPLD dag-json works" ' + HASH=$(echo "dag-json content" | ipfs add -Q) && + # We dont pipe because that doesnt release the repo lock + ipfs dag get $HASH > dag-json.out && + NEW_HASH=$(ipfs dag put --store-codec dag-json dag-json.out) && + ipfs dag export $NEW_HASH > dag-json.car && + ipfs dag import dag-json.car && + rm dag-json.out dag-json.car +' + test_done