Skip to content

Commit 30d3db4

Browse files
committed
update
1 parent 1788979 commit 30d3db4

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

data/basics/address.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,23 @@ import (
2424
"github.com/algorand/go-algorand/crypto"
2525
)
2626

27+
// NOTE: Another (partial) implementation of `basics.Address` is in `data/abi`.
28+
// The reason of not using this `Address` in `data/abi` is that:
29+
// - `data/basics` has C dependencies (`go-algorand/crypto`)
30+
// - `go-algorand-sdk` has dependency to `go-algorand` for `ABI`
31+
// - if `go-algorand`'s ABI uses `basics.Address`, then it would be
32+
// impossible to up the version of `go-algorand` in `go-algorand-sdk`
33+
34+
// This is discussed in:
35+
// - ISSUE https://github.com/algorand/go-algorand/issues/3355
36+
// - PR https://github.com/algorand/go-algorand/pull/3375
37+
38+
// There are two solutions:
39+
// - One is to refactoring `crypto.Digest`, `crypto.Hash` and `basics.Address`
40+
// into packages that does not need `libsodium` crypto dependency
41+
// - The other is wrapping `libsodium` in a driver interface to make crypto
42+
// package importable (even if `libsodium` does not exist)
43+
2744
type (
2845
// Address is a unique identifier corresponding to ownership of money
2946
Address crypto.Digest

0 commit comments

Comments
 (0)