Commit f9a94788 by Dennison Bertram Committed by Francisco Giordano

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
parent 18473d01
......@@ -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;
}
......
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 });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment