1.1.7 • Published 1 year ago

@webfans/lambtradejs v1.1.7

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

lambtradejs

挂卖单和挂买单

1 通过npm 或yarn 安装 @webfans/lambtradejs

npm install  @webfans/lambtradejs
yarn add  @webfans/lambtradejs

2 生成api文档

npm install
npm run doc

3 初始化

account 为当前钱包链接的账户, chianid 当前钱包链接网络的 chian id

在浏览器端,钱包位小狐狸插件初始化

import sdk from '@webfans/LambTradeJs'
let sdkobj = new sdk(window.ethereum,account,chianid)

在浏览器端,使用walletconnect

import sdk from '@webfans/LambTradeJs'
let rpcurl=""//http 的rpc接口
let sdkobj = new sdk(rpcurl,account,chianid)

在node 端,使用 传入 Signer

import sdk from '@webfans/LambTradeJs'
const ethers = require('ethers');
let  WALLET = new ethers.Wallet(testconfig.PRIVATE_KEY);//WALLET 为Signer

let  RpcProvider =new ethers.providers.JsonRpcProvider(testconfig.rpcurl)
WALLET=WALLET.connect( RpcProvider)

let sdkobj = new sdk(WALLET,account,chianid)

如果需要传递 合约的配置地址

let contractConfig={
        {
                "92001":{
                    "zoraFee": "0x80fAe0df36d0AaDC3f404C9787A1C660991fA177",
                    "zora": "0x3fFD65D8Ee243bdE754507c911262d3e317F4194",
                    "erc20Helper": "0xBc33FD95869f0C537daddB21686abb011fc18057",
                    "erc721Helper": "0x25c1d5b2FF22B9A28Ee0d37FB093EaAe4dA170F4",
                    "royalty": "0x1cfEd01934478b668d4F9D9659abbCe64F64622E",
                    "wETH": "0x278974bdE980A19dCedb790b0762Ef81621F7dBe",
                    "ask": "0xc88728eb5185f8a7be642dD94EbD929474ABB5C3",
                    "offer": "0x28110c0B188DED94DAFA340f5f7198e5f8D5e091",
                }
        }
      

let sdkobj = new sdk(window.ethereum,account,chianid,contractConfig)

挂卖单

检测是否已对系统授权

let res = await sdkobj.SellOrder.checkApprovalForModule()

设置对系统授权

let res = await sdkobj.SellOrder.setApprovalForModule()

检测是否对nft 授权

let res = await sdkobj.SellOrder.checkApprovalForHelper(nftaddress)

设置对nft 授权

let res = await sdkobj.SellOrder.setApprovalForHelper(nftaddress)

创建卖单

let value =utils.parseUnits('1') 
let res = await sdkobj.SellOrder.createOrder(nftaddress,tokenID,value)

获取卖单

let res = await sdkobj.SellOrder.getOrder(nftaddress,tokenID)

匹配卖单

let res2 = await sdkobj.SellOrder.fillOrder(nftaddress,tokenID,value,askPrice)

取消卖单

let res = await sdkobj.SellOrder.cancelOrder(nftaddress,tokenID)

挂买单

检测是否对系统授权

let res = await sdkobj.BuyOrder.checkApprovalForModule()

设置对系统 授权

let res = await sdkobj.BuyOrder.setApprovalForModule()

检测是否对nft 授权

let res = await sdkobj.BuyOrder.checkApprovalForHelper(nftaddress)

设置 对nft授权

let res = await sdkobj.BuyOrder.setApprovalForHelper(nftaddress)

创建买单

let res = await sdkobj.BuyOrder.createOffer(nftaddress,tokenID,value)

获取买单

let res = await sdkobj.BuyOrder.getOffer(nftaddress,tokenID,offerid)

匹配买单

let res = await sdkobj.BuyOrder.fillOffer(nftaddress,tokenID,offerid)

取消卖单

let res = await sdkobj.BuyOrder.cancelOffer(nftaddress,tokenID,offerid)

挂系列买单

检测系统授权

let res = await sdkobj.BuyCollectionOrder.checkApprovalForModule()

设置系统授权

let res = await sdkobj.BuyCollectionOrder.setApprovalForHelper(nftaddress)

检测nft授权

let res = await sdkobj.BuyCollectionOrder.checkApprovalForHelper(nftaddress)

设置nft授权

let res = await sdkobj.BuyCollectionOrder.setApprovalForHelper(nftaddress)

创建系列买单

let res = await sdkobj.BuyCollectionOrder.createOfferList(nftaddress,tokenID,value)

获取系列买单

let res = await sdkobj.BuyCollectionOrder.getOfferList(nftaddress,offerid)

匹配系列买单

let res = await sdkobj.BuyCollectionOrder.fillOfferList(nftaddress,tokenID,offerid)

授权关系

Make Offer 不需要授权

Accept Offer 授权offer模块 nft对erc721授权

List 授权ask模块 nft对erc721授权

Buy Now 不需要授权