You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The native Ledger contract has a method called GetTransactionSigners, which should return a Singer[], for the current executing transaction it returns null though. I am not sure if that's on purpose or not, if it is on purpose, maybe we can expose the signers also on the transaction I can get from Runtime.ScriptContainer.
To Reproduce
usingSystem;usingSystem.Numerics;usingNeo;usingNeo.SmartContract.Framework;usingNeo.SmartContract.Framework.Native;usingNeo.SmartContract.Framework.Services;namespaceGhostMarket.Exchange;publicclassTestContract:SmartContract{publicstaticboolGetSigners(){vartx=(Transaction)Runtime.ScriptContainer;varsigners=Ledger.GetTransactionSigners(tx.Hash);if(signers==null){// for demonstration purposes onlythrownewException("signers array is null");}returntrue;}}
Expected behavior
Above example contract should not throw the exception, but return true.
Platform:
Linux x64
Neo.Smartcontract.Framework 3.4.0
Neo Express 3.4.18+f8b893e693
The text was updated successfully, but these errors were encountered:
That's the same behavior as #2568, it's an intended one for the native Ledger contract. But I agree that this creates some interface asymmetry, it can be solved with another Runtime syscall.
Describe the bug
The native
Ledger
contract has a method calledGetTransactionSigners
, which should return aSinger[]
, for the current executing transaction it returnsnull
though. I am not sure if that's on purpose or not, if it is on purpose, maybe we can expose the signers also on the transaction I can get fromRuntime.ScriptContainer
.To Reproduce
Expected behavior
Above example contract should not throw the exception, but return true.
Platform:
The text was updated successfully, but these errors were encountered: