-
Notifications
You must be signed in to change notification settings - Fork 1k
Add Support for Plugin Loading by Assembly #3755
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
Add Support for Plugin Loading by Assembly #3755
Conversation
shargon
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move to Directory.Build.props?
I will.... |
|
LGTM |
Before merge please |
DONE!!! 😃 |
vncoelho
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
check conflict
* Add Support for plugin loading * Added @shargon request of changes --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]>
* Implement NotaryAssisted transaction attribute Close #2896. Use a stub for native Notary contract hash since this contract is not implemented yet. Thus, technically, NotaryAssisted attribute verification will always fail on real network until native Notary is implemented. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: add doc to CalculateNetworkFee method of NotaryAssisted attribute Signed-off-by: Anna Shaleva <[email protected]> * Native: add NotaryAssisted attributes handler to Gas OnPersist Transactions network fee should be split between Primary node and Notary nodes. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: adjust comment to NotaryAssisted attribute Signed-off-by: Anna Shaleva <[email protected]> * Payloads: temporary use hard-coded Notary contract hash Once Notary contract is implemented, this hash will be replaced by a proper Notary contract hash. The exact value won't be changed since Notary contract has constant hash as any other native contract. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: replace hard-coded Notary hash value with calculated one No functional changes, just a refactoring for better code readability. Signed-off-by: Anna Shaleva <[email protected]> * NeoModules: integrate NotaryAssisted attribute Port the neo-project/neo-modules#884. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: fix XML comment formatting Signed-off-by: Anna Shaleva <[email protected]> * P2P: move NotaryAssisted transaction attribute under D hardfork Signed-off-by: Anna Shaleva <[email protected]> * P2P: move NotaryAssisted transaction attribute under E hardfork D hardfork was occupied by 3.7.5, thus use the next available one. Signed-off-by: Anna Shaleva <[email protected]> * tests: fix build errors No functional changes, just build fixes required by updated master branch. Signed-off-by: Anna Shaleva <[email protected]> * NotaryAssisted: update copyright date Signed-off-by: Anna Shaleva <[email protected]> * SmartContract: refactor obsolete code Signed-off-by: Anna Shaleva <[email protected]> * Persistance: fix UT Related to additional storage entries added by the previous changes. Signed-off-by: Anna Shaleva <[email protected]> * Clean comments * Native: improve exception message for Policy's getFee/setFee Signed-off-by: Anna Shaleva <[email protected]> * EC Recover (#3696) * EC Recover * Clean code * Fix ut * Fix ut * Unify hashing * Allow HashAlgorithm.None * Clean comment * Update src/Neo/Cryptography/Crypto.cs * Fix merge * Add None check * Fix GetHash * fix unit testing issues * Clean code * Update src/Neo/SmartContract/Native/CryptoLib.cs --------- Co-authored-by: Jimmy <[email protected]> * Improve MaxNestingDepth of WitnessCondition (#3761) * tests: add UT for nested WitnessCondition This just works as the code works. Signed-off-by: Roman Khimov <[email protected]> * WitnessCondition: unify nesting checks, fix MaxNestingDepth 1. We have some duplication around "maxNestDepth <= 0" checks. 2. If we're to fix them by moving to DeserializeFrom() and thereby affecting all types of conditions we can discover a simple truth about conditions that was hidden previously: our real supported MaxNestingDepth is 3, not 2. 3. Test_WitnessCondition_Nesting works as before, check it there, we have And->And->Boolean and other nesting cases, 3-4 elements in the chain, not 2. Signed-off-by: Roman Khimov <[email protected]> * WitnessCondition: unify JSON parsing as well Signed-off-by: Roman Khimov <[email protected]> * tests: s/WitnessContition/WitnessCondition/ Fix typo. Signed-off-by: Roman Khimov <[email protected]> * Format header * Format arrays in UT_WitnessCondition.cs --------- Signed-off-by: Roman Khimov <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Add Support for Plugin Loading by Assembly (#3755) * Add Support for plugin loading * Added @shargon request of changes --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Optimize `StorageKey` creation (#3756) * Optimize key builder * Optimize with GetSpan * Use Span * Clean * Rename * Update src/Neo/SmartContract/KeyBuilder.cs Co-authored-by: nan01ab <[email protected]> * Update KeyBuilder.cs * @cschuchardt88 feedback * Avoid ToArray in StorageKey constructor * Use sizeof * Optimize ECPoint * Optimize ECPoint * Add ISerializableSpan * Move to StorageKey * Use ReadOnlySpan --------- Co-authored-by: nan01ab <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> * [`Fix`] Linux File Access (#3769) * Add some stuff to hope once and for all fix the linux workflows * update workflow * update nuget.yml * Change dig to detailed, log too big * Fix targets * revert main.yml * Update .github/workflows/main.yml * disable BuildInParallel --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> * Update src/Neo/SmartContract/Native/PolicyContract.cs * UnitTests: migrate NotaryAssisted test from MSTestV1 to MSTestV2 Signed-off-by: Anna Shaleva <[email protected]> --------- Signed-off-by: Anna Shaleva <[email protected]> Signed-off-by: Roman Khimov <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Roman Khimov <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: nan01ab <[email protected]>
* Add Support for plugin loading * Added @shargon request of changes --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]>
* Implement NotaryAssisted transaction attribute Close neo-project#2896. Use a stub for native Notary contract hash since this contract is not implemented yet. Thus, technically, NotaryAssisted attribute verification will always fail on real network until native Notary is implemented. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: add doc to CalculateNetworkFee method of NotaryAssisted attribute Signed-off-by: Anna Shaleva <[email protected]> * Native: add NotaryAssisted attributes handler to Gas OnPersist Transactions network fee should be split between Primary node and Notary nodes. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: adjust comment to NotaryAssisted attribute Signed-off-by: Anna Shaleva <[email protected]> * Payloads: temporary use hard-coded Notary contract hash Once Notary contract is implemented, this hash will be replaced by a proper Notary contract hash. The exact value won't be changed since Notary contract has constant hash as any other native contract. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: replace hard-coded Notary hash value with calculated one No functional changes, just a refactoring for better code readability. Signed-off-by: Anna Shaleva <[email protected]> * NeoModules: integrate NotaryAssisted attribute Port the neo-project/neo-modules#884. Signed-off-by: Anna Shaleva <[email protected]> * Payloads: fix XML comment formatting Signed-off-by: Anna Shaleva <[email protected]> * P2P: move NotaryAssisted transaction attribute under D hardfork Signed-off-by: Anna Shaleva <[email protected]> * P2P: move NotaryAssisted transaction attribute under E hardfork D hardfork was occupied by 3.7.5, thus use the next available one. Signed-off-by: Anna Shaleva <[email protected]> * tests: fix build errors No functional changes, just build fixes required by updated master branch. Signed-off-by: Anna Shaleva <[email protected]> * NotaryAssisted: update copyright date Signed-off-by: Anna Shaleva <[email protected]> * SmartContract: refactor obsolete code Signed-off-by: Anna Shaleva <[email protected]> * Persistance: fix UT Related to additional storage entries added by the previous changes. Signed-off-by: Anna Shaleva <[email protected]> * Clean comments * Native: improve exception message for Policy's getFee/setFee Signed-off-by: Anna Shaleva <[email protected]> * EC Recover (neo-project#3696) * EC Recover * Clean code * Fix ut * Fix ut * Unify hashing * Allow HashAlgorithm.None * Clean comment * Update src/Neo/Cryptography/Crypto.cs * Fix merge * Add None check * Fix GetHash * fix unit testing issues * Clean code * Update src/Neo/SmartContract/Native/CryptoLib.cs --------- Co-authored-by: Jimmy <[email protected]> * Improve MaxNestingDepth of WitnessCondition (neo-project#3761) * tests: add UT for nested WitnessCondition This just works as the code works. Signed-off-by: Roman Khimov <[email protected]> * WitnessCondition: unify nesting checks, fix MaxNestingDepth 1. We have some duplication around "maxNestDepth <= 0" checks. 2. If we're to fix them by moving to DeserializeFrom() and thereby affecting all types of conditions we can discover a simple truth about conditions that was hidden previously: our real supported MaxNestingDepth is 3, not 2. 3. Test_WitnessCondition_Nesting works as before, check it there, we have And->And->Boolean and other nesting cases, 3-4 elements in the chain, not 2. Signed-off-by: Roman Khimov <[email protected]> * WitnessCondition: unify JSON parsing as well Signed-off-by: Roman Khimov <[email protected]> * tests: s/WitnessContition/WitnessCondition/ Fix typo. Signed-off-by: Roman Khimov <[email protected]> * Format header * Format arrays in UT_WitnessCondition.cs --------- Signed-off-by: Roman Khimov <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Add Support for Plugin Loading by Assembly (neo-project#3755) * Add Support for plugin loading * Added @shargon request of changes --------- Co-authored-by: Shargon <[email protected]> Co-authored-by: NGD Admin <[email protected]> * Optimize `StorageKey` creation (neo-project#3756) * Optimize key builder * Optimize with GetSpan * Use Span * Clean * Rename * Update src/Neo/SmartContract/KeyBuilder.cs Co-authored-by: nan01ab <[email protected]> * Update KeyBuilder.cs * @cschuchardt88 feedback * Avoid ToArray in StorageKey constructor * Use sizeof * Optimize ECPoint * Optimize ECPoint * Add ISerializableSpan * Move to StorageKey * Use ReadOnlySpan --------- Co-authored-by: nan01ab <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> * [`Fix`] Linux File Access (neo-project#3769) * Add some stuff to hope once and for all fix the linux workflows * update workflow * update nuget.yml * Change dig to detailed, log too big * Fix targets * revert main.yml * Update .github/workflows/main.yml * disable BuildInParallel --------- Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> * Update src/Neo/SmartContract/Native/PolicyContract.cs * UnitTests: migrate NotaryAssisted test from MSTestV1 to MSTestV2 Signed-off-by: Anna Shaleva <[email protected]> --------- Signed-off-by: Anna Shaleva <[email protected]> Signed-off-by: Roman Khimov <[email protected]> Co-authored-by: Jimmy <[email protected]> Co-authored-by: Shargon <[email protected]> Co-authored-by: Christopher Schuchardt <[email protected]> Co-authored-by: Roman Khimov <[email protected]> Co-authored-by: NGD Admin <[email protected]> Co-authored-by: nan01ab <[email protected]>
Description
The EnableDynamicLoading property indicates that an assembly is a dynamically loaded component. The component could be a COM library or a non-COM library that can be used from a native host or used as a plugin. Setting this property to true has the following effects:
.runtimeconfig.jsonfile is generated.Added property below to all the plugins.
Fixes # (issue)
Type of change
Checklist: