Mike Hearn
cdb3e2f126
Minor: move WalletFiller from node.testing to contracts.testing
2016-06-22 14:49:52 +02:00
Mike Hearn
37c89d7cf6
Minor: add a TODO that the trader protocol should be recording the transaction itself instead of letting the caller do it.
2016-06-22 13:46:57 +02:00
Richard Green
6b80530ac6
Changed DateOffset to be an integer instead of enum. Usages and examples also changed. Also renamed to fixingPeriodOffset
...
Renamed fixingPeriod -> fixingPeriodOffset in the .json files
2016-06-21 18:17:39 +01:00
Clinton Alexander
3e82ee45f2
Merged in nodedircreate (pull request #139 )
...
Todo resolution: Moved node directory creation into the abstract node.
2016-06-21 11:02:29 +01:00
Andras Slemmer
b99ddfdb7d
demo: Suppress unused var warning
2016-06-20 14:16:13 +01:00
Andras Slemmer
780f2d7e82
demo: Remove warnings
2016-06-20 14:16:13 +01:00
Andras Slemmer
03c1550394
node: add ability to pump sending as well as receiving, expose both streams
2016-06-20 12:37:42 +01:00
Andras Slemmer
298b35ba4f
demo: Remove unnecessary 'participants' field from IRS demo fixture
2016-06-20 12:11:58 +01:00
Andras Slemmer
d8e0e8d548
test: Add JsonSupport testing using junit-quickcheck
2016-06-20 11:49:54 +01:00
Andras Slemmer
478fe6110b
test: Fix IRS demo JSON fixture
2016-06-20 11:49:15 +01:00
Andrius Dagys
0a5b7ace35
Made TransactionBuilder abstract. Every transaction type now needs to implement and provide its own Builder. This is required since for specific types we need to run different logic when adding new items to the transaction. For example, when adding a new input state to a transaction of type NotaryChange we need to add all of the states participants to the signers list.
2016-06-17 15:05:35 +01:00
Andrius Dagys
70495a021e
Introduce TransactionState, which wraps ContractState and holds the notary pointer.
...
Remove notary from ContractState.
Introduce TransactionType, which specifies custom validation logic for a transaction.
2016-06-17 15:05:35 +01:00
Ross Nicoll
a029e303a6
Switch trader demo to expect self-signed cash
2016-06-17 14:36:21 +01:00
Ross Nicoll
ad72f3e48f
Add issuer to cash amounts
...
Add issuer of a cash when referring to amounts of cash (except for the very few cases where
the issuer is not important, such as when referring to aggregated totals across a set of
issuers). Replaces CommonCashState with TokenDefinition, as a more accurate reflection of
what the class represents.
2016-06-16 15:05:49 +01:00
Shams Asari
aa153be6f0
moved methods in ChildrenProgressTrackers into ProgressTracker
2016-06-14 16:42:42 +01:00
Clinton Alexander
6b886bde4a
Nodes now need a setup step before running.
2016-06-14 16:07:29 +01:00
Clinton Alexander
86b5b7299a
Moved node directory creation into the abstract node.
2016-06-13 15:30:26 +01:00
rick.parker
73cbab0084
Pull out Wallet observable into it's own branch
...
Review feedback
Review feedback
Apply feedback from previous PR
Apply feedback from previous PR
Apply feedback from previous PR
PR feedback
PR feedback
PR feedback
2016-06-10 17:16:56 +01:00
rick.parker
82abc69046
Pull out StateMachineManager observable into it's own branch
...
Review feedback
Review feedback
Review feedback
2016-06-10 13:10:56 +01:00
Clinton Alexander
28c6df2440
IRSDemo is now fixed. Merge conflict caused notary types to become mismatched. Merged the new file upload code from the irsdemotest branch.
2016-06-08 18:45:34 +01:00
Clinton Alexander
2b64ba1cc6
Fixed IRS demo success case for PUT requests.
2016-06-08 16:45:19 +01:00
Clinton Alexander
146f274dd0
Demo now requires the setup steps if the configuration is not default. Documentation updated to reflect these changes.
2016-06-08 16:31:58 +01:00
Clinton Alexander
7b2214e888
IRS Demo config is now able to be run in any order if default directory settings are present.
2016-06-08 16:31:58 +01:00
Clinton Alexander
8010836f14
Added setup steps to the IRSDemo to make steps more explicit and tidied up the handling of args.
2016-06-08 16:31:58 +01:00
Clinton Alexander
782d50958d
IRS demo endpoints are now parameterised for the Trade and Demo modes. Documentation fixes.
2016-06-08 16:30:40 +01:00
Clinton Alexander
6b62f33c46
Corrected the currency mismatch in the example trade.
2016-06-08 16:30:40 +01:00
Clinton Alexander
9e32d62d0f
Moved resource files for IRSDemo from scripts to resource directory. Removed errant semicolons.
2016-06-08 16:29:21 +01:00
Clinton Alexander
32a5d4173a
IRS demo now requires no manual configuration. All functions made private.
2016-06-08 16:29:21 +01:00
Clinton Alexander
626e8489e8
Non-options arguments are handled correctly in IRS Demo
2016-06-08 16:29:21 +01:00
Clinton Alexander
8e9fc2d4c0
Updated help text and corrected argument handling in IRS demo.
2016-06-08 16:29:21 +01:00
Clinton Alexander
fad45eaa91
Updated documentation for the IRS demo.
2016-06-08 16:29:21 +01:00
Clinton Alexander
389a470400
Moved IRS demo date setting functionality to Kotlin code. Removed now redundant demo script.
2016-06-08 16:29:21 +01:00
Clinton Alexander
3d556c614f
Moved IRS demo trade mode to the Kotlin demo code.
2016-06-08 16:29:21 +01:00
Clinton Alexander
639f97ff9c
Rate uploading moved to IRSDemo.kt from irs-demo.sh
2016-06-08 16:29:21 +01:00
Clinton Alexander
9a619cc4ae
IRS demo to now has roles for NodeA/NodeB and most options are now~ optional. NodeA can be run without the shell script.
2016-06-08 16:29:21 +01:00
Andrius Dagys
21f53a7d3e
Revert "Revert "Merged in validating-notary (pull request #123 )""
...
This reverts commit e64145991e
.
2016-06-07 13:53:00 +01:00
Andrius Dagys
e64145991e
Revert "Merged in validating-notary (pull request #123 )"
...
This reverts commit d9f4e4da2e
, reversing
changes made to 654dc3f60a
.
2016-06-07 12:29:27 +01:00
Andrius Dagys
c45bc0df20
Split up Notary protocol into Client and Service parts. The Service protocol can be extended to provide additional transaction processing logic, e.g. validation.
...
Implemented a Simple and Validating Notary services.
2016-06-07 10:58:34 +01:00
Shams Asari
654dc3f60a
Resuming from checkpoints now working - seller (but not buyer) in trader demo can be restarted
2016-06-06 17:49:40 +01:00
rick.parker
8122e35a8a
Have ServiceHub entries implement SerializeAsToken so they are not copied into protocol checkpoints.
2016-06-06 16:55:46 +01:00
Ross Nicoll
fc62010da6
Move cash contract into its own package
2016-05-31 17:07:36 +01:00
Andrius Dagys
4a79600653
Trader demo fix: buyer now records completed transactions and doesn't attempt to reuse the same spent cash states.
2016-05-31 12:40:53 +01:00
rick.parker
0b2c16be67
Changes to packages after refactor
2016-05-24 11:48:04 +01:00
rick.parker
f8e610aa71
Re-apply changes
2016-05-24 09:41:00 +01:00
Matthew Nesbit
63a5fd1b9e
Add com.r3corda to all namespaces.
2016-05-23 14:53:56 +01:00
Matthew Nesbit
a7c0296f6b
Rename node.core to node.internal from Rick's suggestion not to use core outside of the core package.
2016-05-20 16:43:01 +01:00
Matthew Nesbit
f6f56797ce
Refactor code into clear core, contracts and node namespaces. Move services into clear implementation and api sides. Push unit tests down to lowest level of dependency hierarchy possible.
2016-05-20 16:42:59 +01:00
Mike Hearn
5e70646bd2
Refactor the trader demo and add comments to make it easier to customise.
2016-05-18 19:10:49 +02:00
Andrius Dagys
e8ae3be38d
TwoPartyDealProtocol fix: don't check Notary identity if the transaction has no inputs
2016-05-18 10:06:30 +01:00
Mike Hearn
e1f899647a
Modify the trader demo so it doesn't need a shell script to start it anymore. Now all configuration is in the driver program.
2016-05-17 18:13:24 +02:00
Mike Hearn
69eef9a947
Temporarily disable the IRS simulation test due to it revealing an issue with the new verifyCorrectNotary code.
2016-05-17 18:09:26 +02:00
Mike Hearn
e475b146d9
Testing: add a unit test that runs the IRS simulation through to completion, to ensure some test coverage of TwoPartyDealProtocol until it's merged with TPTP. Fix an issue that was breaking the simulation.
2016-05-17 17:57:41 +02:00
Mike Hearn
f9920cbc28
Testing: expose a future from the Simulation.start method to let you find out when the simulation has finished (if it finishes at all).
...
Add a simple test that just forces the IRS simulation through to completion (no real checks on the output).
2016-05-17 17:57:40 +02:00
Matthew Nesbit
6bdbc7925b
Fix IRS demo by allowing demos to optionally register JAX-RS classes on the node at construction time.
2016-05-14 19:26:20 +01:00
Matthew Nesbit
988e00099d
Capture file moves to separate Node implementation code into its own gradle module and leave only demo code in top level src folders.
...
I have to temporarily break\disable the IRS demo to which has a circular dependency. Will fix next.
2016-05-14 17:57:41 +01:00
Matthew Nesbit
058ac986bd
Move contracts base files to namespace to make api aspect clearer in includes.
...
Move Party to core.crypto as Party is closely aligned with the signing and used in code areas unrelated to the contract code.
2016-05-14 13:47:07 +01:00
Andrius Dagys
422d65cc54
Rearranging interfaces and implementations. Notary fix for the cash tests.
2016-05-13 16:34:25 +01:00
Andrius Dagys
0da604e33b
Added another chapter on implementation and usage.
...
Modified TODO comment.
2016-05-13 16:17:50 +01:00
Andrius Dagys
324b2be06c
Added a rendundant condition to a branch for readability
2016-05-13 16:17:50 +01:00
Andrius Dagys
2c422bebd3
Added noneOrSingle extension method, which returns a single element, null if no elements found and throws if more than one element found
2016-05-13 16:17:50 +01:00
Andrius Dagys
fa3f7e7fa6
Added a basic Notary service with protocol for signing transactions
2016-05-13 16:17:50 +01:00
Rick Parker
539e23a0b1
Merged in plt-141-moves-only-part-3 (pull request #93 )
...
File and interface moves to core module for scheduler
2016-05-13 15:17:32 +01:00
Ross Nicoll
25e2c4bc4d
Add issuance definition for cash contract
...
Add issuance definition for cash contract, as well as common interfaces to support later
extensions. The issuance definition encapsulates the core values for state objects when
issued, and essentially acts as the Ricardian contract for Corda states.
2016-05-13 14:55:12 +01:00
rick.parker
1ce8a64938
File and interface moves to core module
2016-05-13 14:03:28 +01:00
Rick Parker
3ee601360e
Merged in plt-141-moves-only-part-2 (pull request #92 )
...
File moves to core module and split of interfaces and implementations in preparation for further moves
2016-05-13 13:22:08 +01:00
Mike Hearn
81c698a260
Minor: fix some compiler warnings
2016-05-13 12:58:17 +02:00
rick.parker
6017179bc0
File moves to core module and split of interfaces and implementations in preparation for further moves
2016-05-13 11:35:45 +01:00
rick.parker
a18e7b06bf
File moves to core module and split of interfaces and implementations in preparation for further moves
2016-05-13 10:07:44 +01:00
Shams Asari
4271693b85
peristing psm checkpoints to disk (one per file)
2016-05-10 16:26:07 +01:00
Richard Green
62e7dc583e
Expanded the verify() function for the IRS Contract
2016-05-10 15:32:08 +01:00
Ross Nicoll
642b951bae
Rename PartyReference to PartyAndReference
2016-05-09 17:55:37 +01:00
Ross Nicoll
2035a7ba54
Merged in rnicoll-cash-issue-only (pull request #83 )
...
Require that a cash Issue command is the only command
2016-05-09 17:17:53 +01:00
Ross Nicoll
252eb141a7
Require that a cash Issue command is the only command
...
Require that a cash Issue command is the only cash command in a transaction.
Although no problems are anticipated with other commands being present, they
could theoretically confuse other verification tools.
2016-05-09 16:55:44 +01:00
Shams Asari
2e7b004eb5
logger name moved into protocol state machine
2016-05-09 15:32:30 +01:00
Shams Asari
66eec9c2b2
cleanup of use of messaging service
2016-05-06 10:10:39 +01:00
Ross Nicoll
e433663875
Correct TraderDemo after network map changes
...
Script to run TraderDemo now specified network map service rather than timestamper service.
TraderDemo now explicitly states the services it needs to run. Previously this was implied by whether a timestamper service was specified, and the code was not updated when that change was made.
2016-05-04 17:45:00 +01:00
Ross Nicoll
7a0300f024
Split internal/external services
...
This patch splits internal services (to be referred to as "subsystems") from
external services (retaining the label "services"). This makes it clear which
are components of the node for its own use (such as the identity subsystem,
network map cache, wallet, etc.) and which are exposed for other nodes to use.
Further work is needed on consistency in naming, this just introduces the basic
restructuring.
2016-04-28 13:15:14 +01:00
Ross Nicoll
e11ce06b87
Minor: Move service tests into code.node.services package
2016-04-28 09:39:04 +01:00
Ross Nicoll
147f8f37ce
Enable network map service
2016-04-27 16:39:33 +01:00
Ross Nicoll
00a2088fa5
Add in-node network map service
2016-04-27 16:33:54 +01:00
Ross Nicoll
5134dd4bbc
Add advertised services to AbstractNode and subclasses
2016-04-27 16:26:57 +01:00
Ross Nicoll
8a42da5362
Add network map service
2016-04-27 16:26:57 +01:00
Ross Nicoll
44054c47f8
Add InMemoryNetworkMapCache
2016-04-27 16:26:57 +01:00
Shams Asari
0575bcc959
Sending message to self no longer goes into continuous loop
2016-04-27 14:50:07 +01:00
Ross Nicoll
c8865c1b40
Remove deregisterIdentity()
...
Remove the ability to remove registered identities. Once registered, identities are part
of a permanent record (for example you would want to ensure parties to contracts cannot
"disappear" by removing themselves from the identity service).
2016-04-27 11:43:10 +01:00
Mike Hearn
f3ed5fc9cb
Minor: rename SMM._stateMachines to remove underscore.
2016-04-25 18:13:34 +02:00
Mike Hearn
9904d5bb6e
Address review comments from Shams.
...
Also, make ServiceAffinityExecutor subclass ThreadPoolExecutor instead of delegating to ScheduledThreadPoolExecutor. This fixes an issue with exception reporting.
2016-04-25 18:13:34 +02:00
Mike Hearn
e5a0a211da
SMM: Better fiber scheduler that always schedules onto the SMM thread.
2016-04-25 16:43:46 +02:00
Mike Hearn
746aca8290
Thread safety and messaging bug fixes.
...
* Use the new AffinityExecutor code to fix some thread affinity issues where callbacks were running on the wrong threads. Add affinity assertions.
* Remove sleeps from UpdateBusinessDayProtocol.
* Remove a one-shot message handler before the callback is executed.
* Store un-routed messages in memory in ArtemisMessagingService to fix handler registration/message races. This is a temporary kludge until we use Artemis/MQ better.
2016-04-25 15:25:58 +02:00
Mike Hearn
63b8579669
Minor: print more logging in the IRS demo
2016-04-25 15:22:30 +02:00
Mike Hearn
1b3e919df7
Minor: print a bit more info in log lines
2016-04-25 15:22:10 +02:00
Mike Hearn
f6ef1c8071
Add AffinityExecutor: a tool for making it easier to perform thread assertions.
2016-04-25 14:50:28 +02:00
Ross Nicoll
d3011817ed
Merged in rnicoll-identity-service (pull request #64 )
...
Add InMemoryIdentityService
2016-04-21 17:57:47 +01:00
Ross Nicoll
b4513e8bec
Add InMemoryIdentityService
...
Move FixedIdentityService to MockIdentityService under testing as it's specialised for use in tests.
Add a new InMemoryIdentityService replacing the fixed identity service in AbstractNode.
2016-04-21 17:10:43 +01:00
Mike Hearn
4c9e4ce637
SMM: Log uncaught top level fiber exceptions as something has changed about how they propagate out of Fiber.unpark
2016-04-21 13:13:52 +02:00
Mike Hearn
3ef6f18203
Merged in delete-unnecessary-service-ids (pull request #63 )
...
Delete unnecessary service IDs. Only services exposed to the wider network need this type of identifier.
2016-04-20 17:36:50 +02:00
Mike Hearn
e88907dd41
Delete unnecessary service IDs. Only services exposed to the wider network need this type of identifier.
2016-04-20 15:28:59 +02:00
Ross Nicoll
9a17a1c144
Merged in rnicoll-test-in-memory-network (pull request #62 )
...
Remove TestWithInMemoryNetwork
2016-04-20 13:37:35 +01:00
Ross Nicoll
78076ace3b
Remove TestWithInMemoryNetwork
...
* Replace use of TestWithInMemoryNetwork by InMemoryMessagingTests with MockNetwork
* Replace use of TestWithInMemoryNetwork by TimestamperNodeServiceTest with MockNetwork
* Remove reference to TestWithInMemoryNetwork from TwoPartyTradeProtocolTests
2016-04-20 13:36:44 +01:00
Ross Nicoll
5ce7580470
Replace forced ID with ID
...
Replace the forced ID passed into MockNode with the actual ID. This ensures
mock nodes are aware of their ID as the MockNetwork sees it, essentially
always forcing ID to be overriden.
2016-04-20 13:36:44 +01:00