🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

@georgeroman/wyvern-v2-sdk

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@georgeroman/wyvern-v2-sdk - npm Package Compare versions

Comparing version

to
0.0.3

@@ -7,3 +7,4 @@ import { Signer } from "@ethersproject/abstract-signer";

constructor(exchange: string);
sign(signer: Signer, order: Order): Promise<Order>;
match(relayer: Signer, buyOrder: Order, sellOrder: Order): Promise<any>;
}

@@ -6,4 +6,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const bytes_1 = require("@ethersproject/bytes");
const constants_1 = require("@ethersproject/constants");
const contracts_1 = require("@ethersproject/contracts");
const solidity_1 = require("@ethersproject/solidity");
const types_1 = require("./types");

@@ -15,2 +17,63 @@ const Exchange_json_1 = __importDefault(require("./abis/Exchange.json"));

}
async sign(signer, order) {
// Construct raw order including all fields needed by Wyvern
const rawWyvernOrder = [
this.exchange.address,
order.maker,
order.taker,
order.makerRelayerFee,
order.takerRelayerFee,
0,
0,
order.feeRecipient,
1,
order.side,
order.saleKind,
order.target,
order.howToCall,
order.calldata,
order.replacementPattern,
order.staticTarget,
order.staticExtradata,
order.paymentToken,
order.basePrice,
0,
order.listingTime,
order.expirationTime,
order.salt,
];
// Hash the order
const rawWyvernOrderHash = (0, solidity_1.keccak256)([
"address",
"address",
"address",
"uint",
"uint",
"uint",
"uint",
"address",
"uint8",
"uint8",
"uint8",
"address",
"uint8",
"bytes",
"bytes",
"address",
"bytes",
"address",
"uint",
"uint",
"uint",
"uint",
"uint",
], rawWyvernOrder);
// Sign the order hash and populate the signature fields (which all default to 0)
await signer
.signMessage((0, bytes_1.arrayify)(rawWyvernOrderHash))
.then((signature) => {
order = { ...order, ...(0, bytes_1.splitSignature)(signature) };
});
return order;
}
async match(relayer, buyOrder, sellOrder) {

@@ -17,0 +80,0 @@ if (buyOrder.side !== types_1.Side.BUY) {

{
"name": "@georgeroman/wyvern-v2-sdk",
"version": "0.0.2",
"version": "0.0.3",
"description": "Wyvern V2 SDK",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet