Commit Graph

1506 Commits

Author SHA1 Message Date
Andrius Dagys
d1f2958e6d Node: Add API doc for a newly introduced constructor parameter 2016-08-05 14:41:57 +01:00
Mike Hearn
1f94335850 Address review comments. 2016-08-05 15:38:29 +02:00
Andrius Dagys
5c6728b5fd Merged in artemis-client-service (pull request #267)
Split up ArtemisMessaging into client & service
2016-08-05 14:12:50 +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
Mike Hearn
25f65a60c7 Address review comments. 2016-08-05 14:04:07 +02:00
Mike Hearn
9a7a9b20de Merged in mike-fix-smm-kryo-bug (pull request #268)
Don't let Kryo crawl into Rx subscriptions, and add a unit test to ensure this doesn't regress, as the rule is not intuitive.
2016-08-04 17:31:39 +02:00
Mike Hearn
d61356ca9e Don't let Kryo crawl into Rx subscriptions, and add a unit test to ensure this doesn't regress, as the rule is not intuitive. 2016-08-04 17:19:10 +02: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
Andras Slemmer
a3cf85e778 core: Use toBase58String/toPublicKey in Kryo 2016-08-04 12:14:40 +01:00
Andras Slemmer
1cebae633d core: Add utilities for parsing/serialising pubkeys as base58 2016-08-04 12:14:40 +01:00
Mike Hearn
9b89d62c36 Docs: adjust the docsite to reflect the tx types refactoring 2016-08-04 13:05:51 +02: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
918de94a22 Merged in mike-ledgertx-refactoring-part-2 (pull request #260)
More simplifications to unit testing, introduce UnitTestServices
2016-08-04 12:54:28 +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
301d787e45 Fix bugs in the trade finance contracts and tests, where txns weren't being properly verified and thus the lack of timestamping wasn't detected. 2016-08-04 12:52:37 +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
Mike Hearn
dd53acfb64 Testing: add a UnitTestServices class which implements ServiceHub. This is a lighter weight version of MockServices, and is intended to assist in the testing of core contract code, vs MockServices which can go on to be used only from the node module. 2016-08-04 12:52:01 +02:00
sofusmortensen
1e36691b55 experimental syntax for recursion 2016-08-04 12:40:27 +02:00
Ross Nicoll
15eef7adab Merged in rnicoll-commodity-cleanup (pull request #256)
Clean up contracts
2016-08-03 17:38:07 +01:00
Ross Nicoll
8539a7c9d3 Clean up contracts
* Merge common code between Cash and CommodityContract into OnLedgerAsset
* Move spend/exit tx generation logic into the clauses
* Add generateExit() function for Obligation
2016-08-03 17:29:55 +01:00
Ross Nicoll
1b8b06a2a4 Merged in rnicoll-notify-tx-protocol (pull request #259)
Add NotifyTxProtocol
2016-08-03 17:12:55 +01: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
72c4c2e5f7 Added comments. 2016-08-02 17:27:18 +01:00
Clinton Alexander
9ef1bf0355 Identity service now updates with the network map. 2016-08-02 17:08:46 +01:00
Ross Nicoll
380233a474 Merged in rnicoll-direct-request-message (pull request #258)
Add DirectRequestMessage
2016-08-02 13:48:30 +01:00
Ross Nicoll
9672168f64 Add DirectRequestMessage
Add DirectRequestMessage for addressing specific endpoints rather than parties.
2016-08-02 13:29:23 +01:00
Mike Hearn
a26adb1291 Merged in mike-ledgertx-refactoring-part-1 (pull request #251)
Small changes and tweaks in preparation for a later refactoring
2016-08-01 18:11:42 +02:00
Mike Hearn
5df1caf0ca Minor: couple of tiny reformattings. 2016-08-01 16:42:57 +02:00
Mike Hearn
daff65f220 Minor: add infix utilities for overflow checked arithmetic. 2016-08-01 16:42:57 +02:00
Mike Hearn
987c374b98 Minor: slightly better error message when trying to send to an unknown party. 2016-08-01 16:42:56 +02:00
Mike Hearn
0662798b0f Introduce some new cryptographic utility functions
1. Function for converting raw entropy into an EDDSA key pair. This is useful for unit tests when you don't want a random key but would rather be able to identify it from the logs by eyesight, and will be useful later also when implementing deterministic key derivation.
2. Function that can format any collection of public keys using the bitcoin-style base58 form.
3. A dummy NullSignature object, again, useful for tests when you don't want to provide a real signature.

Then set a handful of dummy unit testing keys to predictable/fixed values.
2016-08-01 16:42:56 +02:00
Mike Hearn
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
Mike Hearn
309159da14 Better toString for Amount post-issuer refactoring. 2016-08-01 16:09:22 +02:00
Ross Nicoll
a44d3edebf Correct obligationTestRoots to cashObligationTestRoots 2016-08-01 15:05:00 +01:00
Ross Nicoll
0ac29bec26 Merged in rnicoll-obligation-fungible (pull request #199)
Add commodities to provide worked example of a different thing under Obligation
2016-08-01 14:26:13 +01:00
Ross Nicoll
7aef03baab Merged in rnicoll-obligation-settle-amount (pull request #252)
Add missing checks on settled amount
2016-08-01 14:26:00 +01:00
Ross Nicoll
e1d1aed541 Add commodity contract and test obligations can be settled for it 2016-08-01 14:20:04 +01:00
Ross Nicoll
f72e223f3b Add Commodity class 2016-08-01 14:20:04 +01:00
Ross Nicoll
406196fb69 Add missing checks on settled amount
The obligation `Settle` command takes in an amount to be settled, but only uses the underlying token from it.
This enforces that the settled amount matches the value seen moving.
2016-08-01 14:19:07 +01:00
Mike Hearn
44dee97899 Begin M3 2016-08-01 14:50:50 +02:00
Mike Hearn
b788956800 Merge branch 'master' of https://bitbucket.org/R3-CEV/r3prototyping 2016-08-01 14:39:14 +02:00
Mike Hearn
d53c130ffd Merged in mike-fix-progress-renderer-after-log4j (pull request #255)
Fix progress rendering after the switch to log4j, as ANSIProgressRenderer had assumed JDK logging.
2016-08-01 14:38:36 +02:00
Mike Hearn
0da057dbd8 Address review comments 2016-08-01 14:01:58 +02:00
Mike Hearn
1081e8d2ce Regen docsite 2016-08-01 13:16:47 +02:00