use goldy::{Context, DepositTransaction, GoldyError, MemoryExchange, Parcel, Scheme, Submission};
pub fn upload_parcel(upload: &mut Scheme, deposit: &DepositTransaction, data: &[u8]) -> Result<Submission, GoldyError> {
deposit.write(upload, 0, data)?;
upload.submit()
}
pub fn bind_upload_deposit(
ctx: &Context,
upload: &mut Scheme,
parcel: &Parcel,
capacity: u64,
) -> Result<DepositTransaction, GoldyError> {
MemoryExchange::new(ctx).bind_deposit_buffer(upload, parcel, capacity)
}
#[allow(dead_code)]
pub fn write_to_parcel(ctx: &Context, parcel: &Parcel, data: &[u8]) -> Result<Submission, GoldyError> {
let mut upload = Scheme::new(ctx);
let deposit = MemoryExchange::new(ctx).bind_deposit_buffer(&mut upload, parcel, data.len() as u64)?;
upload_parcel(&mut upload, &deposit, data)
}