import "@stdlib/ownable"; import "./messages"; contract Linker { index: Int; master: Address; owner: Address?; neighbor: Address?; init(index: Int, owner: Address) { self.index = index; self.owner = owner; let ctx: Context = context(); self.master = ctx.sender; } receive(msg: SetLinkerNeighbor) { let ctx: Context = context(); require(ctx.sender == self.master, "Invalid sender"); self.neighbor = msg.neighbor; } }