@white-matrix/matrix-world-voucher-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

Voucher SDK

npm version

Install

yarn add @white-matrix/matrix-world-voucher-sdk
yarn upgrade @white-matrix/matrix-world-voucher-sdk

SDK-Package

Build

yarn run build

Publish

Recommend to use yarn's publish command to publish the package

yarn publish

API Reference

Interfaces

Voucher Frontend API Interface

    /*======== VoucherClient specific views======*/

    /**
     * get the voucher detailed information including owner address and landInfoHash
     * @param tokenId the id of the given voucher
     * @returns returns the token owner address and the landInfoHash
     */
    tokenInfo(tokenId: BigNumber): Promise<TokenInfo>;

    /*======== VoucherClient specific transactions======*/

   /** claim a voucher and get a voucher token id
     * @param account the account to claim the voucher
     * @param landInfoHash land info metadata hashed by the backend server
     * @param price the price of voucher in ETH
     * @param timestamp the UNIX timestamp in seconds to issue the voucher
     * @param signature signed the request message by the backend server
     * @param config used to passed in payable related values, such as amount of ETH
     * @returns Voucher Claim result including a transactionHash and a tokenId used as the id of the claimed voucher
     */
    claim(
        account: string,
        landInfoHash: string,
        price: BigNumber,
        timestamp: number,
        signature: string,
        config?: PayableOverrides
    ): Promise<ContractClaimResult>;

    /** batch claim
     * @param accounts a list of accounts to claim vouchers
     * @param landInfoHashes a list of landInfoHashes corresponding to each entry in the accounts list
     * @param prices a list of prices corresponding to each entry in the accounts list
     * @param timestamps a list of timestamp corresponding to each entry in the accounts list
     * @param signatures a list of signatures corresponding to each entry in the accounts list
     * @param config used to passed in payable related values, such as amount of ETH
     * @returns Voucher batch claim result including a transactionHash and a list of {account: string; tokenId: BigNumber}
     */
    batchClaim(
        accounts: string[],
        landInfoHashes: string[],
        prices: BigNumber[],
        timestamps: number[],
        signatures: string[],
        config?: PayableOverrides
    ): Promise<ContractBatchClaimResult>;

Voucher Backend API Interface

    /*======== Backend functions======*/

    /**
     * 对claim的请求数据签名
     * @param privateKey contract owner private key
     * @param account account to claim the voucher
     * @param landInfoHash land info metadata hash
     * @param price the cost of voucher in a stable coin
     * @param timestamp current time in seconds since the Unix epoch
     * @returns signature used to be verified in the claim transaction
     */
    voucherSignature(
        privateKey: string,
        account: string,
        landInfoHash: string,
        price: BigNumber,
        timestamp: number
    ): Promise<string>;

    /**
     * Hash the land info with the metadata
     * @param topLeftX land top left x-coordinate
     * @param topeLeftY land top left y-coordinate
     * @param height land height
     * @param width land width
     * @Returns the KECCAK256 of the non-standard encoded values packed according to their respective type in types.
     */
    generateLandInfoHash(topLeftX: number, topeLeftY: number, height: number, width: number): string;

    /*======== Event Filters======*/

    /**
     * filers all the VoucherClaimedEvent between 'from' and 'to' blocks
     * @param fromBlock the starting block
     * @param toBlock the ending block
     * @returns promise of all the VoucherClaimedEvent in an array
     */
    queryVoucherClaimedEvents(fromBlock: number, toBlock: number): Promise<VoucherClaimedEvent[]>;

    /**
     * filers all the ERC721 TransferEvent between 'from' and 'to' blocks
     * @param fromBlock the starting block
     * @param toBlock the ending block
     * @returns promise of all the TransferEvent in an array
     */
    queryTransferEvents(fromBlock: number, toBlock: number): Promise<TransferEvent[]>;

Readme

Keywords

none

Package Sidebar

Install

npm i @white-matrix/matrix-world-voucher-sdk

Weekly Downloads

68

Version

0.1.3

License

MIT

Unpacked Size

1.04 MB

Total Files

185

Last publish

Collaborators

  • shuuuuting
  • hexi1997
  • kilru
  • lucklyric
  • xiadd