Evgenii Stratonikov
1e50016a91
core,test: move helper functions for testchain to the internal package
...
Our test chain is used in core,rpc and (in future) interop packages.
It is better to have all related declarations in one place to avoid
code duplication.
2020-04-22 18:17:11 +03:00
Roman Khimov
473ab861c7
Merge pull request #900 from nspcc-dev/fix/861
...
core,network: shutdown services in tests properly
2020-04-22 18:00:28 +03:00
Evgenii Stratonikov
c508a36827
core,network: shutdown services in tests properly
2020-04-22 17:53:59 +03:00
Roman Khimov
295f9e3ee1
Merge pull request #899 from nspcc-dev/feature/wallet
...
wallet: add test for regenerating test/docker wallets
2020-04-22 17:37:47 +03:00
Evgenii Stratonikov
70b183fb9d
wallet: add test for regenerating test/docker wallets
...
When changing accounts or VM, it is useful to be able to
regenerate all wallets easy and fast.
2020-04-22 17:17:22 +03:00
Roman Khimov
5addc610d4
Merge pull request #870 from nspcc-dev/neo3/transaction/sender
...
core: add sender field to transaction
2020-04-20 18:19:49 +03:00
Anna Shaleva
2b5c14160c
core: add sender field to transaction
...
closes #860
2020-04-20 17:21:28 +03:00
Roman Khimov
591a1b900d
Merge pull request #869 from nspcc-dev/neo3/newscript
...
core: change verification scripts to new format
2020-04-20 12:55:48 +03:00
Roman Khimov
4d08c1dce7
Merge pull request #893 from nspcc-dev/update-3-roadmap
...
ROADMAP: update for Neo 3 development
2020-04-20 11:57:07 +03:00
Evgenii Stratonikov
cde4ccf01c
vm: remove CHECKSIG/VERIFY/CHECKMULTISIG opcodes
2020-04-20 11:55:24 +03:00
Evgenii Stratonikov
4740d937aa
vm: dont use SetCheckedHash outside of vm
package
2020-04-20 11:55:24 +03:00
Evgenii Stratonikov
941410a840
core: change verification scripts to new format
...
Verification scripts now invoke Neo.Crypto.* interops instead of
CHECKSIG/VERIFY opcodes.
2020-04-20 11:55:24 +03:00
Evgenii Stratonikov
3657f2e21d
consensus: set Nonce and ValidUntilBlock on proposal
...
Related #841 .
2020-04-20 11:55:24 +03:00
Roman Khimov
65c45688f5
ROADMAP: update for Neo 3 development
2020-04-20 11:09:36 +03:00
Roman Khimov
c10c7d2100
Merge pull request #874 from nspcc-dev/disallow-negative-SHL-SHR
...
vm: disallow negative shifts for SHL/SHR
2020-04-20 10:30:33 +03:00
Roman Khimov
eea695ad25
Merge pull request #887 from nspcc-dev/drop-p2p-checksums
...
network: drop checksums from messages
2020-04-20 10:30:14 +03:00
Roman Khimov
9a67bfac0b
network: drop checksums from messages
...
Follow neo-project/neo#710 changes.
2020-04-19 23:40:31 +03:00
Roman Khimov
91f8626c42
vm: disallow negative shifts for SHL/SHR
...
Follow neo-project/neo-vm#257 change for Neo 3.
2020-04-19 19:15:00 +03:00
Roman Khimov
8556c828fa
Merge pull request #868 from nspcc-dev/neo3/transaction/validUntilBlock
...
rpc: add validUntilBlock to transferNEP5
2020-04-17 14:47:57 +03:00
Anna Shaleva
b809d09b24
rpc: add validUntilBlock to transferNEP5
...
In #856 I forgot to add validUntilBlock to NEP5 transfer transaction,
so added now.
2020-04-17 13:52:23 +03:00
Roman Khimov
ab8296bc57
Merge pull request #857 from nspcc-dev/neo3/verifiable
...
core,crypto: implement Verifiable interface
2020-04-17 13:06:55 +03:00
Roman Khimov
ffff9b93ba
Merge pull request #858 from nspcc-dev/neo3/transition
...
vm: remove FIXME comments from vm
Fix #477 .
2020-04-17 12:04:24 +03:00
Evgenii Stratonikov
ceff8736f2
vm: use ID-based syscalls
...
In NEO3 SYSCALL opcode has 4-byte ID parameter.
This commit removes support for string-based syscalls and
changes SYSCALL's parameter to be fixed 4-byte value.
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
bfbbef952a
vm: move InteropNameToID to emit package
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
93d2a3e031
vm: serialize zero Integer to an empty ByteArray
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
5dba30a49d
vm: update bool -> []byte conversion to NEO 3
...
This reverts commit 4c688355bc
.
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
2fd26287c5
vm: update SUBSTR to NEO3 version
...
This reverts commit 9ebb793009
.
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
f5933c83c6
vm: update json tests to neo3 branch
...
Skip them until all opcodes will be implemented.
2020-04-17 11:46:31 +03:00
Evgenii Stratonikov
a224917229
consensus: implement Verifiable interface for Payload
2020-04-17 11:12:40 +03:00
Evgenii Stratonikov
82b230f19f
core: rename *block.Base.GetHashableData to GetSignedPart()
...
This allow to use `Block` as a Verifiable item.
When tx is provided, it is set as an interop's script container.
Otherwise, block is set.
2020-04-17 11:12:40 +03:00
Evgenii Stratonikov
a92872931c
interop/crypto: allow ECDsaVerify to verify ScriptContainer
...
When verifying transaction or block, verification script can be
a simple PUSHNULL + SYSCALL, which means that script-encontaining
entity should be verified.
2020-04-17 11:12:40 +03:00
Evgenii Stratonikov
8f08065a8e
interop/crypto: allow ECDsaVerify to accept interop items
...
When invokes with interop item on stack, it should check
for the signature of Verifiable item it contains.
2020-04-17 11:12:40 +03:00
Evgenii Stratonikov
2879f89337
crypto: declare Verifiable and ScriptContainer interfaces
2020-04-17 11:12:40 +03:00
Roman Khimov
266138c00c
Merge pull request #866 from nspcc-dev/drop-consensus-timestamp
...
consensus: drop timestamp from outer payload
2020-04-17 10:01:02 +03:00
Roman Khimov
c7ab99ddc1
consensus: drop timestamp from outer payload
...
It's not used really and NEO3 doesn't have it on the wire.
2020-04-17 00:09:40 +03:00
Roman Khimov
888be75445
Merge pull request #863 from nspcc-dev/drop-publish-tx
...
Drop publish tx
2020-04-16 21:23:37 +03:00
Roman Khimov
c7c788d10b
Merge pull request #781 from nspcc-dev/neo3/native
...
Implement Native contract mechanism
2020-04-16 18:41:13 +03:00
Roman Khimov
e150bd7bb0
Merge pull request #859 from nspcc-dev/neo3/partial_consensus_message_decoding
...
consensus: added partial message decoding
2020-04-16 16:58:59 +03:00
Evgenii Stratonikov
76700f31cf
core: implement skeletons for NEO/GAS native contracts
2020-04-16 15:55:35 +03:00
Evgenii Stratonikov
25354c44f9
core: implement NativeContract support
2020-04-16 15:55:34 +03:00
Evgenii Stratonikov
3831aec53f
vm: make NewBigInteger accept *big.Int
...
It creates big.Int internally anyway, so this is the most flexible way.
2020-04-16 15:54:58 +03:00
Evgenii Stratonikov
9586af32f2
core: move runtime.CheckWitness interop to a separate package
2020-04-16 15:54:58 +03:00
Evgenii Stratonikov
8a2130f5b6
core: extend Blockchainer with GetStandByValidators()
...
A list of standby validators can be needed in native contracts.
2020-04-16 15:54:58 +03:00
Evgenii Stratonikov
b446753c57
core,vm: move get/putContextScriptHash to vm
package
2020-04-16 15:54:52 +03:00
Roman Khimov
40991d3be3
transaction: drop AgencyType and VotingType
...
I have no idea what are they about.
2020-04-16 14:44:46 +03:00
Roman Khimov
4912e4f425
*: drop Publish transaction type
...
It shouldn't be used even in NEO 2 as it was substituted by contract
deployment interop functions.
2020-04-16 14:40:20 +03:00
Anna Shaleva
9dd5ab5e2b
consensus: added partial message decoding
...
closes #849
2020-04-16 14:35:58 +03:00
Evgenii Stratonikov
be407332b9
vm: add TryInteger() to StackItem interface
...
Conversion should be done in a StackItem, not in an Element.
2020-04-16 14:05:32 +03:00
Evgenii Stratonikov
dd38e3ec3b
smartcontract: add smartcontract manifest
...
Manifest contains all of smartcontract's metadata including
parameters, return value, permissions etc.
2020-04-16 14:05:32 +03:00
Roman Khimov
e29d881901
Merge pull request #856 from nspcc-dev/neo3/feature/valid_until_block
...
core: add validUntilBlock field to transaction
2020-04-15 16:24:07 +03:00