Implementation
static void encode(XdrDataOutputStream stream, XdrContractID encoded) {
stream.writeInt(encoded.discriminant.value);
switch (encoded.discriminant) {
case XdrContractIDType.CONTRACT_ID_FROM_SOURCE_ACCOUNT:
XdrUint256.encode(stream, encoded.salt!);
break;
case XdrContractIDType.CONTRACT_ID_FROM_ED25519_PUBLIC_KEY:
XdrFromEd25519PublicKey.encode(stream, encoded.fromEd25519PublicKey!);
break;
case XdrContractIDType.CONTRACT_ID_FROM_ASSET:
XdrAsset.encode(stream, encoded.asset!);
break;
}
}