anchor.diff:  
   This guide shows you different strategies (Bouncers) to accept transactions via Gas Station Network.
   
  -First, we will explain the Bouncer concept and then we will showcase how to use the two most common strategies.
  +First, we will explain the Bouncer concept, and then we will showcase how to use the two most common strategies.
   
   Finally, we will cover how to create your own custom Bouncer.
   
  
positive.code: 
  The signature used to create the transaction must be added to the contract as a trusted signer. If it is not the same, this bouncer will not accept the transaction.
  
  This means that you need to set up a system where your trusted account signs call requests, if they are valid users.
  
  The definition of a valid user depends on your system but an example is users that have completed their sign up via some kind of oauth and validation e.g. gone through a captcha, or validated their email address.
  You could restrict it further and let new users send a specific number of transactions (e.g. 5 requests via the GSN, at which point they need to create a wallet).
  Alternatively, you could charge them off-chain (e.g. via credit card) for credit on your system, and let them run GSN calls until said credit runs out.
  
  The great thing about this setup is that *your contract doesn't need to change*. All you're doing is changing the backend logic conditions under which users call into your contract for free.
  On the other hand, you need to have a backend server, microservice or lambda function to accomplish this.
  
  === How does it work?
  
  Here is the definition of acceptRelayedCall function.
  
  It decides whether or not accept the call based on the signature. No further gsn-actions need to be taken.
  
  It only relies on the approvalData and does not use callData.
  
  
negative.code: 
  You can use 'GSNBouncerBase' as an example to guide your Bouncer implementation.
  
  The only thing you must do is extend from `GSNRecipient` and implement the accept method.
  
  Depending on your logic, you may need to implement `_postRelayedCall` and `_preRelayedCall`.
  