{
  "_format": "hh-sol-artifact-1",
  "contractName": "GoosebumpsERC20",
  "sourceName": "contracts/GoosebumpsERC20.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DOMAIN_SEPARATOR",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PERMIT_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "permit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604080518082018252600e81526d476f6f736562756d7073204c507360901b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f959a86221086d72bced135876a53b43b971676201dcafe09061e0d29ae37941a818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c09091019092528151910120600355610945806100f56000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461020d578063a9059cbb14610249578063d505accf1461025c578063dd62ed3e1461027157600080fd5b80633644e515146101c457806370a08231146101cd5780637ecebe00146101ed57600080fd5b806323b872dd116100bd57806323b872dd1461017057806330adf81f14610183578063313ce567146101aa57600080fd5b806306fdde03146100e4578063095ea7b31461013657806318160ddd14610159575b600080fd5b6101206040518060400160405280600e81526020017f476f6f736562756d7073204c507300000000000000000000000000000000000081525081565b60405161012d9190610841565b60405180910390f35b610149610144366004610817565b61029c565b604051901515815260200161012d565b61016260005481565b60405190815260200161012d565b61014961017e366004610768565b6102b2565b6101627f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101b2601281565b60405160ff909116815260200161012d565b61016260035481565b6101626101db366004610713565b60016020526000908152604090205481565b6101626101fb366004610713565b60046020526000908152604090205481565b6101206040518060400160405280600881526020017f476f6f73652d6c7000000000000000000000000000000000000000000000000081525081565b610149610257366004610817565b610347565b61026f61026a3660046107a4565b610354565b005b61016261027f366004610735565b600260209081526000928352604080842090915290825290205481565b60006102a93384846105ed565b50600192915050565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610332576001600160a01b038416600090815260026020908152604080832033845290915290205461030d9083906108ae565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b61033d84848461064f565b5060019392505050565b60006102a933848461064f565b428410156103c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f476f6f736562756d707345524332303a2045585049524544000000000000000060448201526064015b60405180910390fd5b6003546001600160a01b038816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b919087610416836108c5565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e001604051602081830303815290604052805190602001206040516020016104aa9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610515573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061054b5750886001600160a01b0316816001600160a01b0316145b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f476f6f736562756d707345524332303a20494e56414c49445f5349474e41545560448201527f524500000000000000000000000000000000000000000000000000000000000060648201526084016103ba565b6105e28989896105ed565b505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600160205260409020546106739082906108ae565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546106a3908290610896565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106429085815260200190565b80356001600160a01b038116811461070e57600080fd5b919050565b60006020828403121561072557600080fd5b61072e826106f7565b9392505050565b6000806040838503121561074857600080fd5b610751836106f7565b915061075f602084016106f7565b90509250929050565b60008060006060848603121561077d57600080fd5b610786846106f7565b9250610794602085016106f7565b9150604084013590509250925092565b600080600080600080600060e0888a0312156107bf57600080fd5b6107c8886106f7565b96506107d6602089016106f7565b95506040880135945060608801359350608088013560ff811681146107fa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561082a57600080fd5b610833836106f7565b946020939093013593505050565b600060208083528351808285015260005b8181101561086e57858101830151858201604001528201610852565b81811115610880576000604083870101525b50601f01601f1916929092016040019392505050565b600082198211156108a9576108a96108e0565b500190565b6000828210156108c0576108c06108e0565b500390565b60006000198214156108d9576108d96108e0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212204b0465975614f8d7c7b4a961a226774ace8d0c3caf695cc8e35dfd02036fc5b864736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461020d578063a9059cbb14610249578063d505accf1461025c578063dd62ed3e1461027157600080fd5b80633644e515146101c457806370a08231146101cd5780637ecebe00146101ed57600080fd5b806323b872dd116100bd57806323b872dd1461017057806330adf81f14610183578063313ce567146101aa57600080fd5b806306fdde03146100e4578063095ea7b31461013657806318160ddd14610159575b600080fd5b6101206040518060400160405280600e81526020017f476f6f736562756d7073204c507300000000000000000000000000000000000081525081565b60405161012d9190610841565b60405180910390f35b610149610144366004610817565b61029c565b604051901515815260200161012d565b61016260005481565b60405190815260200161012d565b61014961017e366004610768565b6102b2565b6101627f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101b2601281565b60405160ff909116815260200161012d565b61016260035481565b6101626101db366004610713565b60016020526000908152604090205481565b6101626101fb366004610713565b60046020526000908152604090205481565b6101206040518060400160405280600881526020017f476f6f73652d6c7000000000000000000000000000000000000000000000000081525081565b610149610257366004610817565b610347565b61026f61026a3660046107a4565b610354565b005b61016261027f366004610735565b600260209081526000928352604080842090915290825290205481565b60006102a93384846105ed565b50600192915050565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610332576001600160a01b038416600090815260026020908152604080832033845290915290205461030d9083906108ae565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b61033d84848461064f565b5060019392505050565b60006102a933848461064f565b428410156103c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f476f6f736562756d707345524332303a2045585049524544000000000000000060448201526064015b60405180910390fd5b6003546001600160a01b038816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b919087610416836108c5565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e001604051602081830303815290604052805190602001206040516020016104aa9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610515573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061054b5750886001600160a01b0316816001600160a01b0316145b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f476f6f736562756d707345524332303a20494e56414c49445f5349474e41545560448201527f524500000000000000000000000000000000000000000000000000000000000060648201526084016103ba565b6105e28989896105ed565b505050505050505050565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600160205260409020546106739082906108ae565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546106a3908290610896565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106429085815260200190565b80356001600160a01b038116811461070e57600080fd5b919050565b60006020828403121561072557600080fd5b61072e826106f7565b9392505050565b6000806040838503121561074857600080fd5b610751836106f7565b915061075f602084016106f7565b90509250929050565b60008060006060848603121561077d57600080fd5b610786846106f7565b9250610794602085016106f7565b9150604084013590509250925092565b600080600080600080600060e0888a0312156107bf57600080fd5b6107c8886106f7565b96506107d6602089016106f7565b95506040880135945060608801359350608088013560ff811681146107fa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561082a57600080fd5b610833836106f7565b946020939093013593505050565b600060208083528351808285015260005b8181101561086e57858101830151858201604001528201610852565b81811115610880576000604083870101525b50601f01601f1916929092016040019392505050565b600082198211156108a9576108a96108e0565b500190565b6000828210156108c0576108c06108e0565b500390565b60006000198214156108d9576108d96108e0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212204b0465975614f8d7c7b4a961a226774ace8d0c3caf695cc8e35dfd02036fc5b864736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
