Jose Coll
308d7c1df7
Added PluginServiceHub for use by Corda plugin service extensions.
2016-10-31 17:15:06 +00:00
Jose Coll
96007cd777
Changed transaction notes type DB from 'blob' to 'text'
2016-10-31 15:07:34 +00:00
rick.parker
5898a15579
Upgrade H2 to 1.4 to fix curious file corruption issue encountered by Patrick.
2016-10-28 17:39:10 +01:00
Clinton Alexander
c3533bac7d
Improved error reporting.
2016-10-28 13:46:43 +01:00
Clinton Alexander
fdbd67db5c
Added some more error logging to Node.
2016-10-28 13:46:43 +01: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
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
74e89181da
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 conflict.
2016-10-27 12:57: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
Clinton Alexander
8f1329b03f
Merged in clint-capletnode (pull request #413 )
...
Moved the Corda Caplet to Node to clear out root src dir.
2016-10-25 09:37:32 +00:00
Clinton Alexander
af902ee4df
Removed redundant whitespace.
2016-10-24 18:36:19 +01:00
Clinton Alexander
c18ed4b402
ProtocolLogicFactory now initiated before it is used.
2016-10-24 17:56:16 +01:00
Clinton Alexander
f92f7d8d56
NodeSchedulerService no longer takes a default protocol logic ref factory (because otherwise no protocols are whitelisted) and instead now uses the one constructed in the node.
2016-10-24 17:56:16 +01:00
Clinton Alexander
546f3e2bbf
Removed dead plugin reference.
2016-10-24 17:56:16 +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
b197a8fa66
Fixed comment on function definition.
2016-10-24 17:41:21 +01:00
Clinton Alexander
19a53ea12d
Added prerequisite for using the test clock.
2016-10-21 17:29:59 +01:00
Clinton Alexander
71e1c39622
Fixed type of useTestClock.
2016-10-21 16:42:00 +01:00
Clinton Alexander
8631a64c66
Moved capsule to node to remove it from src.
2016-10-21 14:17:05 +01:00
Clinton Alexander
8f326824f3
Test fix and review fix.
2016-10-21 12:09:21 +01:00
Clinton Alexander
cbb8aa74f9
Replaced clock object with clock class and added documentation.
2016-10-21 11:32:29 +01:00
Clinton Alexander
54e002f654
Clock now instantiates via reflection to allow demo clocks to be passed in.
2016-10-21 11:32:29 +01:00
Clinton Alexander
622b5cabf7
Fixed merge conflict.
2016-10-21 11:32:29 +01:00
Clinton Alexander
1d6b8de11e
Added clock to the node
2016-10-21 11:32:29 +01:00
Clinton Alexander
201561497a
Added clock to node configuration to allow for creating a demo with a different clock.
2016-10-21 11:31:18 +01:00
Clinton Alexander
0ee4f9c19b
Added DriverNodeInfo to allow access to the host and port for the api address for use in integration tests.
2016-10-21 11:31:18 +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
Matthew Nesbit
30b7eec18c
Remove the file based checkpoints and transactions from the tests.
...
Messages requiring redelivery to late registered handler persisted in database.
Remove spurious comment and make local val not var
2016-10-19 16:33:12 +01:00
Matthew Nesbit
8eee4afe7d
Merged in mnesbit-cor-389-driver-remove-startClient (pull request #409 )
...
Unify messaging services to have a database and not support client type connections.
2016-10-19 14:09:50 +00:00
Jose Coll
04920c9507
Additional method on VaultService to add notes to a transaction
2016-10-19 15:06:52 +01:00
Rick Parker
6c6d7f8546
Merged in bugfix-for-persistent-scheduler (pull request #410 )
...
Fixed intermittent stack serialization issue with persistent scheduler.
2016-10-18 17:23:04 +00:00
Matthew Nesbit
4db1836996
Unify messaging services to have a database and not support client type connections when they should use the RPC connections. Also, push NodeInfo across to the driver via the web interface to remove that use of startClient.
...
Fix typo
2016-10-18 17:48:52 +01:00
rick.parker
8a3027ffd6
Fixed intermittent stack serialization issue with persistent scheduler.
...
Improved exception reporting when fiber serialization fails or other internal Quasar error to help with future Kryo errors when checkpointing.
2016-10-18 17:05:10 +01:00
Jose Coll
c23aea3997
Fixed broken tests caused by missing Transaction Context (when moving from InMemory to Db implementation of vault service in MockNetwork)
2016-10-18 10:27:12 +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
6a20f32a7a
Merged in persistent-scheduler (pull request #405 )
...
Persistent scheduler
2016-10-17 12:35:40 +00:00
rick.parker
6a25fcfe8c
Persistent scheduler, with race condition removed.
2016-10-17 13:33:32 +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
Shams Asari
e48e09f04e
Session handshake optimised to carry the first send payload in the init message
2016-10-11 17:27:09 +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
Mike Hearn
11bcaf5fb2
Minor: go back to using logging for the trader demo specific output (i.e. admit defeat with the ANSI renderer, which is not long for this world anyway)
2016-10-10 12:00:48 +02:00
Andras Slemmer
cf19ff37cd
node: Add cleanup TODO on cash creation RPC call
2016-10-10 10:38:02 +01:00
rick.parker
50e613bb75
Clean up compiler warning and make database table names and columns more meaningful.
2016-10-07 18:05:54 +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
Andrius Dagys
4e2f0e0ff9
Split out NodeConfiguration helpers into a separate utility class
2016-10-07 10:44:03 +01:00
rick.parker
2e3952ee1f
H2 database exported via configurable port number.
2016-10-06 14:33:56 +01:00
Shams Asari
c3f824001d
Removed unused ServiceRequestMessage class hierarchy and added sendRequest method
2016-10-06 10:27:35 +01:00
Shams Asari
307c93858b
Using Checkpoint.id when storing Checkpoints
2016-10-05 18:30:46 +01:00
Andrius Dagys
6eb91ffe8b
Minor refactoring and api doc update
2016-10-05 17:48:04 +01:00
Andrius Dagys
893f6e4f50
Updated config docs
2016-10-05 17:48:04 +01:00
Andrius Dagys
e5072a8854
FullNodeConfiguration: make use of the getOrElse helper
2016-10-05 17:48:04 +01:00
Andrius Dagys
727c3ac5fc
Node: get artemisAddress and webAddress from the config rather than constructor parameters
2016-10-05 17:48:04 +01:00
Andrius Dagys
e5c0c975bd
Remove hostNotaryServiceLocally config property – nodes need to specify the correct notary service type in extraAdvertisedServiceIds
2016-10-05 17:48:04 +01:00
Andrius Dagys
3b187a2171
Make Node override configuration and use FullNodeConfiguration so that no casting is needed
2016-10-05 17:48:04 +01:00
Andrius Dagys
fac12b4fce
Remove NodeConfigurationFromConfig and replace usages with FullNodeConfiguration
2016-10-05 17:48:04 +01:00
rick.parker
5419e773dc
Fix kotlin 1.0.4 error on use of Class.cast()
2016-10-05 13:59:18 +01:00
rick.parker
cd301c727e
First working version with database persistence in MockNetwork/Node.
2016-10-05 12:03:28 +01:00
rick.parker
ec975b0426
Hibernate ORM implementation for states.
2016-10-05 11:40:27 +01:00
Andras Slemmer
3bb96f3f3e
node: Fix after rebase
2016-10-05 10:40:18 +01:00
Andras Slemmer
8e471c6768
node: Address review comments
2016-10-05 10:40:18 +01:00
Andras Slemmer
5af0e97444
Refactor explorer and friends to use RPC, remove NodeMonitor*
2016-10-05 10:40:18 +01:00
Patrick Kuo
c57229a944
New gradle task for packaging certificate singing request utility jar.
2016-10-04 16:56:18 +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
Ross Nicoll
53ecb0ecd9
Constrain class type passed to registerProtocolInitiator()
2016-10-04 12:57:22 +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
Matthew Nesbit
76808d36c3
Store protocol checkpoints in the DB, except during Single threaded MockNetwork activity, where we still use the file system based checkpointing. Make the Checkpoint acess a Sequence not an Iterable, so that we don't end up with all the checkpoints permanently resident in memory.
...
Split up storage initialisation so that there is less code copying in MockNode
Add header comment to DBCheckpointStorage class
Respond to PR comments
Resolve PR comments
Rename iterator on checkpoints
Fix typo
Fixup checkpoints in DB logic after Shams's PR
Delete duplicated code
2016-10-03 17:56:58 +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
Andras Slemmer
43d18d46bb
Add PartiallyResolvedTransaction to client
2016-10-03 10:17:41 +01:00
Clinton Alexander
a740167100
Merged in clint-mvcc (pull request #366 )
...
Improved concurrency of H2 database with config
2016-09-28 16:51:27 +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
Patrick Kuo
8f00ec03a3
Checks for SSL certificate on Node startup
2016-09-27 10:15:09 +01:00
Rick Parker
46d6749616
Merged in persistence-support-in-mock-node (pull request #371 )
...
Persistence support in MockNode
2016-09-26 15:12:59 +01:00
rick.parker
cb1fa83b67
Fix up database persistence to work with MockNetwork/MockNode without getting tangled up in the ThreadLocals.
2016-09-26 14:54:00 +01:00
rick.parker
16eda06095
Fix erroneous log statement that corrupts the logs.
2016-09-26 12:57:01 +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
Matthew Nesbit
074964f919
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
2016-09-22 15:18:24 +01:00
Patrick Kuo
eee18b55f5
Moved certificates path to node configuration
2016-09-22 14:28:12 +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
Clinton Alexander
58c1ab4562
Changed DB store type to MV store.
2016-09-22 09:37:03 +01:00
Patrick Kuo
f7193fee54
fix ArtemisMessagingServer certificate path
2016-09-21 17:50:26 +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
d38392093f
Rename wallet monitor service to node monitor service
2016-09-21 10:26:20 +01:00
Ross Nicoll
ebda724f14
Change references to 'wallet' with 'vault'
2016-09-20 18:14:53 +01:00
Andras Slemmer
2640e600c8
Merged in aslemmer-node-explorer (pull request #311 )
...
explorer ui v0.2
2016-09-20 12:02:09 +01:00
Patrick Kuo
9b4bf32fdc
client certificate signing utility
2016-09-20 10:51:09 +01:00
Andras Slemmer
01d879772d
client, explorer: Rearrange/add tx screen columns
2016-09-19 15:05:23 +01:00
Andras Slemmer
041c33a167
client, node: Handle snapshot in explorer
2016-09-19 15:05:23 +01:00
Andras Slemmer
4b74d94001
node: Fix compile after rebase, small typo fix
2016-09-19 15:05:22 +01:00
Andras Slemmer
a23c1d019c
node: Fix compile after rebase
2016-09-19 15:05:22 +01:00
Andras Slemmer
c04a3401c3
client, node: Fix compile error after rebase
2016-09-19 15:05:22 +01:00
Andras Slemmer
3042407250
node: Better diagnostics for exit generation in WalletMonitorService
2016-09-19 15:05:22 +01:00
Andras Slemmer
eb82e946d0
node: Expose LedgerTransactions instead of SignedTransactions in WalletMonitor
2016-09-19 15:05:22 +01:00
Clinton Alexander
7d7418095e
Increased timeout to avoid spurious timeouts. Added MVCC flag to allow
...
better concurrency and prevents deadlocks when multiple transactions are
occurring at once, as has happened on Vega.
2016-09-19 13:45:54 +01:00
Matthew Nesbit
478cb58dd6
Delay State Machine fiber start until network map cache is fully populated.
...
Add some unit tests of the late init behaviour.
Fix merge error
Change statemachine logic to use an in-memory only flag on checkpoints to track their materialisation during startup.
Add annotations for test method
Fix possible race condition on storing checkpoint objects
Correctly create checkpoint
Use then helper function
Cleanup imports
2016-09-19 12:15:33 +01:00
rick.parker
476db876d9
Move db commit to after "protocol completed" future is set.
...
Move db commit to after "protocol completed" future is set.
2016-09-16 13:56:49 +01:00
rick.parker
236a47104f
Persitent network map and key service. Temporary persistence workaround for scheduler.
2016-09-16 12:14:56 +01:00
Patrick Kuo
1388747484
Permissioning server: added new node properties in node config for certificate signing request
2016-09-16 11:42:33 +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
rick.parker
17c9d231f4
Fix hanging test and fail fast on hang.
2016-09-15 16:39:58 +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
Shams Asari
f314bab6c8
Replacing the two params of AbstractNodeService with single ServiceHubInternal
2016-09-13 11:52:31 +01:00
Rick Parker
53de66a23d
Merged in cor-344-persistence-jdbc-transactions (pull request #353 )
...
Add database transactions ready for more widespread persistence.
2016-09-13 10:48:48 +01:00
rick.parker
27cb1c3597
Introduce database transactions around message handling, web API and in protocols.
2016-09-13 10:47:50 +01:00
Andrius Dagys
422a766c1a
Minor persistent uniqueness provider tweak
2016-09-13 10:37:53 +01:00
Mike Hearn
ee637b79e2
Merge branch 'mike-fix-wms-for-k104'
2016-09-12 16:40:11 +01:00
Mike Hearn
0e37547af0
Rename ArtemisMessagingClient to NodeMessagingClient to make the purpose clearer once we start landing the clientrpc framework.
2016-09-12 13:16:45 +01:00
Mike Hearn
f6def0ef8f
Minor: fix build for Kotlin 1.0.4 pre-release. It is stricter about some dubious code.
2016-09-12 12:18:35 +01:00
Andrius Dagys
0ed6a0ef4d
Added a persistent uniqueness provider, backed by a JDBCHashMap.
...
Enabled a single node persistent notary.
2016-09-12 10:15:03 +01:00
rick.parker
03a04d10ca
Remove use of interrupts to in ClockUtils
2016-09-09 16:45:49 +01:00
rick.parker
879802f7fd
JDBC backed persistent hash map implementation.
2016-09-09 14:01:05 +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
Andras Slemmer
0fc560d20a
node: Relax TwoPartyTradeProtocolTests so it only checks a subsequence of store accesses
2016-09-09 10:54:16 +01:00
Matthew Nesbit
9518c38f29
Ensure integration tests in modules are in separate configurations and not directly called from build or installDist.
2016-09-08 15:28:04 +01:00
Matthew Nesbit
245d6ce21f
Use standalone Corda main class and configuration in the Driver, rather than a separate class.
...
Better check for Notary services
2016-09-08 12:44:12 +01:00
Mike Hearn
d8d639f192
Merged in mike-small-tweaks (pull request #337 )
...
A few small tweaks
2016-09-08 12:40:14 +02:00
Matthew Nesbit
1f2a6d256e
Simplify the FullNodeConfiguration now that an explicit identity for the NetworkMapService isn't a problem.
...
Use consistent if style
Don't include NetworkMapAddress in config if hosting locally
2016-09-07 15:35:50 +01: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
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
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
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
rick.parker
35274cd15c
Refactor network map service in preparation for persistence.
...
Removed currently superfluous clock.
2016-09-06 18:21:06 +01:00
Mike Hearn
2d40c7e6dc
Minor: make the logger in the standalone node private to avoid accidental screwups due to name conflicts (mental or read)
2016-09-06 18:40:39 +02:00
Matthew Nesbit
58aa933307
My recent PR#325 contained a couple of mistakes. In particular on Unix, but not windows the shutdown hook unregister can give a non-fatal exception during some tests. Also, I got the point of client messaging service stop registration wrong, which was leading to the server shutting down teh client session ahead of the proper stop sequence.
2016-09-06 16:26:31 +01:00
Andras Slemmer
9e993c5b86
Merged in aslemmer-generators-fixes (pull request #300 )
...
Aslemmer generators fixes
2016-09-06 14:19:28 +01:00
Andras Slemmer
618f46cba4
node: Fix JsonSupportTest imports
2016-09-06 13:59:01 +01:00
Andras Slemmer
491b1abd4a
contracts, core, node: Use entropyToKeyPair in Generators instead of manually creating keys
2016-09-06 13:54:59 +01:00
Andras Slemmer
9ff1ad7769
node: Fix redelivery race
2016-09-06 13:54:58 +01:00
Andras Slemmer
cc556cde6f
ndoe: Fix message duping on redelivery
2016-09-06 13:54:58 +01:00
Andras Slemmer
89a5448c39
node, core: Add quickcheck generators for basic types, transactions
2016-09-06 13:54:58 +01:00
Mike Hearn
9d83a9b6d2
Minor: move transaction types out of the contracts package and into a new transactions package
2016-09-06 14:20:32 +02:00
Andras Slemmer
4923e33a7d
node: Remove unnecessary @Suppress
2016-09-06 09:52:43 +01:00
Andras Slemmer
737fc0589c
node: Add clock test for external interrupt on waiting strand
2016-09-06 09:52:43 +01:00
Andras Slemmer
fc7000c152
node: Fix race in Clock.doInterruptibly by not relying on version counter
2016-09-06 09:52:43 +01:00
Matthew Nesbit
11efe8ca1b
Extend Rick's closeOnShutdown so that all the shutdown that was being done manually is done through the same mechanism. Thus allowing for a consistent reverse ordering and hopefully preventing DB shutdown happening ahead of serverThread shutdown.
...
Follow Rick's PR suggestions
Preserve comment about abitrary timeout on serverThread stop
2016-09-06 09:18:59 +01:00
Andras Slemmer
d8ae07e771
node-driver: Use anyAddress for RandomFree port allication
2016-09-05 17:29:44 +01:00
Andras Slemmer
9836edd191
Revert reuseaddr
2016-09-05 16:08:58 +01:00
Andras Slemmer
6b37048a14
node-driver: Remove reuseAddress = true as it breaks tests on osx
2016-09-05 15:43:19 +01:00
Shams Asari
97e1a59770
Refactored FiberRequest into cleaner ProtocolIORequest and fixed checkpoint regression
2016-09-05 14:42:54 +01:00
Matthew Nesbit
eb8510e7cc
Some integration tests seem to be getting exceptions that suggest the ArtemisMQ session has been closed down already. Looking at the client code it is clear two threads can call stop and interfere with each other. Therefore this fixes the running flag logic.
2016-09-05 14:13:38 +01:00
Andras Slemmer
637a41401d
node-driver: Reuse address when polling for port, poll for correct condition\(!\)
2016-09-05 11:04:31 +01:00
Mike Hearn
3854fec17f
Testing: Make PortAllocation set SO_REUSEADDR to avoid CI conflicts
2016-09-05 11:22:00 +02:00
Andras Slemmer
ca1b0083ed
node: Clean up messy issue in test
2016-09-01 18:15:47 +01:00
Andras Slemmer
dded4c6e8f
node: FIx WalletMonitorService tests
2016-09-01 18:15:47 +01:00
Ross Nicoll
868b23a923
Move simulations to top level
2016-09-01 11:15:05 +01:00
Ross Nicoll
07f44e9e2a
Move test code from node to test-utils
2016-09-01 11:15:05 +01:00
Andras Slemmer
86d6ee0110
node: Cash Issue doesn't require notary
2016-09-01 09:36:06 +01:00
Andras Slemmer
cfebccc495
node: Remove TransactionBuildResult.Complete, add pretty printing of ServiceToClientEvent
2016-09-01 09:36:06 +01:00
Ross Nicoll
232db9a1fd
Move test utilities into their own package
...
This moves a lot of the test support code into its own package which is only imported for tests,
so it's not shipped as a part of core Corda. The node currently depends on this support code to
compile, although future work could try to separate this out. This change highlights that parts
of production code is dependent on test elements (i.e. dummy keys), and makes it harder for
such accidental crosses to occur later.
An integration test category is also added as part of this work, to contribute towards COR-345.
2016-08-31 15:40:54 +01:00
Clinton Alexander
5439e0980f
Merged in clint-driver-debug-fix (pull request #308 )
...
Fixed driver debug mode.
2016-08-31 11:31:02 +01:00
Clinton Alexander
0c4a80453a
Used lists instead of strings for appending to JavaArgs in driver.
2016-08-30 14:01:54 +01:00
Matthew Nesbit
8756b49794
Add switchable HTTPS to Node web server
...
Explain change of cipher
Include extracted Dev Corda Root certificate so that it can be installed by HTTPS users.
2016-08-30 13:07:40 +01:00
Clinton Alexander
82b416cb88
Fixed driver debug mode.
2016-08-30 12:03:31 +01:00
Ross Nicoll
ad8ffca0b4
Add CommitTransactionProtocol
...
Add new protocol which manages the entire process of taking a signed transaction ready
for notarisation, through notarisation and onto recording it both locally and informing
remote nodes.
This protocol also optionally can include the ClientToServiceCommand which triggered a transaction
being created, to give the remote nodes context on why a change occurred (i.e. "You are being sent
£100")
2016-08-25 16:30:39 +01:00
Matthew Nesbit
089ba2cb69
Only NetworkMapServer addresses can be publicly manufactured. Use identity publick key as addressing, with only bridges using the HostAndPort information
...
Fixup after rebase and fix issue with checking previous deployment of bridges
Correct comments on ArtemisMessagingClient constructor
Fixup rates fix demo
Get rid of when statements
Make NetworkMapCache send modify as well as add//remove events. Make inboxes for nodes persistent.
Suppress warnings
Fix message acknowledgement so that it actually consumes messages properly.
Change queueName to SimpleString to stop lots of wasted conversions
Get rid of spurious import
Tidy up and add comments
Update to include comments on PR
Remove unnecessary import
2016-08-25 15:56:50 +01:00
Ross Nicoll
f9880a4990
Pre-filter states passed to generateSpend()
...
Pre-filter states passed to generateSpend(), so that requests from the UI to spend cash only ever
spend cash with the correct issuer.
2016-08-25 13:20:12 +01:00
Mike Hearn
c8323099bb
Minor: cleanup the commercial paper contracts.
...
There's no need for the notary to be specified in commands. A few other tweaks and additions found whilst refreshing the docsite.
2016-08-25 11:30:25 +02:00
Mike Hearn
3e330a2d36
Merged in mike-fix-walletfiller (pull request #277 )
...
Rewrite the test wallet filler code to not be buggy.
2016-08-23 17:59:19 +02:00
Ross Nicoll
dc2f4055fc
Restrict cash exit commands to working on cash held by the issuer
...
Remove the ability to exit cash not held by the cash issuer; this solves a number of problems:
* Ensuring owner of the cash is aware of the funds being destroyed
* Determining where to send any change resulting from partial exiting of funds
* Auditing the destruction of funds
2016-08-22 17:17:19 +01:00
Clinton Alexander
668fecfea7
Merged in clint-no-notary-error (pull request #283 )
...
Fixed bug when incorrect notary service type is specified.
2016-08-22 16:41:38 +01:00
Mike Hearn
097bb033c4
Rewrite the test wallet filler code to not be buggy.
2016-08-22 16:26:32 +02:00
Andras Slemmer
1a2c712a48
node-driver: Make debugging optional and off by default
2016-08-19 17:05:00 +01:00
Andras Slemmer
9d22d66548
node-driver: Fix some kdocs. Also, full stops!
2016-08-19 17:05:00 +01:00
Andras Slemmer
f4577b743e
node-driver: Add startClient, startLocalServer
2016-08-19 17:05:00 +01:00
Andras Slemmer
5f33bedc13
node-driver: Polling doesn't timeout, just prints warning
2016-08-19 17:05:00 +01:00
Andras Slemmer
9cbdf001fb
node-driver: Return Futures instead of waiting for full node startup
2016-08-19 17:05:00 +01:00
Clinton Alexander
7b3003ea04
Added TODO for further work
2016-08-19 16:41:49 +01:00
Matthew Nesbit
696b9741dd
Remove ClashingThreads exception by tightening up unique id on LinearState to be a secure random value, with constraints that it cannot be duplicated. Also, rename to linearId rather than the confusing thread.
...
Try providing a helper interface to encourage enforcing LinearState rules
Fixup after rebase
Change to using Clauses for verifying LinearState standard properties
Fix whitespace change
Tidy up ClauseVerifier after PR comments
Change from SecureHash to a TradeIdentifier class
Change TradeIdentifier to UniqueIdentifier
2016-08-19 11:52:16 +01:00
Mike Hearn
6adebd3fa8
Clarify exception handling in the SMM add method a bit.
2016-08-18 18:19:46 +01:00
Mike Hearn
db3aa1491c
Upgrade Quasar to 0.7.6 and fix an exception handling bug in SMM that it revealed (if an exception was thrown immediately on protocol startup we let it leak instead of capturing it in the future.
2016-08-17 14:43:45 +01:00
Ross Nicoll
a9ec3c253e
Merged in rnicoll-notify-tx (pull request #282 )
...
Add observable for transactions being stored
2016-08-16 14:50:55 +01:00
Clinton Alexander
77f5689468
Renamed variable for clarity.
2016-08-16 13:54:08 +01:00
Clinton Alexander
5d68210355
Driver now correctly resolves quasar path on Windows.
2016-08-16 13:26:38 +01:00
Clinton Alexander
85dce390f4
makeNotaryService now enforces post condition with type system.
2016-08-16 09:21:29 +01:00
Clinton Alexander
a74c491745
Fixed a bug where if NotaryService.Type is used as an advertised service no notary is created and no obvious error occurs.
2016-08-16 09:18:33 +01:00
Andras Slemmer
9d9164980e
Merged in andrius-driver-fix (pull request #280 )
...
DriverTest fix: get quasar.jar location from the classpath
2016-08-15 17:31:02 +01:00
Clinton Alexander
c5a6d11976
Merged in clint-node-driver-conf-fix (pull request #275 )
...
Config will error earlier if the reference.conf file is missing.
2016-08-15 15:53:50 +01:00
Mike Hearn
a451000623
Merged in mike-fix-artemis-threading (pull request #276 )
...
Messaging layer improvements
2016-08-12 19:07:54 +02:00
Mike Hearn
3d391ec8c2
Add unit tests for the resolve transactions protocol
2016-08-12 17:14:54 +02:00
Ross Nicoll
a3d37a4d00
Require notary to be explicitely stated on each transaction
2016-08-12 15:51:04 +01:00
Ross Nicoll
17ae349f4d
Remove support for timestamp commands
2016-08-12 13:51:34 +01:00
Mike Hearn
cba0427e01
Make ArtemisMessagingClient blocking and require the user to directly enter a message loop. This cleans up a few things and ensures we can't get caught out by messages being arbitrarily re-ordered as they pass through any Artemis thread pools.
2016-08-12 14:06:03 +02:00
Ross Nicoll
8346c58d4c
Add observable for transactions being stored
...
Add observable for transactions being stored, so the UI can show transactions as they're received, rather than being
limited to the summarised version available from the wallet service.
2016-08-12 11:58:17 +01:00
Andrius Dagys
cd344058d2
Driver: get quasar.jar location from the classpath instead of a constructor parameter
2016-08-12 11:41:15 +01:00
Mike Hearn
ac81d2aa32
Messaging layer improvements:
...
- Fix thread safety issues in ArtemisMessagingClient. The Artemis API isn't thread safe, but that isn't well documented and it will happily invoke callbacks in parallel.
- Add discussion of how we tackle threading currently in the codebase and make a few other improvements.
- Add a shutdown hook so we stop properly when the user presses ctrl-c
2016-08-11 14:16:05 +02:00
Clinton Alexander
475322b14f
Config will error earlier if the reference.conf file is missing.
2016-08-10 17:22:20 +01:00
Andras Slemmer
00b439802b
node-driver: Write node.conf explicitly
2016-08-10 14:35:23 +01:00
Andras Slemmer
1b98c32579
Merged in node-driver (pull request #253 )
...
Node driver
2016-08-10 14:21:16 +01:00
Ross Nicoll
cf40e0db70
Add WalletMonitorService
2016-08-09 18:24:14 +01:00
Andrius Dagys
8386100677
Remove BriefLogFormatter as the formatting is now handled by Log4j configuration. Introduce LogHelpers which now handles the custom log level setting for specific loggers.
2016-08-09 17:31:27 +01:00
rick.parker
d883b3f134
First working hand-rolled persistent wallet
...
First working Exposed-assisted persistent wallet
Cleaned up Exposed-based persistent wallet
Cleaned up warnings
Fixed up some generic types
Improved comments
Fix up TODO comment
Hikari and config integration
Fix existing tests
Clean up after looking at PR
Clean up commented out lines
Fix initialisation of IRS demo leaving database open
Fix up after rebase
Review feedback. Main change is lazy wallet iteration.
Rebased and incorporated config changes.
Use standardised config loading. Make wallet cash test use persistent wallet.
Added test to ensure wallet retains state in database across instance creation.
Tidy up whitespace and fix bug in test.
2016-08-09 16:41:32 +01:00
Andras Slemmer
f20322136f
Revert "Merged in node-driver (pull request #253 )"
...
This reverts commit af893e0af5
, reversing
changes made to 7357597501
.
2016-08-09 16:19:18 +01:00
Andras Slemmer
9df7a0faf0
node-driver: Fix compile error
2016-08-09 15:38:33 +01:00
Andras Slemmer
5b2c687c64
node-driver: Hacky fix of startup race condition
2016-08-09 15:27:27 +01:00
Andras Slemmer
9e3220671c
node: stop() ClientFactory and ServerLocator when shutting down and ArtemisMessagingClient
2016-08-09 15:27:27 +01:00
Andras Slemmer
d0385c420e
node-driver: Remove parameter and DriverHandle, expose waitForAllNodesToFinish to dsl
2016-08-09 15:27:27 +01:00
Andras Slemmer
c9527a2cdd
node-driver: Only stop() artemis if it started fine
2016-08-09 15:27:27 +01:00
Andras Slemmer
20fc200771
node: Fix checking of lateinited networkMapNodeInfo
2016-08-09 15:27:27 +01:00
Andras Slemmer
df4413ab68
node: Add extra Driver checks for node shutdown, extend try/finally scope of cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
2e6de61ad0
node: Fix compiler error due to rebase
2016-08-09 15:27:27 +01:00
Andras Slemmer
a5e8c86928
node: Increase poll timeout in driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
feecc36661
node: Address PR comments, better resource releasing, add kdoc
2016-08-09 15:27:27 +01:00
Andras Slemmer
9d071809ef
node: Expose port allocation in Driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
e7677c91ce
node: Add DriverDSL(Exposed/Internal)Interface, add generic driver
method to allow extension
2016-08-09 15:27:27 +01:00
Andras Slemmer
773d53b4c8
node: Load config from disk in Driver, further cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
303858c3e4
node: Use proper logging in Driver
2016-08-09 15:27:27 +01:00
Andras Slemmer
35da6b5388
node: Add port allocation strategies to driver dsl, add jvm debug port
2016-08-09 15:27:27 +01:00
Andras Slemmer
8cf635cf74
node: Expose ArtemisMessagingService.Address
2016-08-09 15:27:27 +01:00
Andras Slemmer
3bc62fdb95
node: Add driver dsl test, expose some needed functions
2016-08-09 15:27:27 +01:00
Andras Slemmer
5f5a5e683d
node: Add quasarPath parameter to driver dsl (should be replaced once we can do without the external quasar.jar)
2016-08-09 15:27:27 +01:00
Andras Slemmer
a317a5bfd2
node: Expose some Driver functions to allow extension, some cleanup
2016-08-09 15:27:27 +01:00
Andras Slemmer
e42d8c2e8f
node: Add driver DSL for starting up nodes
2016-08-09 15:27:27 +01:00
Mike Hearn
87047c8996
Minor: fix various inspector warnings and delete some dead code.
2016-08-09 11:55:40 +02:00
Mike Hearn
8c00b5284d
Merged in mike-ledgertx-refactoring (pull request #264 )
...
Refactor the core transaction types
2016-08-08 18:02:32 +02:00
Matthew Nesbit
6b23800f02
Incorporate Clintons review comments
2016-08-08 11:54:41 +01:00
Matthew Nesbit
3dc8a95d69
Tackle comments from code review and fix bad merge on version
2016-08-05 16:42:55 +01:00
Matthew Nesbit
d3309c1171
Allow setting of out of process ArtmeisMQ broker on Node via config file
2016-08-05 15:58:02 +01:00
Matthew Nesbit
d76d271830
Fixup after rebase to split of server and client artemis components.
2016-08-05 14:52:31 +01:00
Matthew Nesbit
6b844c0e41
Gradle task to create a build/standalone folder suitable to demonstrate the capsule.io all in one jar
2016-08-05 14:52:29 +01:00
Andrius Dagys
d1f2958e6d
Node: Add API doc for a newly introduced constructor parameter
2016-08-05 14:41:57 +01:00
Andrius Dagys
8d3a3197b9
Split up ArtemisMessagingService into ArtemisMessagingClient & ArtemisMessagingServer. If a Node is given a messagingServerAddress, it will only run a client and attempt to connect to the server at the provided address. By default, it will run both client & server locally
2016-08-05 14:02:32 +01:00
Andras Slemmer
027853c3a8
node: Started refactoring ArtemisMessagingService into ArtemisServerService and ArtemisClientService
2016-08-04 15:32:48 +01:00
Andras Slemmer
845f2bdd64
Merged in pubkey-base58-serialisation (pull request #257 )
...
Pubkey base58 serialisation
2016-08-04 13:58:57 +01:00
Clinton Alexander
b640524bf3
Merged in clint-auto-identity (pull request #261 )
...
Identity service now updates with the network map.
2016-08-04 13:29:54 +01:00
Andras Slemmer
4fb8a38122
core, node: Rename Stirng.toPublicKey to parsePublicKeyBase58
2016-08-04 12:14:40 +01:00
Andras Slemmer
35c4fcadcf
node: Use toBase58String/toPublicKey in JsonSupport
2016-08-04 12:14:40 +01:00
Mike Hearn
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
Mike Hearn
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
Mike Hearn
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
Mike Hearn
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
Ross Nicoll
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
Clinton Alexander
b1c1b7f4b4
Review changes - merged two observables into one.
2016-08-03 16:49:37 +01:00
Clinton Alexander
9ef1bf0355
Identity service now updates with the network map.
2016-08-02 17:08:46 +01:00