neo-go/pkg
Roman Khimov 30836ca69b core/native: untangle native contracts initialization
The notion of NativeContractState shouldn't ever existed, native contract is a
contract and its state is saved as regular contract state which is critical
because we'll have MPT calculations over this state soon.

Initial minting should be done in Neo.Native.Deploy because it generates
notification that should have proper transaction context.

RegisterNative() shouldn't exist as a public method, native contracts are only
registered at block 0 and they can do it internally, no outside user should be
able to mess with it.

Move some structures from `native` package to `interop` also to avoid circular
references as interop.Context has to have a list of native contracts (exposing
them via Blockchainer is again too dangerous, it's too powerful tool).
2020-04-27 12:30:39 +03:00
..
compiler vm: reorder Array/Map opcodes 2020-04-24 13:48:44 +03:00
config *: drop Publish transaction type 2020-04-16 14:40:20 +03:00
consensus vm: implement new PUSH opcodes 2020-04-23 10:52:28 +03:00
core core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
crypto vm: implement new PUSH opcodes 2020-04-23 10:52:28 +03:00
encoding *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
internal testchain: implement Sign function 2020-04-23 17:09:09 +03:00
interop compiler: emit Neo.Crypto.ECDsaVerify syscall instead of CHECKSIG 2020-04-13 13:47:39 +03:00
io *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
network core,network: shutdown services in tests properly 2020-04-22 17:53:59 +03:00
rpc core: init native interops in the genesis block 2020-04-27 12:30:39 +03:00
smartcontract vm: implement new PUSH opcodes 2020-04-23 10:52:28 +03:00
util testserdes: implement helpers for encode/decode routines 2020-03-27 10:27:46 +03:00
vm vm: implement NEWARRAYT opcode 2020-04-27 09:06:48 +03:00
wallet vm: implement new PUSH opcodes 2020-04-23 10:52:28 +03:00