@georgeroman/wyvern-v2-sdk
Version:
Wyvern V2 SDK
40 lines (31 loc) • 1.17 kB
Markdown
This repository contains an SDK for interacting with instances of Wyvern V2 contracts (including OpenSea).
### Build and test
This package doesn't have tests on its own, but it relies on the `core` package for testing (which makes intensive use of this SDK for easily interacting with Wyvern V2 instances during tests).
### Usage
```typescript
import { Builders, Helpers, Order } from "@georgeroman/wyvern-v2-sdk";
// Create an unsigned sell order
let sellOrder: Order = Builders.Erc721.SingleItem.sell({
exchange: exchange.address,
maker: seller.address,
target: erc721.address,
tokenId: "0",
paymentToken: AddressZero,
basePrice: parseEther("1").toString(),
fee: "250",
feeRecipient: feeRecipient.address,
listingTime: (Math.floor(Date.now() / 1000) - 300).toString(),
expirationTime: "0",
salt: "0",
});
// Sign the sell order
sellOrder = await Helpers.Order.sign(seller, sellOrder);
// Create a matching buy order for the sell order
const buyOrder: Order = Builders.Erc721.SingleItem.matchingBuy(
buyer.address,
sellOrder
);
// Trigger settlement
await Helpers.Wyvern.match(buyer, buyOrder, sellOrder);
```