Anthony De Meulemeester
b97e5aafec
Fix/bugs ( CityOfZion/neo-storm#38 )
...
* Fixed bug where void functions cleaned up their mess multiple times
* Compiler improvements
* Fixed Neo APIs naming convention
* Added NOP after syscall for matching AVM files with neo-python.
Imported from CityOfZion/neo-storm (f93a28ef87d272a74f821d45ae0c6735a8c610be).
2019-08-14 19:14:07 +03:00
Anthony De Meulemeester
f547708e10
Implemented detailed init command ( CityOfZion/neo-storm#37 )
...
* Implemented detailed init command
* add command for skipping contract information
Imported from CityOfZion/neo-storm (0ef8b983ef43ef2eb8e9f190f1f36dc0e839bbc1).
2019-08-14 19:14:07 +03:00
Anthony De Meulemeester
54a886a7fe
Added docs folder with first draft of the runtime and smart contract API ( CityOfZion/neo-storm#31 )
...
* Added docs folder with first draft of the runtime and smart contract API
* Draft of the runtime/neo smart contract api
* Added more API documentation.
* Added the last API documentation for the NEO runtime and interop functions.
Imported from CityOfZion/neo-storm (bc7749ee08f2f48b87f13400e5917ee28e854d86).
2019-08-14 19:14:07 +03:00
Anthony De Meulemeester
55966c7e07
Draft of iterator and enumerator ( CityOfZion/neo-storm#26 )
...
* Draft of iterator and enumerator
* Added iterator API to the syscall mapping
* Added draft of the enumerator.go file
* Added enumerator interop API.
* Updated the changelog
Imported from CityOfZion/neo-storm (156093318b8612e810965bb1ea26e1babfb46cdd).
2019-08-14 19:14:06 +03:00
Ankur Srivastava
3fc25e1431
fixes CityOfZion/neo-storm#16
...
* A new command `cli init --name testcontract` now creates a directory testcontract/main.go
Imported from CityOfZion/neo-storm (331585e51ce13b6fe902b7a352b150c5b457a4f5).
2019-08-14 19:14:06 +03:00
Jeroen Peeters
df173c295d
chore: change CompareBytes to EqualBytes ( CityOfZion/neo-storm#22 )
...
* chore: change CompareBytes to EqualBytes
* chore: remove trailing spaces
* chore: rename EqualBytes to Equals
Imported from CityOfZion/neo-storm (da16e967d9631e132488731a42966bccb5ad7f30).
2019-08-14 19:14:06 +03:00
Anthony De Meulemeester
f14833893c
CityOfZion/neo-storm#17 Implemented util.CompareBytes ( CityOfZion/neo-storm#21 )
...
Imported from CityOfZion/neo-storm (c0ee185a7cfd2c222fb7b4c8ca19885844d53855).
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
b997eeb051
fixed token example and fixed compiler test with multiple dirs ( CityOfZion/neo-storm#20 )
...
Imported from CityOfZion/neo-storm (2d0814a04c34f320dee41674066ccd766a7a8ea1).
2019-08-14 19:14:05 +03:00
Jeroen Peeters
1f8ccdba16
chore: move token example to nep5 as package name ( CityOfZion/neo-storm#19 )
...
* feat: add token example
* feat: code splitted package
* feat: use updated apis
* chore: change token namespace to nep5
* chore: add transfer event and readme updates
Imported from CityOfZion/neo-storm (63ec2d7dc23a60f128a8b383ceda1eaa15d919c1).
2019-08-14 19:14:05 +03:00
Jeroen Peeters
b3037cd598
Token Example ( CityOfZion/neo-storm#12 )
...
* feat: add token example
* feat: code splitted package
* feat: use updated apis
Imported from CityOfZion/neo-storm (e2bab450d7355b559ae2d70a87f557e8a6dbfff6).
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
8bfaed0e4b
added in the crypto helper api for smart contracts. ( CityOfZion/neo-storm#15 )
...
Imported from CityOfZion/neo-storm (ad6e9dae46846f97a7da6dd48bf55ad554d612b3).
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
9e15ab04ce
Added missing execution interop api ( CityOfZion/neo-storm#14 )
...
Imported from CityOfZion/neo-storm (ab12273da74e0d35df8863f08f1a914723d2bdba).
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
0b33cf3193
new mapping for interop api ( CityOfZion/neo-storm#10 )
...
* new mapping for interop api
* Fixed interop API mapping + added missing apis
* added engine apis
Imported from CityOfZion/neo-storm (ec5e6c8e2b587704a1e071e83b633d2d3a235300).
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
2fbb269c0d
added compiler to test all example files. ( CityOfZion/neo-storm#9 )
...
Imported from CityOfZion/neo-storm (e756a91b292f525f2cd7e6d6c05b46df582c8ece).
2019-08-14 19:14:05 +03:00
Roman Khimov
d804b517fc
examples/token-sale: drop binary avm from the repo
...
It's easily reproduced from the token_sale.go and it's confusing the compiler
test.
2019-08-14 19:14:05 +03:00
Anthony De Meulemeester
05cd2775e2
renamed path to match the new project name ( CityOfZion/neo-storm#8 )
...
Imported from CityOfZion/neo-storm (d022d46cd851de78ee041851a80dc34e3b3b68d1).
2019-08-14 19:14:04 +03:00
Anthony De Meulemeester
523789ee1c
Compiler interop APIs ( CityOfZion/neo-storm#5 )
...
* added draft of block and transaction interop api.
* added header interop API
* added attribute, transaction, input, output interop API
* Added asset, attribute and account interop api.
* added Runtime interop apis
* added asset renew and create + contract and asset interop apis
Imported from CityOfZion/neo-storm (b6810d58b98312a959980f344db24689839574c4).
2019-08-14 19:13:56 +03:00
Jeroen Peeters
e4c80a001c
feat: add Log, Notify and Triggers
...
Imported from CityOfZion/neo-storm (5065465e39fd2b308c487f49f75f517620139660).
2019-08-14 18:59:34 +03:00
Jeroen Peeters
e6c16a6a24
chore: use shorthand in example
...
Imported from CityOfZion/neo-storm (a2f2da87fcfb1a4f8ccdb48a043f98ff47bb3e89).
2019-08-14 18:59:06 +03:00
Jeroen Peeters
29f05c0edb
chore: move examples out of separate folder
...
Imported from CityOfZion/neo-storm (7eb644415d4083572c4e74590da056319c3a54fb).
2019-08-14 18:58:41 +03:00
Jeroen Peeters
90809ee73e
chore: use Context interface
...
Imported from CityOfZion/neo-storm (16c6f9fab7de374196a4fb352d781abeebb384c1).
2019-08-14 18:58:04 +03:00
Jeroen Peeters
9d983ec77b
feat: add storage APi's and example
...
Imported from CityOfZion/neo-storm (86ac5c215a2c6ec710f2fd913e0ace63d6ea993e).
2019-08-14 18:57:31 +03:00
Anthony De Meulemeester
86715511d0
Added examples folder
...
Imported from CityOfZion/neo-storm (77d0e5949470b2648acd37c71116f4469197772b).
2019-08-14 18:56:58 +03:00
Anthony De Meulemeester
1927bc54d5
added partial syscall mapping
...
Imported from CityOfZion/neo-storm (26d10c72f6e3d298135ec3995eb2d821640c3b7c).
2019-08-14 18:55:29 +03:00
Roman Khimov
33c512032f
vm: switch from Opcode to Instruction
...
Which matches the changes done in neo-storm and also make this codebase closer
to the `dev` branch (that also uses Instruction).
2019-08-14 15:40:31 +03:00
Roman Khimov
5f3256d0e0
.gitignore: add *.(orig|rej)
2019-08-14 15:05:54 +03:00
Roman Khimov
d6fc045142
Merge pull request #288 from nspcc-dev/tiny-toolchain-fixes
...
Tiny tooling fixes
2019-08-13 13:11:03 +03:00
Roman Khimov
2949c3bd9d
.gitignore: add db directory
...
Where the node stores its stuff.
2019-08-12 19:42:26 +03:00
Roman Khimov
bb4680a59d
go.(mod|sum): make a clenup with go mod tidy
2019-08-12 19:32:17 +03:00
Roman Khimov
b3d6740a77
.gitignore: add some standard ignore files
2019-08-12 19:25:32 +03:00
Roman Khimov
2e7c0daa25
Merge pull request #287 from nspcc-dev/vm
...
VM improvements for dev branch, merging as outlined in #283 .
2019-08-12 19:19:03 +03:00
Roman Khimov
2ddf1d15ab
Merge branch 'dev' into vm
2019-08-12 19:12:19 +03:00
Roman Khimov
f068f4c0ed
pkg/vm/stack: drop unused (*RandomAccess).items()
...
GolangCI complains:
U1000: func (*RandomAccess).items is unused
And it looks like everyone and their dog just use ras.vals without any
wrappers when there is a need to access it, so drop the wrapper.
2019-08-12 18:19:26 +03:00
Roman Khimov
bc87d3e8e6
pkg/vm: fix GolangCI's SA4009 in RET()
...
SA4009: argument ctx is overwritten before first use (from staticcheck)
It should be OK here.
2019-08-12 18:15:48 +03:00
Roman Khimov
9be53e5961
pkg/vm/stack: fix SA4006 GolangCI warning in TestStackPushPop()
...
SA4006: this value of stackElement is never used (from staticcheck)
2019-08-12 18:13:04 +03:00
Roman Khimov
f445103260
pkg/vm/stack: fix S1002 gosimple warnings in map.go
...
S1002: should omit comparison to bool constant, can be simplified to ok.Value() (from gosimple)
2019-08-12 18:08:39 +03:00
Roman Khimov
4e40467dc3
pkg/vm/stack: fix S1008 gosimple warning from GolangCI
...
S1008: should use 'return ' instead of 'if { return }; return ' (from gosimple)
2019-08-12 18:05:04 +03:00
Roman Khimov
bab187f4a8
pkg/vm: drop bogus err check in BoolAnd() and BoolOr()
...
GolangCI:
nilness: impossible condition: nil != nil (from govet)
2019-08-12 18:00:54 +03:00
Roman Khimov
613bad36e0
pkg/vm/stack: fix unused binary.Read() result in testReadInt64()
...
GolangCI:
Error return value of binary.Read is not checked (from errcheck)
2019-08-12 17:56:51 +03:00
Roman Khimov
d6c3f74e3c
pkg/vm/stack: make some use of testReadInt64()
...
GolangCI complains:
testReadInt64 is unused (from deadcode)
Fix it to always provide correctly-sized buffer for the binary.Read().
2019-08-12 17:53:19 +03:00
Roman Khimov
6be27ad4b0
pkg/vm/stack: s,testPeakInteger,testPeakInteger,
...
Fix obvious typo.
2019-08-12 17:16:47 +03:00
Roman Khimov
1fb66d6b73
pkg/vm/stack: improve Array testing code slightly
...
GolangCI complained:
testArray is unused (from deadcode)
But this function was actually wrong being a copy-paste of testMakeStackMap(),
it also didn't conform to testMake... naming scheme, so this fixes it. To make
thing more uniform NewArray() was also changed to return error, map_test.go
code adjusted to this changes and finally array_test.go was added as a stub
for future Array testing.
2019-08-12 17:12:05 +03:00
Roman Khimov
3bc195659a
pkg/vm: fix error handling in XDROP()
...
Found by GolangCI:
Error return value of ctx.Estack.Remove is not checked (from errcheck)
nilness: impossible condition: nil != nil (from govet)
2019-08-12 16:40:19 +03:00
Roman Khimov
06f9e1d123
pkg/(crypto|vm): fix GolangCI errcheck warnings
...
Like:
Error return value of alg.Write is not checked (from errcheck)
Actually even though the hash.Hash implements an io.Writer interface (that
return meaningful things on .Write()) it has this comment in its
documentation:
// Write (via the embedded io.Writer interface) adds more data to the running hash.
// It never returns an error.
so it should be OK to ignore return results here.
2019-08-12 16:36:06 +03:00
Roman Khimov
a976c4d04f
pkg/vm: go fmt
...
Some errors were introduced by github merges.
2019-08-12 16:29:42 +03:00
Roman Khimov
0258fa48f8
pkg/vm: fix all GolangCI warnings about v.executeOp errcheck
...
Fixes lots of warnings like this in the test code:
Error return value of v.executeOp is not checked (from errcheck)
2019-08-12 16:25:16 +03:00
Roman Khimov
db41a397cd
Merge pull request #120 from hal0x2328/master
...
Merging as a reminder as discussed in #283 .
2019-08-12 15:41:48 +03:00
Roman Khimov
a4b2bb268e
Merge pull request #279 from dauTT/dauTT/vm-ROLL-ROT-SWAP-TUCK-opcode
...
VM: Implement ROLL, ROT, SWAP, TUCK opcode
Closes #278 , merging as per #283 discussion.
2019-08-12 15:40:03 +03:00
Roman Khimov
18d32a33a2
Merge branch 'vm' into dauTT/vm-ROLL-ROT-SWAP-TUCK-opcode
2019-08-12 15:37:58 +03:00
Roman Khimov
f2f9a37d3f
Merge pull request #277 from dauTT/dauTT/vm-DUP-NIP-OVER-PICK-opcode
...
VM: Implement DUP, NIP, OVER, PICK opcode
Closes #276 , merging as per #283 discussion.
2019-08-12 13:37:23 +03:00