diff --git a/referral/keeper.gno b/referral/keeper.gno index 6142efc79..fef6f3a78 100644 --- a/referral/keeper.gno +++ b/referral/keeper.gno @@ -44,7 +44,7 @@ func (k *keeper) update(addr, newRefAddr std.Address) error { // // TODO: need to discuss what values to emit as event func (k *keeper) setReferral(addr, refAddr std.Address, eventType string) error { - if err := isValidCaller(std.GetOrigCaller()); err != nil { + if err := isValidCaller(std.PrevRealm().Addr()); err != nil { return err } @@ -53,11 +53,16 @@ func (k *keeper) setReferral(addr, refAddr std.Address, eventType string) error } if refAddr == zeroAddress { + std.Emit( + EventTypeRemove, + "removedAddress", addr.String(), + ) return k.remove(addr) } k.store.Set(addr.String(), refAddr.String()) - std.Emit(eventType, + std.Emit( + eventType, "my_address", addr.String(), "ref_address", refAddr.String(), ) @@ -81,7 +86,7 @@ func (k *keeper) validateAddresses(addr, refAddr std.Address) error { // // TODO: need to discuss what values to emit as event func (k *keeper) remove(target std.Address) error { - if err := isValidCaller(std.GetOrigCaller()); err != nil { + if err := isValidCaller(std.PrevRealm().Addr()); err != nil { return err } diff --git a/referral/utils.gno b/referral/utils.gno index 6a2a6656c..118918832 100644 --- a/referral/utils.gno +++ b/referral/utils.gno @@ -14,6 +14,7 @@ var validCallers = map[std.Address]bool{ consts.ROUTER_ADDR: true, consts.POSITION_ADDR: true, consts.STAKER_ADDR: true, + consts.LAUNCHPAD_ADDR: true, } // isValidCaller checks if the given address has permission to modify referral data.