Ross Nicoll
98c30f6432
Remove CashFlow
...
Remove the CashFlow flow, replacing it with CashFlowCommand which can be used for the use-cases
with instructions passed around as an object.
2017-02-09 18:22:58 +00:00
Andrius Dagys
288d709668
Include Merkle tree root hash in FilteredTransaction
...
Remove no longer needed test. Make FilteredTransaction constructor private
2017-02-09 17:57:31 +00:00
Patrick Kuo
c054ffe719
Add support for contract upgrades ( #165 )
...
* Add support for contract upgrades
* Add interface for the upgraded contract to implement, which provides functionality for upgrading legacy states.
* Add shared upgrade command and verification code for it.
* Add DummyContractV2 to illustrate what an upgraded contract looks like.
* Add new functions to vault service to support upgrading state objects.
* Add contract upgrade flow
2017-02-09 17:14:31 +00:00
Shams Asari
50e1eb7b21
End flow if waiting for ledger commit and committer flow errors
2017-02-09 15:57:13 +00:00
Ross Nicoll
47d260625a
Add AnonymousParty superclass of Party
...
Add AnonymousParty superclass of Party in preparation for anonymising parties stored in
contract states.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-09 11:37:32 +00:00
Konstantinos Chalkias
0287876987
minor changes in for/while loops. Sanity check for even number of nodes (in buildMerkleTree) has now been moved before entering the loop.
2017-02-08 16:23:50 +00:00
chalkido
c0bcbc381d
Extract Class pattern: Move MerkleTree (from MerkleTransaction) to its own class file inside core.crypto package.
2017-02-08 16:23:50 +00:00
Shams Asari
657cfa5d96
FlowException can be thrown from within UntrustworthyData.unwrap for better Java interop, and more checked exception annotations relating to flows
2017-02-06 16:00:52 +00:00
Ross Nicoll
1e5dd1843d
Update party match in vault service
...
Replaces the legacy name-only comparison in the vault service with a party comparison. `Party` now
has an equals method that only uses the owning key, and therefore this functions as expected.
2017-02-06 15:29:11 +00:00
Mike Hearn
5ad10b05fb
Make FlowLogicRef able to handle multiple constructors more elegantly (e.g. when invoking FinalityFlow directly via RPC).
2017-02-06 12:29:34 +01:00
Mike Hearn
cc20a10225
Improve the flow commit API.
...
Make FinalityFlow do more, and be used more consistently.
Add a new waitForLedgerCommit API that is intended to be used at the end of flows, or at any other point where a flow wants to wait for a transaction to finalise (but the finalisation flow is being done by someone else).
Update the docs a bit.
2017-02-06 12:29:34 +01:00
kasiastreich
45d8e0f76d
Tearoff fixes ( #78 )
...
* Move merkle building extension functions on wire tx to WireTransaction class.
* Add timestamp, notary, transaction type and signers to wire transaction id calculation.
* Change construction of MerkleTree from duplicating last node on a given level to padding leaves' list with zero hash to size of the nearest power of 2 - so we always have a full binary tree.
The problem was that it was possible to construct 2 different transactions with the same ids. Trick worked for txs having number of leaves that were not power of 2.
* Update tear-offs documentation and diagrams to reflect changes in construction of Merkle trees - padding with zero hashes and including all WireTransaction fields in id computation.
* Change in filtering API of WireTransaction for partial Merkle trees calculation.
Instead of many filtering functions over a transaction only one needs to be provided.
Additional change to check and verification of FilteredTransaction.
* IRS demo change. Make filtering function a protected method of RatesFixFlow class.
Comment on situation when capturing too much scope and connected problems with checkpointing.
Change oracle and tear-offs documentation.
2017-02-03 14:02:51 +00:00
Shams Asari
b86c80691e
FlowException serialised over RPC (subtypes are flattened), and improvement to startFlow RPC for correct exception handling
2017-02-03 11:21:10 +00:00
Ross Nicoll
bc9407d2c8
Correct network map cache tests
...
InMemoryNetworkMapCacheTest was not actually asserting that an expected exception was thrown, which
meant when earlier changes to the service changed the operation it wasn't caught. The service now
overwrites previous node if a new matching node is added, and this updates the test to follow that
design.
2017-02-02 16:01:10 +00:00
Ross Nicoll
2f9af7d7dc
Revert Party.Full in preference for a less invasive change
2017-02-02 13:47:32 +00:00
Andras Slemmer
4afd404db4
Address PR 207 comments
2017-02-02 11:44:18 +00:00
Andras Slemmer
de63f90745
Add isRegisteredWithNetworkMap RPC, poll in Driver, expose RPC proxy
2017-02-02 10:54:50 +00:00
Ross Nicoll
1b86ddfd6e
Replace Party with Party.Full
...
Replace Party with Party.Full as an interim step to introducing the Party.Anonymised class.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-02-01 15:18:12 +00:00
Clinton
d376a902ad
Merge pull request #180 from corda/clint-webserversplit
...
Split webserver from node
2017-02-01 12:13:31 +00:00
Shams Asari
646ce8afe0
FlowException thrown by a flow is propagated to all counterparties
2017-01-31 13:30:33 +00:00
Ross Nicoll
e383752995
Adapt Party comparison to use owningKey
...
Change Party instances to be uniquely identified by the owning key, without taking into account name.
This requires that mock node key generation is reworked so that keys for services and the node itself
are distinct, otherwise the network map service cannot differentiate them.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-30 15:46:51 +00:00
Joel Dudley
7b57cbe351
Adds signWithECDSA() to SignedTransaction for improved Java interop.
2017-01-30 14:27:27 +00:00
Clinton Alexander
3482452c8b
Added webserver to runnodes.
2017-01-27 14:15:08 +00:00
Clinton Alexander
537ffae113
Moved file uploading to RPC interface.
2017-01-27 14:13:58 +00:00
Clinton Alexander
ecfb762143
Nodes can start without web server. Webserver now uses full node configuration.
2017-01-27 14:12:19 +00:00
Ross Nicoll
1362a305c9
Expand details provided when erroring due to missing signatures in notary flow
...
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-25 16:15:40 +00:00
Andrius Dagys
8bc65999c4
Kryo: Remove unnecessary keypair generation ( #178 )
2017-01-25 15:02:02 +00:00
Shams Asari
052a660c1b
Making sure exceptions thrown while fibers are suspended are handled properly
2017-01-23 15:39:55 +00:00
S. Matthew English
b89b014d9a
unify references to notary in output
...
harmonize line 167 with earlier references on line 146 for example
2017-01-19 12:33:00 +01:00
Shams Asari
c4e3b258c7
Introducing Observable.toFuture() extension method
2017-01-17 12:56:59 +00:00
Ross Nicoll
2efd44d46b
Clean up semantics of composite clauses
...
This deprecates the existing composition clauses and adds new better named versions,
as well as changing 'AnyOf' to require at least one matching subclase (better matching
the name of the clause).
2017-01-17 11:34:21 +00:00
Thomas Schroeter
6b7edf5af6
Tx validation detect duplicate inputs ( #138 )
...
* Move duplicate input detection to transaction verification
Duplicate detection was previously part of the NotaryFlow.
2017-01-13 11:37:28 +00:00
Mike Hearn
ef6e9786a8
Cleanup: improve api docs on FlowLogic, make it clearer when stuff is considered internal, rename an obscurely named field.
2017-01-12 13:30:10 +01:00
Shams Asari
e589031d4b
Some clean up of the flow code
2017-01-11 16:33:59 +00:00
Ross Nicoll
c1d5e5c82e
Add functions for converting Amount to/from decimal
...
Add new functions for converting amounts to/from decimal representation. Also adds clarification that
the constructor which takes in a BigDecimal drops any fractional part.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-11 14:08:07 +00:00
Clinton Alexander
e83c6e6b9d
Fixed TransactionSerializationTests.signWireTX by ensuring the signed transaction corruption always corrupts the signature.
2017-01-11 10:55:05 +00:00
Ross Nicoll
1fbad81773
Correct message when checking signing keys
...
The keys used to sign a command are tested for being a superset of the keys which own
the states, not for being an exact match (as the text previously suggested). This corrects
the message used if this requirement isn't met.
Signed-off-by: Ross Nicoll <ross.nicoll@r3.com>
2017-01-10 13:19:43 +00:00
Shams Asari
334b91faf0
Testing that a node can communicate with a distributed service it's part of
2017-01-09 17:21:51 +00:00
Mike Hearn
ecb460b698
Minor: small improvement to logElapsedTime (use the montonic clock and log even when an exception is thrown)
2017-01-06 16:39:01 +01:00
Andrius Dagys
0867a05ad7
Merge pull request #96 from thschroeter/idempotent-notary-flow
...
Make NotaryFlow idempotent
2017-01-06 13:53:27 +00:00
Andrius Dagys
6bb0a68d6d
Add @JvmOveloads to TransactionState so the encumbrance pointer doesn't have to always be specified when calling from Java
2017-01-06 10:18:29 +00:00
Thomas Schroeter
0f43a88b19
Add TODO to move duplicate input detection to TransactionType.verify
...
Resolving the TODO in a follow-up PR.
2017-01-06 09:10:45 +00:00
Thomas Schroeter
0b43c5634e
Clean comment
2017-01-05 19:33:46 +00:00
Andrius Dagys
b9d5081af6
Update notary change flow to support encumbrances ( #101 )
...
* Update notary change flow to support encumbrances.
Move encumbrance pointer from ContractState to TransactionState.
* Refactor & add new encumbrance tests
2017-01-05 17:44:31 +00:00
Shams Asari
08e391579c
Node verifies the peer it connects to by checking its TLS common name
2017-01-05 14:22:11 +00:00
Thomas Schroeter
67e807b075
Detect duplicate inputs ahead of calling beforeCommit
2017-01-05 09:40:49 +00:00
Thomas Schroeter
bbc9c763e3
Detect duplicate inputs in NotaryFlow
...
Throw NotaryException when duplicate inputs are detected.
2017-01-05 08:09:49 +00:00
Mike Hearn
1a53834a60
Additional thread affinity for the StateMachineManager.
...
Check that the SMM.add method is being called on the SMM thread and throw if not. Make ServiceHubInternal.startFlow() do a blocking call onto the server thread. Update unit tests.
This resolves an issue whereby the scheduler was starting flows outside of the server thread, which isn't intended.
2017-01-04 16:06:33 +01:00
Thomas Schroeter
159ca9884f
Make NotaryFlow idempotent
...
Alternatively, we could make the underlying UniquenessProviders
idempotent.
2016-12-31 09:26:18 +00:00
Thomas Schroeter
2b73901341
Minor: display emojis in iTerm on OS X
2016-12-22 17:31:00 +00:00
josecoll
eac2cb1cc6
Bank of Corda integration with Trader Demo and Explorer
...
Initial conversion of Explorer to use IssuerFlow (from BankOfCorda)
Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda)
Updated TraderDemo to use IssuerFlow (from BankOfCorda)
Fixed TraderDemo integration text (added new BankOfCorda node)
Updated Explorer with changes IssuerRequest params
Explorer now correctly displaying transaction id upon Issue.
Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer)
Refactored BankOfCorda demo to use Finance package and TestUtil constants
Updated TraderDemo to use IssuerFlow
Updated Explorer to use finance package IssuerFlow.
Advertised BankOfCorda as Issuer for usage by Explorer.
Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module
Added IssuerFlow to AbstractNode whitelist.
Explicit declarations of IssuerFlow no longer required.
Added plugin registration of IssuerFlow at bootstrap.
Revert whitelisting of IssuerFlow (plugin configured)
Refactored to use constant BOC definition.
Added gradle RPC security config.
Updated documentation
Fixed incorrect references.
Renamed Issuer banks.
Added new permission set (for Issuer nodes)
Added node nearestCity info
Added new Issuer Event Generator for Issuer nodes only
Associated currency with issuer using ServiceType naming structure.
Added argument flag (-S) to trigger event generator simulation node.
Fixed problem with issuers not resolving from network map.
Updated perms on Issuer rpc proxy nodes.
Fixed minor in cash generateExit identified by Explorer.
Changes applied in prep for AWG demo.
Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation)
Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode).
Fix following rebase.
Addressed review items from PR.
Updated TraderDemo readme.
Updated TraderDemo gradle file to launch Bank of Corda node.
Updated JRE properties.
Updated IssuerModel to incorporate correct JFX Observable handling.
Fixed bug with Exit command not displaying any currency.
Added TODO's for revisiting correct Exception handling strategy.
Optimization for when issuing cash to self.
Minor updates following PR review.
Remove old refs to Royal Mint and Federal Reserve
2016-12-22 15:55:50 +00:00
Mike Hearn
edc648ae95
Wish our users a merry Christmas and a happy new year.
2016-12-22 11:37:27 +01:00
Shams Asari
81d1459599
Fixed bug where messages can't be sent to services running on the network map node ( #71 )
2016-12-20 12:03:21 +00:00
Andrius Dagys
6f3ed327a0
Vault: return a list of unconsumed states rather than a sequence. The lazy evaluation captures some extra context, serialization of which in flows results in errors.
2016-12-16 15:48:48 +00:00
Joel Dudley
334ed4806b
Adds overload anotations and reorganizes param orders to improve java interop.
2016-12-15 18:27:41 +00:00
Andrius Dagys
7cb4cbcad4
Made vault updates contain full StateAndRef in the consumed set (instead of just StateRef). This allows subscribers to check whether the update contains relevant states.
...
Cash balances are now calculated by keeping only the aggregate values (it no longer needs to iterate through all states in the vault).
2016-12-15 16:27:39 +00:00
Andras Slemmer
8ea4c258f1
Extend messaging.rst about service queues
2016-12-15 11:37:15 +00:00
Andras Slemmer
a3138ab0dc
Address PR comments
2016-12-15 11:37:15 +00:00
Andras Slemmer
4f44962962
Add kdocs on service addressing
2016-12-15 11:36:06 +00:00
Andras Slemmer
6a796cef35
Add raft notary integration tests, testing service addressing
2016-12-15 11:36:06 +00:00
Andras Slemmer
fd436b0cdc
artemis, sessions, mock: Add Service addressing, tests pass
2016-12-15 11:36:06 +00:00
Shams Asari
7afa3346d6
Updated docs and TODOs to be inline with recent changes to the doorman
2016-12-13 17:03:15 +00:00
Shams Asari
9d98673c66
Added commonName extension method to X500Name and helper class for x509 cert factories
2016-12-09 17:13:00 +00:00
Joel Dudley
ae349a8831
Adds todos that will improve java interop.
2016-12-09 14:30:52 +00:00
rick.parker
0378b8d785
Buffer observations until database commit.
2016-12-08 16:32:45 +00:00
Andras Slemmer
4fe1d48e4a
demos: Fix demo RPC serialisation after rebase
2016-12-08 11:58:31 +00:00
Andras Slemmer
9117ec9860
Simplify InputStreamSerializer, make NODE_USER role explicit
2016-12-08 11:58:31 +00:00
Andras Slemmer
a601f0abf5
Local RPC, demos use RPC, NODE has special privileges
2016-12-08 11:58:31 +00:00
kasiastreich
036b1b4964
Fix double spending of inputs issue on ledger level in test dsl. ( #15 )
...
* Fix double spending of inputs issue on ledger level in test dsl.
* Address PR comments.
2016-12-08 10:15:33 +00:00
Matthew Nesbit
f63e6cd2a6
Add some hooks to StateMachineManager and NodeSchedulerService so that unit tests of flows with scheduled actions can safely test for completion of their test activities. Typically this is done using a while loop whilst there are active fibers, or schedules and then blocking on the ReusuableLatches until the status changes and can be re-evaluated.
...
Add unit tests of ScheduledFlow running on simulated network.
Just use existing DumyContract in test
DummyContract requires value equality so that assertEquals over states works as expected.
Remove blank line.
Add TODO on waitQuiescent.
Fix minor build error
2016-12-07 16:11:55 +00:00
joeldudleyr3
432015ddfe
Adds JvmName annotations where necessary to improve interop when developing CorDapps in java.
2016-12-07 12:12:18 +00:00
Andras Slemmer
ed14c95d6f
Merge pull request #25 from corda/aslemmer-fix-X509-on-linux
...
core: Remove CN from X509 subjectAlternativeNames, always add hostname
2016-12-05 17:16:22 +00:00
Andras Slemmer
948e3f3932
core: Remove CN from X509 subjectAlternativeNames, always add hostname
2016-12-05 13:17:52 +00:00
Shams Asari
10360ae8cf
Converted MapChange into a sealed data structure so that only Modified has the previous node property
2016-12-05 10:04:31 +00:00
Shams Asari
4addb91f80
Added security to RPC and P2P systems.
2016-12-02 18:11:08 +00:00
Shams Asari
5432905b4a
Clean up NetworkMapCache and InMemoryNetworkMapCache
2016-12-02 14:45:54 +00:00
Andrius Dagys
84c127bfff
Merge pull request #12 from corda/andrius-txverify-refactor
2016-12-01 13:54:59 +00:00
Andrius Dagys
cef2c906ab
Minor transaction verification logic refactoring
2016-12-01 12:07:37 +00:00
Joel Dudley
110864f19a
Adds a JvmName annotation to Utils.kt for better java interop.
2016-12-01 11:31:03 +00:00
Andrius Dagys
053dd9a1fe
Merge pull request #5 from corda/composite-key-serializer
2016-12-01 10:17:40 +00:00
Andrius Dagys
ea04ebe311
Added a TODO to follow Crypto-conditions spec
2016-11-30 17:07:39 +00:00
Mike Hearn
d500bf8f50
Address review comments.
2016-11-30 15:11:35 +00:00
Mike Hearn
7b40be8361
Run the IntelliJ reformatter across the Kotlin code. Did not reformat JS/web code.
2016-11-30 14:40:34 +00:00
Andrius Dagys
acaeca5814
Added a custom CompositeKey serializer for a more compact serialized form
2016-11-30 14:18:18 +00:00
Ross Nicoll
f5ecddb4b2
Add get() method to identity service
2016-11-28 18:01:03 +00:00
Shams Asari
38876e3984
Introducing Future.getOrThrow() which throws the cause of the ExecutionException
2016-11-28 15:21:22 +00:00
Andras Slemmer
811b0e6a8d
Merged in aslemmer-warn-on-double-tx-record (pull request #546 )
...
Check for duplicate transaction records
2016-11-28 10:34:34 +00:00
Andrius Dagys
946cfda03e
Added a distributed notary demo that runs a notary cluster and gets several transactions notarised
2016-11-25 17:09:57 +00:00
Andras Slemmer
87bd97d0c7
Check for duplicate transaction records
2016-11-24 18:00:04 +00:00
rick.parker
492005bcfe
Fix up and improve some docs
2016-11-24 15:06:10 +00:00
Mike Hearn
a1759016a8
Minor: simplify the implementation of requireThat{} a little bit (reviewed by Roger).
2016-11-23 18:27:08 +01:00
rick.parker
f68529d1fd
Rename protocol to flow.
2016-11-22 17:17:14 +00:00
Roger Willis
81b9cd6840
Merged in rog-party-participants-comment (pull request #510 )
...
Added comment around usage of 'parties' in DealStates.
2016-11-22 09:47:40 +00:00
Andrius Dagys
93505d5e2e
Merged in andrius-rename-bits (pull request #508 )
2016-11-22 08:26:37 +00:00
Mike Hearn
235cee6727
Add a startup banner and suppress console logging unless --log-to-console is passed on the command line.
2016-11-21 16:08:36 +01:00
RogerWillis
1be32da0f5
Added comment around usage of 'parties' in DealStates.
2016-11-21 15:00:55 +00:00
Andrius Dagys
dce290f8ec
Recompile isolated.jar
2016-11-21 14:47:19 +00:00
Andrius Dagys
64299591c3
Rename PublicKeyTree -> CompositeKey and unify terminology across documentation.
2016-11-21 14:47:19 +00:00
Andrius Dagys
635ee8df79
Rename bits -> bytes, as it normally indicates a byte array
2016-11-21 13:02:27 +00:00
Roger Willis
31dd93523b
Merged in rog-additional-compiler-warning-fixes (pull request #502 )
...
Fixed an additional 2 compiler warnings.
2016-11-21 11:07:03 +00:00
RogerWillis
33c80a7091
Fixed an additional 2 compiler warnings.
2016-11-19 18:46:41 +00:00
Andrius Dagys
0d56846b1b
Added a distributed notary that uses the Raft consensus algorithm (implemented by Copycat).
...
The notary operates by storing committed input states in a map state machine which is replicated across the Copycat cluster.
2016-11-18 18:13:19 +00:00
rick.parker
6abb5750bf
RPC Kryo plugin functionality.
2016-11-18 17:38:05 +00:00
Jose Coll
876b17bb12
Transaction notes now stored individually per row.
2016-11-17 17:57:07 +00:00
Andras Slemmer
cae9b758ff
core: Fix ErrorOr.combine
2016-11-16 14:43:54 +00:00
Jose Coll
5dfffb1b84
Re-applied changes following net.corda rebase.
2016-11-16 14:07:16 +00:00
Andras Slemmer
3c09056e22
Remove :Any restriction from ErrorOr's type parameter
2016-11-15 18:05:00 +00:00
Andras Slemmer
07df9f17b3
loadtest: Add loadtest code
2016-11-15 17:21:26 +00:00
Andras Slemmer
dcd7a8a08a
Address PR 465 comments
2016-11-15 16:51:07 +00:00
Andras Slemmer
7f0dd1ab5b
Generic startProtocol and typesafe wrappers, per-protocol permissions, CashProtocol, remove executeCommand, move almost all Cash-related things to :finance
2016-11-15 16:46:37 +00:00
Andrius Dagys
9b8f00ef84
Stop using "legally-Identifiable" signatures for the notary protocol
2016-11-15 16:08:42 +00:00
Shams Asari
c326a9ae46
Moved the RPC user config out of the properties file and into the main config file
2016-11-15 12:52:08 +00:00
Andrius Dagys
f4925c0fa9
Remove unnecessary TODO
2016-11-15 11:52:58 +00:00
Ross Nicoll
cf6a3050c3
Add sanity check on SignedTransaction.id
...
Add sanity check on SignedTransaction.id when deserializing the wrapped transaction. This
check is already done when verifying signatures, this moves it up to an earlier step and
adds a more specific error message to aid diagnosis.
2016-11-14 16:25:41 +00:00
Andrius Dagys
d00163e29d
Stop using "legally-Identifiable" signatures for the notary protocol, as notary nodes will use their service identity to sign (and not the legal one). It also doesn't make sense to attach an identity on the signature if it's a group identity and the signer holds only 1 out of many keys.
2016-11-14 16:02:20 +00:00
Andrius Dagys
d855b10817
Nodes part of a group identity (e.g. notary) now advertise the whole group Party on the network. When sending a message to a group, a representative node advertising the group identity is first chosen (at random), and its legal identity is used for communication. Currently we assume that a single legal identity can't be advertised by more than one node (the PublicKeyTree of an identity is used for Artemis queue names and we need to do more work to properly map a single queue to multiple nodes)
2016-11-14 14:57:16 +00:00
Andrius Dagys
c33c55eb20
Replace PublicKey with PublicKeyTree in Party. A single entity can now be identified by more than one key.
2016-11-14 14:57:16 +00:00
Katarzyna Streich
79ecd03413
Add serialization without refrences to all leaves of transaction (for Merkle tree calculation).
2016-11-11 13:34:09 +00:00
Mike Hearn
0c7662d53a
Fix up a move problem
2016-11-11 11:45:40 +01:00
Mike Hearn
ce99f354cb
Rename com.r3corda -> net.corda
2016-11-10 17:14:24 +01:00
Katarzyna Streich
103817ec57
Add signing of transaction merkle root hash.
2016-11-08 17:41:32 +00:00
Katarzyna Streich
71965b0792
Add serialization workaround for HashMaps inside states. Fix tests.
2016-11-04 17:21:11 +00:00
Katarzyna Streich
023ba380a0
Style changes.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
a5dfaa255d
Code cleanup, add comments and tests to reflect changes.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
e7cb47ecd0
Add cached Merkle tree structure to wire transaction and root hash as transaction id.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
6af7573955
Build Partial Merkle Tree as recursive data structure.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
cd59dfd2af
Build Merkle Tree as a recursive data structure instead of heap like structure.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
6749555996
Change transaction filtering, remove sorting.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
a38e7e54a0
Minor style changes in tests.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
79fc47f0ec
Add comments and minor changes.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
b31598b801
Change tests to reflect changes in code structure.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
e823e11e85
Change places in code where instead of transaction id hash is used.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
6b5ad92f9b
Substitute WireTransaction id property getter with calculated merkle root.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
ea826988af
Add leaves filtering and building trees with different leaves types.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
2ce21842f8
Add simple filtering and ordering of command leaves.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
7f6f1807b1
Code cleanup and add comments.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
0c573c76e2
Add simple partial tree building and verification tests (also on transactions).
2016-11-04 17:15:59 +00:00
Katarzyna Streich
930f6bbb24
Add initial test for testing Partial Merkle Tree building.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
b5fd359c0a
Add Partial Merkle Tree verification.
...
Not tested.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
e8bdfa5691
Build Partial Merkle Tree for filtered transactions.
2016-11-04 17:15:59 +00:00
Katarzyna Streich
1a8e47fcaa
Filter, build and verify merklized transaction from a wire transaction.
...
Initial structure for a merkleized transaction, with full Merkle tree building.
2016-11-04 17:15:59 +00:00
Ross Nicoll
9d254bd924
Use UUID only for UniqueIdentifier equality
...
The UniqueIdentifier class exists to ensure any external ID for a state is kept coupled to a
proper unique ID, however in doing so it requires both UUID and external ID to find linear head
states in the vault. This modifies the equality and hashing algorithms to use the UUID only,
so that lookup can be done without knowing the external ID.
2016-11-04 16:16:43 +00:00
Shams Asari
bd89da458b
Added nice extension methods for Path, which are more readable than the static methods from Files
2016-11-04 15:36:14 +00:00
Clinton Alexander
cf4b91d7c7
Removed redundant file.
2016-11-03 11:03:54 +00:00
Clinton Alexander
acaa9f82a5
Rewrote some documentation about the simm demo. Moved a util function to the main utils file.
2016-11-03 11:03:54 +00:00
Clinton Alexander
73a2215747
Added core changes and docs required for simm valuation demo.
2016-11-03 11:01:36 +00:00
Shams Asari
6d39b71bf9
Simple RPC access control, with a demo control on the cash RPCs
2016-11-03 10:46:25 +00:00
Jose Coll
1d25d23b73
Merge from master
2016-11-02 14:20:51 +00:00
Jose Coll
012dc9ec10
Merge branch 'master' into colljos-vault-code-clean-up-refactor
2016-11-02 11:20:21 +00:00
Jose Coll
a38b363e9d
Fixed subtle bug in Cash Spending when processing for same Issuer with multiple refs.
2016-11-02 11:15:09 +00:00
Jose Coll
7e3c00c1ff
Merged in colljos-pluginservicehub (pull request #427 )
...
Added PluginServiceHub for use by Corda plugin service extensions.
2016-11-01 17:12:52 +00:00
Jose Coll
f415c497d9
Minor changes to address PR feedback and comments
2016-11-01 16:47:50 +00:00
Jose Coll
253a70f55e
Fixed bug in generateSpending whereby Issuer Ref was not being checked.
2016-11-01 16:12:19 +00:00
Ross Nicoll
613a86c5d9
Remove deposit and issuanceDef fields
...
Remove deposit field from the FungibleAsset interface, and moved it into a fixed reference to
amount.token.issuer.
Remove issuanceDef field and replace it with amount.token.
2016-11-01 14:49:57 +00:00
Jose Coll
d9f0a161e4
Addressed comments in PR review.
2016-11-01 12:05:48 +00:00
Clinton Alexander
276683e053
Merged in clint-attachmentdemosample (pull request #421 )
...
Moved attachment demo to another repo. Added ApiUtils.
2016-11-01 11:54:59 +00:00
Clinton Alexander
7d08c0b068
Removed attachment demo.
...
Added ApiUtils - a library for managing api lifecycles with less boilerplate.
Added default values to http api and improved the api utils.
Fixed spacing and comments.
Removed withName and added a bad request response to handle error cases.
Replaced use of 400 error with a 404 and error message as per HTTP spec.
2016-11-01 11:53:49 +00:00
Jose Coll
c5500caf98
Minor changes to address PR feedback and comments
2016-11-01 11:39:11 +00:00
Jose Coll
308d7c1df7
Added PluginServiceHub for use by Corda plugin service extensions.
2016-10-31 17:15:06 +00:00
Andras Slemmer
3f36462053
core: Bind client socket to getLocalHost explicitly, fixes #6
2016-10-31 15:53:15 +00:00
Jose Coll
2ce310050e
Revert incorrect merge commit.
2016-10-28 10:28:15 +01:00
Jose Coll
b46de0b964
Merge remote-tracking branch 'origin/colljos-vault-transaction-notes' into colljos-vault-transaction-notes
...
# Conflicts:
# core/src/main/kotlin/com/r3corda/core/node/services/Services.kt
# core/src/main/kotlin/com/r3corda/core/testing/InMemoryVaultService.kt
# node/src/main/kotlin/com/r3corda/node/services/vault/NodeVaultService.kt
2016-10-28 09:59:58 +01:00
Jose Coll
369214a747
Additional method on VaultService to add notes to a transaction
...
Additional method on VaultService to retrieve notes for a transaction
2016-10-28 09:57:33 +01:00
Jose Coll
504ec42720
Additional method on VaultService to retrieve notes for a transaction
2016-10-27 16:35:26 +01:00
Jose Coll
bc525aabdf
FungibleAsset reverted back to original filename.
2016-10-27 16:21:05 +01:00
Jose Coll
f2e98ffba5
Merge branches 'colljos-vault-transaction-notes' and 'master' of https://bitbucket.org/R3-CEV/r3prototyping into colljos-vault-transaction-notes
2016-10-27 14:59:37 +01:00
Jose Coll
7d080c39df
Merge remote-tracking branch 'remotes/origin/master' into colljos-vault-code-clean-up-refactor
...
# Conflicts:
# core/src/main/kotlin/com/r3corda/core/contracts/Structures.kt
# node/src/test/kotlin/com/r3corda/node/services/NodeSchedulerServiceTest.kt
Fixed failing CommercialPaper test
(caused by re-use of same database transaction context for vault across two different transaction participants)
2016-10-27 12:56:08 +01:00
Ross Nicoll
65a03efc55
Correct Comparable interface used for isOrderedAndUnique()
2016-10-25 14:31:37 +01:00
Clinton Alexander
2f5efb34d6
Removed the RatesFixProtocol and dependent code and moved to the IRS repo.
2016-10-24 17:56:16 +01:00
Clinton Alexander
2727d56b4a
Removed IRS specific code to new repo.
2016-10-24 17:56:16 +01:00
Shams Asari
e2d6ace449
RPC client authentication using user/password from config file
2016-10-20 17:55:16 +01:00
Jose Coll
75f671a446
Decommissioned InMemoryVaultService service (all dependent Tests updated to use NodeVaultService)
2016-10-20 13:10:00 +01:00
Jose Coll
c7d98b8c6b
Fixed items raised by MH in CRD-CR-58 code review.
2016-10-20 10:52:51 +01:00
Jose Coll
04920c9507
Additional method on VaultService to add notes to a transaction
2016-10-19 15:06:52 +01:00
Jose Coll
62dfea2a1a
Re-factoring of OnLedgerAsset generateSpend code (moved to VaultService)
2016-10-17 17:58:26 +01:00
Patrick Kuo
3403d50168
Merged pat-cash-creation-ui into master
2016-10-17 16:10:53 +01:00
rick.parker
962fdba0f8
Make transaction -> statemachine id mapping persistent.
2016-10-17 11:33:29 +01:00
Patrick Kuo
d4362fbd78
New counterparty model and subscription mechanism to retrieve and track counterparty changes in network map
...
New transaction creation screen for creating new cash transactions, using party info source from the counterparty model.
2016-10-17 11:25:20 +01:00
Jose Coll
67b2d91b33
Re-factoring of CashBalances code (moved to VaultService)
2016-10-17 11:16:53 +01:00
rick.parker
02a9f8fe67
Remove SAME_THREAD executor and it's use in MockNetwork etc.
...
Remove all traces of unused optional Executor in messaging.
2016-10-12 12:02:28 +01:00
Matthew Nesbit
1f3b1f4df9
Transactions in database
...
Include basic unit tests of Transaction storage
Use Rick's column storage code as suggested in PR comments
Remove blank line
2016-10-11 17:49:15 +01:00
Matthew Nesbit
1388454396
Never send transactions to the Notary that aren't signed by all parties. Toughen up to use validating Notary in general and put Client precheck into NotaryProtocol.
...
Rename method to better reflect its actions
Handle comments from PR
Correct indentation
2016-10-11 10:43:40 +01:00
Shams Asari
ac01b67549
Using the protocol ID for the protocol logger name
2016-10-10 13:45:43 +01:00
Matthew Nesbit
1e836edd78
Change ServiceType to a sealed class from an abstract class
...
Allow AdvertisedServices to have their own identity and keys. Also, rationalise legalIdentity onto the local node's NodeInfo which is available on ServiceHub
Fixup after rebase
Remove legal identity that was on storage service. Now access via myInfo.legalIdentity and key via keyManagement lookup.
Enforce singleton notary per node for now
Tidy up based upon Rick's suggestions
Handle PR comments
clean up imports
Fix typo
Fixup rename
Capitalise comment
Eliminate unused variable warning
Make changes based upon PR comments
Cleanup whitespace changes
2016-10-07 13:44:51 +01:00
Mike Hearn
0bcecac7f6
Merge branch 'master' of https://bitbucket.org/R3-CEV/r3prototyping
2016-10-07 11:11:54 +02:00
Mike Hearn
604aa05859
Minor: suppress useless warnings
2016-10-06 18:36:33 +02:00
Shams Asari
c3f824001d
Removed unused ServiceRequestMessage class hierarchy and added sendRequest method
2016-10-06 10:27:35 +01:00
Ross Nicoll
f98abd4700
Simplify results from notary protocol
...
Restructure the Result class used in the notary protocol to use a sealed class, so that it's impossible for it
to be empty, removing that error case from the checks.
2016-10-05 14:33:02 +01:00
rick.parker
ec975b0426
Hibernate ORM implementation for states.
2016-10-05 11:40:27 +01:00
Ross Nicoll
4099034791
Add receivable contract for Trade Finance Registry
...
This introduces the core of a receivable contract for the second stage Trade Finance Registry project.
This is a subset of the cope of the initial Trade Finance project, which focuses on managing
invoices/receivables only, and does not deal with the contents of the invoice yet.
2016-10-04 15:47:38 +01:00
Shams Asari
6b97fbb79f
Removed ValidatingClient as notary behaviour is not client configurable
2016-10-04 15:20:36 +01:00
Shams Asari
5e6533eb8a
Better use of Futures
2016-10-04 14:11:43 +01:00
Andrius Dagys
62a9dfe900
Added ServiceInfo unit tests
2016-10-04 11:36:26 +01:00
Andrius Dagys
5efa0fd5b3
Advertised services now contain ServiceInfo which describes ServiceType and a service identifier. This will be used, e.g. for grouping distributed notary nodes into the same service cluster.
2016-10-04 11:36:26 +01:00
Ross Nicoll
607ba634fe
Add filter composition for clauses
2016-10-04 10:32:13 +01:00
Shams Asari
67fdf9b2ff
Automatic session management between two protocols, and removal of explict topics
2016-10-03 15:21:27 +01:00
Andrius Dagys
b3f3ee0562
Added a json serializer for PublicKeyTree
...
Typo fixes, other minor refactorings
2016-10-03 11:09:36 +01:00
Andrius Dagys
ecb1acdb8d
Add threshold signature support: introduce PublicKeyTree which allows composing public keys into a tree structure with nodes containing thresholds for how many child node signatures it requires.
2016-10-03 11:09:36 +01:00
Clinton Alexander
7afb034b8c
Merged in clint-vegacorechanges (pull request #380 )
...
Corda Changes required for Vega
2016-09-28 16:28:15 +01:00
Clinton Alexander
43de27c4c1
Updated Corda in preparation for the merging of the Vega cordapp. Includes
...
some minor changes, including gitignore rule changes. The largest change
is replacing the current fresh key for each transaction with a single
static identity in preparation for aimproved and more fleshed out key
sharing infrastructure.
2016-09-28 14:39:41 +01:00
Andras Slemmer
5b10c207e0
Add StateMachine -> Recorded TX mapping stream and emit events on transaction records
2016-09-28 11:46:37 +01:00
Andras Slemmer
6c96517f6f
core, node: Add RPC calls, change RPC init order
2016-09-28 10:32:22 +01:00
Andras Slemmer
7e7bf08062
Rename stateMachineRunId properties to id, remove unused fiberId
2016-09-26 10:40:18 +01:00
Andras Slemmer
cfa5878ea2
Add StateMachineRunId, type for SMM Changes
2016-09-26 10:40:18 +01:00
Matthew Nesbit
a964073c2f
Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
...
Use synchronized wrapper over set.
Drop discard message to trace level logging.
Fix code layout
Use lazy trace extension method
Track message id's to deduplicate replays. Widen the auto-acknowledgement window of Artemis back to the default.
Use synchronized wrapper over set.
Include tx message unique id in checkpointed data.
Add test for checkpointed resend
Fix bug in not getting UUID off message.
Tidy formatting
Add explanation comments to test asserts
Put unique id even on Client messages.
Tidy formatting
2016-09-26 10:12:50 +01:00
Andrius Dagys
ac57c5cf86
Merged andrius-crypto-refactor into master
2016-09-22 18:07:31 +01:00
Andrius Dagys
f1a2bed497
Added API doc for SecureHash. Removed signatureAlgorithmName val as it's not being used
2016-09-22 16:52:06 +01:00
Ross Nicoll
54991c90a1
Merged in rnicoll-dictionary (pull request #369 )
...
Correct typos, add custom dictionary
2016-09-22 09:52:28 +01:00
Andrius Dagys
8d84ece9c2
Split out SecureHash and Signed data from CryptoUtilities
2016-09-21 16:06:20 +01:00
Andrius Dagys
5bb7820f5d
Api doc typo fix
2016-09-21 14:44:56 +01:00
Ross Nicoll
80ccf4df34
Change keypair to "keyPair"/"key pair"
...
Change "keypair" to "keyPair"/"key pair" to correctly indicate it is two words,
not a single word.
2016-09-21 10:50:28 +01:00
Ross Nicoll
1d53e59c7d
Merged in rnicoll-wallet-vault (pull request #367 )
...
Change 'wallet' to 'vault'
2016-09-21 10:11:30 +01:00
Shams Asari
b316696360
Switched the roles of Instigator and Acceptor in the auto-offer protocol so that they're correctly used according to the classes they inherit
2016-09-20 18:42:47 +01:00
Ross Nicoll
ebda724f14
Change references to 'wallet' with 'vault'
2016-09-20 18:14:53 +01:00
Patrick Kuo
9b4bf32fdc
client certificate signing utility
2016-09-20 10:51:09 +01:00
rick.parker
236a47104f
Persitent network map and key service. Temporary persistence workaround for scheduler.
2016-09-16 12:14:56 +01:00
Mike Hearn
4d83f1489f
Add a client library that provides an RPC mechanism for talking to the Corda node.
...
The RPC mechanism uses message queues and is essentially conventional except for the fact that it supports marshalling observables. An observable encapsulates a stream of ongoing events, and server-side observables sent to the client are automatically bound to message queues and managed by Artemis.
2016-09-16 10:13:21 +01:00
Shams Asari
8ea20dd0d2
Removed session IDs from the send and receive methods of ProtocolLogic and are now partially managed by HandshakeMessage
2016-09-14 15:26:55 +01:00
Matthew Nesbit
bf0721868e
Move Interest Rate related classes out of :node to reduce dependency of :node module on any specific contract. (Currently only WalletMonitorService and CashBalanceAsMetricsObserver stop me removing the compil dependency of :node on :contracts rather than :core). This has required that I modify fixing protocol to require information on what class of Oracle to use.
2016-09-09 11:31:08 +01:00
Mike Hearn
31f3bb28bb
Fix build
2016-09-09 11:47:40 +02:00
Mike Hearn
34890b7678
Merged in james-encumbrances (pull request #289 )
...
Encumbrances implemented by reference to an index of an output state
2016-09-09 11:32:03 +02:00
jamescarlyle
b7e6c210d9
Merge with master
...
# Conflicts:
# docs/build/html/_sources/index.txt
# docs/build/html/_sources/protocol-state-machines.txt
# docs/build/html/_sources/tutorial-contract-clauses.txt
# docs/build/html/index.html
# docs/build/html/protocol-state-machines.html
# docs/build/html/searchindex.js
# docs/build/html/tutorial-contract-clauses.html
# docs/build/html/tutorial-contract.html
2016-09-09 09:43:14 +01:00
jamescarlyle
e187c4d91d
Further tweaks based on feedback - simplified the embedded timelock contract
2016-09-08 22:49:24 +01:00
Mike Hearn
34ee44b532
Minor: move ErrorOr into the core module and tweak its API a bit. Add a Path div operator.
2016-09-08 13:12:15 +02:00
Mike Hearn
d8d639f192
Merged in mike-small-tweaks (pull request #337 )
...
A few small tweaks
2016-09-08 12:40:14 +02:00
Andras Slemmer
fcd477e332
core: Address topo sort style suggestions
2016-09-08 10:17:00 +01:00
Andras Slemmer
8e6198cf91
core: Make topological sort result deterministic
2016-09-08 10:15:59 +01:00
Andras Slemmer
5596ced5c3
core: Make topological sort more efficient
2016-09-08 10:04:18 +01:00
Andras Slemmer
d6f82637ad
core: Fix tx resolution bug by topological sorting of downloaded transactions
2016-09-07 18:34:20 +01:00
Mike Hearn
8a9350fc93
Address review comments
2016-09-07 13:09:39 +02:00
Mike Hearn
fa4b503f81
Minor: rename UntrustworthyData.validate to UntrustworthyData.unwrap to better indicate its purpose and deprecate the old name.
2016-09-07 13:09:39 +02:00
Mike Hearn
a030a45019
Address review comments
2016-09-07 13:09:39 +02:00
Mike Hearn
49a0fd8fdd
Improve the usability of SignedTransaction.verifySignatures taking into account how it is typically used.
2016-09-07 13:09:39 +02:00
Mike Hearn
2af6a70b9a
Minor: rename BaseTransaction.signers to mustSign to make it a bit clearer what this field is.
2016-09-07 13:09:39 +02:00
Mike Hearn
1d272f89c2
Check the tx type in NotaryChangeProtocol and add a TODO to write a test for this once the protocol framework propagates exceptions.
2016-09-07 13:09:39 +02:00
Mike Hearn
793e912324
State replacement protocols: preserve the UntrustworthyData<T> marker for longer to try and get subclass authors in the right frame of mind.
2016-09-07 13:09:39 +02:00
Matthew Nesbit
2e1952a8a7
Get rid of the fake NodeInfo used to identify the NetworkMapService node.
...
Remove old comment
2016-09-06 18:25:12 +01:00
jamescarlyle
cdb2c3efa6
updated following review
2016-09-06 17:56:01 +01:00
Mike Hearn
86267e880d
Minor: add a log.debug {} utility same as log.trace {} to do lazy message construction
2016-09-06 18:44:25 +02:00
Mike Hearn
5a28b29a7e
Merged in mike-tx-types-refactoring-september (pull request #332 )
...
Refactor common fields from WireTransaction/LedgerTransaction out into BaseTransaction. Put some field invariants into the constructors.
2016-09-06 18:03:39 +02:00
Mike Hearn
e398b6e17b
Refactor common fields from WireTransaction/LedgerTransaction out into BaseTransaction. Put some field invariants into the constructors.
2016-09-06 17:30:52 +02:00
Andras Slemmer
63e2ec32cf
core: Suppress cast warnings
2016-09-06 15:18:41 +01:00
Andras Slemmer
0f29067680
contracts, core: Fix compiler errors
2016-09-06 14:30:03 +01:00
Andras Slemmer
9e993c5b86
Merged in aslemmer-generators-fixes (pull request #300 )
...
Aslemmer generators fixes
2016-09-06 14:19:28 +01:00
Mike Hearn
f3fa54ebef
Minor: add field-level documentation to WireTransaction and TODO a few things that don't seem right.
2016-09-06 15:06:29 +02:00
Mike Hearn
8a19e6bbfb
Minor: delete dead code in SignedTransaction.verifySignatures as it's not required.
2016-09-06 15:06:28 +02:00
Mike Hearn
210ea2ed95
Minor: remove the TODO about the notary signing last. It is not important at this level as the notary signature does not cover the other signatures. Also a small formatting change to the withAdditionalSignatures methods.
2016-09-06 15:06:28 +02:00
Mike Hearn
99f8477bf1
Minor: move code from TransactionTools.kt into the respective classes, and add some @Throws annotations that were missing (matters for java users)
2016-09-06 15:06:28 +02:00
Andras Slemmer
bd59022e8f
Revert "core, contracts: Rewrite Generators to use functions instead of classes"
...
This reverts commit deddcc91c7f6ad436c44daf69b4cb81a406cb28e.
2016-09-06 13:54:59 +01:00
Andras Slemmer
abdc45176d
Revert "core: Small Generator fix"
...
This reverts commit c57731a978fe41f38b91dbe97dd1e1ddc9e274d1.
2016-09-06 13:54:59 +01:00