Commit Graph

1644 Commits

Author SHA1 Message Date
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
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