neoneo-go/pkg/core
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
..
block core: rename *block.Base.GetHashableData to GetSignedPart() 2020-04-17 11:12:40 +03:00
blockchainer core: extend Blockchainer with GetStandByValidators() 2020-04-16 15:54:58 +03:00
dao core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
interop core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
mempool core: add nonce field to transaction 2020-04-14 16:19:41 +03:00
native core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
state core: implement skeletons for NEO/GAS native contracts 2020-04-16 15:55:35 +03:00
storage core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
test_data Persist blockchain with leveldb on disk (#48) 2018-03-17 12:53:21 +01:00
transaction core: add sender field to transaction 2020-04-20 17:21:28 +03:00
blockchain.go core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
blockchain_test.go core: add sender field to transaction 2020-04-20 17:21:28 +03:00
gas_price.go vm: remove CHECKSIG/VERIFY/CHECKMULTISIG opcodes 2020-04-20 11:55:24 +03:00
gas_price_test.go core: use opcodes instead of raw bytes in tests 2020-04-23 10:37:01 +03:00
header_hash_list.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
helper_test.go core: init native interops in the genesis block 2020-04-27 12:30:39 +03:00
interop_neo.go core: move runtime.CheckWitness interop to a separate package 2020-04-16 15:54:58 +03:00
interop_neo_test.go interop/crypto: allow ECDsaVerify to verify ScriptContainer 2020-04-17 11:12:40 +03:00
interop_system.go core: rename *block.Base.GetHashableData to GetSignedPart() 2020-04-17 11:12:40 +03:00
interops.go vm: move InteropNameToID to emit package 2020-04-17 11:46:31 +03:00
interops_test.go core: move interopContext to a separate package 2020-04-11 10:56:36 +03:00
native_contract_test.go core/native: untangle native contracts initialization 2020-04-27 12:30:39 +03:00
prometheus.go core: refactor out MemPool 2020-01-16 10:16:24 +03:00
spent_coin.go core: move (un)SpentCoin structs into the state package 2020-03-11 12:22:52 +03:00
util.go core: init native interops in the genesis block 2020-04-27 12:30:39 +03:00
util_test.go core: init native interops in the genesis block 2020-04-27 12:30:39 +03:00