|
From: <pe...@us...> - 2003-10-03 23:48:36
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/pay/receiver
In directory sc8-pr-cvs1:/tmp/cvs-serv32588/src/java/org/neuclear/pay/receiver
Modified Files:
PaymentReceiver.java
Log Message:
Did various security related updates in the pay package with regards to immutability of fields etc.
PaymentReceiver should now be operational. Real testing needs to be done including in particular setting the
private key of the Receiver.
A new class TransferGlobals contains usefull settings for making life easier in the other contract based classes.
TransferContract the signed contract is functional and has a matching TransferRequestBuilder class for programmatically creating
TransferRequests for signing.
TransferReceiptBuilder has been created for use by Payment processors. It is used in the PaymentReceiver.
Index: PaymentReceiver.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/pay/receiver/PaymentReceiver.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PaymentReceiver.java 26 Sep 2003 23:51:32 -0000 1.1
--- PaymentReceiver.java 3 Oct 2003 23:48:29 -0000 1.2
***************
*** 8,14 ****
--- 8,18 ----
import org.neuclear.pay.*;
import org.neuclear.pay.contracts.TransferContract;
+ import org.neuclear.pay.contracts.builders.TransferReceiptBuilder;
import org.neuclear.receiver.Receiver;
import org.neuclear.receiver.UnsupportedTransaction;
import org.neudist.utils.NeudistException;
+ import org.neudist.xml.ElementProxy;
+
+ import java.security.PrivateKey;
/*
***************
*** 43,46 ****
--- 47,51 ----
this.proc = proc;
this.asset = asset;
+ this.signer = null;
}
***************
*** 50,54 ****
* @throws UnsupportedTransaction
*/
! public void receive(SignedNamedObject obj) throws UnsupportedTransaction {
if (obj instanceof TransferContract) {
TransferContract transfer = (TransferContract) obj;
--- 55,59 ----
* @throws UnsupportedTransaction
*/
! public final ElementProxy receive(SignedNamedObject obj) throws UnsupportedTransaction {
if (obj instanceof TransferContract) {
TransferContract transfer = (TransferContract) obj;
***************
*** 59,62 ****
--- 64,70 ----
Account to = proc.getAccount(transfer.getName());
PaymentReceipt receipt = from.pay(to, transfer.getAmount(), transfer.getTimeStamp(), "transfer");
+ TransferReceiptBuilder sigReceipt = new TransferReceiptBuilder(receipt);
+ sigReceipt.sign(signer);
+ return sigReceipt;
//TODO do something with receipt
} catch (UnknownBookException e) {
***************
*** 75,83 ****
e.printStackTrace();
}
} else
throw new UnsupportedTransaction(obj);
}
! private PaymentProcessor proc;
! private String asset;
}
--- 83,94 ----
e.printStackTrace();
}
+
} else
throw new UnsupportedTransaction(obj);
+ return null;
}
! private final PaymentProcessor proc;
! private final String asset;
! private PrivateKey signer;
}
|