"use strict";
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
exports.__esModule = true;
exports.CDaiDelegateMakerHarness__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
var ethers_1 = require("ethers");
var _abi = [
    {
        constant: true,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
            {
                internalType: "address",
                name: "",
                type: "address"
            },
        ],
        name: "allowance",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        name: "approve",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: true,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
        ],
        name: "balanceOf",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: true,
        inputs: [],
        name: "chi",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: true,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
        ],
        name: "dai",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: false,
        inputs: [],
        name: "dai",
        outputs: [
            {
                internalType: "contract GemLike",
                name: "",
                type: "address"
            },
        ],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [],
        name: "drip",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        name: "exit",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        name: "exit",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "amount",
                type: "uint256"
            },
        ],
        name: "harnessSetBalance",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
        ],
        name: "hope",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        name: "join",
        outputs: [],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        name: "join",
        outputs: [],
        payable: true,
        stateMutability: "payable",
        type: "function"
    },
    {
        constant: true,
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address"
            },
        ],
        name: "pie",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: true,
        inputs: [],
        name: "totalSupply",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        payable: false,
        stateMutability: "view",
        type: "function"
    },
    {
        constant: false,
        inputs: [
            {
                internalType: "address",
                name: "src",
                type: "address"
            },
            {
                internalType: "address",
                name: "dst",
                type: "address"
            },
            {
                internalType: "uint256",
                name: "amount",
                type: "uint256"
            },
        ],
        name: "transferFrom",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool"
            },
        ],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
    {
        constant: false,
        inputs: [],
        name: "vat",
        outputs: [
            {
                internalType: "contract VatLike",
                name: "",
                type: "address"
            },
        ],
        payable: false,
        stateMutability: "nonpayable",
        type: "function"
    },
];
var _bytecode = "0x608060405234801561001057600080fd5b5061040a806100206000396000f3fe6080604052600436106100ce5760003560e01c8063049878f3146100d3578063095ea7b3146100ff5780630bebac861461013857806318160ddd1461017d57806323b872dd1461019257806336569e77146101e95780633b4da69f1461021a5780636c25b3461461013857806370a08231146102305780637f8661a1146100d35780639f678cca14610263578063a3b22fc414610278578063c92aecc4146102ab578063d9a7eb70146102c0578063dd62ed3e146102f9578063ef693bed146100ff578063f4b9fa75146101e9575b600080fd5b3480156100df57600080fd5b506100fd600480360360208110156100f657600080fd5b5035610334565b005b34801561010b57600080fd5b506100fd6004803603604081101561012257600080fd5b506001600160a01b038135169060200135610337565b34801561014457600080fd5b5061016b6004803603602081101561015b57600080fd5b50356001600160a01b031661033b565b60408051918252519081900360200190f35b34801561018957600080fd5b5061016b610341565b34801561019e57600080fd5b506101d5600480360360608110156101b557600080fd5b506001600160a01b03813581169160208101359091169060400135610347565b604080519115158252519081900360200190f35b3480156101f557600080fd5b506101fe61037c565b604080516001600160a01b039092168252519081900360200190f35b6100fd6004803603604081101561012257600080fd5b34801561023c57600080fd5b5061016b6004803603602081101561025357600080fd5b50356001600160a01b0316610380565b34801561026f57600080fd5b5061016b610392565b34801561028457600080fd5b506100fd6004803603602081101561029b57600080fd5b50356001600160a01b0316610334565b3480156102b757600080fd5b5061016b610397565b3480156102cc57600080fd5b506100fd600480360360408110156102e357600080fd5b506001600160a01b03813516906020013561039c565b34801561030557600080fd5b5061016b6004803603604081101561031c57600080fd5b506001600160a01b03813581169160200135166103b8565b50565b5050565b50600090565b60005481565b6001600160a01b0392831660009081526002602052604080822080548490039055929093168352912080549091019055600190565b3090565b60026020526000908152604090205481565b600090565b600190565b6001600160a01b03909116600090815260026020526040902055565b60016020908152600092835260408084209091529082529020548156fea265627a7a72315820f176ad8f04e50ba8dc3f3d3a21233abcdf43ac91172a2d71364f9db14484c80f64736f6c63430005100032";
var isSuperArgs = function (xs) { return xs.length > 1; };
var CDaiDelegateMakerHarness__factory = /** @class */ (function (_super) {
    __extends(CDaiDelegateMakerHarness__factory, _super);
    function CDaiDelegateMakerHarness__factory() {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i] = arguments[_i];
        }
        var _this = this;
        if (isSuperArgs(args)) {
            _this = _super.apply(this, args) || this;
        }
        else {
            _this = _super.call(this, _abi, _bytecode, args[0]) || this;
        }
        return _this;
    }
    CDaiDelegateMakerHarness__factory.prototype.deploy = function (overrides) {
        return _super.prototype.deploy.call(this, overrides || {});
    };
    CDaiDelegateMakerHarness__factory.prototype.getDeployTransaction = function (overrides) {
        return _super.prototype.getDeployTransaction.call(this, overrides || {});
    };
    CDaiDelegateMakerHarness__factory.prototype.attach = function (address) {
        return _super.prototype.attach.call(this, address);
    };
    CDaiDelegateMakerHarness__factory.prototype.connect = function (signer) {
        return _super.prototype.connect.call(this, signer);
    };
    CDaiDelegateMakerHarness__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    CDaiDelegateMakerHarness__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    CDaiDelegateMakerHarness__factory.bytecode = _bytecode;
    CDaiDelegateMakerHarness__factory.abi = _abi;
    return CDaiDelegateMakerHarness__factory;
}(ethers_1.ContractFactory));
exports.CDaiDelegateMakerHarness__factory = CDaiDelegateMakerHarness__factory;
//# sourceMappingURL=CDaiDelegateMakerHarness__factory.js.map