toOperationBody method
- @override
override
Generates OperationBody XDR object.
Implementation
@override
XdrOperationBody toOperationBody() {
XdrAllowTrustOp op = new XdrAllowTrustOp();
// trustor
XdrAccountID trustor = new XdrAccountID();
trustor.accountID = KeyPair.fromAccountId(this._trustor).xdrPublicKey;
op.trustor = trustor;
// asset
XdrAllowTrustOpAsset asset = new XdrAllowTrustOpAsset();
if (_assetCode.length <= 4) {
asset.discriminant = XdrAssetType.ASSET_TYPE_CREDIT_ALPHANUM4;
asset.assetCode4 = Util.paddedByteArray(utf8.encode(_assetCode), 4);
} else {
asset.discriminant = XdrAssetType.ASSET_TYPE_CREDIT_ALPHANUM12;
asset.assetCode12 = Util.paddedByteArray(utf8.encode(_assetCode), 12);
}
op.asset = asset;
// authorize
if (authorize) {
op.authorize = XdrTrustLineFlags.AUTHORIZED_FLAG.value;
} else if (authorizeToMaintainLiabilities) {
op.authorize =
XdrTrustLineFlags.AUTHORIZED_TO_MAINTAIN_LIABILITIES_FLAG.value;
} else {
op.authorize = 0;
}
XdrOperationBody body = new XdrOperationBody();
body.discriminant = XdrOperationType.ALLOW_TRUST;
body.allowTrustOp = op;
return body;
}