Class CryptoPunks

Hierarchy

Constructors

Methods

Properties

abi: readonly [{
    constant: true;
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        name: "";
        type: "string";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [{
        name: "";
        type: "uint256";
    }];
    name: "punksOfferedForSale";
    outputs: readonly [{
        name: "isForSale";
        type: "bool";
    }, {
        name: "punkIndex";
        type: "uint256";
    }, {
        name: "seller";
        type: "address";
    }, {
        name: "minValue";
        type: "uint256";
    }, {
        name: "onlySellTo";
        type: "address";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }];
    name: "enterBidForPunk";
    outputs: readonly [];
    payable: true;
    type: "function";
    stateMutability: "payable";
}, {
    constant: true;
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        name: "";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }, {
        name: "minPrice";
        type: "uint256";
    }];
    name: "acceptBidForPunk";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [];
    name: "decimals";
    outputs: readonly [{
        name: "";
        type: "uint8";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "addresses";
        type: "address[]";
    }, {
        name: "indices";
        type: "uint256[]";
    }];
    name: "setInitialOwners";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: false;
    inputs: readonly [];
    name: "withdraw";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [];
    name: "imageHash";
    outputs: readonly [{
        name: "";
        type: "string";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [];
    name: "nextPunkIndexToAssign";
    outputs: readonly [{
        name: "";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [{
        name: "";
        type: "uint256";
    }];
    name: "punkIndexToAddress";
    outputs: readonly [{
        name: "";
        type: "address";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [];
    name: "standard";
    outputs: readonly [{
        name: "";
        type: "string";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [{
        name: "";
        type: "uint256";
    }];
    name: "punkBids";
    outputs: readonly [{
        name: "hasBid";
        type: "bool";
    }, {
        name: "punkIndex";
        type: "uint256";
    }, {
        name: "bidder";
        type: "address";
    }, {
        name: "value";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: true;
    inputs: readonly [{
        name: "";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        name: "";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [];
    name: "allInitialOwnersAssigned";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [];
    name: "allPunksAssigned";
    outputs: readonly [{
        name: "";
        type: "bool";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }];
    name: "buyPunk";
    outputs: readonly [];
    payable: true;
    type: "function";
    stateMutability: "payable";
}, {
    constant: false;
    inputs: readonly [{
        name: "to";
        type: "address";
    }, {
        name: "punkIndex";
        type: "uint256";
    }];
    name: "transferPunk";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        name: "";
        type: "string";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }];
    name: "withdrawBidForPunk";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: false;
    inputs: readonly [{
        name: "to";
        type: "address";
    }, {
        name: "punkIndex";
        type: "uint256";
    }];
    name: "setInitialOwner";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }, {
        name: "minSalePriceInWei";
        type: "uint256";
    }, {
        name: "toAddress";
        type: "address";
    }];
    name: "offerPunkForSaleToAddress";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [];
    name: "punksRemainingToAssign";
    outputs: readonly [{
        name: "";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }, {
        name: "minSalePriceInWei";
        type: "uint256";
    }];
    name: "offerPunkForSale";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }];
    name: "getPunk";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    constant: true;
    inputs: readonly [{
        name: "";
        type: "address";
    }];
    name: "pendingWithdrawals";
    outputs: readonly [{
        name: "";
        type: "uint256";
    }];
    payable: false;
    type: "function";
    stateMutability: "view";
}, {
    constant: false;
    inputs: readonly [{
        name: "punkIndex";
        type: "uint256";
    }];
    name: "punkNoLongerForSale";
    outputs: readonly [];
    payable: false;
    type: "function";
    stateMutability: "nonpayable";
}, {
    inputs: readonly [];
    payable: true;
    type: "constructor";
    stateMutability: "payable";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "to";
        type: "address";
    }, {
        indexed: false;
        name: "punkIndex";
        type: "uint256";
    }];
    name: "Assign";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "from";
        type: "address";
    }, {
        indexed: true;
        name: "to";
        type: "address";
    }, {
        indexed: false;
        name: "value";
        type: "uint256";
    }];
    name: "Transfer";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "from";
        type: "address";
    }, {
        indexed: true;
        name: "to";
        type: "address";
    }, {
        indexed: false;
        name: "punkIndex";
        type: "uint256";
    }];
    name: "PunkTransfer";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "punkIndex";
        type: "uint256";
    }, {
        indexed: false;
        name: "minValue";
        type: "uint256";
    }, {
        indexed: true;
        name: "toAddress";
        type: "address";
    }];
    name: "PunkOffered";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "punkIndex";
        type: "uint256";
    }, {
        indexed: false;
        name: "value";
        type: "uint256";
    }, {
        indexed: true;
        name: "fromAddress";
        type: "address";
    }];
    name: "PunkBidEntered";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "punkIndex";
        type: "uint256";
    }, {
        indexed: false;
        name: "value";
        type: "uint256";
    }, {
        indexed: true;
        name: "fromAddress";
        type: "address";
    }];
    name: "PunkBidWithdrawn";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "punkIndex";
        type: "uint256";
    }, {
        indexed: false;
        name: "value";
        type: "uint256";
    }, {
        indexed: true;
        name: "fromAddress";
        type: "address";
    }, {
        indexed: true;
        name: "toAddress";
        type: "address";
    }];
    name: "PunkBought";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        name: "punkIndex";
        type: "uint256";
    }];
    name: "PunkNoLongerForSale";
    type: "event";
}]
address: `0x${string}`
bcClient: {}

Type declaration

    wallet: {}

    Type declaration

      contract: GetContractReturnType<readonly [{
          constant: true;
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punksOfferedForSale";
          outputs: readonly [{
              name: "isForSale";
              type: "bool";
          }, {
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "seller";
              type: "address";
          }, {
              name: "minValue";
              type: "uint256";
          }, {
              name: "onlySellTo";
              type: "address";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "enterBidForPunk";
          outputs: readonly [];
          payable: true;
          type: "function";
          stateMutability: "payable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minPrice";
              type: "uint256";
          }];
          name: "acceptBidForPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              name: "";
              type: "uint8";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "addresses";
              type: "address[]";
          }, {
              name: "indices";
              type: "uint256[]";
          }];
          name: "setInitialOwners";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [];
          name: "withdraw";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "imageHash";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [];
          name: "nextPunkIndexToAssign";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punkIndexToAddress";
          outputs: readonly [{
              name: "";
              type: "address";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [];
          name: "standard";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punkBids";
          outputs: readonly [{
              name: "hasBid";
              type: "bool";
          }, {
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "bidder";
              type: "address";
          }, {
              name: "value";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [];
          name: "allInitialOwnersAssigned";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "allPunksAssigned";
          outputs: readonly [{
              name: "";
              type: "bool";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "buyPunk";
          outputs: readonly [];
          payable: true;
          type: "function";
          stateMutability: "payable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "to";
              type: "address";
          }, {
              name: "punkIndex";
              type: "uint256";
          }];
          name: "transferPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "withdrawBidForPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "to";
              type: "address";
          }, {
              name: "punkIndex";
              type: "uint256";
          }];
          name: "setInitialOwner";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minSalePriceInWei";
              type: "uint256";
          }, {
              name: "toAddress";
              type: "address";
          }];
          name: "offerPunkForSaleToAddress";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "punksRemainingToAssign";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minSalePriceInWei";
              type: "uint256";
          }];
          name: "offerPunkForSale";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "getPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "address";
          }];
          name: "pendingWithdrawals";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "punkNoLongerForSale";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          inputs: readonly [];
          payable: true;
          type: "constructor";
          stateMutability: "payable";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "Assign";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "from";
              type: "address";
          }, {
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }];
          name: "Transfer";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "from";
              type: "address";
          }, {
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "PunkTransfer";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "minValue";
              type: "uint256";
          }, {
              indexed: true;
              name: "toAddress";
              type: "address";
          }];
          name: "PunkOffered";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }];
          name: "PunkBidEntered";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }];
          name: "PunkBidWithdrawn";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }, {
              indexed: true;
              name: "toAddress";
              type: "address";
          }];
          name: "PunkBought";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "PunkNoLongerForSale";
          type: "event";
      }], {} | {}>
      safeContractWrite: {
          transferPunk: ((args, options?) => Promise<`0x${string}`>);
          withdraw: ((args, options?) => Promise<`0x${string}`>);
          enterBidForPunk: ((args, options?) => Promise<`0x${string}`>);
          acceptBidForPunk: ((args, options?) => Promise<`0x${string}`>);
          setInitialOwners: ((args, options?) => Promise<`0x${string}`>);
          allInitialOwnersAssigned: ((args, options?) => Promise<`0x${string}`>);
          buyPunk: ((args, options?) => Promise<`0x${string}`>);
          withdrawBidForPunk: ((args, options?) => Promise<`0x${string}`>);
          setInitialOwner: ((args, options?) => Promise<`0x${string}`>);
          offerPunkForSaleToAddress: ((args, options?) => Promise<`0x${string}`>);
          offerPunkForSale: ((args, options?) => Promise<`0x${string}`>);
          getPunk: ((args, options?) => Promise<`0x${string}`>);
          punkNoLongerForSale: ((args, options?) => Promise<`0x${string}`>);
      }

      Type declaration

      • transferPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdraw: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: undefined | readonly []
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • enterBidForPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • acceptBidForPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • setInitialOwners: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [readonly `0x${string}`[], readonly bigint[]] | readonly [readonly `0x${string}`[], readonly bigint[]] & readonly [readonly `0x${string}`[], readonly bigint[]]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • allInitialOwnersAssigned: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: undefined | readonly []
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • buyPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • withdrawBidForPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • setInitialOwner: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • offerPunkForSaleToAddress: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, bigint, `0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • offerPunkForSale: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • getPunk: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      • punkNoLongerForSale: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

            Returns Promise<`0x${string}`>

      parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
          constant: true;
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punksOfferedForSale";
          outputs: readonly [{
              name: "isForSale";
              type: "bool";
          }, {
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "seller";
              type: "address";
          }, {
              name: "minValue";
              type: "uint256";
          }, {
              name: "onlySellTo";
              type: "address";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "enterBidForPunk";
          outputs: readonly [];
          payable: true;
          type: "function";
          stateMutability: "payable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minPrice";
              type: "uint256";
          }];
          name: "acceptBidForPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              name: "";
              type: "uint8";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "addresses";
              type: "address[]";
          }, {
              name: "indices";
              type: "uint256[]";
          }];
          name: "setInitialOwners";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [];
          name: "withdraw";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "imageHash";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [];
          name: "nextPunkIndexToAssign";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punkIndexToAddress";
          outputs: readonly [{
              name: "";
              type: "address";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [];
          name: "standard";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "uint256";
          }];
          name: "punkBids";
          outputs: readonly [{
              name: "hasBid";
              type: "bool";
          }, {
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "bidder";
              type: "address";
          }, {
              name: "value";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [];
          name: "allInitialOwnersAssigned";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "allPunksAssigned";
          outputs: readonly [{
              name: "";
              type: "bool";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "buyPunk";
          outputs: readonly [];
          payable: true;
          type: "function";
          stateMutability: "payable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "to";
              type: "address";
          }, {
              name: "punkIndex";
              type: "uint256";
          }];
          name: "transferPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              type: "string";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "withdrawBidForPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "to";
              type: "address";
          }, {
              name: "punkIndex";
              type: "uint256";
          }];
          name: "setInitialOwner";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minSalePriceInWei";
              type: "uint256";
          }, {
              name: "toAddress";
              type: "address";
          }];
          name: "offerPunkForSaleToAddress";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [];
          name: "punksRemainingToAssign";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }, {
              name: "minSalePriceInWei";
              type: "uint256";
          }];
          name: "offerPunkForSale";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "getPunk";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          constant: true;
          inputs: readonly [{
              name: "";
              type: "address";
          }];
          name: "pendingWithdrawals";
          outputs: readonly [{
              name: "";
              type: "uint256";
          }];
          payable: false;
          type: "function";
          stateMutability: "view";
      }, {
          constant: false;
          inputs: readonly [{
              name: "punkIndex";
              type: "uint256";
          }];
          name: "punkNoLongerForSale";
          outputs: readonly [];
          payable: false;
          type: "function";
          stateMutability: "nonpayable";
      }, {
          inputs: readonly [];
          payable: true;
          type: "constructor";
          stateMutability: "payable";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "Assign";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "from";
              type: "address";
          }, {
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }];
          name: "Transfer";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "from";
              type: "address";
          }, {
              indexed: true;
              name: "to";
              type: "address";
          }, {
              indexed: false;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "PunkTransfer";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "minValue";
              type: "uint256";
          }, {
              indexed: true;
              name: "toAddress";
              type: "address";
          }];
          name: "PunkOffered";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }];
          name: "PunkBidEntered";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }];
          name: "PunkBidWithdrawn";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }, {
              indexed: false;
              name: "value";
              type: "uint256";
          }, {
              indexed: true;
              name: "fromAddress";
              type: "address";
          }, {
              indexed: true;
              name: "toAddress";
              type: "address";
          }];
          name: "PunkBought";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              name: "punkIndex";
              type: "uint256";
          }];
          name: "PunkNoLongerForSale";
          type: "event";
      }], TFunctionName, true, TFunctionName extends ("Transfer" | "Assign" | "PunkTransfer" | "PunkOffered" | "PunkBidEntered" | "PunkBidWithdrawn" | "PunkBought" | "PunkNoLongerForSale")[]
          ? TFunctionName[number]
          : TFunctionName>)

      Type declaration

        • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
              constant: true;
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punksOfferedForSale";
              outputs: readonly [{
                  name: "isForSale";
                  type: "bool";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "seller";
                  type: "address";
              }, {
                  name: "minValue";
                  type: "uint256";
              }, {
                  name: "onlySellTo";
                  type: "address";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "enterBidForPunk";
              outputs: readonly [];
              payable: true;
              type: "function";
              stateMutability: "payable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "totalSupply";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minPrice";
                  type: "uint256";
              }];
              name: "acceptBidForPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "decimals";
              outputs: readonly [{
                  name: "";
                  type: "uint8";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "addresses";
                  type: "address[]";
              }, {
                  name: "indices";
                  type: "uint256[]";
              }];
              name: "setInitialOwners";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [];
              name: "withdraw";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "imageHash";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [];
              name: "nextPunkIndexToAssign";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punkIndexToAddress";
              outputs: readonly [{
                  name: "";
                  type: "address";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [];
              name: "standard";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punkBids";
              outputs: readonly [{
                  name: "hasBid";
                  type: "bool";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "bidder";
                  type: "address";
              }, {
                  name: "value";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [];
              name: "allInitialOwnersAssigned";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "allPunksAssigned";
              outputs: readonly [{
                  name: "";
                  type: "bool";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "buyPunk";
              outputs: readonly [];
              payable: true;
              type: "function";
              stateMutability: "payable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "to";
                  type: "address";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "transferPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "withdrawBidForPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "to";
                  type: "address";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "setInitialOwner";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minSalePriceInWei";
                  type: "uint256";
              }, {
                  name: "toAddress";
                  type: "address";
              }];
              name: "offerPunkForSaleToAddress";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "punksRemainingToAssign";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minSalePriceInWei";
                  type: "uint256";
              }];
              name: "offerPunkForSale";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "getPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "address";
              }];
              name: "pendingWithdrawals";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "punkNoLongerForSale";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              inputs: readonly [];
              payable: true;
              type: "constructor";
              stateMutability: "payable";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "Assign";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "from";
                  type: "address";
              }, {
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }];
              name: "Transfer";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "from";
                  type: "address";
              }, {
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "PunkTransfer";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "minValue";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "toAddress";
                  type: "address";
              }];
              name: "PunkOffered";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }];
              name: "PunkBidEntered";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }];
              name: "PunkBidWithdrawn";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }, {
                  indexed: true;
                  name: "toAddress";
                  type: "address";
              }];
              name: "PunkBought";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "PunkNoLongerForSale";
              type: "event";
          }], TFunctionName, true, TFunctionName extends ("Transfer" | "Assign" | "PunkTransfer" | "PunkOffered" | "PunkBidEntered" | "PunkBidWithdrawn" | "PunkBought" | "PunkNoLongerForSale")[]
              ? TFunctionName[number]
              : TFunctionName>
        • Type Parameters

          • TFunctionName extends "Transfer" | "Assign" | "PunkTransfer" | "PunkOffered" | "PunkBidEntered" | "PunkBidWithdrawn" | "PunkBought" | "PunkNoLongerForSale"

          Parameters

          • eventName: TFunctionName
          • logs: Log<bigint, number, false>[]

          Returns ParseEventLogsReturnType<readonly [{
              constant: true;
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punksOfferedForSale";
              outputs: readonly [{
                  name: "isForSale";
                  type: "bool";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "seller";
                  type: "address";
              }, {
                  name: "minValue";
                  type: "uint256";
              }, {
                  name: "onlySellTo";
                  type: "address";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "enterBidForPunk";
              outputs: readonly [];
              payable: true;
              type: "function";
              stateMutability: "payable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "totalSupply";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minPrice";
                  type: "uint256";
              }];
              name: "acceptBidForPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "decimals";
              outputs: readonly [{
                  name: "";
                  type: "uint8";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "addresses";
                  type: "address[]";
              }, {
                  name: "indices";
                  type: "uint256[]";
              }];
              name: "setInitialOwners";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [];
              name: "withdraw";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "imageHash";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [];
              name: "nextPunkIndexToAssign";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punkIndexToAddress";
              outputs: readonly [{
                  name: "";
                  type: "address";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [];
              name: "standard";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              name: "punkBids";
              outputs: readonly [{
                  name: "hasBid";
                  type: "bool";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "bidder";
                  type: "address";
              }, {
                  name: "value";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [];
              name: "allInitialOwnersAssigned";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "allPunksAssigned";
              outputs: readonly [{
                  name: "";
                  type: "bool";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "buyPunk";
              outputs: readonly [];
              payable: true;
              type: "function";
              stateMutability: "payable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "to";
                  type: "address";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "transferPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  type: "string";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "withdrawBidForPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "to";
                  type: "address";
              }, {
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "setInitialOwner";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minSalePriceInWei";
                  type: "uint256";
              }, {
                  name: "toAddress";
                  type: "address";
              }];
              name: "offerPunkForSaleToAddress";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [];
              name: "punksRemainingToAssign";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  name: "minSalePriceInWei";
                  type: "uint256";
              }];
              name: "offerPunkForSale";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "getPunk";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              constant: true;
              inputs: readonly [{
                  name: "";
                  type: "address";
              }];
              name: "pendingWithdrawals";
              outputs: readonly [{
                  name: "";
                  type: "uint256";
              }];
              payable: false;
              type: "function";
              stateMutability: "view";
          }, {
              constant: false;
              inputs: readonly [{
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "punkNoLongerForSale";
              outputs: readonly [];
              payable: false;
              type: "function";
              stateMutability: "nonpayable";
          }, {
              inputs: readonly [];
              payable: true;
              type: "constructor";
              stateMutability: "payable";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "Assign";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "from";
                  type: "address";
              }, {
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }];
              name: "Transfer";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "from";
                  type: "address";
              }, {
                  indexed: true;
                  name: "to";
                  type: "address";
              }, {
                  indexed: false;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "PunkTransfer";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "minValue";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "toAddress";
                  type: "address";
              }];
              name: "PunkOffered";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }];
              name: "PunkBidEntered";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }];
              name: "PunkBidWithdrawn";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }, {
                  indexed: false;
                  name: "value";
                  type: "uint256";
              }, {
                  indexed: true;
                  name: "fromAddress";
                  type: "address";
              }, {
                  indexed: true;
                  name: "toAddress";
                  type: "address";
              }];
              name: "PunkBought";
              type: "event";
          }, {
              anonymous: false;
              inputs: readonly [{
                  indexed: true;
                  name: "punkIndex";
                  type: "uint256";
              }];
              name: "PunkNoLongerForSale";
              type: "event";
          }], TFunctionName, true, TFunctionName extends ("Transfer" | "Assign" | "PunkTransfer" | "PunkOffered" | "PunkBidEntered" | "PunkBidWithdrawn" | "PunkBought" | "PunkNoLongerForSale")[]
              ? TFunctionName[number]
              : TFunctionName>