gpt4 book ai didi

java - 如何将 Transaction State 转换为 ContractState 的一种类型 fooState?

转载 作者:行者123 更新时间:2023-12-02 10:12:14 24 4
gpt4 key购买 nike

我正在尝试编写流程测试,其中我需要对已消耗的输入状态进行检查。所以我提取了Stateref's从交易中并通过 toStateandRef() 获取他们的数据方法通过传递 staterefs 。然后我运行了一个 for 循环来列出所有 inputstates 的列表。放置instanceOf foostate检查这一点,但 java 无法将列表的内容转换为 fooState

ERROR: Cannot Cast TransactionState to type fooState

        List<StateRef> txInputs = recordedTx.getTx().getInputs();
List<TransactionState<ContractState>> inputsList = new ArrayList<>();

for (StateRef stateref :txInputs) {
StateAndRef<ContractState> inputState = node.getServices().toStateAndRef(stateref);
TransactionState<ContractState> individualinputStates = inputState.getState();
inputsList.add(individualinputStates);
}

assert (inputsList.stream().filter(it -> it instanceOf fooState).collect(Collectors.toList()).size() == 1);

最佳答案

简单的做法: List<fooState> inputsList = recordedTx.getTx().inputsOfType(fooState.class);

关于java - 如何将 Transaction State 转换为 ContractState 的一种类型 fooState?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54920127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com