Skip to content

Commit 54fc14b

Browse files
committed
test: performed swap in a single transaction
1 parent d157fa2 commit 54fc14b

File tree

3 files changed

+513
-305
lines changed

3 files changed

+513
-305
lines changed

contracts/javascore/Intent_Contracts/app/src/main/java/network/icon/intent/Intent.java

+27-27
Original file line numberDiff line numberDiff line change
@@ -64,33 +64,33 @@ public Intent(String _nid, BigInteger _protocolFee, Address _feeHandler, Address
6464
owner.set(Context.getCaller());
6565
}
6666

67-
// @External
68-
// @Payable
69-
// public void swap(SwapOrderData swapOrderData) {
70-
// Context.require(swapOrderData.token != null, "Token can't be null");
71-
// Context.require(Context.getCaller().toString().equals(swapOrderData.creator),
72-
// "Creator must be sender");
73-
74-
// Address token = Address.fromString(swapOrderData.token);
75-
// Address nativAddress = nativeAddress.get();
76-
// if (token.equals(nativAddress)) {
77-
// Context.require(Context.getValue().equals(swapOrderData.amount),
78-
// "Deposit amount not equal to order amount");
79-
// } else {
80-
// Context.require(Context.getValue().equals(BigInteger.valueOf(0)),
81-
// "Nativ Token Must Be Zero");
82-
// Context.call(token, "transfer", Context.getAddress(), swapOrderData.amount);
83-
// }
84-
85-
// SwapOrder swapOrder = new SwapOrder(swapOrderData.id, swapOrderData.emitter,
86-
// swapOrderData.srcNID,
87-
// swapOrderData.dstNID, swapOrderData.creator,
88-
// swapOrderData.destinationAddress, swapOrderData.token,
89-
// swapOrderData.amount, swapOrderData.toToken, swapOrderData.toAmount,
90-
// swapOrderData.data);
91-
92-
// _swap(swapOrder);
93-
// }
67+
@External
68+
@Payable
69+
public void swap(SwapOrderData swapOrderData) {
70+
Context.require(swapOrderData.token != null, "Token can't be null");
71+
Context.require(Context.getCaller().toString().equals(swapOrderData.creator),
72+
"Creator must be sender");
73+
74+
Address token = Address.fromString(swapOrderData.token);
75+
Address nativAddress = nativeAddress.get();
76+
if (token.equals(nativAddress)) {
77+
Context.require(Context.getValue().equals(swapOrderData.amount),
78+
"Deposit amount not equal to order amount");
79+
} else {
80+
Context.require(Context.getValue().equals(BigInteger.valueOf(0)),
81+
"Nativ Token Must Be Zero");
82+
Context.call(token, "transfer", Context.getAddress(), swapOrderData.amount);
83+
}
84+
85+
SwapOrder swapOrder = new SwapOrder(swapOrderData.id, swapOrderData.emitter,
86+
swapOrderData.srcNID,
87+
swapOrderData.dstNID, swapOrderData.creator,
88+
swapOrderData.destinationAddress, swapOrderData.token,
89+
swapOrderData.amount, swapOrderData.toToken, swapOrderData.toAmount,
90+
swapOrderData.data);
91+
92+
_swap(swapOrder);
93+
}
9494

9595
void _swap(SwapOrder swapOrder) {
9696
BigInteger id = this.depositId.getOrDefault(BigInteger.ZERO).add(BigInteger.valueOf(1));

0 commit comments

Comments
 (0)