Implementation
static XdrContractID decode(XdrDataInputStream stream) {
XdrContractID decoded = XdrContractID(XdrContractIDType.decode(stream));
switch (decoded.discriminant) {
case XdrContractIDType.CONTRACT_ID_FROM_SOURCE_ACCOUNT:
decoded.salt = XdrUint256.decode(stream);
break;
case XdrContractIDType.CONTRACT_ID_FROM_ED25519_PUBLIC_KEY:
decoded.fromEd25519PublicKey = XdrFromEd25519PublicKey.decode(stream);
break;
case XdrContractIDType.CONTRACT_ID_FROM_ASSET:
decoded.asset = XdrAsset.decode(stream);
break;
}
return decoded;
}