so I was trying to update an entry point with lazify=true.
import smartpy as sp class testSC(sp.Contract): def __init__(self): self.update_initial_storage( x=sp.mutez(0)) @sp.entry_point(lazify = False) def update_function(self, ep): sp.set_entry_point("f1", ep) @sp.entry_point(lazify = True) def f1(self): x = 5 @sp.add_test(name="TestSC") def test(): # deploy a contract c1 = testSC() sc = sp.test_scenario() sc += c1 sc.h2("Update the contract") def f1(self, batch): x = 10 sp.emit("event",tag="test") c1.update_function(sp.utils.wrap_entry_point("f1", f1))
I am trying to update the function f1 . But I am unable to upgrade the function as the new code of the function consists of event(I copied michelson code of the new f1() from smartpy and give it as a param in update_function() at better-call. But it says "Invalid primitive EMIT") . However if I remove the event code, then the f1 function is being upgraded. so how can i update a function by adding event on it?