Open luca992 opened 1 year ago
Acknowledged, thank you for your report. Will investigate
Hi @luca992, so I think I've reproduced the issue on the fix/182
branch (test case), and I've been trying to track down where exactly it's caused.
My expectation is that the addresses of contracts B and C automatically appear as attributes
on the final response (from contract A to caller), and indeed neither attributes
nor events
from the inter-contract responses are being propagated to the final response.
Can you confirm that this is also what you expect to see? Why would they appear in data
?
(In the meantime, I've also updated the Fadroma repo so that it isn't a Cargo workspace anymore. Since Cargo doesn't support nested workspaces, this change should make it easier to include the Fadroma crates as path dependencies, should you at any point decide to debug something with a local checkout of the Fadroma source.)
Can you confirm that this is also what you expect to see? Why would they appear in data?
@luca992 can you confirm that the above is still an issue?
Can you confirm that this is also what you expect to see? Why would they appear in data?
@luca992 can you confirm that the above is still an issue?
Yeah sorry forgot to check. I'll try it out this weekend
@luca992 Any news? Your message on TG from a couple weeks ago suggested that this is not a bug, but expected behavior of Secret Network that has been correctly replicated in Fadroma Ensemble.
@egasimus sorry, I forgot to try it out again the other week. Just pulled that branch, unfortunately it seems to be the same. The data is still not being returned.
And that behavior is not what I'm referring to here.
After the chain of submessages I send as described above, the data I am setting that is returned in the result of last time reply
is called is not being returned. This doesn't happen on chain, which returns the data as expected.
Eventually if you need I could make a test case for you. But I have a lot going on right now.
I have a fairly complex operation which when I execute it in
Contract A
, will instantiate twoContracts B & C
.Contract C
relies onB
. SoContract A
will wait for the reply of theContract B
instantiation. Then from the reply it will launch another submessage to instantiateContract C
.Contract A
then waits for the reply ofContract C
. FinallyContract A
will return a response afterContract C
replies with the addresses of bothContract B & C
.The data set by Contract A from the final reply from Contract C is not being returned in the response in Ensemble:
It is picking the wrong index and setting the data of state[1] when I think it should be overwriting the data in state[0]