native: cache oracle nodes

This commit is contained in:
Evgenii Stratonikov 2020-09-24 15:46:31 +03:00
parent 141d6e325f
commit bd1790bddf
3 changed files with 32 additions and 16 deletions

View file

@ -141,6 +141,7 @@ func TestOracle_Request(t *testing.T) {
ic := bc.newInteropContext(trigger.Application, bc.dao, nil, tx)
err = orc.SetOracleNodes(ic, keys.PublicKeys{pub})
require.NoError(t, err)
orc.OnPersistEnd(ic.DAO)
tx = transaction.New(netmode.UnitTestNet, native.GetOracleResponseScript(), 0)
ic.Tx = tx
@ -223,11 +224,10 @@ func TestOracle_SetOracleNodes(t *testing.T) {
ic := bc.newInteropContext(trigger.System, bc.dao, nil, tx)
ic.VM = vm.New()
pubs, err := orc.GetOracleNodes(ic.DAO)
require.NoError(t, err)
pubs := orc.GetOracleNodes()
require.Equal(t, 0, len(pubs))
err = orc.SetOracleNodes(ic, keys.PublicKeys{})
err := orc.SetOracleNodes(ic, keys.PublicKeys{})
require.True(t, errors.Is(err, native.ErrEmptyNodeList), "got: %v", err)
priv, err := keys.NewPrivateKey()
@ -239,8 +239,8 @@ func TestOracle_SetOracleNodes(t *testing.T) {
setSigner(tx, testchain.CommitteeScriptHash())
require.NoError(t, orc.SetOracleNodes(ic, keys.PublicKeys{pub}))
orc.OnPersistEnd(ic.DAO)
pubs, err = orc.GetOracleNodes(ic.DAO)
require.NoError(t, err)
pubs = orc.GetOracleNodes()
require.Equal(t, keys.PublicKeys{pub}, pubs)
}