Skip to content

Commit c1231c1

Browse files
committed
fix: changes made
1 parent 79e7573 commit c1231c1

File tree

3 files changed

+44
-19
lines changed

3 files changed

+44
-19
lines changed

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

+38-13
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public void SwapIntent(
4141
BigInteger amount,
4242
String toToken,
4343
BigInteger toAmount,
44-
String data) {
44+
byte[] data) {
4545
}
4646

4747
@EventLog(indexed = 2)
@@ -247,19 +247,44 @@ public void tokenFallback(Address _from, BigInteger _value, byte[] _data) {
247247

248248
// string(address of depositer) -> string (deposits token address) -> amountof
249249
// token
250-
String depositor = json.get("depositor").asString();
251-
String token = json.get("token").asString();
252-
BigInteger amount = new BigInteger(json.get("amount").asString());
253-
254-
deposit.at(depositor).set(token, amount);
255-
SwapOrder swapOrder = SwapOrder
256-
.fromBytes(hexStringToByteArray(json.get("swapOrderDataBytes").asString()));
250+
// String depositor = json.get("depositor").asString();
251+
// String token = json.get("token").asString();
252+
// BigInteger amount = new BigInteger(json.get("amount").asString());
253+
String type = json.get("type").asString();
254+
// deposit.at(depositor).set(token, amount);
255+
if (type.equals("swap")) {
256+
SwapOrder swapOrder = SwapOrder
257+
.fromBytes(hexStringToByteArray(json.get("swapOrderDataBytes").asString()));
258+
deposit.at(swapOrder.creator).set(swapOrder.token, swapOrder.amount);
259+
260+
// Context.require(amount.equals(swapOrder.amount), "Token amount must be
261+
// equal");
262+
// Context.require(swapOrder.getToken() != null, "Token can't be null");
263+
Context.require(Context.getCaller().toString().equals(extractAddress(swapOrder.getCreator())),
264+
"Creator must be sender");
265+
_swap(swapOrder);
266+
} else {
267+
SwapOrder swapOrder = SwapOrder
268+
.fromBytes(hexStringToByteArray(json.get("swapOrderDataBytes").asString()));
269+
270+
SwapOrderData swapOrderData = new SwapOrderData();
271+
swapOrderData.id = swapOrder.id;
272+
swapOrderData.emitter = swapOrder.emitter;
273+
swapOrderData.srcNID = swapOrder.srcNID;
274+
swapOrderData.dstNID = swapOrder.dstNID;
275+
swapOrderData.creator = swapOrder.creator;
276+
swapOrderData.destinationAddress = swapOrder.destinationAddress;
277+
swapOrderData.token = swapOrder.token;
278+
swapOrderData.amount = swapOrder.amount;
279+
swapOrderData.toToken = swapOrder.toToken;
280+
swapOrderData.toAmount = swapOrder.toAmount;
281+
swapOrderData.data = swapOrder.data;
282+
283+
String solver = json.get("solver").asString();
284+
fill(swapOrderData, solver);
285+
}
286+
;
257287

258-
Context.require(amount.equals(swapOrder.amount), "Token amount must be equal");
259-
Context.require(swapOrder.getToken() != null, "Token can't be null");
260-
Context.require(Context.getCaller().toString().equals(extractAddress(swapOrder.getCreator())),
261-
"Creator must be sender");
262-
_swap(swapOrder);
263288
}
264289

265290
@External

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ public class SwapOrder {
1818
public BigInteger amount; // Amount of the token to be swapped
1919
public String toToken; // Token to receive on the destination network
2020
public BigInteger toAmount; // Minimum amount of the toToken to receive
21-
public String data; // Additional data (if any) for future use (is this the right type?)
21+
public byte[] data; // Additional data (if any) for future use (is this the right type?)
2222

2323
public SwapOrder(BigInteger id, String emitter, String srcNID, String dstNID, String creator,
2424
String destinationAddress, String token, BigInteger amount, String toToken, BigInteger toAmount,
25-
String data) {
25+
byte[] data) {
2626
this.id = id;
2727
this.emitter = emitter;
2828
this.srcNID = srcNID;
@@ -77,7 +77,7 @@ public static SwapOrder readObject(ObjectReader reader) {
7777
obj.toAmount = reader.readBigInteger();
7878
Context.println(obj.toAmount.toString());
7979

80-
obj.data = reader.readString();
80+
obj.data = reader.readByteArray();
8181
Context.println(obj.data.toString());
8282

8383
reader.end();
@@ -191,11 +191,11 @@ public void setToAmount(BigInteger toAmount) {
191191
this.toAmount = toAmount;
192192
}
193193

194-
public String getData() {
194+
public byte[] getData() {
195195
return data;
196196
}
197197

198-
public void setData(String data) {
198+
public void setData(byte[] data) {
199199
this.data = data;
200200
}
201201
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ public class SwapOrderData {
1313
public BigInteger amount;
1414
public String toToken;
1515
public BigInteger toAmount;
16-
public String data;
16+
public byte[] data;
1717
}

0 commit comments

Comments
 (0)