Roman Khimov
483b875f4a
keys: simplify tests with assert package
2019-08-27 17:46:01 +03:00
Roman Khimov
b77e533d13
crypto/wallet: move public/private key into the new keys package
...
And drop associated _pkg.dev remnants (refs. #307 ).
Original `dev` branch had two separate packages for public and private keys,
but those are so intertwined (`TestHelper` subpackage is a proof) that it's
better unite them and all associated code (like WIF and NEP-2) in one
package. This patch also:
* creates internal `keytestcases` package to share things with wallet (maybe
it'll be changed in some future)
* ports some tests from `dev`
* ports Verify() method for public key from `dev`
* expands TestPrivateKey() with public key check
2019-08-27 17:45:51 +03:00
Roman Khimov
b19190b32f
_pkg.dev: drop crypto/elliptic
...
It's the same implementation that we have in pkg/crypto (based on
https://github.com/vsergeev/btckeygenie ) but with tests preserved. I don't see
any reason to port tests from it because even the pkg/crypto copy should go
away to fix #245 .
2019-08-27 17:09:24 +03:00
Roman Khimov
2275b9e4ad
_pkg.dev: drop address pkg, move test into crypto
...
address wrappers don't seem to fit well into master's code, so just drop 'em,
but pick the testing function with good known input/output pair.
2019-08-27 17:09:24 +03:00
Roman Khimov
d7701fe7db
_pkg.dev: drop util/ip package
...
It's an unneccessary kludge, master gets its IP from config and that's it.
2019-08-27 17:09:24 +03:00
Roman Khimov
5938ebb85b
_pkg.dev: drop util/io package
...
Unused.
2019-08-27 17:09:24 +03:00
Roman Khimov
10d5605166
_pkg.dev: drop Checksum package
...
Duplicates hash.Checksum slightly and doesn't seem to fit into master
well.
2019-08-27 17:09:24 +03:00
Evgeniy Kulikov
96169ef266
Merge pull request #317 from nspcc-dev/fix/data-race-in-memeory-store
...
Fix DataRace in MemoryStore
- Add RWMutex to MemoryStore struct
- Use Lock/Unlock for writing
- Use RLock/RUnlock for reading
- Fix #313 issue
2019-08-27 16:51:54 +03:00
Evgeniy Kulikov
33f59debf2
store: Fix DataRace in MemoryStore
...
- Add RWMutex to MemoryStore struct
- Use Lock/Unlock for writing
- Use RLock/RUnlock for reading
- Fix #313 issue
2019-08-27 16:48:30 +03:00
Evgeniy Kulikov
4e2071ecc2
Merge pull request #316 from nspcc-dev/proposal/use-our-rfc6979-fork
...
Use our RFC6979 fork
2019-08-27 13:15:47 +03:00
Evgeniy Kulikov
78cf3e9c5f
Use our RFC6979 fork
...
- prepare fork
- update go-modules
- update dependencies
2019-08-27 13:07:02 +03:00
Evgeniy Kulikov
46ce10cbc3
Merge pull request #312 from im-kulikov/Update-Makefile_Dockerfile_Readme
...
- Make Dockerfile useful and minimal
- Update Makefile commands build / image
- Docker should not ignore vendor (go build -mod=vendor)
- Used git to receive version from tags (see #304 )
- Version now displayed when start node (fix #102 )
```
Example:
→ ./bin/node --version
neo-go version 0.44.10-245-g67d5e9f
→ ./bin/node -v
neo-go version 0.44.10-245-g67d5e9f
```
- add go minimal version
- fix dependency manager
2019-08-26 19:35:21 +03:00
Evgeniy Kulikov
9a79c00417
Fix build node and docker-image
...
- Make Dockerfile useful and minimal
- Update Makefile commands build / image
- Docker should not ignore vendor (go build -mod=vendor)
2019-08-26 19:32:09 +03:00
Evgeniy Kulikov
902125cbeb
Change the way to receive version
...
- Used git to receive version from tags (see #304 )
- Version now displayed when start node (fix #102 )
Example:
→ ./bin/node --version
neo-go version 0.44.10-245-g67d5e9f
→ ./bin/node -v
neo-go version 0.44.10-245-g67d5e9f
2019-08-26 19:32:09 +03:00
Evgeniy Kulikov
f1cdd2222b
Update Readme
...
- add go minimal version
- fix dependency manager
2019-08-26 19:32:09 +03:00
Roman Khimov
0beb63fd47
Merge pull request #315 from nspcc-dev/drop-redundant-dev-code-part-1
...
Drop redundant dev code part 1
2019-08-26 13:45:35 +03:00
Roman Khimov
7165b5ab1e
base58: add testing from _pkg.dev
...
And drop implementation in _pkg.dev, as it's redundant. Refs. #307 .
2019-08-26 13:32:19 +03:00
Roman Khimov
ec7e17ffa6
pkg: make use of the new crypto/hash package
...
Simplifies a lot of code and removes some duplication. Unfortunately I had to
move test_util random functions in same commit to avoid cycle
dependencies. One of these random functions was also used in core/transaction
testing, to simplify things I've just dropped it there and used a static
string (which is nice to have for a test anyway).
There is still sha256 left in wallet (but it needs to pass Hash structure into
the signing function).
2019-08-26 13:32:19 +03:00
Roman Khimov
2fd782eee8
util: drop RandUint32()
...
I don't see anything useful in it, all the current users of it should just use
plain rand.Uint32() not limiting its output in any way.
2019-08-26 13:32:19 +03:00
Roman Khimov
3fa6ba9c7b
hash: simplify ripemd160 usage
...
Go's Hash is explicitly specified to never return an error on Write(), and our
own decoding functions only check for length which is gonna be right in every
case so it makes no sense returning errors from these functions.
2019-08-26 13:32:19 +03:00
Roman Khimov
80c3c9035a
hash: simplify Sha256 implementations
...
Use sha256.Sum256() and drop duplicating Sum() completely.
2019-08-26 13:32:19 +03:00
Roman Khimov
5c5878968b
hask: import package from _pkg.dev, make it compile
2019-08-26 13:32:19 +03:00
Roman Khimov
37be2e215c
array: add a test for even num of elements
...
And drop duplicating code from _pkg.dev.
2019-08-26 13:32:19 +03:00
Roman Khimov
0cde8d962d
fixed8: switch to more uniform function naming
2019-08-26 13:32:19 +03:00
Roman Khimov
b0af8b306d
fixed8: fix Satoshi() and add a test for it
2019-08-26 13:32:19 +03:00
Roman Khimov
20a4ad99b3
fixed8: add some testcases from dev, split Value functions
...
Add FloatValue() and rename Value() to Int64Value() for consistency.
2019-08-26 13:32:19 +03:00
Roman Khimov
a861f53733
fixed8: simplify arithmetic functions
...
I'm not sure they're of any use at all.
2019-08-26 13:32:19 +03:00
Roman Khimov
c67217159f
fixed8: remove trailing zeroes from string representation
...
Add some testcases from `dev` branch (with less than zero case added) and
remove useless trailing zeroes from the resulting string.
2019-08-26 13:32:19 +03:00
Roman Khimov
d5d570f793
uint256: add Reverse(), change String() to be BE
...
This one makes a little more obvious that we're operating with LE
representations mostly. Refs. #307 . See #314 also.
2019-08-26 13:32:19 +03:00
Roman Khimov
c1b1b6fca4
uint160: move ReverseString() from _pkg.dev
...
With associated test and drop duplicating Uint160 implementation from
_pkg.dev. It doesn't seem to be used in pkg code at the moment, but still it
can be useful. Refs #307 .
2019-08-26 13:32:19 +03:00
Roman Khimov
bc0a4671d4
_pkg.dev: drop crypto/aes, refs #307
...
Duplicated by pkg/crypto/aes256.go.
2019-08-23 19:29:09 +03:00
Roman Khimov
4640394aca
_pkg.dev: drop internal rfc6979 package
...
Reuse anthdm/rfc6979. Closes #285 .
2019-08-23 19:29:09 +03:00
Vsevolod
caaba8e874
Merge pull request #308 from nspcc-dev/circleci-update-306
...
circleci: update config to include cli and docker builds
2019-08-21 22:10:45 +03:00
Vsevolod
8dfbf3b548
Merge pull request #310 from nspcc-dev/im-kulikov-patch-1
...
Update Readme
2019-08-21 22:07:47 +03:00
Evgeniy Kulikov
deed6f4943
Update Readme
...
- update links
- update head / badges
2019-08-21 20:47:41 +03:00
Roman Khimov
16e0fcde1f
circleci: update tag specs in workflows
...
Use go-style version tags as suggested by @im-kulikov.
2019-08-21 20:02:43 +03:00
Roman Khimov
79ccfb9b1c
Merge pull request #309 from nspcc-dev/readme-update
...
Update Readme
2019-08-21 19:46:19 +03:00
Vsevolod
642fad0cd3
Update Readme
...
Add current NEO pic
Add @volekerb and @roman-khimov in Contacts
Add links to docs
2019-08-21 19:30:21 +03:00
Roman Khimov
8ff9121ee5
circleci: update config to include cli and docker builds
...
Merges old config into the new one, closes #306 .
2019-08-21 19:12:13 +03:00
Roman Khimov
18d971440b
vm: expand binary expr tests with cases from #294
...
Make a full set of numeric/string comparisons with `==` and `!=` being
evaluated to true and false.
2019-08-20 20:43:43 +03:00
Roman Khimov
9b421874ae
vm: enable assign/binary/numeric/struct tests
...
These were not used for some reason.
2019-08-20 20:37:06 +03:00
Roman Khimov
0309cff5a2
vm: implement EQUAL via reflection
...
Fixes failing tests.
2019-08-20 19:46:52 +03:00
Roman Khimov
d26be7dcc1
docs: drop contribution.md from dev
...
I don't think it adds anything useful over the existing top-level
CONTRIBUTING.md.
2019-08-20 19:09:17 +03:00
Roman Khimov
4e077838a2
CONTRIBUTING: adapt to new reality a bit
...
See #298 for example.
2019-08-20 19:07:58 +03:00
Roman Khimov
e3e731fe47
LICENSE.md: rename from LICENCE.md
...
Fix obvious typo.
2019-08-20 18:47:08 +03:00
Roman Khimov
e0fbf59875
Gopkg*: drop obsolete packaging things
...
We're using modules now.
2019-08-20 18:46:59 +03:00
Roman Khimov
c7bb464b92
main.go: drop it, useless in master branch
...
Brought by the `dev` merge originally.
2019-08-20 18:45:25 +03:00
Roman Khimov
beec8f114a
Merge branch 'dev-prepared-for-master' into mastev
...
See #283 for details. This just makes the `dev` code available in the `master`
branch without any attempt to make it really do something.
2019-08-20 18:44:09 +03:00
Roman Khimov
ddd1d92ff1
pkg: hide it by moving to _pkg.dev
...
The idea here is to preserve the history of `dev` branch development and its
code when merging with the `master`. Later this code could be moved into the
masters code where appropriate.
2019-08-20 18:39:50 +03:00
Roman Khimov
bb2568cc53
Merge pull request #301 from nspcc-dev/fix-sigsegv-on-failed-bind
...
connmgr: correctly pass binding error to the server
2019-08-19 20:22:55 +03:00