Commit Graph

3864 Commits

Author SHA1 Message Date
Katelyn Baker
b8ae03410d Ensure typename is calculated correctly for nested arrays
We were relying on the Java typename conversion to work for our AMQP
envelope type selection, and only special casing arrays of primitives.

However with nested arrays this breaks as the intermediate serialises
for the nested arrays still have no idea as to what the underlaying type
is as the assumption will be being made that the type is a boxed
primitive.

Solution is to compute the typename properly, walking down the nested
array chain
2017-07-25 15:41:51 +01:00
Katelyn Baker
6dc48e7cea Merge pull request #1106 from corda/kat-primArrayDeserialise
Add support for serialising arrays of unboxed primitives
2017-07-25 11:05:27 +01:00
Katelyn Baker
0ca1500422 Review Comments 2017-07-25 10:39:18 +01:00
Katelyn Baker
c63ed76a66 Complete tests for all prim array types
Remove the case for bytes as those do work with the existing code
2017-07-25 10:17:57 +01:00
Joel Dudley
5eb8b36809 Adds information on writing CorDapps. Reorg. 2017-07-25 09:26:35 +01:00
Katelyn Baker
f8116febad Arrays of unboxed primitives don't work 2017-07-25 09:18:03 +01:00
Shams Asari
407b467f67 Moved the majority of the contents of Utils.kt into either InternalUtils.kt or KotlinUtils.kt.
What remains is being dealt with in another PR.
2017-07-24 19:25:56 +01:00
Joel Dudley
8acbd86c70 Uses dynamic loading of dropdown versions. Styles box slightly. 2017-07-24 18:25:05 +01:00
Shams Asari
800f710fbb Generified Command so that it's more easier to use when querying from LedgerTransaction 2017-07-24 15:33:41 +01:00
Andrius Dagys
d2eb5507f9 Refactor transaction serialization caching (#1078)
* Cache deserialized rather than serialized WireTransaction. Prevent repeated deserialization when adding signatures to the SignedTransaction.

* Added a test to check that stx copying and signature collection still works properly after (de)serialization
2017-07-24 14:48:39 +01:00
Shams Asari
3e199e51fc Simplified the implementation of the tx query APIs with the introduction of Class.castIfPossible 2017-07-21 19:18:48 +01:00
Shams Asari
a485bbada8 Moved ThreadBox into core.internal 2017-07-21 18:01:29 +01:00
Matthew Nesbit
08d2e351d2 Merge pull request #1091 from corda/mnesbit-friendlier-transaction-access
Create a friendlier set of access methods to states on transactions
2017-07-21 16:13:18 +01:00
Matthew Nesbit
9a02a27619 Add state query methods to LedgerTransaction.
Update to use LedgerTransaction api

Push query output logic onto BaseTransaction and update usages where possible

Migrate a few more uses

Address some PR comments

Address some PR comments

Fixup after rebase
2017-07-21 15:41:00 +01:00
Rick Parker
fe9db6f1f7 Remove links to Kryo from serialization "clients" (#1079) 2017-07-21 14:23:05 +01:00
Katelyn Baker
e1551fc74e Merge pull request #1084 from corda/kat-cantDeserialiseChars
Fix to allow classes with char members to deserialize
2017-07-21 13:16:37 +01:00
Joel Dudley
bb4501c09c Updates the example CorDapp page. 2017-07-21 12:33:31 +01:00
Shams Asari
6f7794ac93 Rewrote the doc for TimeWinow to make it clearer 2017-07-20 15:36:47 +01:00
Ross Nicoll
b6902aada6 Use notary identity in Bank of Corda demo
Resolve notary identity via node identity in Bank of Corda demo.
2017-07-20 15:28:09 +01:00
Ross Nicoll
29ff4a7ef6 Stop logging entire result from a fiber, as it can be very large 2017-07-20 15:28:09 +01:00
Shams Asari
e702025f62 Cleaned up TimeWindow and added a bit more docs. 2017-07-20 13:43:11 +01:00
Chris Rankin
bf98f64269 Patch DemoBench for JavaFX bugs when building installers. (#1069)
* Replace buggy classes in rt.jar with patched versions.
* Apply Java bugfixes to MacOSX.
* Initial support for patching Windows JRE.
* Resign DemoBench DMG after the bugfixe source has been deleted.
* Apply Java bugfixes for DemoBench on Windows.
2017-07-20 11:04:09 +01:00
Matthew Nesbit
2a70be66e5 Merge pull request #1082 from corda/mnesbit-remove-transactionforcontract
Remove TransactionForContract and just use LedgerTransaction
2017-07-20 10:02:04 +01:00
Matthew Nesbit
0fdd4ae6c6 Remove TransactionForContract and just use LedgerTransaction
Fix minor doc error

Get rid of @deprecated method that was only present for technical reasons.

Minor fix and include in changelog
2017-07-20 09:16:07 +01:00
Patrick Kuo
0e0b99eaf0 * Remove Kryo from ServiceIdentityGenerator (#1083)
* Store encoded private, public and composite key to file instead of Party and Key using Kryo.
2017-07-19 16:34:56 +01:00
Ross Nicoll
9d3ad5fe06 Remove dummy cash issuer from two party trade flows
Switch to using a dedicated bank node in two party trade flows so that when KYC checks are enforced, all nodes on the network know who the issuer is.
2017-07-19 16:00:14 +01:00
Katelyn Baker
97e0c3c4c2 Review Comments 2017-07-19 15:19:50 +01:00
Katelyn Baker
080e9670a1 Fix to allow classes with char members to deserialize 2017-07-19 14:43:52 +01:00
Shams Asari
070f0c040e Moved a bunch of stuff which shouldn't be public out of core.utilities and into core.internal 2017-07-19 14:09:03 +01:00
Ross Nicoll
c4c551dbd2 Confidential identities API improvements
* Registering anonymous identities now takes in AnonymisedIdentity
* AnonymousParty.toString() now uses toStringShort() to match other toString() functions
* Add verifyAnonymousIdentity() function to verify without storing an identity
* Replace pathForAnonymous() with anonymousFromKey() which matches actual use-cases better
* Add unit test for fetching the anonymous identity from a key
* Update verifyAnonymousIdentity() function signature to match registerAnonymousIdentity()
* Rename AnonymisedIdentity to AnonymousPartyAndPath
* Remove certificate from AnonymousPartyAndPath as it's not actually used.
* Rename registerAnonymousIdentity() to verifyAndRegisterAnonymousIdentity()
2017-07-19 14:03:34 +01:00
Ross Nicoll
298287fe28 Expand documentation on obligation contract
Expand documentation on obligation contract and add an example issuance function for cash obligations.
2017-07-19 13:34:28 +01:00
Patrick Kuo
264b9316e3 Store notaries's identity composite key in keystore (#1036)
* * Store composite key in keystore from file for notaries's identity.
* Some refactoring.

* * Addressed PR issues

* * Remove unintended format changes

* * Fixed failing test due to getting keys from wrong keystore
2017-07-19 11:14:48 +01:00
Konstantinos Chalkias
8a2074eeee Remove tolerance from TimeWindowChecker (#1047) 2017-07-19 12:33:57 +03:00
Andrius Dagys
cb306a22fe Modify NodeVaultServiceTest to not access makeUpdate() directly 2017-07-18 17:38:45 +01:00
Andrius Dagys
5501d74d29 Remove NotaryChangeTxBuilder from examples - it's being deprecated 2017-07-18 17:38:18 +01:00
Ross Nicoll
f571aeb6a7 Remove createTwoNodes()
Remove `createTwoNodes()` from mock network as its behaviour is inconsistent with creating a set of nodes. `createSomeNodes()` is generally a better fit and creates a network map and notary, and registers all nodes. Where that's not the intention, it's acceptable to manually create each node.
2017-07-18 16:54:32 +01:00
Shams Asari
2778e294f3 FiberBox and RetryableException removed as they're not used 2017-07-18 15:14:35 +01:00
Shams Asari
b0c299707b Moved DeclaredField utility to internal and expanded its use 2017-07-18 14:33:09 +01:00
Clinton
0ccfae252f POMs generated by publishing are now correct. (#1055)
* POMs generated by publishing are now correct. The publish extension now requires an explicit call to configure the publishing instead of waiting until after evaluation. This prevents evaluation order issues with the artifact renaming code that causes the POM to have the original, incorrect, artifact names.

* Fixed new test compile issues caused by removal of some dependencies in test utils that caused webserver code to be automatically included in any project also compiling test utils.
2017-07-18 12:34:56 +01:00
Shams Asari
561a329064 Moved the various extension methods for creating Durations from Utils.kt to KotlinUtils.kt 2017-07-18 10:26:53 +01:00
josecoll
65ce5fec4b Fixed Vault Query over RPC using custom attributes. (#1066)
* Implemented Kryo custom serializers for Field and KProperty types.

* Adjusted KPropertySerializer to use kotlin member properties upon read() due to failing RPC tests.
Added additional Kotlin and Java tests (CordaRPCClient, StandaaloneCordaRPCClient)
Annotated schemas to be CordaSerializable (required when referencing as KProperty in custom queries).
Cleanup some outstanding compiler warnings.

* Added client RPC Java integration and smoke tests to build.

* Clean up compiler warnings in Java tests.

* Fixed incorrect assertion expectation.

* Backed out Field and KProperty custom serializers.

* Backed out Field and KProperty custom serializers.

* Store VaultQueryCustom custom column references as name and class (from Java Field and Kotlin KProperty1 types respectively).
Custom serialization of Field and KProperty type no longer required.

* Removed blank lines as per RP review comments.
2017-07-17 18:20:02 +01:00
Matthew Nesbit
8596f1cc17 AttachmentClassLoader isn't directly exposed on the api, so move together with serialisation. (#1060) 2017-07-17 17:56:02 +01:00
Shams Asari
c62387f3f6 Fixed TransientProperty so that it actually works during (de)serialisation 2017-07-17 16:27:54 +01:00
Shams Asari
195189070a Moved the Path extension methods that were in Utils.kt into the internal package 2017-07-17 16:01:19 +01:00
Joel Dudley
b37c73827f Splits verifySigs into verifySigsExcept and verifyRequiredSigs to clarify usage. 2017-07-17 15:42:08 +01:00
Matthew Nesbit
7d1d5cc0f8 Merge pull request #1050 from corda/mnesbit-services-in-separate-files
Put Services.kt in separate files
2017-07-17 14:29:01 +01:00
Katelyn Baker
eeb66b68b8 Merge pull request #1005 from corda/kat-serialization
Integrate class synthesis with the serialisation framework
2017-07-17 12:58:53 +01:00
Joel Dudley
5df0de8ff7 Adds a tutorial showing multi-party communication. 2017-07-17 12:23:14 +01:00
Ross Nicoll
b7ee7d42a5 Enable anonymisation in integration testing tutorial
Enable anonymisation in integration testing tutorial, and as a requirement fix a bug where the counterparty anonymous
identity was not registered by `TransactionKeyFlow`.
2017-07-17 10:24:20 +01:00
Ross Nicoll
dfbf06a66d Flow cleanup
* Change "for who" to "for whom"
* Don't pass parties to FinalityFlow, it can derive them automatically
* Create a basket of nodes instead of individually assembling nodes
* Switch two party trade flow tests to generate a full anonymous identity
2017-07-17 10:24:20 +01:00