getClaimableBalanceIdIdFromResult method
Helper method that returns Claimable Balance Id for CreateClaimableBalance from TransactionResult Xdr. This is helpful when you need the created Claimable Balance ID to show it to the user
Implementation
String? getClaimableBalanceIdIdFromResult(int position) {
if (!this.success) {
return null;
}
XdrDataInputStream xdrInputStream =
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.CREATE_CLAIMABLE_BALANCE) {
return null;
}
if ((result.result.results[position] as XdrOperationResult?)
?.tr!
.createClaimableBalanceResult!
.balanceID ==
null) {
return null;
}
return Util.bytesToHex((result.result.results[0] as XdrOperationResult)
.tr!
.createClaimableBalanceResult!
.balanceID!
.v0!
.hash);
}