首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不分配的情况下实现最高编码

如何在不分配的情况下实现最高编码
EN

Stack Overflow用户
提问于 2022-03-16 20:21:21
回答 1查看 55关注 0票数 0

我试图从TopDecode读取输入的内容,但是erdpy contract report报告has-allocator等于true。下面是我当前的片段。

代码语言:javascript
复制
impl<M: ManagedTypeApi> TopDecode for PenguinAttributes<M> {
    fn top_decode<I: elrond_codec::TopDecodeInput>(input: I) -> Result<Self, DecodeError> {
        let boxed_bytes = input.into_boxed_slice_u8();

        return Result::Ok(PenguinAttributes::empty());
    }
}

我已经注释了boxed_bytes方法,现在已分配器等于false。

但是,在不使用分配器的情况下,如何读取输入的内容呢?

我正在使用elrond 0.29.3和erdpy 1.2.3。

谢谢

我输入Hat:unequipped;Beak:Golden Beak (BEAK-a1a1a1-05)的一个例子。

EN

回答 1

Stack Overflow用户

发布于 2022-04-08 16:22:28

我通过在512数组中加载我的字节来实现这一点。然后,我将数组从0读取到managed_buffer.length。

代码语言:javascript
复制
impl<M: ManagedTypeApi> TopDecode for PenguinAttributes<M> {
    fn top_decode<I: elrond_codec::TopDecodeInput>(input: I) -> Result<Self, DecodeError> {
        let mut bytes: [u8; 512] = [0; 512];
        managed_buffer.load_to_byte_array(&mut bytes);

        return Result::Ok(PenguinAttributes::empty());
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71503778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档