0

所以我的合同中有以下外在功能:

    #[ink(message)]
    pub fn advance_time_seconds(&mut self, seconds: u64)

此函数的主要目标是提前合约时间,以便我们可以测试一些与时间相关的值,但将其留在生产环境中并不是一个好主意。

因此,我正在尝试使用 rust 条件编译魔术并在使用 --release 标志构建合同时将其排除。

看来#[cfg(debug_assertions)] 与#[ink(message)] 有冲突,并且在编译期间找不到我的函数。

然后我尝试过的另一件事是在函数本身内部使用宏:

    if cfg!(debug_assertions) {
      return "not allowed in prod"
    }

现在可以编译合约,但无论我是否使用 --release 标志编译合约,宏似乎总是返回 false,我认为这与我们针对 wasm 的事实有关。

有谁知道我怎样才能完成我想要做的事情?

4

0 回答 0