diff --git a/go.mod b/go.mod index 7a21115604c410f888ed14418abfcd4c2dd2a39d..7009a6e4134d660b1a7b9a34be3a6654500f9192 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,5 @@ go 1.15 require ( github.com/ipfs/go-cid v0.0.7 github.com/ipld/go-ipld-prime v0.9.0 - github.com/mr-tron/base58 v1.2.0 // indirect - github.com/multiformats/go-varint v0.0.6 // indirect github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 ) diff --git a/go.sum b/go.sum index dcd79d47eea71d9257bd8555a713759a0c82b767..3b635d74c28beb9e2f4ede9dba5f96846651f576 100644 --- a/go.sum +++ b/go.sum @@ -5,10 +5,6 @@ github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORR github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= github.com/ipfs/go-cid v0.0.7 h1:ysQJVJA3fNDF1qigJbsSQOdjhVLsOEoPdh0+R97k3jY= github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= -github.com/ipld/go-ipld-prime v0.7.0 h1:eigF1ZpaL1prbsKYVMqPLoPJqD/pzkQOe2j1uzvVg7w= -github.com/ipld/go-ipld-prime v0.7.0/go.mod h1:0xEgdD6MKbZ1vF0GC+YcR/C4SQCAlRuOjIJ2i0HxqzM= -github.com/ipld/go-ipld-prime v0.7.1-0.20210225173718-8fef5312eb12 h1:O9VMUYa2ktly9ql6W0LG0k8lXqg3bqz2ZfbaHXN3law= -github.com/ipld/go-ipld-prime v0.7.1-0.20210225173718-8fef5312eb12/go.mod h1:0xEgdD6MKbZ1vF0GC+YcR/C4SQCAlRuOjIJ2i0HxqzM= github.com/ipld/go-ipld-prime v0.9.0 h1:N2OjJMb+fhyFPwPnVvJcWU/NsumP8etal+d2v3G4eww= github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= @@ -21,8 +17,6 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= -github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -39,8 +33,6 @@ github.com/multiformats/go-multibase v0.0.3 h1:l/B6bJDQjvQ5G52jw4QGSYeOTZoAwIO77 github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= -github.com/multiformats/go-multihash v0.0.14 h1:QoBceQYQQtNUuf6s7wHxnE2c8bhbMqhfGzNI032se/I= -github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= github.com/multiformats/go-multihash v0.0.15 h1:hWOPdrNqDjwHDx82vsYGSDZNyktOJJ2dzZJzFkOV1jM= github.com/multiformats/go-multihash v0.0.15/go.mod h1:D6aZrWNLFTV/ynMpKsNtB40mJzmCl4jb1alC0OvHiHg= github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= @@ -53,15 +45,11 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykE github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a h1:G++j5e0OC488te356JvdhaM8YS6nMsjLAYF7JxCv07w= github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad h1:DN0cp81fZ3njFcrLCytUHRSUkqBjfTo4Tx9RJTWs0EY= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -69,14 +57,9 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201223074533-0d417f636930 h1:vRgIt+nup/B/BwIS0g2oC0haq0iqbV3ZA+u6+0TlNCo= -golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/marshal.go b/marshal.go index fe78e10f7a860c3a1ec49305aa684571b5978357..25e0f64c286167ae334af2ffe28c7d59e3effeb2 100644 --- a/marshal.go +++ b/marshal.go @@ -1,6 +1,7 @@ package dagpb import ( + "fmt" "io" math_bits "math/bits" "sort" @@ -8,7 +9,6 @@ import ( "github.com/ipfs/go-cid" ipld "github.com/ipld/go-ipld-prime" cidlink "github.com/ipld/go-ipld-prime/linking/cid" - "golang.org/x/xerrors" ) type pbLink struct { @@ -63,7 +63,7 @@ func Marshal(inNode ipld.Node, out io.Writer) error { if !ok { // this _should_ be taken care of by the Typed conversion above with // "missing required fields: Hash" - return xerrors.Errorf("invalid DAG-PB form (link must have a Hash)") + return fmt.Errorf("invalid DAG-PB form (link must have a Hash)") } pbLinks[ii].hash = cl.Cid } @@ -94,7 +94,7 @@ func Marshal(inNode ipld.Node, out io.Writer) error { return err } if tsize < 0 { - return xerrors.Errorf("Link has negative Tsize value [%v]", tsize) + return fmt.Errorf("Link has negative Tsize value [%v]", tsize) } utsize := uint64(tsize) pbLinks[ii].tsize = utsize @@ -116,7 +116,7 @@ func Marshal(inNode ipld.Node, out io.Writer) error { return err } if wrote != size { - return xerrors.Errorf("bad PBLink marshal, wrote wrong number of bytes") + return fmt.Errorf("bad PBLink marshal, wrote wrong number of bytes") } out.Write(chunk) } diff --git a/unmarshal.go b/unmarshal.go index 90f4a8a8709f1c4bef6316310436d57fd72d3680..f1e35d14c8eb4fa8b0db56773cea272af1e830cf 100644 --- a/unmarshal.go +++ b/unmarshal.go @@ -1,18 +1,18 @@ package dagpb import ( + "fmt" "io" "github.com/ipfs/go-cid" ipld "github.com/ipld/go-ipld-prime" cidlink "github.com/ipld/go-ipld-prime/linking/cid" "github.com/polydawn/refmt/shared" - "golang.org/x/xerrors" ) // ErrIntOverflow is returned a varint overflows during decode, it indicates // malformed data -var ErrIntOverflow = xerrors.Errorf("protobuf: varint overflow") +var ErrIntOverflow = fmt.Errorf("protobuf: varint overflow") // Unmarshal provides an IPLD codec decode interface for DAG-PB data. Provide // a compatible NodeAssembler and a byte source to unmarshal a DAG-PB IPLD @@ -46,12 +46,12 @@ func Unmarshal(na ipld.NodeAssembler, in io.Reader) error { return err } if wireType != 2 { - return xerrors.Errorf("protobuf: (PBNode) invalid wireType, expected 2, got %d", wireType) + return fmt.Errorf("protobuf: (PBNode) invalid wireType, expected 2, got %d", wireType) } if fieldNum == 1 { if haveData { - return xerrors.Errorf("protobuf: (PBNode) duplicate Data section") + return fmt.Errorf("protobuf: (PBNode) duplicate Data section") } var chunk []byte if chunk, err = decodeBytes(reader); err != nil { @@ -72,7 +72,7 @@ func Unmarshal(na ipld.NodeAssembler, in io.Reader) error { haveData = true } else if fieldNum == 2 { if haveData { - return xerrors.Errorf("protobuf: (PBNode) invalid order, found Data before Links content") + return fmt.Errorf("protobuf: (PBNode) invalid order, found Data before Links content") } bytesLen, err := decodeVarint(reader) @@ -90,7 +90,7 @@ func Unmarshal(na ipld.NodeAssembler, in io.Reader) error { return err } } else { - return xerrors.Errorf("protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got %d", fieldNum) + return fmt.Errorf("protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got %d", fieldNum) } } @@ -112,7 +112,7 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) if readBytes == length { break } else if readBytes > length { - return xerrors.Errorf("protobuf: (PBLink) bad length for link") + return fmt.Errorf("protobuf: (PBLink) bad length for link") } fieldNum, wireType, err := decodeKey(reader) if err != nil { @@ -121,16 +121,16 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) if fieldNum == 1 { if haveHash { - return xerrors.Errorf("protobuf: (PBLink) duplicate Hash section") + return fmt.Errorf("protobuf: (PBLink) duplicate Hash section") } if haveName { - return xerrors.Errorf("protobuf: (PBLink) invalid order, found Name before Hash") + return fmt.Errorf("protobuf: (PBLink) invalid order, found Name before Hash") } if haveTsize { - return xerrors.Errorf("protobuf: (PBLink) invalid order, found Tsize before Hash") + return fmt.Errorf("protobuf: (PBLink) invalid order, found Tsize before Hash") } if wireType != 2 { - return xerrors.Errorf("protobuf: (PBLink) wrong wireType (%d) for Hash", wireType) + return fmt.Errorf("protobuf: (PBLink) wrong wireType (%d) for Hash", wireType) } var chunk []byte @@ -139,7 +139,7 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) } var c cid.Cid if _, c, err = cid.CidFromBytes(chunk); err != nil { - return xerrors.Errorf("invalid Hash field found in link, expected CID (%v)", err) + return fmt.Errorf("invalid Hash field found in link, expected CID (%v)", err) } if err := ma.AssembleKey().AssignString("Hash"); err != nil { return err @@ -150,13 +150,13 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) haveHash = true } else if fieldNum == 2 { if haveName { - return xerrors.Errorf("protobuf: (PBLink) duplicate Name section") + return fmt.Errorf("protobuf: (PBLink) duplicate Name section") } if haveTsize { - return xerrors.Errorf("protobuf: (PBLink) invalid order, found Tsize before Name") + return fmt.Errorf("protobuf: (PBLink) invalid order, found Tsize before Name") } if wireType != 2 { - return xerrors.Errorf("protobuf: (PBLink) wrong wireType (%d) for Name", wireType) + return fmt.Errorf("protobuf: (PBLink) wrong wireType (%d) for Name", wireType) } var chunk []byte @@ -172,10 +172,10 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) haveName = true } else if fieldNum == 3 { if haveTsize { - return xerrors.Errorf("protobuf: (PBLink) duplicate Tsize section") + return fmt.Errorf("protobuf: (PBLink) duplicate Tsize section") } if wireType != 0 { - return xerrors.Errorf("protobuf: (PBLink) wrong wireType (%d) for Tsize", wireType) + return fmt.Errorf("protobuf: (PBLink) wrong wireType (%d) for Tsize", wireType) } var v uint64 @@ -190,12 +190,12 @@ func unmarshalLink(reader shared.SlickReader, length int, ma ipld.MapAssembler) } haveTsize = true } else { - return xerrors.Errorf("protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got %d", fieldNum) + return fmt.Errorf("protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got %d", fieldNum) } } if !haveHash { - return xerrors.Errorf("invalid Hash field found in link, expected CID") + return fmt.Errorf("invalid Hash field found in link, expected CID") } return nil @@ -222,7 +222,7 @@ func decodeBytes(reader shared.SlickReader) ([]byte, error) { } byts, err := reader.Readn(int(bytesLen)) if err != nil { - return nil, xerrors.Errorf("protobuf: unexpected read error: %w", err) + return nil, fmt.Errorf("protobuf: unexpected read error: %w", err) } return byts, nil } @@ -236,7 +236,7 @@ func decodeVarint(reader shared.SlickReader) (uint64, error) { } b, err := reader.Readn1() if err != nil { - return 0, xerrors.Errorf("protobuf: unexpected read error: %w", err) + return 0, fmt.Errorf("protobuf: unexpected read error: %w", err) } v |= uint64(b&0x7F) << shift if b < 0x80 {