getOfferIdFromResult method
- int position
Helper method that returns Offer ID for ManageOffer from TransactionResult Xdr. This is helpful when you need the ID of an offer to update it later.
Implementation
int getOfferIdFromResult(int position) {
if (!this.success) {
return null;
}
XdrDataInputStream xdrInputStream =
new XdrDataInputStream(base64Decode(this.resultXdr));
XdrTransactionResult result;
try {
result = XdrTransactionResult.decode(xdrInputStream);
} catch (e) {
return null;
}
if (result.result.results[position] == null) {
return null;
}
XdrOperationType disc =
(result.result.results[position] as XdrOperationResult).tr.discriminant;
if (disc != XdrOperationType.MANAGE_SELL_OFFER &&
disc != XdrOperationType.MANAGE_BUY_OFFER) {
return null;
}
if ((result.result.results[0] as XdrOperationResult)
.tr
.manageOfferResult
.success
.offer
.offer ==
null) {
return null;
}
return (result.result.results[0] as XdrOperationResult)
.tr
.manageOfferResult
.success
.offer
.offer
.offerID
.uint64;
}