BosonTypes
View Source: contracts/domain/BosonTypes.sol
BosonTypes
Enums and structs used by the Boson Protocol contract ecosystem.
Enums
PausableRegion
enum PausableRegion {
Offers,
Twins,
Bundles,
Groups,
Sellers,
Buyers,
DisputeResolvers,
Agents,
Exchanges,
Disputes,
Funds,
Orchestration,
MetaTransaction
}
EvaluationMethod
enum EvaluationMethod {
None,
Threshold,
SpecificToken
}
GatingType
enum GatingType {
PerAddress,
PerTokenId
}
ExchangeState
enum ExchangeState {
Committed,
Revoked,
Canceled,
Redeemed,
Completed,
Disputed
}
DisputeState
enum DisputeState {
Resolving,
Retracted,
Resolved,
Escalated,
Decided,
Refused
}
TokenType
enum TokenType {
FungibleToken,
NonFungibleToken,
MultiToken
}
MetaTxInputType
enum MetaTxInputType {
Generic,
CommitToOffer,
Exchange,
Funds,
CommitToConditionalOffer,
ResolveDispute
}
AuthTokenType
enum AuthTokenType {
None,
Custom,
Lens,
ENS
}
SellerUpdateFields
enum SellerUpdateFields {
Admin,
Assistant,
Clerk,
AuthToken
}
DisputeResolverUpdateFields
enum DisputeResolverUpdateFields {
Admin,
Assistant,
Clerk
}
Structs
AuthToken
struct AuthToken {
uint256 tokenId,
BosonTypes.AuthTokenType tokenType
}
Seller
struct Seller {
uint256 id,
address assistant,
address admin,
address clerk,
address payable treasury,
bool active,
string metadataUri
}
Buyer
struct Buyer {
uint256 id,
address payable wallet,
bool active
}
DisputeResolver
struct DisputeResolver {
uint256 id,
uint256 escalationResponsePeriod,
address assistant,
address admin,
address clerk,
address payable treasury,
string metadataUri,
bool active
}
DisputeResolverFee
struct DisputeResolverFee {
address tokenAddress,
string tokenName,
uint256 feeAmount
}
Agent
struct Agent {
uint256 id,
uint256 feePercentage,
address payable wallet,
bool active
}
DisputeResolutionTerms
struct DisputeResolutionTerms {
uint256 disputeResolverId,
uint256 escalationResponsePeriod,
uint256 feeAmount,
uint256 buyerEscalationDeposit
}
Offer
struct Offer {
uint256 id,
uint256 sellerId,
uint256 price,
uint256 sellerDeposit,
uint256 buyerCancelPenalty,
uint256 quantityAvailable,
address exchangeToken,
string metadataUri,
string metadataHash,
bool voided,
uint256 collectionIndex
}
OfferDates
struct OfferDates {
uint256 validFrom,
uint256 validUntil,
uint256 voucherRedeemableFrom,
uint256 voucherRedeemableUntil
}
OfferDurations
struct OfferDurations {
uint256 disputePeriod,
uint256 voucherValid,
uint256 resolutionPeriod
}
Group
struct Group {
uint256 id,
uint256 sellerId,
uint256[] offerIds
}
Condition
struct Condition {
BosonTypes.EvaluationMethod method,
BosonTypes.TokenType tokenType,
address tokenAddress,
BosonTypes.GatingType gating,
uint256 minTokenId,
uint256 threshold,
uint256 maxCommits,
uint256 maxTokenId
}
Exchange
struct Exchange {
uint256 id,
uint256 offerId,
uint256 buyerId,
uint256 finalizedDate,
BosonTypes.ExchangeState state
}
Voucher
struct Voucher {
uint256 committedDate,
uint256 validUntilDate,
uint256 redeemedDate,
bool expired
}
Dispute
struct Dispute {
uint256 exchangeId,
uint256 buyerPercent,
BosonTypes.DisputeState state
}
DisputeDates
struct DisputeDates {
uint256 disputed,
uint256 escalated,
uint256 finalized,
uint256 timeout
}
Receipt
struct Receipt {
uint256 exchangeId,
uint256 offerId,
uint256 buyerId,
uint256 sellerId,
uint256 price,
uint256 sellerDeposit,
uint256 buyerCancelPenalty,
BosonTypes.OfferFees offerFees,
uint256 agentId,
address exchangeToken,
uint256 finalizedDate,
BosonTypes.Condition condition,
uint256 committedDate,
uint256 redeemedDate,
bool voucherExpired,
uint256 disputeResolverId,
uint256 disputedDate,
uint256 escalatedDate,
BosonTypes.DisputeState disputeState,
BosonTypes.TwinReceipt[] twinReceipts
}
TokenRange
struct TokenRange {
uint256 start,
uint256 end,
uint256 twinId
}
Twin
struct Twin {
uint256 id,
uint256 sellerId,
uint256 amount,
uint256 supplyAvailable,
uint256 tokenId,
address tokenAddress,
BosonTypes.TokenType tokenType
}
TwinReceipt
struct TwinReceipt {
uint256 twinId,
uint256 tokenId,
uint256 amount,
address tokenAddress,
BosonTypes.TokenType tokenType
}
Bundle
struct Bundle {
uint256 id,
uint256 sellerId,
uint256[] offerIds,
uint256[] twinIds
}
Funds
struct Funds {
address tokenAddress,
string tokenName,
uint256 availableAmount
}
MetaTransaction
struct MetaTransaction {
uint256 nonce,
address from,
address contractAddress,
string functionName,
bytes functionSignature
}
HashInfo
struct HashInfo {
bytes32 typeHash,
function (bytes) pure returns (bytes32) hashFunction
}
OfferFees
struct OfferFees {
uint256 protocolFee,
uint256 agentFee
}
VoucherInitValues
struct VoucherInitValues {
string contractURI,
uint256 royaltyPercentage,
bytes32 collectionSalt
}
Collection
struct Collection {
address collectionAddress,
string externalId
}