1.0.2 • Published 3 years ago

@polymarket/liquidity-requests-sdk v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Liquidity Requests SDK npm

The Polymarket Liquidity Requests sdk (@polymarket/liquidity-requests-sdk) provides an easy-to-use, lightweight wrapper around the LiquidityRequestLog contract.

Installation

The sdk can be easily installed using yarn with the following command:

yarn add @polymarket/liquidity-requests-sdk

Usage

The sdk provides importable types.

import { LiquidityRequest } from "@polymarket/liquidity-requests-sdk";

Primarily though, the sdk allows a LiquidityRequestLog object to be initialized with a signer (JsonRpcSigner) and a chainID (number). This object provides a simple interface to various registry contract functions and utilities.

import { LiquidityRequestLog, LiquidityRequest } from "@polymarket/liquidity-requests-sdk";

const liquidityRequestLog = new LiquidityRequestLog(signer, 137); // deployed to Polygon and Mumbai

const liquidityRequest: LiquidityRequest = {
    marketMakerAddress: "0x0000000000000000000000000000000000000001",
    reason: "trade",
    tradeAmount: 2000000000000000000000,
};

await liquidityRequestLog.submitLiquidityRequest(liquidityRequest);

Interpreting Events

Client implementations of this sdk will vary, and direct interaction with the contracts themselves could result in other values for reason and tradeAmount, however the polymarket.com site uses the following client implementation of reasons and trade amounts for each liquidity request submitted.

The event to subscribe to with the relevant struct are listed below, see the complete contract here: LiquidityRequestLog.sol

interface LiquidityRequestLog {
    
    struct LiquidityRequest {
        address requesterAddress;
        uint256 requestDate;
        string reason;
        address marketMakerAddress;
        uint256 tradeAmount;
    }

    event LiquidityRequestAdded(address indexed requesterAddress, LiquidityRequest liquidityRequest);
}

Reasons

OptionDescription
"TRADE"User indicating they want to place a large trade (liquidity is low)
"INFO"User has information to trade on
"OTHER"Other reason (text box allows user to submit reason, maximum 100 characters, will show custom reason and not "OTHER")

Trade Amounts (USDC)

OptionUSDC BigNumber Value
< 500500000000
501 - 1,0001000000000
1,001 - 10,00010000000000
10,000+10001000000
I prefer not to say0

You can refer to the liquidity requests sdk source code for available functions and types.