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
Mike Hearn
d08ab24c42
Merged in mike-m2-release-notes (pull request #248 )
...
Release notes for M2
2016-08-01 13:13:33 +02:00
Mike Hearn
a5c8df8dab
# This is a combination of 2 commits.
...
# The first commit's message is:
Release notes for M2
# The 2nd commit message will be skipped:
# Docs: Address release notes review comments, re-arrange the sidebar and mention the new TF code that has been added.
2016-08-01 13:12:39 +02:00
Mike Hearn
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
Ross Nicoll
9c9248f71e
Merged in rnicoll-message-topic (pull request #245 )
...
Break down topic into component parts
2016-07-29 14:25:32 +01:00
Ross Nicoll
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
Clinton Alexander
7d39a101d4
Merged in COR-276 (pull request #239 )
...
Added Jacoco code coverage to gradle.
2016-07-29 13:29:47 +01:00
Clinton Alexander
8d3d9d6572
Removed inline that has Kotlin specific compile bug with specific Gradle configurations.
2016-07-29 13:23:33 +01:00
Ross Nicoll
e25085297c
Merged in rnicoll-contract-catalogue (pull request #231 )
...
Add contract catalogue to documentation
2016-07-29 12:00:36 +01:00
Ross Nicoll
98aac62a42
Add contract catalogue to documentation
2016-07-29 11:59:28 +01:00
Richard Green
4a3da67c6c
Merged in rg_trade_finance_experimental (pull request #250 )
...
Rg_trade_finance_experimental
2016-07-29 10:41:00 +01:00
Matthew Nesbit
8c77ae7c84
Add comment to explain why AbstractNode is marked as SingletonSerializeAsToken
2016-07-28 16:54:40 +01:00
Matthew Nesbit
3e5a8145b5
Merged in mnesbit-cor-199-more-plugins (pull request #249 )
...
Mnesbit cor 199 more plugins
2016-07-28 16:37:25 +01:00
Matthew Nesbit
a462bb1d6a
Incorporate comments from PR
2016-07-28 16:30:53 +01:00
Matthew Nesbit
601b2faf5f
Incorporate comments from PR
2016-07-28 16:22:35 +01:00