"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BProtocolGetInfo__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [
            {
                internalType: 'address',
                name: 'dai_',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'weth_',
                type: 'address',
            },
        ],
        payable: false,
        stateMutability: 'nonpayable',
        type: 'constructor',
    },
    {
        constant: true,
        inputs: [],
        name: 'bitten',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'blockNumber',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'cdp',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'dai',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'daiAllowance',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'daiBalance',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'daiDebt',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'dustInWei',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'ethBalance',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'ethDeposit',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [
            {
                internalType: 'address',
                name: 'manager',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'guy',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: 'ilk',
                type: 'bytes32',
            },
            {
                internalType: 'contract VatLike',
                name: 'vat',
                type: 'address',
            },
            {
                internalType: 'contract GetCdps',
                name: 'getCdp',
                type: 'address',
            },
        ],
        name: 'findFirstNonZeroInkCdp',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [
            {
                internalType: 'address',
                name: 'guy',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'manager',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: 'ilk',
                type: 'bytes32',
            },
            {
                internalType: 'contract VatLike',
                name: 'vat',
                type: 'address',
            },
            {
                internalType: 'contract GetCdps',
                name: 'getCdp',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: 'b',
                type: 'bool',
            },
        ],
        name: 'getCdpInfo',
        outputs: [
            {
                components: [
                    {
                        internalType: 'bool',
                        name: 'hasCdp',
                        type: 'bool',
                    },
                    {
                        internalType: 'bool',
                        name: 'bitten',
                        type: 'bool',
                    },
                    {
                        internalType: 'uint256',
                        name: 'cdp',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'ethDeposit',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'daiDebt',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'maxDaiDebt',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'minEthDeposit',
                        type: 'uint256',
                    },
                ],
                internalType: 'struct UserInfoStorage.CdpInfo',
                name: 'info',
                type: 'tuple',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: false,
        inputs: [
            {
                internalType: 'address',
                name: 'user',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: 'ilk',
                type: 'bytes32',
            },
            {
                internalType: 'contract BCdpManager',
                name: 'manager',
                type: 'address',
            },
            {
                internalType: 'contract DssCdpManager',
                name: 'makerDAOManager',
                type: 'address',
            },
            {
                internalType: 'contract GetCdps',
                name: 'getCdp',
                type: 'address',
            },
            {
                internalType: 'contract VatLike',
                name: 'vat',
                type: 'address',
            },
            {
                internalType: 'contract SpotLike',
                name: 'spot',
                type: 'address',
            },
            {
                internalType: 'contract ProxyRegistryLike',
                name: 'registry',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'jar',
                type: 'address',
            },
        ],
        name: 'getInfo',
        outputs: [
            {
                components: [
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasProxy',
                                type: 'bool',
                            },
                            {
                                internalType: 'contract DSProxyLike',
                                name: 'userProxy',
                                type: 'address',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.ProxyInfo',
                        name: 'proxyInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasCdp',
                                type: 'bool',
                            },
                            {
                                internalType: 'bool',
                                name: 'bitten',
                                type: 'bool',
                            },
                            {
                                internalType: 'uint256',
                                name: 'cdp',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'ethDeposit',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'maxDaiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'minEthDeposit',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.CdpInfo',
                        name: 'bCdpInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasCdp',
                                type: 'bool',
                            },
                            {
                                internalType: 'bool',
                                name: 'bitten',
                                type: 'bool',
                            },
                            {
                                internalType: 'uint256',
                                name: 'cdp',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'ethDeposit',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'maxDaiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'minEthDeposit',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.CdpInfo',
                        name: 'makerdaoCdpInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'userRating',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'userRatingProgressPerSec',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'totalRating',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'totalRatingProgressPerSec',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'jarBalance',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.UserRatingInfo',
                        name: 'userRatingInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'spotPrice',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'dustInWei',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'blockNumber',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.MiscInfo',
                        name: 'miscInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'ethBalance',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiBalance',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiAllowance',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.UserWalletInfo',
                        name: 'userWalletInfo',
                        type: 'tuple',
                    },
                ],
                internalType: 'struct UserInfoStorage.UserState',
                name: 'state',
                type: 'tuple',
            },
        ],
        payable: false,
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        constant: true,
        inputs: [
            {
                internalType: 'contract ProxyRegistryLike',
                name: 'registry',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'user',
                type: 'address',
            },
        ],
        name: 'getProxyInfo',
        outputs: [
            {
                components: [
                    {
                        internalType: 'bool',
                        name: 'hasProxy',
                        type: 'bool',
                    },
                    {
                        internalType: 'contract DSProxyLike',
                        name: 'userProxy',
                        type: 'address',
                    },
                ],
                internalType: 'struct UserInfoStorage.ProxyInfo',
                name: 'info',
                type: 'tuple',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [
            {
                internalType: 'bytes32',
                name: 'ilk',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: 'urn',
                type: 'address',
            },
            {
                internalType: 'contract VatLike',
                name: 'vat',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'cdp',
                type: 'uint256',
            },
            {
                internalType: 'address',
                name: 'jar',
                type: 'address',
            },
        ],
        name: 'getUserRatingInfo',
        outputs: [
            {
                components: [
                    {
                        internalType: 'uint256',
                        name: 'userRating',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'userRatingProgressPerSec',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'totalRating',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'totalRatingProgressPerSec',
                        type: 'uint256',
                    },
                    {
                        internalType: 'uint256',
                        name: 'jarBalance',
                        type: 'uint256',
                    },
                ],
                internalType: 'struct UserInfoStorage.UserRatingInfo',
                name: 'info',
                type: 'tuple',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'hasCdp',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'hasProxy',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'jarBalance',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'makerdaoCdp',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'makerdaoDaiDebt',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'makerdaoEthDeposit',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'makerdaoHasCdp',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'makerdaoMaxDaiDebt',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'maxDaiDebt',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: false,
        inputs: [
            {
                components: [
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasProxy',
                                type: 'bool',
                            },
                            {
                                internalType: 'contract DSProxyLike',
                                name: 'userProxy',
                                type: 'address',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.ProxyInfo',
                        name: 'proxyInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasCdp',
                                type: 'bool',
                            },
                            {
                                internalType: 'bool',
                                name: 'bitten',
                                type: 'bool',
                            },
                            {
                                internalType: 'uint256',
                                name: 'cdp',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'ethDeposit',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'maxDaiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'minEthDeposit',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.CdpInfo',
                        name: 'bCdpInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'bool',
                                name: 'hasCdp',
                                type: 'bool',
                            },
                            {
                                internalType: 'bool',
                                name: 'bitten',
                                type: 'bool',
                            },
                            {
                                internalType: 'uint256',
                                name: 'cdp',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'ethDeposit',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'maxDaiDebt',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'minEthDeposit',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.CdpInfo',
                        name: 'makerdaoCdpInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'userRating',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'userRatingProgressPerSec',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'totalRating',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'totalRatingProgressPerSec',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'jarBalance',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.UserRatingInfo',
                        name: 'userRatingInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'spotPrice',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'dustInWei',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'blockNumber',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.MiscInfo',
                        name: 'miscInfo',
                        type: 'tuple',
                    },
                    {
                        components: [
                            {
                                internalType: 'uint256',
                                name: 'ethBalance',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiBalance',
                                type: 'uint256',
                            },
                            {
                                internalType: 'uint256',
                                name: 'daiAllowance',
                                type: 'uint256',
                            },
                        ],
                        internalType: 'struct UserInfoStorage.UserWalletInfo',
                        name: 'userWalletInfo',
                        type: 'tuple',
                    },
                ],
                internalType: 'struct UserInfoStorage.UserState',
                name: 'state',
                type: 'tuple',
            },
        ],
        name: 'set',
        outputs: [],
        payable: false,
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        constant: false,
        inputs: [
            {
                internalType: 'address',
                name: 'user',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: 'ilk',
                type: 'bytes32',
            },
            {
                internalType: 'contract BCdpManager',
                name: 'manager',
                type: 'address',
            },
            {
                internalType: 'contract DssCdpManager',
                name: 'makerDAOManager',
                type: 'address',
            },
            {
                internalType: 'contract GetCdps',
                name: 'getCdp',
                type: 'address',
            },
            {
                internalType: 'contract VatLike',
                name: 'vat',
                type: 'address',
            },
            {
                internalType: 'contract SpotLike',
                name: 'spot',
                type: 'address',
            },
            {
                internalType: 'contract ProxyRegistryLike',
                name: 'registry',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'jar',
                type: 'address',
            },
        ],
        name: 'setInfo',
        outputs: [],
        payable: false,
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'spotPrice',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'totalRating',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'totalRatingProgressPerSec',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'userProxy',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'userRating',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'userRatingProgressPerSec',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
    {
        constant: true,
        inputs: [],
        name: 'weth',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        payable: false,
        stateMutability: 'view',
        type: 'function',
    },
];
class BProtocolGetInfo__factory {
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.BProtocolGetInfo__factory = BProtocolGetInfo__factory;
BProtocolGetInfo__factory.abi = _abi;
//# sourceMappingURL=BProtocolGetInfo__factory.js.map