{
  "_format": "hh-sol-artifact-1",
  "contractName": "WBNBSwapHelper",
  "sourceName": "contracts/PositionSwapper/WBNBSwapHelper.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_wbnb",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_swapper",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "TokenNotSupported",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TransferFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Unauthorized",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ValueMismatch",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddress",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "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": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "SwappedToBNB",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "SwappedToWBNB",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "SweepNative",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "receiver",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "SweepToken",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "POSITION_SWAPPER",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "WBNB",
      "outputs": [
        {
          "internalType": "contract IWBNB",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenFrom",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "swapInternal",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "sweepNative",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20Upgradeable",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "sweepToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x60c060405234801561000f575f80fd5b5060405161111e38038061111e83398101604081905261002e91610124565b61003733610089565b6001600160a01b038216158061005457506001600160a01b038116155b156100725760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0391821660a0521660805261015e565b600180546001600160a01b03191690556100a2816100a5565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6001600160a01b0382165b92915050565b61010f816100f4565b81146100a2575f80fd5b805161010081610106565b5f8060408385031215610138576101385f80fd5b5f6101438585610119565b925050602061015485828601610119565b9150509250929050565b60805160a051610f766101a85f395f818161015c0152818161047c01528181610549015281816105cb01528181610699015261072a01525f818160cf015261042a0152610f765ff3fe608060405260043610610092575f3560e01c80638dd95002116100575780638dd950021461014b578063ab803a761461018b578063d2cd3cc91461019f578063e30c3978146101b2578063f2fde38b146101cf575f80fd5b80631be195601461009d578063674b6fe4146100be578063715018a61461010757806379ba50971461011b5780638da5cb5b1461012f575f80fd5b3661009957005b5f80fd5b3480156100a8575f80fd5b506100bc6100b7366004610b83565b6101ee565b005b3480156100c9575f80fd5b506100f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516100fe9190610bb0565b60405180910390f35b348015610112575f80fd5b506100bc6102ea565b348015610126575f80fd5b506100bc6102fd565b34801561013a575f80fd5b505f546001600160a01b03166100f1565b348015610156575f80fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100fe9190610beb565b348015610196575f80fd5b506100bc61033e565b6100bc6101ad366004610c1e565b61041f565b3480156101bd575f80fd5b506001546001600160a01b03166100f1565b3480156101da575f80fd5b506100bc6101e9366004610c6a565b610843565b6101f66108b3565b6040516370a0823160e01b81525f906001600160a01b038316906370a0823190610224903090600401610bb0565b602060405180830381865afa15801561023f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102639190610c93565b905080156102e65761029061027f5f546001600160a01b031690565b6001600160a01b03841690836108dc565b5f546001600160a01b03166001600160a01b0316826001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d5836040516102dd9190610cb7565b60405180910390a35b5050565b6102f26108b3565b6102fb5f610932565b565b60015433906001600160a01b031681146103325760405162461bcd60e51b815260040161032990610d0d565b60405180910390fd5b61033b81610932565b50565b6103466108b3565b47801561033b575f80546001600160a01b03166001600160a01b03168260405161036f90610d1d565b5f6040518083038185875af1925050503d805f81146103a9576040519150601f19603f3d011682016040523d82523d5f602084013e6103ae565b606091505b50509050806103d0576040516312171d8360e31b815260040160405180910390fd5b5f546001600160a01b03166001600160a01b03167f0a1dd7c5bdc40ecbdefc1bfda22f1dfb98c8fc3e3940aab73ad7fba37720d0a0836040516104139190610cb7565b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610467576040516282b42960e81b815260040160405180910390fd5b6001600160a01b038316158015906104b157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156104cf57604051633dd1b30560e01b815260040160405180910390fd5b6001600160a01b0383161580156104e65750803414155b156105045760405163dd8e4af760e01b815260040160405180910390fd5b6001600160a01b0383161580159061051b57503415155b156105395760405163dd8e4af760e01b815260040160405180910390fd5b6001600160a01b038316610682577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156105a0575f80fd5b505af11580156105b2573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063a9059cbb9250610605915033908590600401610d24565b6020604051808303815f875af1158015610621573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190610d52565b507f6d76a43b74fdd55aa6a1dad4ef9e3cf13519fcf546503179d12b5cff59f5bc09816040516106759190610cb7565b60405180910390a1505050565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906106d290339030908690600401610d70565b6020604051808303815f875af11580156106ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107129190610d52565b50604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061075f908490600401610cb7565b5f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b505050505f336001600160a01b0316826040516107a490610d1d565b5f6040518083038185875af1925050503d805f81146107de576040519150601f19603f3d011682016040523d82523d5f602084013e6107e3565b606091505b5050905080610805576040516312171d8360e31b815260040160405180910390fd5b7f721f9081686d34d2a929545a05f11fdb243b78e1413b2539c133f908575e393e826040516108349190610cb7565b60405180910390a1505b505050565b61084b6108b3565b600180546001600160a01b0383166001600160a01b0319909116811790915561087b5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f546001600160a01b031633146102fb5760405162461bcd60e51b815260040161032990610dcc565b61083e8363a9059cbb60e01b84846040516024016108fb929190610d24565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261094b565b600180546001600160a01b031916905561033b816109db565b5f61099f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a2a9092919063ffffffff16565b905080515f14806109bf5750808060200190518101906109bf9190610d52565b61083e5760405162461bcd60e51b815260040161032990610e22565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060610a3884845f85610a42565b90505b9392505050565b606082471015610a645760405162461bcd60e51b815260040161032990610e74565b5f80866001600160a01b03168587604051610a7f9190610eb0565b5f6040518083038185875af1925050503d805f8114610ab9576040519150601f19603f3d011682016040523d82523d5f602084013e610abe565b606091505b5091509150610acf87838387610adc565b925050505b949350505050565b60608315610b1a5782515f03610b13576001600160a01b0385163b610b135760405162461bcd60e51b815260040161032990610eee565b5081610ad4565b610ad48383815115610b2f5781518083602001fd5b8060405162461bcd60e51b81526004016103299190610f2f565b5f6001600160a01b0382165b92915050565b5f610b5582610b49565b610b6e81610b5b565b811461033b575f80fd5b8035610b5581610b65565b5f60208284031215610b9657610b965f80fd5b5f610ad48484610b78565b610baa81610b49565b82525050565b60208101610b558284610ba1565b5f6001600160a01b038216610b55565b5f610b5582610bbe565b5f610b5582610bce565b610baa81610bd8565b60208101610b558284610be2565b610b6e81610b49565b8035610b5581610bf9565b80610b6e565b8035610b5581610c0d565b5f805f60608486031215610c3357610c335f80fd5b5f610c3e8686610c02565b9350506020610c4f86828701610c02565b9250506040610c6086828701610c13565b9150509250925092565b5f60208284031215610c7d57610c7d5f80fd5b5f610ad48484610c02565b8051610b5581610c0d565b5f60208284031215610ca657610ca65f80fd5b5f610ad48484610c88565b80610baa565b60208101610b558284610cb1565b602981525f602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b602082015291505b5060400190565b60208082528101610b5581610cc5565b5f81610b55565b60408101610d328285610ba1565b610a3b6020830184610cb1565b801515610b6e565b8051610b5581610d3f565b5f60208284031215610d6557610d655f80fd5b5f610ad48484610d47565b60608101610d7e8286610ba1565b610d8b6020830185610ba1565b610ad46040830184610cb1565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081525f5b5060200190565b60208082528101610b5581610d98565b602a81525f602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150610d06565b60208082528101610b5581610ddc565b602681525f602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150610d06565b60208082528101610b5581610e32565b8281835e505f910152565b5f610e98825190565b610ea6818560208601610e84565b9290920192915050565b5f610a3b8284610e8f565b601d81525f602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529150610dc5565b60208082528101610b5581610ebb565b5f610f07825190565b808452602084019350610f1e818560208601610e84565b601f01601f19169290920192915050565b60208082528101610a3b8184610efe56fea2646970667358221220411362ef930b687c124f76f31d49da001f60025c51b1414537a282817f06ef0764736f6c63430008190033",
  "deployedBytecode": "0x608060405260043610610092575f3560e01c80638dd95002116100575780638dd950021461014b578063ab803a761461018b578063d2cd3cc91461019f578063e30c3978146101b2578063f2fde38b146101cf575f80fd5b80631be195601461009d578063674b6fe4146100be578063715018a61461010757806379ba50971461011b5780638da5cb5b1461012f575f80fd5b3661009957005b5f80fd5b3480156100a8575f80fd5b506100bc6100b7366004610b83565b6101ee565b005b3480156100c9575f80fd5b506100f17f000000000000000000000000000000000000000000000000000000000000000081565b6040516100fe9190610bb0565b60405180910390f35b348015610112575f80fd5b506100bc6102ea565b348015610126575f80fd5b506100bc6102fd565b34801561013a575f80fd5b505f546001600160a01b03166100f1565b348015610156575f80fd5b5061017e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100fe9190610beb565b348015610196575f80fd5b506100bc61033e565b6100bc6101ad366004610c1e565b61041f565b3480156101bd575f80fd5b506001546001600160a01b03166100f1565b3480156101da575f80fd5b506100bc6101e9366004610c6a565b610843565b6101f66108b3565b6040516370a0823160e01b81525f906001600160a01b038316906370a0823190610224903090600401610bb0565b602060405180830381865afa15801561023f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102639190610c93565b905080156102e65761029061027f5f546001600160a01b031690565b6001600160a01b03841690836108dc565b5f546001600160a01b03166001600160a01b0316826001600160a01b03167f6d25be279134f4ecaa4770aff0c3d916d9e7c5ef37b65ed95dbdba411f5d54d5836040516102dd9190610cb7565b60405180910390a35b5050565b6102f26108b3565b6102fb5f610932565b565b60015433906001600160a01b031681146103325760405162461bcd60e51b815260040161032990610d0d565b60405180910390fd5b61033b81610932565b50565b6103466108b3565b47801561033b575f80546001600160a01b03166001600160a01b03168260405161036f90610d1d565b5f6040518083038185875af1925050503d805f81146103a9576040519150601f19603f3d011682016040523d82523d5f602084013e6103ae565b606091505b50509050806103d0576040516312171d8360e31b815260040160405180910390fd5b5f546001600160a01b03166001600160a01b03167f0a1dd7c5bdc40ecbdefc1bfda22f1dfb98c8fc3e3940aab73ad7fba37720d0a0836040516104139190610cb7565b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610467576040516282b42960e81b815260040160405180910390fd5b6001600160a01b038316158015906104b157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156104cf57604051633dd1b30560e01b815260040160405180910390fd5b6001600160a01b0383161580156104e65750803414155b156105045760405163dd8e4af760e01b815260040160405180910390fd5b6001600160a01b0383161580159061051b57503415155b156105395760405163dd8e4af760e01b815260040160405180910390fd5b6001600160a01b038316610682577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156105a0575f80fd5b505af11580156105b2573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016935063a9059cbb9250610605915033908590600401610d24565b6020604051808303815f875af1158015610621573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106459190610d52565b507f6d76a43b74fdd55aa6a1dad4ef9e3cf13519fcf546503179d12b5cff59f5bc09816040516106759190610cb7565b60405180910390a1505050565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906106d290339030908690600401610d70565b6020604051808303815f875af11580156106ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107129190610d52565b50604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061075f908490600401610cb7565b5f604051808303815f87803b158015610776575f80fd5b505af1158015610788573d5f803e3d5ffd5b505050505f336001600160a01b0316826040516107a490610d1d565b5f6040518083038185875af1925050503d805f81146107de576040519150601f19603f3d011682016040523d82523d5f602084013e6107e3565b606091505b5050905080610805576040516312171d8360e31b815260040160405180910390fd5b7f721f9081686d34d2a929545a05f11fdb243b78e1413b2539c133f908575e393e826040516108349190610cb7565b60405180910390a1505b505050565b61084b6108b3565b600180546001600160a01b0383166001600160a01b0319909116811790915561087b5f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f546001600160a01b031633146102fb5760405162461bcd60e51b815260040161032990610dcc565b61083e8363a9059cbb60e01b84846040516024016108fb929190610d24565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261094b565b600180546001600160a01b031916905561033b816109db565b5f61099f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a2a9092919063ffffffff16565b905080515f14806109bf5750808060200190518101906109bf9190610d52565b61083e5760405162461bcd60e51b815260040161032990610e22565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060610a3884845f85610a42565b90505b9392505050565b606082471015610a645760405162461bcd60e51b815260040161032990610e74565b5f80866001600160a01b03168587604051610a7f9190610eb0565b5f6040518083038185875af1925050503d805f8114610ab9576040519150601f19603f3d011682016040523d82523d5f602084013e610abe565b606091505b5091509150610acf87838387610adc565b925050505b949350505050565b60608315610b1a5782515f03610b13576001600160a01b0385163b610b135760405162461bcd60e51b815260040161032990610eee565b5081610ad4565b610ad48383815115610b2f5781518083602001fd5b8060405162461bcd60e51b81526004016103299190610f2f565b5f6001600160a01b0382165b92915050565b5f610b5582610b49565b610b6e81610b5b565b811461033b575f80fd5b8035610b5581610b65565b5f60208284031215610b9657610b965f80fd5b5f610ad48484610b78565b610baa81610b49565b82525050565b60208101610b558284610ba1565b5f6001600160a01b038216610b55565b5f610b5582610bbe565b5f610b5582610bce565b610baa81610bd8565b60208101610b558284610be2565b610b6e81610b49565b8035610b5581610bf9565b80610b6e565b8035610b5581610c0d565b5f805f60608486031215610c3357610c335f80fd5b5f610c3e8686610c02565b9350506020610c4f86828701610c02565b9250506040610c6086828701610c13565b9150509250925092565b5f60208284031215610c7d57610c7d5f80fd5b5f610ad48484610c02565b8051610b5581610c0d565b5f60208284031215610ca657610ca65f80fd5b5f610ad48484610c88565b80610baa565b60208101610b558284610cb1565b602981525f602082017f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865208152683732bb9037bbb732b960b91b602082015291505b5060400190565b60208082528101610b5581610cc5565b5f81610b55565b60408101610d328285610ba1565b610a3b6020830184610cb1565b801515610b6e565b8051610b5581610d3f565b5f60208284031215610d6557610d655f80fd5b5f610ad48484610d47565b60608101610d7e8286610ba1565b610d8b6020830185610ba1565b610ad46040830184610cb1565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081525f5b5060200190565b60208082528101610b5581610d98565b602a81525f602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529150610d06565b60208082528101610b5581610ddc565b602681525f602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529150610d06565b60208082528101610b5581610e32565b8281835e505f910152565b5f610e98825190565b610ea6818560208601610e84565b9290920192915050565b5f610a3b8284610e8f565b601d81525f602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529150610dc5565b60208082528101610b5581610ebb565b5f610f07825190565b808452602084019350610f1e818560208601610e84565b601f01601f19169290920192915050565b60208082528101610a3b8184610efe56fea2646970667358221220411362ef930b687c124f76f31d49da001f60025c51b1414537a282817f06ef0764736f6c63430008190033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
