本文へ移動
    hazBasehazBaseDocs
    SMART CONTRACTS
    コントラクト一覧

    MarketManager

    出品・購入・手数料を伴うトークン取引を扱う。

    取引・資金配分MarketManager.sol@hazbase/kit@0.9.0

    役割と使いどころ

    許可された決済トークンと参加者条件を使い、出品型または署名付きバウチャー型の取引を構成できます。

    接続・設定のポイント出品資産の承認、決済トークン、手数料と送付先を設定します。注文状態と確定イベントを対応づけます。

    主要なSDK操作

    @hazbase/kit@0.9.0のMarketManagerHelperから利用する操作です。以下はメソッドの型定義です。引数の構造と全操作はSDKリファレンスで確認できます。

    typescript
    import { MarketManagerHelper } from '@hazbase/kit';

    createAsk

    typescript
    async createAsk(
        asset: Asset,
        price: bigint,
        paymentToken: string,
        quantity: bigint,
        params?: {
          maxPerWallet?: number;
          startTime?: number;
          endTime?: number;
          royaltyReceiver?: string;
          royaltyBps?: number;
          agreement?: string;
          offerId?: string;
        }
      ): Promise<{ askId: bigint; receipt: ethers.TransactionReceipt }>

    fillAsk

    typescript
    async fillAsk(
        askId: BigNumberish,
        qty: BigNumberish,
        opts?: { permit?: PermitData; investorSig?: BytesLike; value?: bigint }
      ): Promise<{ receipt: TransactionReceipt; totals?: { totalPaid: bigint; fee: bigint; royalty: bigint; net: bigint } }>

    cancelAsk

    typescript
    async cancelAsk(askId: BigNumberish): Promise<TransactionReceipt>

    ask

    typescript
    async ask(id: BigNumberish): Promise<Ask>
    引数・戻り値・全メソッドを見る

    組み合わせるコントラクト

    実装につなげる

    物理資産・在庫

    データの持ち方、処理の順序、SDKコードを通じて、アプリケーションへの組み込み方を確認できます。

    実装パターンを読む

    仕様とソースコード

    掲載するSolidityソースは下記のリビジョンを参照しています。SDKの対応バージョンと、接続先ネットワークの実装アドレス・ABIを合わせて参照できます。

    market-manager/contracts/MarketManager.sol

    ソースリビジョン: b53a5b5