[
  {
    "type": "constructor",
    "inputs": [
      {
        "name": "_punksMarket",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_punksData",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_adminContract",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_swapContext",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "receive",
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "ALLOWLIST_DELAY",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "MIN_BID_FOR_LISTING",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "acceptBid",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      },
      {
        "name": "targetTraitId",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "expectedListingWei",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "acceptListing",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      },
      {
        "name": "targetTraitId",
        "type": "uint8",
        "internalType": "uint8"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "accountedLiveBidWei",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "addAllowedSeller",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "adminContract",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract ProtocolAdmin"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "allowedSellerActiveAt",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "allowedSellers",
    "inputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "bidBalance",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "finderFeeCapBps",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "finderFeeFixedCap",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "liveBidAdapter",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "permanentCollection",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract IPermanentCollection"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "punksData",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract IPunksData"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "punksMarket",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract ICryptoPunksMarket"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "removeAllowedSeller",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "returnAuctionModule",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract IReturnAuctionModule"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "setWiring",
    "inputs": [
      {
        "name": "_permanentCollection",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_finalSaleModule",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "_liveBidAdapter",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setupFinalized",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "skimSurplus",
    "inputs": [],
    "outputs": [
      {
        "name": "amount",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "AllowedSellerAdded",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "AllowedSellerRemoved",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "BidAccepted",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "indexed": true,
        "internalType": "uint16"
      },
      {
        "name": "seller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "payout",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Finalized",
    "inputs": [],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "ListingAccepted",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "indexed": true,
        "internalType": "uint16"
      },
      {
        "name": "seller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "caller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "minValue",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      },
      {
        "name": "finderFee",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "SurplusForwarded",
    "inputs": [
      {
        "name": "caller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "amount",
        "type": "uint256",
        "indexed": false,
        "internalType": "uint256"
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "WiringFinalized",
    "inputs": [
      {
        "name": "permanentCollection",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "returnAuctionModule",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "AlreadyFinalized",
    "inputs": []
  },
  {
    "type": "error",
    "name": "AlreadyInitialized",
    "inputs": []
  },
  {
    "type": "error",
    "name": "BidBelowMinimum",
    "inputs": [
      {
        "name": "liveBid",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "minimum",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "FinderPaymentFailed",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InSwap",
    "inputs": []
  },
  {
    "type": "error",
    "name": "InvalidPunkId",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      }
    ]
  },
  {
    "type": "error",
    "name": "InvalidTargetTrait",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      },
      {
        "name": "targetTraitId",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "ListingAboveExpected",
    "inputs": [
      {
        "name": "listing",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "expected",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "ListingExceedsBid",
    "inputs": [
      {
        "name": "listing",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "liveBid",
        "type": "uint256",
        "internalType": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "NoSurplus",
    "inputs": []
  },
  {
    "type": "error",
    "name": "NotAdapter",
    "inputs": []
  },
  {
    "type": "error",
    "name": "NotAdmin",
    "inputs": []
  },
  {
    "type": "error",
    "name": "NotCanonicalTarget",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      },
      {
        "name": "provided",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "canonical",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "NotDeployer",
    "inputs": []
  },
  {
    "type": "error",
    "name": "PunkAlreadyAcquired",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      }
    ]
  },
  {
    "type": "error",
    "name": "PunkNotListedToHub",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      }
    ]
  },
  {
    "type": "error",
    "name": "PunkNotPubliclyListed",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      }
    ]
  },
  {
    "type": "error",
    "name": "PunkTransferFailed",
    "inputs": []
  },
  {
    "type": "error",
    "name": "Reentrant",
    "inputs": []
  },
  {
    "type": "error",
    "name": "SellerNotAllowed",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "internalType": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "SellerNotYetActive",
    "inputs": [
      {
        "name": "seller",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "activeAt",
        "type": "uint64",
        "internalType": "uint64"
      }
    ]
  },
  {
    "type": "error",
    "name": "SoleCarrierMustTargetTrait",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      },
      {
        "name": "requiredTraitId",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "SurplusForwardFailed",
    "inputs": []
  },
  {
    "type": "error",
    "name": "TargetTraitAlreadyCollected",
    "inputs": [
      {
        "name": "targetTraitId",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "TargetTraitPending",
    "inputs": [
      {
        "name": "targetTraitId",
        "type": "uint8",
        "internalType": "uint8"
      }
    ]
  },
  {
    "type": "error",
    "name": "ZeroAddress",
    "inputs": []
  },
  {
    "type": "error",
    "name": "ZeroListingPrice",
    "inputs": [
      {
        "name": "punkId",
        "type": "uint16",
        "internalType": "uint16"
      }
    ]
  }
]