701fc853ad
Refactor the core transaction types to improve clarity, simplify verification and prepare for sandboxing.
...
Changes include:
- LedgerTransaction is now much more central: it represents a fully resolved and looked-up tx, with the inputs available.
- TransactionGroup and TransactionForVerification are gone. There is a temporary TransactionForContract class for backwards
compatibility but it will also be gone soon.
- ResolveTransactionsProtocol is simplified, and now commits a tx to the database as soon as it's determined to be valid.
- ServiceHub is now passed in more consistently to verification code, so we can use more services in future more easily e.g. a sandboxing service.
- A variety of APIs have been tweaked or documented better.
2016-08-04 13:05:50 +02:00
c2aee2d4e8
Minor: Replace MockServices with a new class that's in core instead of node, old class becomes MockServiceHubInternal.
2016-08-04 12:53:09 +02:00
1c3379f508
Testing: make the ledger DSL take a ServiceHub rather than individual services.
...
It defaults to a fresh UnitTestServices(). Also clear up a few other areas.
2016-08-04 12:52:02 +02:00
ba05b90b8f
Testing: change fillWithTestCash to issue cash under the DUMMY_CASH_ISSUER identity and adjust code that uses it. Introduce some code that'll prove useful later in WalletWithCashTest.
...
This change reduces the testing confusion that can occur when cash is issued by one of the parties in a transaction rather than e.g. a neutral third party like a central bank.
2016-08-04 12:52:01 +02:00
fc804ec746
Add NotifyTxProtocol
...
Add a protocol for notifying remote nodes of a transaction that may interest them
(typically this means involves them).
2016-08-03 17:10:26 +01:00
b1c1b7f4b4
Review changes - merged two observables into one.
2016-08-03 16:49:37 +01:00
9ef1bf0355
Identity service now updates with the network map.
2016-08-02 17:08:46 +01:00
987c374b98
Minor: slightly better error message when trying to send to an unknown party.
2016-08-01 16:42:56 +02:00
b40fee1512
Allow for easier conversion from Amount<Issued<T>> to Amount<T> and de-issuerify a few places.
2016-08-01 16:42:56 +02:00
97ad07be89
Fix progress rendering after the switch to log4j, as ANSIProgressRenderer had assumed JDK logging.
...
Also, start using colours and a more compact logging format in the default log4j config.
2016-08-01 13:07:48 +02:00
cf4bb0c9af
Break down topic into component parts
...
Break down what is referred to as "topic" of a message into its component parts. This splits the
general topic from the session ID, so it's clear where a session ID is provided, and whether any
given topic string includes a session ID or not.
2016-07-29 14:24:46 +01:00
7d39a101d4
Merged in COR-276 (pull request #239 )
...
Added Jacoco code coverage to gradle.
2016-07-29 13:29:47 +01:00
8c77ae7c84
Add comment to explain why AbstractNode is marked as SingletonSerializeAsToken
2016-07-28 16:54:40 +01:00
a462bb1d6a
Incorporate comments from PR
2016-07-28 16:30:53 +01:00
601b2faf5f
Incorporate comments from PR
2016-07-28 16:22:35 +01:00
c57f265cce
Fixup plugins to include static content property after rebase inclusive of that work
2016-07-28 13:55:06 +01:00
10f68b22f9
Minor fix after rebase
2016-07-28 13:39:16 +01:00
235497e0f4
Convert long lived services supporting protocol listeners to plugins
2016-07-28 13:39:12 +01:00
09c795e341
Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-261-artemis-over-ssl
2016-07-28 13:28:31 +01:00
5410f8b228
Merged in demowebui (pull request #230 )
...
Added an IRS demo web interface
2016-07-28 13:19:32 +01:00
ec726da7d0
Merged in rnicoll-warnings (pull request #246 )
...
Correct warnings
2016-07-28 13:03:55 +01:00
7d5ee8ba08
Create MessageServiceInternal interface to allow NetworkMapCache to register addresses with the network service.
...
Activate WhitelistTrustManager for now to secure the TLS messaging.
2016-07-28 11:25:57 +01:00
188fc29436
Cleaned up build.gradle files.
2016-07-28 09:17:49 +01:00
d54beca77e
Add wallet service for notifying remote nodes of transactions
2016-07-27 17:40:52 +01:00
aaaf6ea4f6
Correct warnings
2016-07-27 17:11:46 +01:00
e3aef96b09
Merge remote-tracking branch 'remotes/origin/master' into mnesbit-cor-261-artemis-over-ssl
...
# Conflicts:
# build.gradle
2016-07-27 15:43:01 +01:00
8bdeda63ae
Merged in rnicoll-checkpoint-generic (pull request #241 )
...
Rework checkpoint storage to include the FiberRequest
2016-07-27 15:20:40 +01:00
e8c84867cf
Merged in andrius-logging (pull request #240 )
...
Enable logging to file
2016-07-27 14:18:24 +01:00
e5777fd999
Fetch KeyStore passwords from NodeConfiguration
2016-07-26 10:35:57 +01:00
4c08141ce3
Tidy up based upon comments on PR
2016-07-26 10:35:56 +01:00
00f897d58d
Add X509 creation and manipulation utilities to core and enable SSL in ArtemisMQ
2016-07-26 10:35:54 +01:00
0d68523f5c
Validate protocol type and args via whitelist ahead of class loading. Also, push this work into another method on the Factory.
2016-07-25 16:35:45 +01:00
0542f7c509
Refactor APIServer to use the same whitelist controlled protocol gateway as the scheduler.
2016-07-25 13:46:40 +01:00
67defe19cc
Small refactor of initWebServer to improve readability.
2016-07-25 10:36:37 +01:00
93f4440c14
Moved IRS web folder up a level. Added support for static serving plugins.
2016-07-25 10:30:30 +01:00
2f04d876ae
Move FiberRequest out to a top level class
...
Move FiberRequest out to a top level class, both because it is expanding as functionality is added,
and to enable alternative state machine implementations to share it.
2016-07-24 09:30:16 +01:00
e7ff5b8f6f
Typo fix
2016-07-22 17:31:03 +01:00
31ee8ab60b
Rework checkpoint storage to include the FiberRequest
...
Rework checkpoint storage to include the FiberRequest, so that different requests can be supported.
2016-07-22 16:40:15 +01:00
2142bd1d8a
Added Log4j bindings for SLF4J. Test log output is redirected to the console, and demo output is now additionally stored in a rolling log file.
2016-07-22 16:15:00 +01:00
119813a36d
Minor: document the SMM.changes observable.
2016-07-22 15:50:21 +02:00
2c139ae40c
Merged in rnicoll-state-machine-id (pull request #234 )
...
Add Fiber ID to state machine change events
2016-07-20 13:23:02 +01:00
40a4623c51
Improved error handling when exceptions occur during suspend.
2016-07-20 11:50:23 +01:00
f72d8ed9fb
Add Fiber ID to state machine change events
...
Where state machine change events are to be serialized for relay to external systems, serializing the entire
protocol is excessive. Instead being able to identify changes based on the ID of the fiber is a lot simpler
for these use-cases.
2016-07-19 14:58:54 +01:00
c92d51a0b6
Correct processing of unhandled messages
...
Unhandled messages in the in memory messaging network can disrupt runNetwork(), as they
result in getNextQueue() returning null, irrespective of whether there is further work
which could be done. This modifies the flow to loop through the remaining transfers on
the queue before giving up, rather than stopping after the first.
2016-07-19 14:19:57 +01:00
c442cd01a7
Merged in andrius-cleanup-tweaks (pull request #208 )
...
Remove the "verify correct notary has signed" check from TwoParty protocols
2016-07-18 10:40:25 +01:00
9d18234383
Consistently use an sl4j logger with timestamp, rather than console println within the node. Note that the current protocol events published via the ProgressTracker are sent to the console without a timestamp.
2016-07-13 11:28:52 +01:00
ead19c619a
Merged in mike-cp-issuance-fix (pull request #224 )
...
Disentangle the concept of CP issuer vs underlying redeemable asset issuer in the CP contract.
2016-07-13 11:13:23 +02:00
254592dc54
Move protocols into correct package
2016-07-12 18:42:00 +01:00
f6789c93dd
Disentangle the concept of CP issuer vs underlying redeemable asset issuer in the CP contract.
...
This confusion was introduced by a previous refactoring.
2016-07-12 16:01:50 +02:00
dba2b980a5
Remove TODO as the usage of CheckpointStorage is only through ServiceHubInternal into the StateMachineManager. We don't restrict access to internal for now as this causes too much other change.
2016-07-12 13:43:43 +01:00