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