text: "use strict";
  /* Generated by ts-generator ver. 0.0.8 */
  /* tslint:disable */
  Object.defineProperty(exports, "__esModule", { value: true });
  exports.ABI = [
      {
          inputs: [{ internalType: 'bool', name: 'test', type: 'bool' }],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'constructor',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'slashed',
                  type: 'address',
              },
              {
                  indexed: false,
                  internalType: 'uint256',
                  name: 'penalty',
                  type: 'uint256',
              },
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'reporter',
                  type: 'address',
              },
              {
                  indexed: false,
                  internalType: 'uint256',
                  name: 'reward',
                  type: 'uint256',
              },
          ],
          name: 'AccountSlashed',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'account',
                  type: 'address',
              },
              { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'GoldLocked',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'account',
                  type: 'address',
              },
              { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'GoldRelocked',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'account',
                  type: 'address',
              },
              { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },
              {
                  indexed: false,
                  internalType: 'uint256',
                  name: 'available',
                  type: 'uint256',
              },
          ],
          name: 'GoldUnlocked',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'account',
                  type: 'address',
              },
              { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'GoldWithdrawn',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'previousOwner',
                  type: 'address',
              },
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'newOwner',
                  type: 'address',
              },
          ],
          name: 'OwnershipTransferred',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'address',
                  name: 'registryAddress',
                  type: 'address',
              },
          ],
          name: 'RegistrySet',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'string',
                  name: 'slasherIdentifier',
                  type: 'string',
              },
          ],
          name: 'SlasherWhitelistAdded',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: true,
                  internalType: 'string',
                  name: 'slasherIdentifier',
                  type: 'string',
              },
          ],
          name: 'SlasherWhitelistRemoved',
          type: 'event',
      },
      {
          anonymous: false,
          inputs: [
              {
                  indexed: false,
                  internalType: 'uint256',
                  name: 'period',
                  type: 'uint256',
              },
          ],
          name: 'UnlockingPeriodSet',
          type: 'event',
      },
      {
          constant: true,
          inputs: [],
          name: 'initialized',
          outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'isOwner',
          outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'owner',
          outputs: [{ internalType: 'address', name: '', type: 'address' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'registry',
          outputs: [{ internalType: 'contract IRegistry', name: '', type: 'address' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: false,
          inputs: [],
          name: 'renounceOwnership',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'address', name: 'registryAddress', type: 'address' }],
          name: 'setRegistry',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          name: 'slashingWhitelist',
          outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'totalNonvoting',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],
          name: 'transferOwnership',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'unlockingPeriod',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'address', name: 'slasher', type: 'address' }],
          name: 'isSlasher',
          outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'getVersionNumber',
          outputs: [
              { internalType: 'uint256', name: '', type: 'uint256' },
              { internalType: 'uint256', name: '', type: 'uint256' },
              { internalType: 'uint256', name: '', type: 'uint256' },
              { internalType: 'uint256', name: '', type: 'uint256' },
          ],
          payable: false,
          stateMutability: 'pure',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'address', name: 'registryAddress', type: 'address' },
              { internalType: 'uint256', name: '_unlockingPeriod', type: 'uint256' },
          ],
          name: 'initialize',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'uint256', name: 'value', type: 'uint256' }],
          name: 'setUnlockingPeriod',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [],
          name: 'lock',
          outputs: [],
          payable: true,
          stateMutability: 'payable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'address', name: 'account', type: 'address' },
              { internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'incrementNonvotingAccountBalance',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'address', name: 'account', type: 'address' },
              { internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'decrementNonvotingAccountBalance',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'uint256', name: 'value', type: 'uint256' }],
          name: 'unlock',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'uint256', name: 'index', type: 'uint256' },
              { internalType: 'uint256', name: 'value', type: 'uint256' },
          ],
          name: 'relock',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'uint256', name: 'index', type: 'uint256' }],
          name: 'withdraw',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'getTotalLockedGold',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'getNonvotingLockedGold',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
          name: 'getAccountTotalLockedGold',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
          name: 'getAccountNonvotingLockedGold',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
          name: 'getPendingWithdrawals',
          outputs: [
              { internalType: 'uint256[]', name: '', type: 'uint256[]' },
              { internalType: 'uint256[]', name: '', type: 'uint256[]' },
          ],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
          name: 'getTotalPendingWithdrawals',
          outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: true,
          inputs: [],
          name: 'getSlashingWhitelist',
          outputs: [{ internalType: 'bytes32[]', name: '', type: 'bytes32[]' }],
          payable: false,
          stateMutability: 'view',
          type: 'function',
      },
      {
          constant: false,
          inputs: [{ internalType: 'string', name: 'slasherIdentifier', type: 'string' }],
          name: 'addSlasher',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'string', name: 'slasherIdentifier', type: 'string' },
              { internalType: 'uint256', name: 'index', type: 'uint256' },
          ],
          name: 'removeSlasher',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
      {
          constant: false,
          inputs: [
              { internalType: 'address', name: 'account', type: 'address' },
              { internalType: 'uint256', name: 'penalty', type: 'uint256' },
              { internalType: 'address', name: 'reporter', type: 'address' },
              { internalType: 'uint256', name: 'reward', type: 'uint256' },
              { internalType: 'address[]', name: 'lessers', type: 'address[]' },
              { internalType: 'address[]', name: 'greaters', type: 'address[]' },
              { internalType: 'uint256[]', name: 'indices', type: 'uint256[]' },
          ],
          name: 'slash',
          outputs: [],
          payable: false,
          stateMutability: 'nonpayable',
          type: 'function',
      },
  ];
  function newLockedGold(web3, address) {
      return new web3.eth.Contract(exports.ABI, address);
  }
  exports.newLockedGold = newLockedGold;
  //# sourceMappingURL=LockedGold.js.map