Commit Graph

212 Commits

Author SHA1 Message Date
Andras Slemmer
ea7f9177d4 core: make newSecureRandom() a one-liner 2016-06-17 13:07:25 +01:00
Andras Slemmer
481d2f7151 core: use newSecureRandom() instead of SecureRandom.getInstanceStrong() 2016-06-17 13:07:25 +01:00
Andras Slemmer
6229e39b42 core: Add newSecureRandom() that uses a non-blocking SecureRandom provider 2016-06-17 13:07:25 +01:00
Andras Slemmer
f06487aa4c Merged in sort-of-incremental-quasarScan (pull request #154)
Sort of incremental quasarscan
2016-06-17 10:38:39 +01:00
Shams Asari
7f3458803c Protocols can use the serviceHub lazily in their constructors 2016-06-17 10:30:25 +01:00
Andras Slemmer
dc5da8e1ad build: use QuasarPlugin instead of copypasta 2016-06-17 10:16:46 +01:00
Andras Slemmer
2663a6390e core: Kryo extension methods for reading/writing ByteArrays prefixed with their sizes 2016-06-16 17:03:44 +01:00
Andras Slemmer
5b4c4f167d core: .equals() -> == 2016-06-16 17:03:44 +01:00
Andras Slemmer
2b4ebd4f09 core: use optimizedPositive for size serialization 2016-06-16 17:03:44 +01:00
Andras Slemmer
cd91c6a0e7 core: add serialization test for keypairs 2016-06-16 17:03:44 +01:00
Andras Slemmer
af3d87803d core: serialize bytearray sizes instead of relying on static sizes 2016-06-16 17:03:44 +01:00
Andras Slemmer
376b73b823 core: switch to static size bytearray serialization of keypairs 2016-06-16 17:03:44 +01:00
Andras Slemmer
22567d11b5 core: implement custom serializers for ed25519 keypairs 2016-06-16 17:03:44 +01:00
Andras Slemmer
1fe283c113 core: switch to ed25519 2016-06-16 17:03:44 +01:00
Andras Slemmer
9930e8d5c7 core: add net.i2p.crypto:eddsa dependency 2016-06-16 17:03:44 +01:00
Rick Parker
512e304bf1 Merged in remove-commented-out-resolve-tx-proto (pull request #156)
Remove commented out ResolveTransactionsProtocol call as it is not required
2016-06-16 16:19:03 +01:00
Ross Nicoll
ad72f3e48f Add issuer to cash amounts
Add issuer of a cash when referring to amounts of cash (except for the very few cases where
the issuer is not important, such as when referring to aggregated totals across a set of
issuers). Replaces CommonCashState with TokenDefinition, as a more accurate reflection of
what the class represents.
2016-06-16 15:05:49 +01:00
rick.parker
cae39332bf Remove commented out ResolveTransactionsProtocol call as it is not required 2016-06-16 13:15:37 +01:00
Ross Nicoll
f831ffdf3d Add tests for TransactionGraphSearch 2016-06-15 16:21:53 +01:00
Shams Asari
aa153be6f0 moved methods in ChildrenProgressTrackers into ProgressTracker 2016-06-14 16:42:42 +01:00
Richard Green
2ce0dce0aa . 2016-06-14 11:28:58 +01:00
Richard Green
86203709c0 Payment dates now are calculated as an offset to the period end date 2016-06-13 19:00:27 +01:00
rick.parker
73cbab0084 Pull out Wallet observable into it's own branch
Review feedback

Review feedback

Apply feedback from previous PR

Apply feedback from previous PR

Apply feedback from previous PR

PR feedback

PR feedback

PR feedback
2016-06-10 17:16:56 +01:00
Shams Asari
2365f9bca5 Persisting transactions to disk 2016-06-08 10:15:14 +01:00
rick.parker
97e04ba7d0 Fix registration of services due to Kryo not following synthetic fields by default
Review feedback
2016-06-07 16:29:59 +01:00
Andrius Dagys
21f53a7d3e Revert "Revert "Merged in validating-notary (pull request #123)""
This reverts commit e64145991e.
2016-06-07 13:53:00 +01:00
Ross Nicoll
f4f0e160d2 Genericise Cash contract to support non-Currency things
Split the verification and commands for the Cash contract into a new AbstractCashLike
class, and make Cash a concrete implementation of that class, specialised for dealing
with Currency as the underlying token.
2016-06-07 13:49:26 +01:00
Andrius Dagys
e64145991e Revert "Merged in validating-notary (pull request #123)"
This reverts commit d9f4e4da2e, reversing
changes made to 654dc3f60a.
2016-06-07 12:29:27 +01:00
Andrius Dagys
c45bc0df20 Split up Notary protocol into Client and Service parts. The Service protocol can be extended to provide additional transaction processing logic, e.g. validation.
Implemented a Simple and Validating Notary services.
2016-06-07 10:58:34 +01:00
Shams Asari
654dc3f60a Resuming from checkpoints now working - seller (but not buyer) in trader demo can be restarted 2016-06-06 17:49:40 +01:00
rick.parker
8122e35a8a Have ServiceHub entries implement SerializeAsToken so they are not copied into protocol checkpoints. 2016-06-06 16:55:46 +01:00
Ross Nicoll
d7b367965f Genericise Amount class
Make the Amount class generic so it doesn't have to represent a quantity of a
currency, but can handle other things such as assets as well, or extended detail
(for example a currency-issuer tuple).
2016-06-01 11:58:13 +01:00
Ross Nicoll
f7c0756526 Add a dummy test to NonEmptySetTest.Guava
Add a dummy test so that when IntelliJ (incorrectly) scans NonEmptySetTest.Guava
looking for tests, it finds one and doesn't complain.
2016-05-25 10:17:02 +01:00
Ross Nicoll
e3727a1de6 Merged in rnicoll-base58-tests (pull request #113)
Port Base58Test to Kotlin
2016-05-24 18:20:56 +01:00
Rick Parker
570dc38423 Merged in cor-133-clock-helpers (pull request #112)
MutableClock for testing, simulation and demos plus associated utilities
2016-05-24 17:58:37 +01:00
Ross Nicoll
4744740913 Add NonEmptySet
Add a new set-like collection which is constrained to ensure it's never
empty.
2016-05-24 15:39:24 +01:00
Ross Nicoll
40b6b0d186 Port Base58Test to Kotlin 2016-05-24 14:20:53 +01:00
rick.parker
f8e610aa71 Re-apply changes 2016-05-24 09:41:00 +01:00
Matthew Nesbit
63a5fd1b9e Add com.r3corda to all namespaces. 2016-05-23 14:53:56 +01:00
Matthew Nesbit
d1e8d15d9d Merge branch 'mnesbit-cor-174-refactor-namespaces' of https://bitbucket.org/R3-CEV/r3prototyping into mnesbit-cor-174-refactor-namespaces
# Conflicts:
#	core/src/main/kotlin/core/testing/TestUtils.kt
2016-05-20 16:56:41 +01:00
Matthew Nesbit
1d5f409c66 Remove unnecessary .Companion statements brought in during refactoring. 2016-05-20 16:43:03 +01:00
Matthew Nesbit
60ff42dd30 Move test to core as part of tidy up. 2016-05-20 16:43:02 +01:00
Matthew Nesbit
69cba98ddc Push unit tests that needed some contract functionality into core by embedding the minimal contract support needed. 2016-05-20 16:43:02 +01:00
Matthew Nesbit
f6f56797ce Refactor code into clear core, contracts and node namespaces. Move services into clear implementation and api sides. Push unit tests down to lowest level of dependency hierarchy possible. 2016-05-20 16:42:59 +01:00
Matthew Nesbit
a556dfb17d Push internal subsystems into node 2016-05-20 16:42:56 +01:00
Matthew Nesbit
06f4c6ab5b Move test to core as part of tidy up. 2016-05-19 14:10:25 +01:00
Matthew Nesbit
097a520e05 Push unit tests that needed some contract functionality into core by embedding the minimal contract support needed. 2016-05-19 14:01:38 +01:00
Matthew Nesbit
01e9536444 Refactor code into clear core, contracts and node namespaces. Move services into clear implementation and api sides. Push unit tests down to lowest level of dependency hierarchy possible. 2016-05-19 10:59:10 +01:00
Matthew Nesbit
c8130581a9 Push internal subsystems into node 2016-05-19 10:59:07 +01:00
rick.parker
041aab5af0 Serialization tokenization support for large objects (e.g. entries in ServiceHub) 2016-05-18 10:25:50 +01:00
Andrius Dagys
e8ae3be38d TwoPartyDealProtocol fix: don't check Notary identity if the transaction has no inputs 2016-05-18 10:06:30 +01:00
Andrius Dagys
4affe7271b Seller: Verify that the Notary signature received from the Buyer is by the correct Notary 2016-05-17 12:14:14 +01:00
Andrius Dagys
f363439a6c NotaryException now provides the specific error information 2016-05-17 12:14:14 +01:00
Matthew Nesbit
058ac986bd Move contracts base files to namespace to make api aspect clearer in includes.
Move Party to core.crypto as Party is closely aligned with the signing and used in code areas unrelated to the contract code.
2016-05-14 13:47:07 +01:00
Andrius Dagys
422d65cc54 Rearranging interfaces and implementations. Notary fix for the cash tests. 2016-05-13 16:34:25 +01:00
Andrius Dagys
2c422bebd3 Added noneOrSingle extension method, which returns a single element, null if no elements found and throws if more than one element found 2016-05-13 16:17:50 +01:00
Andrius Dagys
fa3f7e7fa6 Added a basic Notary service with protocol for signing transactions 2016-05-13 16:17:50 +01:00
Rick Parker
539e23a0b1 Merged in plt-141-moves-only-part-3 (pull request #93)
File and interface moves to core module for scheduler
2016-05-13 15:17:32 +01:00
Ross Nicoll
25e2c4bc4d Add issuance definition for cash contract
Add issuance definition for cash contract, as well as common interfaces to support later
extensions. The issuance definition encapsulates the core values for state objects when
issued, and essentially acts as the Ricardian contract for Corda states.
2016-05-13 14:55:12 +01:00
rick.parker
030f12876f Remove copyright notices from a couple of files 2016-05-13 14:12:28 +01:00
rick.parker
1ce8a64938 File and interface moves to core module 2016-05-13 14:03:28 +01:00
Rick Parker
3ee601360e Merged in plt-141-moves-only-part-2 (pull request #92)
File moves to core module and split of interfaces and implementations in preparation for further moves
2016-05-13 13:22:08 +01:00
rick.parker
e319a33b52 Added TODO to ServiceHub and CheckpointStorage 2016-05-13 12:37:39 +01:00
Mike Hearn
81c698a260 Minor: fix some compiler warnings 2016-05-13 12:58:17 +02:00
rick.parker
6017179bc0 File moves to core module and split of interfaces and implementations in preparation for further moves 2016-05-13 11:35:45 +01:00
rick.parker
a18e7b06bf File moves to core module and split of interfaces and implementations in preparation for further moves 2016-05-13 10:07:44 +01:00
Ross Nicoll
2d4c83556e Annotate verify() function to indicate it throws IllegalArgumentException 2016-05-09 18:16:33 +01:00
Ross Nicoll
642b951bae Rename PartyReference to PartyAndReference 2016-05-09 17:55:37 +01:00
Ross Nicoll
73f4803b72 Move common move command verification into a shared function 2016-05-05 11:12:25 +01:00
Ross Nicoll
47401a2a28 Merged in rnicoll-signed-data (pull request #69)
Add SignedData class
2016-04-27 13:16:42 +01:00
Ross Nicoll
7c9cff799e Add SignedData class
Adds a new SignedData class which will provide a deserialized copy of the data
contained only if the signature on it is valid.
2016-04-27 13:16:01 +01:00
Ross Nicoll
c8865c1b40 Remove deregisterIdentity()
Remove the ability to remove registered identities. Once registered, identities are part
of a permanent record (for example you would want to ensure parties to contracts cannot
"disappear" by removing themselves from the identity service).
2016-04-27 11:43:10 +01:00
Ross Nicoll
b4513e8bec Add InMemoryIdentityService
Move FixedIdentityService to MockIdentityService under testing as it's specialised for use in tests.
Add a new InMemoryIdentityService replacing the fixed identity service in AbstractNode.
2016-04-21 17:10:43 +01:00
Mike Hearn
e88907dd41 Delete unnecessary service IDs. Only services exposed to the wider network need this type of identifier. 2016-04-20 15:28:59 +02:00
Mike Hearn
fcc36c472a Improve the contracts API and Cash contract a bit, and beef up the unit tests.
Better usage of generics in groupStates so the group exposes the grouping key that was used, this avoids constructs like `val issuer = outputs[0].deposit.party` which is a bit ugly.
2016-04-20 14:36:14 +02:00
Mike Hearn
2de44a516f Switch Kryo serialisation to always include the class name, and avoid overhead from writing out SerializedBytes wrapper data.
This simplifies the serialisation code, reduces the use of inline functions, and ensures that running SerializedBytes<SuperClass>.deserialise() will correctly return SubClass if that's what it contained, efficiently.
2016-04-20 14:27:40 +02:00
Mike Hearn
105f39adb5 Minor: Rename core/.../Services.kt to AttachmentStorage.kt 2016-04-20 14:27:40 +02:00
Mike Hearn
77fd7941f9 Minor: remove a utility method that's used only once from WireTransaction 2016-04-20 14:27:40 +02:00
Mike Hearn
70210f3ef9 Minor: rename some fields in Command to be consistent with AuthenticatedObject, just to simplify the next refactor 2016-04-20 14:27:40 +02:00
Mike Hearn
306ff69312 Minor: split TransactionBuilder into its own file, so Transactions.kt is just the core immutable types. 2016-04-20 14:27:40 +02:00
Mike Hearn
d9cfb5e1eb Minor: make LedgerTransaction implement the NamedByHash interface, for improved consistency 2016-04-20 14:27:40 +02:00
Mike Hearn
6c9222ad6a Minor: delete some unnecessary code from LedgerTransaction 2016-04-20 14:27:40 +02:00
Mike Hearn
37f3061958 Minor: add a TODO to SignedTransaction indicating that the sandboxing/attachments based ClassLoader isn't actually used yet 2016-04-18 18:01:03 +02:00
Mike Hearn
800151b774 Merge branch 'master' into dynamic-loading 2016-04-18 17:56:31 +02:00
Mike Hearn
531e4a85fe Tweak the attachment classloader tests so that they don't break if IntelliJ has put the 'contracts:isolated' module on the classpath. 2016-04-14 19:42:39 +02:00
Mike Hearn
e91c46f045 Rewrite the AttachmentsClassLoader to avoid temporary file copies and fix the overlap check.
Throw a specialised exception that lists missing exceptions during deserialisation, so the dependency resolution code can access it (coming up).
2016-04-14 17:55:49 +02:00
Mike Hearn
3050a6ad8f Minor: add API docs for the groupStates methods on TransactionForVerification 2016-04-14 12:45:47 +02:00
Mike Hearn
7a9f74ca79 Merge branch 'master' into dynamic-loading 2016-04-13 19:03:04 +02:00
Andrius Dagys
9a8b3bd1ef Added interpolation functionality for the rates oracle. The oracle can be set up with different interpolation mechanisms, currently supported are: linear and cubic spline 2016-04-13 12:32:04 +01:00
Ross Nicoll
265948dcee Clean up code based on feedback from Mike
* Move advertisedServices parameter in NodeInfo up one in the parameter order
* Change ServiceType away from being an enum
* Tweaked wording around what a NodeInfo is
* Renamed LocationStructures to PhysicalLocationStructures
* Move generator outside of function parameters
2016-04-11 16:09:15 +01:00
sofusmortensen
d05e6bb6a4 Merge branch 'master' into dynamic-loading 2016-04-09 01:01:36 +02:00
sofusmortensen
6fe8107d27 Merge branch 'master' into dynamic-loading 2016-04-08 22:40:18 +02:00
Mike Hearn
49d5fb33c4 Remove copyright headers from the files and put the text in the README instead, per feedback from Jacob and external counsel. 2016-04-08 11:46:07 +02:00
Mike Hearn
caf48b65c9 Run auto-formatter over the code. 2016-04-07 20:16:28 +02:00
Mike Hearn
f3863ac5ef Minor: eliminate compiler warnings 2016-04-07 20:00:29 +02:00
Mike Hearn
10ee49d994 Minor: refactoring to reduce dependencies of the JSON object mapper. Clean up how mock identities are handled a little. This assists with the simulation code. 2016-04-07 19:32:06 +02:00
Mike Hearn
196380a9be Some ProgressTracker improvements 2016-04-07 19:32:06 +02:00
Rick Parker
34940c903b Merged in plt-17-api-server-merge5 (pull request #51)
IRS related protocols and scripts
2016-04-07 15:01:25 +01:00
rick.parker
55265e6115 IRS related protocols and scripts
Additional changes based on feedback

Additional changes based on feedback
2016-04-07 14:56:30 +01:00
Andrius Dagys
40443f68cb Changed the order of Polynomial coefficients back 2016-04-05 17:40:42 +01:00