mirror of
https://github.com/corda/corda.git
synced 2025-01-31 16:35:43 +00:00
contracts: Remove Tmp* files
This commit is contained in:
parent
dae39bbfc1
commit
fb55ceeb79
@ -1,225 +0,0 @@
|
|||||||
package com.r3corda.contracts.asset;
|
|
||||||
|
|
||||||
import kotlin.Unit;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import static com.r3corda.core.testing.JavaTestHelpers.*;
|
|
||||||
import static com.r3corda.core.contracts.JavaTestHelpers.*;
|
|
||||||
|
|
||||||
public class TmpTest {
|
|
||||||
|
|
||||||
public static class Asd {
|
|
||||||
@Test
|
|
||||||
public void emptyLedger() {
|
|
||||||
ledger(l -> {
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// public void simpleCashDoesntCompile() {
|
|
||||||
// Cash.State inState = new Cash.State(
|
|
||||||
// issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
// getDUMMY_PUBKEY_1()
|
|
||||||
// );
|
|
||||||
// ledger(l -> {
|
|
||||||
// l.transaction(tx -> {
|
|
||||||
// tx.input(inState);
|
|
||||||
// });
|
|
||||||
// return Unit.INSTANCE;
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void simpleCash() {
|
|
||||||
Cash.State inState = new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getDUMMY_PUBKEY_1()
|
|
||||||
);
|
|
||||||
ledger(l -> {
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input(inState);
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void simpleCashFailsWith() {
|
|
||||||
Cash.State inState = new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getDUMMY_PUBKEY_1()
|
|
||||||
);
|
|
||||||
ledger(l -> {
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input(inState);
|
|
||||||
return tx.failsWith("the amounts balance");
|
|
||||||
});
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void simpleCashSuccess() {
|
|
||||||
Cash.State inState = new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getDUMMY_PUBKEY_1()
|
|
||||||
);
|
|
||||||
ledger(l -> {
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input(inState);
|
|
||||||
tx.failsWith("the amounts balance");
|
|
||||||
tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2()));
|
|
||||||
tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void simpleCashTweakSuccess() {
|
|
||||||
Cash.State inState = new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getDUMMY_PUBKEY_1()
|
|
||||||
);
|
|
||||||
ledger(l -> {
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input(inState);
|
|
||||||
tx.failsWith("the amounts balance");
|
|
||||||
tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2()));
|
|
||||||
|
|
||||||
tx.tweak(tw -> {
|
|
||||||
tw.command(getDUMMY_PUBKEY_2(), new Cash.Commands.Move());
|
|
||||||
return tw.failsWith("the owning keys are the same as the signing keys");
|
|
||||||
});
|
|
||||||
tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void simpleCashTweakSuccessTopLevelTransaction() {
|
|
||||||
Cash.State inState = new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getDUMMY_PUBKEY_1()
|
|
||||||
);
|
|
||||||
transaction(tx -> {
|
|
||||||
tx.input(inState);
|
|
||||||
tx.failsWith("the amounts balance");
|
|
||||||
tx.output(inState.copy(inState.getAmount(), getDUMMY_PUBKEY_2()));
|
|
||||||
|
|
||||||
tx.tweak(tw -> {
|
|
||||||
tw.command(getDUMMY_PUBKEY_2(), new Cash.Commands.Move());
|
|
||||||
return tw.failsWith("the owning keys are the same as the signing keys");
|
|
||||||
});
|
|
||||||
tx.command(getDUMMY_PUBKEY_1(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void chainCash() {
|
|
||||||
ledger(l -> {
|
|
||||||
l.unverifiedTransaction(tx -> {
|
|
||||||
tx.output("MEGA_CORP cash",
|
|
||||||
new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getMEGA_CORP_PUBKEY()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input("MEGA_CORP cash");
|
|
||||||
Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash");
|
|
||||||
tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1()));
|
|
||||||
tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void chainCashDoubleSpend() {
|
|
||||||
ledger(l -> {
|
|
||||||
l.unverifiedTransaction(tx -> {
|
|
||||||
tx.output("MEGA_CORP cash",
|
|
||||||
new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getMEGA_CORP_PUBKEY()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input("MEGA_CORP cash");
|
|
||||||
Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash");
|
|
||||||
tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1()));
|
|
||||||
tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input("MEGA_CORP cash");
|
|
||||||
Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash");
|
|
||||||
// We send it to another pubkey so that the transaction is not identical to the previous one
|
|
||||||
tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_2()));
|
|
||||||
tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void chainCashDoubleSpendFailsWith() {
|
|
||||||
ledger(l -> {
|
|
||||||
l.unverifiedTransaction(tx -> {
|
|
||||||
tx.output("MEGA_CORP cash",
|
|
||||||
new Cash.State(
|
|
||||||
issuedBy(DOLLARS(1000), getMEGA_CORP().ref((byte)1, (byte)1)),
|
|
||||||
getMEGA_CORP_PUBKEY()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
|
|
||||||
l.transaction(tx -> {
|
|
||||||
tx.input("MEGA_CORP cash");
|
|
||||||
Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash");
|
|
||||||
tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_1()));
|
|
||||||
tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
|
|
||||||
l.tweak(lw -> {
|
|
||||||
lw.transaction(tx -> {
|
|
||||||
tx.input("MEGA_CORP cash");
|
|
||||||
Cash.State inputCash = l.retrieveOutput(Cash.State.class, "MEGA_CORP cash");
|
|
||||||
// We send it to another pubkey so that the transaction is not identical to the previous one
|
|
||||||
tx.output(inputCash.copy(inputCash.getAmount(), getDUMMY_PUBKEY_2()));
|
|
||||||
tx.command(getMEGA_CORP_PUBKEY(), new Cash.Commands.Move());
|
|
||||||
return tx.verifies();
|
|
||||||
});
|
|
||||||
lw.fails();
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
|
|
||||||
l.verifies();
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,209 +0,0 @@
|
|||||||
package com.r3corda.contracts.asset
|
|
||||||
|
|
||||||
import com.r3corda.core.contracts.DOLLARS
|
|
||||||
import com.r3corda.core.contracts.`issued by`
|
|
||||||
import com.r3corda.core.testing.*
|
|
||||||
import org.junit.Test
|
|
||||||
|
|
||||||
|
|
||||||
class Asd {
|
|
||||||
|
|
||||||
class Asd {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun emptyLedger() {
|
|
||||||
ledger {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// @Test
|
|
||||||
// fun simpleCashFails() {
|
|
||||||
// ledger {
|
|
||||||
// transaction {
|
|
||||||
// input(Cash.State(
|
|
||||||
// amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
// owner = DUMMY_PUBKEY_1
|
|
||||||
// ))
|
|
||||||
// this.verifies()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun simpleCash() {
|
|
||||||
val inState = Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = DUMMY_PUBKEY_1
|
|
||||||
)
|
|
||||||
ledger {
|
|
||||||
transaction {
|
|
||||||
input(inState)
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun simpleCashFailsWith() {
|
|
||||||
val inState = Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = DUMMY_PUBKEY_1
|
|
||||||
)
|
|
||||||
ledger {
|
|
||||||
transaction {
|
|
||||||
input(inState)
|
|
||||||
this `fails with` "the amounts balance"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun simpleCashSuccess() {
|
|
||||||
val inState = Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = DUMMY_PUBKEY_1
|
|
||||||
)
|
|
||||||
ledger {
|
|
||||||
transaction {
|
|
||||||
input(inState)
|
|
||||||
this `fails with` "the amounts balance"
|
|
||||||
output(inState.copy(owner = DUMMY_PUBKEY_2))
|
|
||||||
command(DUMMY_PUBKEY_1) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun simpleCashTweakSuccess() {
|
|
||||||
val inState = Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = DUMMY_PUBKEY_1
|
|
||||||
)
|
|
||||||
ledger {
|
|
||||||
transaction {
|
|
||||||
input(inState)
|
|
||||||
this `fails with` "the amounts balance"
|
|
||||||
output(inState.copy(owner = DUMMY_PUBKEY_2))
|
|
||||||
|
|
||||||
tweak {
|
|
||||||
command(DUMMY_PUBKEY_2) { Cash.Commands.Move() }
|
|
||||||
this `fails with` "the owning keys are the same as the signing keys"
|
|
||||||
}
|
|
||||||
|
|
||||||
command(DUMMY_PUBKEY_1) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun simpleCashTweakSuccessTopLevelTransaction() {
|
|
||||||
val inState = Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = DUMMY_PUBKEY_1
|
|
||||||
)
|
|
||||||
transaction {
|
|
||||||
input(inState)
|
|
||||||
this `fails with` "the amounts balance"
|
|
||||||
output(inState.copy(owner = DUMMY_PUBKEY_2))
|
|
||||||
|
|
||||||
tweak {
|
|
||||||
command(DUMMY_PUBKEY_2) { Cash.Commands.Move() }
|
|
||||||
this `fails with` "the owning keys are the same as the signing keys"
|
|
||||||
}
|
|
||||||
|
|
||||||
command(DUMMY_PUBKEY_1) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun chainCash() {
|
|
||||||
ledger {
|
|
||||||
unverifiedTransaction {
|
|
||||||
output("MEGA_CORP cash") {
|
|
||||||
Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = MEGA_CORP_PUBKEY
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
transaction {
|
|
||||||
input("MEGA_CORP cash")
|
|
||||||
output("MEGA_CORP cash".output<Cash.State>().copy(owner = DUMMY_PUBKEY_1))
|
|
||||||
command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun chainCashDoubleSpend() {
|
|
||||||
ledger {
|
|
||||||
unverifiedTransaction {
|
|
||||||
output("MEGA_CORP cash") {
|
|
||||||
Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = MEGA_CORP_PUBKEY
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
transaction {
|
|
||||||
input("MEGA_CORP cash")
|
|
||||||
output("MEGA_CORP cash".output<Cash.State>().copy(owner = DUMMY_PUBKEY_1))
|
|
||||||
command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
|
|
||||||
transaction {
|
|
||||||
input("MEGA_CORP cash")
|
|
||||||
// We send it to another pubkey so that the transaction is not identical to the previous one
|
|
||||||
output("MEGA_CORP cash".output<Cash.State>().copy(owner = DUMMY_PUBKEY_1))
|
|
||||||
command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun chainCashDoubleSpendFailsWith() {
|
|
||||||
ledger {
|
|
||||||
unverifiedTransaction {
|
|
||||||
output("MEGA_CORP cash") {
|
|
||||||
Cash.State(
|
|
||||||
amount = 1000.DOLLARS `issued by` MEGA_CORP.ref(1, 1),
|
|
||||||
owner = MEGA_CORP_PUBKEY
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
transaction {
|
|
||||||
input("MEGA_CORP cash")
|
|
||||||
output("MEGA_CORP cash".output<Cash.State>().copy(owner = DUMMY_PUBKEY_1))
|
|
||||||
command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
|
|
||||||
tweak {
|
|
||||||
transaction {
|
|
||||||
input("MEGA_CORP cash")
|
|
||||||
// We send it to another pubkey so that the transaction is not identical to the previous one
|
|
||||||
output("MEGA_CORP cash".output<Cash.State>().copy(owner = DUMMY_PUBKEY_2))
|
|
||||||
command(MEGA_CORP_PUBKEY) { Cash.Commands.Move() }
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
this.fails()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.verifies()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user