fromXdr method
- XdrAsset xdrAsset
Generates an Asset object from a given XDR object xdr_asset
.
Implementation
static Asset fromXdr(XdrAsset xdrAsset) {
switch (xdrAsset.discriminant) {
case XdrAssetType.ASSET_TYPE_NATIVE:
return new AssetTypeNative();
case XdrAssetType.ASSET_TYPE_CREDIT_ALPHANUM4:
String assetCode4 =
Util.paddedByteArrayToString(xdrAsset.alphaNum4.assetCode);
KeyPair issuer4 =
KeyPair.fromXdrPublicKey(xdrAsset.alphaNum4.issuer.accountID);
return AssetTypeCreditAlphaNum4(assetCode4, issuer4.accountId);
case XdrAssetType.ASSET_TYPE_CREDIT_ALPHANUM12:
String assetCode12 =
Util.paddedByteArrayToString(xdrAsset.alphaNum12.assetCode);
KeyPair issuer12 =
KeyPair.fromXdrPublicKey(xdrAsset.alphaNum12.issuer.accountID);
return AssetTypeCreditAlphaNum12(assetCode12, issuer12.accountId);
default:
throw Exception(
"Unknown asset type ${xdrAsset.discriminant.toString()}");
}
}