GSNSignatureBouncer fix (#1920)

* GSNSignatureBoucer does not accept zero address

* Linting code.

* Update contracts/GSN/bouncers/GSNBouncerSignature.sol

Makes sense!

Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>

* Update test/GSN/GSNBouncerSignature.test.js

ok!

Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>

* Add zero address constant from OZ test Helpers

* revert prettier formatting
pull/1938/head
Dennison Bertram 5 years ago committed by Francisco Giordano
parent 18473d0100
commit f9a94788fb
  1. 1
      contracts/GSN/bouncers/GSNBouncerSignature.sol
  2. 14
      test/GSN/GSNBouncerSignature.test.js

@ -22,6 +22,7 @@ contract GSNBouncerSignature is GSNBouncerBase {
* @dev Sets the trusted signer that is going to be producing signatures to approve relayed calls.
*/
constructor(address trustedSigner) public {
require(trustedSigner != address(0), "GSNBouncerSignature: trusted signer is the zero address");
_trustedSigner = trustedSigner;
}

@ -1,7 +1,8 @@
const { expectEvent } = require('openzeppelin-test-helpers');
const { expectEvent, expectRevert, constants } = require('openzeppelin-test-helpers');
const gsn = require('@openzeppelin/gsn-helpers');
const { fixSignature } = require('../helpers/sign');
const { utils: { toBN } } = require('web3');
const { ZERO_ADDRESS } = constants;
const GSNBouncerSignatureMock = artifacts.require('GSNBouncerSignatureMock');
@ -17,6 +18,17 @@ contract('GSNBouncerSignature', function ([_, signer, other]) {
});
});
context('when constructor is called with a zero address', function () {
it('fails when constructor called with a zero address', async function () {
await expectRevert(
GSNBouncerSignatureMock.new(
ZERO_ADDRESS
),
'GSNBouncerSignature: trusted signer is the zero address'
);
});
});
context('when relay-called', function () {
beforeEach(async function () {
await gsn.fundRecipient(web3, { recipient: this.recipient.address });

Loading…
Cancel
Save