0.1.3 • Published 3 years ago

@white-matrix/matrix-world-voucher-sdk v0.1.3

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

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[]>;
0.1.1-beta

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.1.1-alpha

3 years ago

0.1.0

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.0.9

3 years ago

0.1.3

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6-b

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3-b

3 years ago

0.0.3

3 years ago

0.0.2-d

3 years ago

0.0.2-c

3 years ago

0.0.2-b

3 years ago

0.0.2

3 years ago

0.0.1-b

3 years ago

0.0.1

3 years ago