* Performance fix: prevent self joins on VaultStates table (was occurring when Sort specified).
* Enrichment and overriding of Common attributes (eg. Vault.StateStatus and Contract State Types) using composite query criteria.
Remove unnecessary QueryEditor implementation from NodeVaultService.
* Updated documentation and changelog.
* Misc fixes to broken documentation code snippets.
* Incorporating changes from PR review feedback.
* Pluggable cash selection using H2 as default implementation.
* Refactor to use own CashSelection service loader and associated isCompatible() check.
* Determine Cash Selection algorithm to use based on JDBC Driver loaded.
Lazily load JDBC Driver metadata and class implementation.
* Rebased and adjusted package naming to include `finance`
* Rebased and adjusted package naming to include `finance`
* Added some documentation.
Minor fixes and changes following PR review.
* Return cashSelectionAlgo.
Throw exception rather than setting in atomically referenced object.
* Removed Requery object relational mapping usage (and associated schemas including node-schemas module)
* Fixed issues with NodeAttachmentService tests.
Cannot use JPA custom converters with Primary Key fields.
Hibernate entities require explicit call to flush() to persist to disk.
* Removed redundant requery converters (equivalents not even required in Hibernate).
* Removed remaining gradle requery dependency definitions.
* Fixed broken tests.
* Fixes for failing NodeVaultService tests:
- Dynamic SQL updates (in soft locking code)
- Explicit request by session to participate in transaction (causing "TransactionRequiredException" Executing an update/delete query)
- Explicit flush() required to persist to disk
* Updated changelog.
Fixed compiler warning.
* Fixed WHERE clause AND/OR condition.
Enforced immediate data visibility through transaction commit.
* Final fixes to address failing tests.
* Deferred all hibernate session/txn management to DatabaseTransactionManager.
* Fixed transaction boundaries in failing Cash tests.
* Fixes to address failing tests (transaction boundaries, merge detached object, config clean-up).
* Final adjustment to transaction boundaries in JUnit tests.
* Refactored AttachmentSchemaV1 into NodeAttachmentService itself and referenced from NodeServicesV1.
* Refactored HSQL UPDATE statements to use CriteriaUpdate API.
* Updated all criteria API getters to reference attribute names by type.
* Remove redundant VaultSchema entity name (required when previously using HSQL UPDATE syntax)
* Fix compiler warnings.
* Minor changes following rebase from master.
* Fixed suppress warning type.
Re-enable code now DealState PR is in.
Add plugable JSON serialisation
Add docs for new plugin api.
Move parseCurrency back to core to prevent dependency issues with crash shell parsing.
Use :finance module as a proper CorDapp
Move parseCurrency back onto Amount companion.
Fix smoke tests
Fixup after merge.
* Add LegalProseReference annotation
* Migrate code from autogenerated javascript to TypeScript source
* Add instructions to rebuild the web resources
* Make installWeb more reproducible
This improves the Java API and makes it more idiomatic. The methods
were not moved to be static methods of the relevant types in all cases
due to a bad interaction with a Kotlin auto-completion bug, and because
static methods on interfaces are new in Java 8 and Kotlin is not yet
emitting Java 8 bytecode.
Also, introduce a packages.md file so packages can be documented.
* Removed notary_key (and all references) from vault schema.
Fixed incorrect NOTARY usage in certain tests (cash consumption)
* Fixed broken test.
* Replace CommonSchemaV1.Party in all VaultSchema tables (and associated queries) with string'ified X500Name's only.
* Fix broken tests.
* Completely remove CommonSchemaV1.Party and all references (in favour of X500Name's)
* Updated all schema attribute identity references to use AbstractParty.
* Updated all schema attribute identity references to use AbstractParty.
* Standarised attribute naming for parties (removed 'Name')
* Updated deprecate identity API references following rebase.
* Configurable IdentityService as a lambda in JUnit tests.
* Additional WARNING logging to enable troubleshooting of identity lookup failures.
* Final identity updates to sample schemas.
Cleaned up several compiler warnings.
Change CashIssueFlow to always issue to ourselves, and require the cash is then moved in a separate payment
operation. This more closely models actual operation inside banks, and is a step towards making all move-like
operations go through a uniform verification process.
* Remove IssuerFlow as it is dangerous and its presence in the finance module risks accidental use in non-test code. As written it will issue arbitary amounts of currency on request from any node on the network, with no validation barring that the currency type is valid.
* Unify interface to CashIssueFlow to match the previous IssuerFlow
*Remove dummy public keys in preference for EdDSA keys generated from fixed entropy sources, as a more accurate reflection of real uses. Also eliminates a serialization format issue with dummy keys which would have to be resolved otherwise.
* Remove deprecated 'by' keyword from contracts DSL
* Remove deprecated parts of CordaPluginRegistry
* Merge identity registration of well known and confidential identities
* Move verification logic into PartyAndCertificate from IdentityService
* Add note about why PartyAndCertificate exists
checkSignaturesAreValid() calls TransactionSignature.verify(), which throws InvalidKeyException but
checkSignaturesAreValid() did not indicate it could throw InvalidKeyException.
* Remove hard coded commercial paper issuer from trader demo
* Issue commercial paper from the Bank of Corda node, as per previous hard-coded issuer name
* Issue cash from the Bank of Corda node rather than in response to the buyer node requesting issuance
* Added JPA AbstractParty converter (using IdentityService to resolve anonymous parties).
* Use partyFromX500Name. Add meaningful exception messages.
* AutoApply the JPA AbstractParty converter.
* Entity attribute still needs the Convert annotation.
* Fix incorrect registration of custom attribute converter.
* Deal with non-resolvable anonymous parties (eg. store as null and ignore)
* Updates following PR review feedback.
* Added documentation.
* Added entry to changelog.
* Added code documentation as per RN PR feedback request.
* Updates required following rebase from master.
* Renamed converter for clarity.
Fixup after rebase
Fixup after rebase
Make node have only test compile dependency against finance module.
Use original query code.
Fixup after rebase
Update docs
Edit docs
Add to changelog
Follow recommendations from PR
Follow recommendations from PR
Make a re-usable helper function to create MockServices with database for tests
Tweak a few comments
Don't include tryLockFungibleStateForSpending in soft lock docs.
Respond to PR comments
Fix whitespace error
Fix compile error
Fixup after rebase
* Improvements to Vault Query Service soft locked state querying (removed old mechanism from VaultService).
* Fixed rst document formatting.
* Added additional soft locking criteria mode: all unlocked plus those locked as specified by lockId(s).
* Addressed comments from PR feedback.
* WIP - Removed data Vending services, fixed all flow test
* * separated out extra data, extra data are sent after the SendTransactionFlow if required
* New SendProposalFlow for sending TradeProposal, which contains StateAndRef.
* WIP
* * removed TradeProposal interface.
* changed SendProposalFlow to SendStateAndRefFlow, same for receive side.
* fixup after rebase.
* * undo changes in .idea folder
* * remove unintended changes
* * Addressed PR issues
* * doc changes
* * addressed pr issues
* moved ResolveTransactionsFlow to internal
* changed FlowLogic<Unit> to FlowLogic<Void?> for java use case
* * addressed PR issues
* renamed DataVendingFlow in TestUtill to TestDataVendingFlow to avoid name confusion, and moved it to core/test
* * removed reference to ResolveTransactionsFlow
* Expose a JDBC connection (session) via the ServiceHub for generic JDBC usage.
* Updated documentation.
* Fix failing JUnit following rebase from master.
* JDBC session Tutorial WIP
* Fix broken JUnits following update to consumeCash() using observable event update as return.
* Fixed broken JUnits.
* Refactoring createSession() into new CordaPersistence class following rebase from master.
* Updated fully working example.
* Minor updates following feedback from MH.
* Fixed compiler error following rebase.
* Fixes following rebase from master.
* Further updates and clarifications to documentation.
* Updated all sample code to use new Vault Query service APIs.
* Fix broken Unit test.
* Added missing transaction boundary.
* Fix broken ScheduledFlow test (caused by assertion on non-ordered collection)
* Remove redundant negative test (as new Vault Query no longer returns iterators).
* Whitespace formatting fixed following PR review from SA.
* Force query to specify a PAGE SIZE equivalent to total states to be exited (RP review comment).
* Use single (and fail fast) instead of first - when only expecting a single result.
* Demonstrate paging and sorting; failfast on single expected result.
* Enhancement: added Sorting by CommonStateAttribute (StateRef txnId and index)
* Fix: incorrect total states count.
* Fixed incorrect total states counting.
* Remove redundant filter (UNCONSUMED).
* Updated tutorial code and associated documentation (building transactions).
* Updated all vaultAndUpdates to vault[Track|Query]By.
* Temporary disable failing Vault Query tests (awaiting pagination PR fix).
* Rebase from master to pick up pagination changes/fix.
* Fixed criteria filter on track.
* Cleanup redundant print output.
* Refactor to extract common function for Vault Query paging and sorting.
* Identified problem in SimmValuation demo failing test caused by query by single participant in participants list (not yet supported in VaultQuery criteria).
* Minor fixes following rebase from master.
* Minor updates following rebase.
* Removed redundant import.
* Fixed type casting error.
* Minor fixes following rebase from master.
* VQ Fix - applied in other PR.
* Removed duplication after rebase and minor fix to failing smoke test.
* Introduce new NotaryChangeWireTransaction (similar to WireTransaction and NotaryChangeTransaction (similar to LedgerTransaction) types.
Remove 'mustSign' and 'signers' fields from transactions
Deprecate the TransactionType concept. When receiving a SignedTransaction, the verification and signature checking branches out for regular and notary change transactions.
Add custom handling logic for notary change transactions to the vault
* Added new corda and cordaRuntime configurations for cordapps to be able to explicitly depend on Corda and exclude corda dependencies from the fatjar
* Added corda integration section to docsite to describe how to integrate with Corda.
* Updated more of the documentation to reflect the new method of specifying core corda dependencies.
* Reorganised document logic to move all build system related documentation to the cordapp build systems page.
* Renamed cordapp build systems doc to match actual purpose.
* Improved the warning for building against a net.corda dependency in a cordapp
* Added a line of dialogue to show further reading for those reading about writing cordapps.
Update to use LedgerTransaction api
Push query output logic onto BaseTransaction and update usages where possible
Migrate a few more uses
Address some PR comments
Address some PR comments
Fixup after rebase
Enable anonymisation in integration testing tutorial, and as a requirement fix a bug where the counterparty anonymous
identity was not registered by `TransactionKeyFlow`.
* Pagination improvements (fail-fast on too many results without pagination specification)
* Fix incorrectly returned results count.
* Performance optimisation: only return totalStatesAvailable count on Pagination specification.
* Changed DEFAULT_PAGE_NUMBER to 1 (eg. page numbering starts from 1)
* Changed MAX_PAGE_SIZE to Int.MAX_VALUE
* Fixed compiler WARNINGs in Unit tests.
* Fixed minimum page size check (1).
* Updated API-RST docs with behavioural notes.
* Updated documentation (RST and API);
* Provide sorting by state reference (and individual constituents of: txId, index)
* Fixed formatting.
* Updated import following rebase from master.
* Updated import following rebase from master.