Commit Graph

644 Commits

Author SHA1 Message Date
Clinton Alexander
2927775bf0 Started adding deal creation view. 2016-07-08 16:41:23 +01:00
Clinton Alexander
6d21d1f8e2 Added angular route to bower config. 2016-07-08 16:41:23 +01:00
Clinton Alexander
d69a998a36 Moved views into view directory. Made the viewer an single page app. 2016-07-08 16:41:23 +01:00
Clinton Alexander
cdea9b6674 Added more content to the deal page in demo web UI 2016-07-08 16:41:23 +01:00
Clinton Alexander
c0752c0f95 Deal page now presents actual data from API 2016-07-08 16:41:23 +01:00
Clinton Alexander
8324cef612 Added loading and fixed date updating. 2016-07-08 16:41:23 +01:00
Clinton Alexander
179691f7e4 Partially implemented date handling. 2016-07-08 16:41:23 +01:00
Clinton Alexander
129f8ee518 Added new files for angular. 2016-07-08 16:41:23 +01:00
Clinton Alexander
7cd8839a59 Added angular to project. Trades are now listed on the homepage. 2016-07-08 16:41:23 +01:00
Clinton Alexander
1a73d417ee Added more of the deal wireframe. 2016-07-08 16:41:23 +01:00
Clinton Alexander
b5e997c5b9 Removed full semantic installed and replaced with minimal lib to remove installation steps. 2016-07-08 16:41:23 +01:00
Clinton Alexander
823ce8aa75 Added semantic to project. 2016-07-08 16:41:23 +01:00
Clinton Alexander
f7a4271025 Added wireframes for the demo website with supporting node modules 2016-07-08 16:41:23 +01:00
Clinton Alexander
930ef17576 Fixed a change resulting from an incorrect merge. 2016-07-08 16:41:23 +01:00
Clinton Alexander
f3fc2e005b Corrected the currency mismatch in the example trade. 2016-07-08 16:41:23 +01:00
Clinton Alexander
c8be3f9276 Merged in irsdemocleanup (pull request #209)
Added OkHttp library and improved help text to demos.
2016-07-08 16:40:30 +01:00
Clinton Alexander
639df4dcb9 Http Client is now lazy init. 2016-07-08 10:48:55 +01:00
Matthew Nesbit
8d31df5fe1 Remove @Suppress now we use standard Kotlin Int 2016-07-08 10:38:22 +01:00
Matthew Nesbit
1fb4371de9 Make the IRS Demo web api an api plugin (scanned from the Node classpath) and use the same permission checking entry point for web api's as the scheduler.
Fix whitespace

Change ProtocolLogicRefFactory to use Map<String, Set<String>> as whitelist definition
2016-07-08 10:34:30 +01:00
Clinton Alexander
01e64d3030 Fixed merge conflicts. 2016-07-07 17:23:14 +01:00
Clinton Alexander
d4da633b1e Fixed merge issues 2016-07-07 16:31:52 +01:00
Clinton Alexander
24deb5a79c Added more useful help message that includes basic usage to the TraderDemo. 2016-07-07 16:28:27 +01:00
Clinton Alexander
98b02e9d33 Added some simple documentation to the IRSDemo. 2016-07-07 16:25:01 +01:00
Clinton Alexander
3651bd54aa Increased read timeout in order to avoid timeouts on long fixing periods (ie; 2020-01-01) on the IRS demo. 2016-07-07 16:22:09 +01:00
Clinton Alexander
6381b5e6a1 Added OkHttp and used it to clean up the HTTP calls in the demo and then moved those new functions to a util lib. 2016-07-07 16:22:09 +01:00
Shams Asari
5c0e7fbbf2 Moved topic parameter from send/receive methods to a ProtocolLogic property 2016-07-05 15:12:25 +01:00
Ross Nicoll
2121824662 Rename com.r3cord.contracts.cash package to ...asset 2016-06-30 13:31:59 +01:00
Shams Asari
a02263937c send and sendAndReceive use Party for the destination 2016-06-30 12:04:39 +01:00
Andras Slemmer
9e174d3e3a irsdemo: Fix api address in Date role 2016-06-30 11:30:05 +01:00
rick.parker
5271882dcd Event scheduling and docs for event scheduling 2016-06-30 08:51:52 +01:00
Andras Slemmer
d29dd121ff integtest: Change timestamp format to be compatible with Windows 2016-06-29 13:58:19 +01:00
Andras Slemmer
d17e649137 integtest: Double polling retry count 2016-06-28 17:55:04 +01:00
Andras Slemmer
9e5bf7c32c integtest: Use separate folder for each integtest run, provide api address 2016-06-28 14:03:32 +01:00
Andras Slemmer
aa82d4441e irs-demo: Fix advertised services 2016-06-28 14:03:32 +01:00
Andras Slemmer
54967afb78 irs-demo: Rework CLI parsing, add api-address 2016-06-28 14:03:32 +01:00
Andras Slemmer
1e15e7a206 trader-demo: Put demo directory under build/, add corresponding cli option 2016-06-28 14:03:32 +01:00
Andras Slemmer
f2505fb504 integtest: Put delay in status polling 2016-06-28 14:03:32 +01:00
Andras Slemmer
e54dad9a8b node: Add apiAddress constructor parameter 2016-06-28 14:03:32 +01:00
Andras Slemmer
429d8aab74 node, integtest: Code style 2016-06-28 14:03:32 +01:00
Clinton Alexander
ffa9ad1bc9 Added port argument for IRS demo to allow web servers to not have binding collisions during testing and to allow more granular control over demos. 2016-06-28 14:03:32 +01:00
Clinton Alexander
4900c7eb26 Ports now randomised during demo tests. 2016-06-28 14:03:32 +01:00
Clinton Alexander
b52f344eb3 Ensured that nodes are killed by process.destroyForcibly. Added random port numbers to test. 2016-06-28 14:03:32 +01:00
Clinton Alexander
68867d21bb Fixed merge conflict problems. 2016-06-28 14:03:32 +01:00
Clinton Alexander
5bf5e37572 Demos now fully handle process managment except in the case where the process is killed with something like pkill or the JVM being ended by task manager. 2016-06-28 14:03:32 +01:00
Clinton Alexander
5858ff5c45 Ensured that test passes under correct conditions, which may be slow, but also that the node lives until the end. 2016-06-28 14:03:32 +01:00
Clinton Alexander
ad45b5deaf Tests now fail if spawned processes take too long to finish. 2016-06-28 14:03:32 +01:00
Clinton Alexander
9a2a7165a5 Fixed merge errors. 2016-06-28 14:03:32 +01:00
Clinton Alexander
21dc8e7fd4 Increased timeout time for reads during HTTP connections to avoid demo failing when date it set far in the future. 2016-06-28 14:03:32 +01:00
Clinton Alexander
7a4a1363cb Removed unnecessary changes. 2016-06-28 14:03:32 +01:00
Clinton Alexander
5a4215a312 Fixed a change resulting from an incorrect merge. 2016-06-28 14:03:32 +01:00
Clinton Alexander
9973f8a33e Moved integration test utilities into a utility folder. 2016-06-28 14:03:32 +01:00
Clinton Alexander
9638ea5b9e IRS demo test now uses the new status endpoint 2016-06-28 14:03:32 +01:00
Clinton Alexander
03e2852880 The integration tests for demos now spawn a new JVM instead of using threads. Demos no longer need or contain any in memory node logic. 2016-06-28 14:03:32 +01:00
Clinton Alexander
22dd36950c Moved the IRSSimulationTest back into the unit test directory. 2016-06-28 14:03:32 +01:00
Clinton Alexander
ecdd0a23a2 Fixed bug in IRS demo where the node threads never exit during integration tests and cause other tests to fail. 2016-06-28 14:03:32 +01:00
Clinton Alexander
99fdacd0dc Integration tests now run separately from unit tests (with caveats described in the gradle file) 2016-06-28 14:03:32 +01:00
Clinton Alexander
532416ec5a Corrected name of the TraderDemoTest file. 2016-06-28 14:03:32 +01:00
Clinton Alexander
2d9989c5df Rearranged code for improved reading locality. 2016-06-28 14:03:32 +01:00
Clinton Alexander
3c11c26b12 Refactored IRSDemo to be more readable and to have minimal branches due to in memory mode in order to ensure tests are as similar to the real things as possible. 2016-06-28 14:03:32 +01:00
Clinton Alexander
5986e785cf Broke up the runIRSDemo function into smaller functions for readability. 2016-06-28 14:03:32 +01:00
Clinton Alexander
560989a914 Trader Demo test now works again. 2016-06-28 14:03:32 +01:00
Clinton Alexander
10fa86002d Fixed merge error causing IRSDemo to fail. 2016-06-28 14:03:32 +01:00
Clinton Alexander
a7ac54f280 Removed thread waits from tests instead relying on a lock passed to the demo environment. 2016-06-28 14:03:32 +01:00
Clinton Alexander
929b752b42 Trader demo now works as a test using in memory messaging. 2016-06-28 14:03:32 +01:00
Clinton Alexander
89b8b164f7 Trader Demo now has in memory nodes working. 2016-06-28 14:03:32 +01:00
Clinton Alexander
b61b362891 Setup TraderDemo test. Moved DemoNode to a common file. Modified TraderDemo to be tested. 2016-06-28 14:03:32 +01:00
Clinton Alexander
de27b1e8de Improved error handling in IRS demo 2016-06-28 14:03:32 +01:00
Clinton Alexander
60daf8059f Removed dependency added in previous commit. Fixed upload code on IRS Demo 2016-06-28 14:03:32 +01:00
Clinton Alexander
b050411810 Fixed compile error in IRSDemo and updated demo data to match new format. 2016-06-28 14:03:32 +01:00
Clinton Alexander
5de855e045 Fixed a merge error and parameterised host for upload rates. 2016-06-28 14:03:32 +01:00
Clinton Alexander
9fc89fc4a2 Connections now timeout correctly if something goes wrong with the server. 2016-06-28 14:03:32 +01:00
Clinton Alexander
90a24588bc Added TODOs and replaced default path with an exception. 2016-06-28 14:03:32 +01:00
Clinton Alexander
507d9ea4ae Added new integration test for the IRSDemo and refactored the demo to
run in integration tests.
2016-06-28 14:03:32 +01:00
Clinton Alexander
9639768069 Corrected the currency mismatch in the example trade. 2016-06-28 14:03:32 +01:00
Clinton Alexander
0788e8d64c 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-28 14:03:32 +01:00
Andrius Dagys
aaeb99ac25 Validating notary: check for missing signatures. The notary can only sign if all other signatures are present
Please enter the commit message for your changes. Lines starting
2016-06-23 16:15:14 +01:00
Mike Hearn
7ee6bd05ce Refactor the wallet code:
- Rename NodeWalletService to InMemoryWalletService and move into the core module where it's available for unit testing.
- Make a new NodeWalletService that just inherits from InMemoryWalletService and doesn't customise it at all, for now.
- Take the cash specific functionality out of Wallet and into an extension property in the Cash contract (this compiles as CashKt.getCashBalance(wallet) for java users).
- Return the generated states in the fillWalletWithTestCash function.
2016-06-22 14:49:52 +02:00
Mike Hearn
f3d4639059 Testing: make the WalletFiller code a file-level singleton and fillTestWithCash an extension method. For Java users not much changes, the class is still called WalletFiller and the signature remains the same. Re-order some arguments to make it easier to use when accepting the defaults. 2016-06-22 14:49:52 +02:00
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
Mike Hearn
fcc36c472a Improve the contracts API and Cash contract a bit, and beef up the unit tests.
Better usage of generics in groupStates so the group exposes the grouping key that was used, this avoids constructs like `val issuer = outputs[0].deposit.party` which is a bit ugly.
2016-04-20 14:36:14 +02:00
Mike Hearn
804b8bdc6a Minor: Add a TODO about RecordingMap to ServiceHub 2016-04-20 14:28:39 +02:00
Mike Hearn
2de44a516f Switch Kryo serialisation to always include the class name, and avoid overhead from writing out SerializedBytes wrapper data.
This simplifies the serialisation code, reduces the use of inline functions, and ensures that running SerializedBytes<SuperClass>.deserialise() will correctly return SubClass if that's what it contained, efficiently.
2016-04-20 14:27:40 +02:00
Mike Hearn
6968a47a63 Fix a TODO in NodeWalletService by utilising ServiceHub.recordTransactions 2016-04-20 14:27:40 +02:00
Mike Hearn
bfa5e2091c Add a TODO referencing PLT-147 to NodeAttachmentService (randomise attachment JARs) 2016-04-20 14:27:40 +02:00
Mike Hearn
283d9a031c Minor: correct typo in api doc comment 2016-04-20 14:27:40 +02:00
Mike Hearn
77fd7941f9 Minor: remove a utility method that's used only once from WireTransaction 2016-04-20 14:27:40 +02:00
Mike Hearn
964f2b502e Minor: small cleanup in TwoPartyTradeProtocolTests, by using ServiceHub to record the fake transactions 2016-04-20 14:27:40 +02:00
Mike Hearn
70210f3ef9 Minor: rename some fields in Command to be consistent with AuthenticatedObject, just to simplify the next refactor 2016-04-20 14:27:40 +02:00
Mike Hearn
d9cfb5e1eb Minor: make LedgerTransaction implement the NamedByHash interface, for improved consistency 2016-04-20 14:27:40 +02:00
Mike Hearn
6c9222ad6a Minor: delete some unnecessary code from LedgerTransaction 2016-04-20 14:27:40 +02:00
Ross Nicoll
5d75a661b1 Merged in rnicoll-protocol-request-response (pull request #60)
Refactor common elements in node services
2016-04-19 17:58:55 +01:00
Ross Nicoll
8cdd57e4e0 Refactor common elements in node services 2016-04-19 17:57:04 +01:00
Andrius Dagys
03cab8ba09 IRS demo fixes 2016-04-19 16:00:10 +01:00
Mike Hearn
fcbe1210f7 Minor: delete a dead unit test class 2016-04-18 19:51:26 +02:00
Mike Hearn
800151b774 Merge branch 'master' into dynamic-loading 2016-04-18 17:56:31 +02:00
Mike Hearn
8bac8f42e5 Fix the trader demo, the move to include services in NodeInfo objects broke it. 2016-04-18 17:28:04 +02:00
Mike Hearn
531e4a85fe Tweak the attachment classloader tests so that they don't break if IntelliJ has put the 'contracts:isolated' module on the classpath. 2016-04-14 19:42:39 +02:00
Mike Hearn
e91c46f045 Rewrite the AttachmentsClassLoader to avoid temporary file copies and fix the overlap check.
Throw a specialised exception that lists missing exceptions during deserialisation, so the dependency resolution code can access it (coming up).
2016-04-14 17:55:49 +02:00
Mike Hearn
7e9cbaa36e Minor: ClassLoaderTests reformatting 2016-04-14 16:09:19 +02:00
Mike Hearn
13f334ceba Dynamic class loading: check in a contract jar as a test resource to ensure tests can run from IntelliJ.
Minor tweak to use val more than var in tests.
2016-04-13 19:54:25 +02:00
Mike Hearn
7a9f74ca79 Merge branch 'master' into dynamic-loading 2016-04-13 19:03:04 +02:00