我正在使用CosmWasm和CW资产箱,在将令牌转移到其他人地址之前,我希望检查智能契约地址余额中当前智能契约地址上的特定cw20令牌余额。在执行消息中,我可以使用Dep/DepsMut、API和MessageInfo。如何获得当前正在运行的智能契约的地址(而不将其传递给InstantiateMsg)?我还没有看到这样做的方法。
https://docs.rs/cw-asset/1.0.0/cw_asset/type.AssetInfo.html#method.query_balance
发布于 2022-03-19 18:34:55
答案是使用Env.ContractInfo.CanonicalAddress
https://docs.rs/cosmwasm-std/0.9.2/cosmwasm_std/struct.Env.html
如果您正在运行cosmwasm单元测试,则可以使用mock_env(),默认值是"cosmos2contract“。https://github.com/CosmWasm/cosmwasm/blob/6a447c7dc90f8dfcf8aac23f4b9daf496a877ea9/packages/std/src/mock.rs#L223
https://stackoverflow.com/questions/71539799
复制相似问题