-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync neo #517
Sync neo #517
Conversation
Why do you need |
@bettybao1209 Can you fix the checks? |
@Qiao-Jin and I Debug and find it failed in VerifyWitnesses. internal bool Verify(ProtocolSettings settings, DataCache snapshot, ISet<UInt160> extensibleWitnessWhiteList)
{
uint height = NativeContract.Ledger.CurrentIndex(snapshot);
if (height < ValidBlockStart || height >= ValidBlockEnd) return false;
if (!extensibleWitnessWhiteList.Contains(Sender)) return false;
return this.VerifyWitnesses(settings, snapshot, 0_02000000);
} because it return false here: engine.LoadScript(invocationScript, configureState: p => p.CallFlags = CallFlags.None);
if (engine.Execute() == VMState.FAULT) return false;
if (!engine.ResultStack.Peek().GetBoolean()) return false;
fee = engine.GasConsumed; @erikzhang do you have any insight? |
Please test it with neo-project/neo#2367. |
* get baseexception message * remove singletons * fix * update nuget * fix * sync neo2308 * fix ut * format * remove unused using * allow multi systems * remove settings in policycontract and some fixes * format * Fix ApplicationLogs * Fix DBFTPlugin * Use ushort.MaxValue * update settings * format * Remove empty line * Update verify * fix RpcNep17Tracker and optimize * fix ut * Rename * add auto-start and settings * null case * optimize * Remove ConsensusService.node * format * update ConsensusService * Revert some changes * update ConsensusService.cs * optimize based on review * fix consensus service * update settings in sdk * Fix storages * Reorder * Fix snapshot * Remove network from StateDumper * allow multi protocolsettings in rpcclient * optimize * sync and minor fix * Fix snapshot for OracleService * fix * Use ProtocolSettings.Default in RpcClient * Fix WalletAPI * Fix snapshot for RpcServer * remove magic in rpcclient * Fix snapshot for RpcServer * Fix DummyWallet * Allow start multiply RpcServers * Fix RpcServerPlugin.RegisterMethods * Fix NativeContractToJson * Fix StatesDumper Co-authored-by: Erik Zhang <[email protected]> Co-authored-by: Shargon <[email protected]>
Close #519
1. Needs to add a new message typeGetInstance
inLocalNode
class;2.UpdateExtensibleWitnessWhiteList
inBlockchain
class andVerify
inExtensiblePayload
class should bepublic
, since they are needed in DBFT plugin.3. https://github.com/neo-project/neo/blob/master/src/neo/SmartContract/Native/LedgerContract.cs#L72 will throw NullReferenceException, which is caused by the non-existence of theCreateStorageKey(Prefix_CurrentBlock)
(invoked before PostPersist).