@d8x/perpetuals-sdk 0.8.23 → 0.8.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/contracts/IPerpetualManager.d.ts +2 -2
- package/dist/cjs/contracts/LimitOrderBook.d.ts +2 -2
- package/dist/cjs/referralCodeSigner.d.ts +5 -4
- package/dist/cjs/referralCodeSigner.js +18 -13
- package/dist/cjs/referralCodeSigner.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/contracts/IPerpetualManager.d.ts +2 -2
- package/dist/esm/contracts/LimitOrderBook.d.ts +2 -2
- package/dist/esm/referralCodeSigner.d.ts +5 -4
- package/dist/esm/referralCodeSigner.js +18 -13
- package/dist/esm/referralCodeSigner.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
- package/src/contracts/IPerpetualManager.ts +2 -2
- package/src/contracts/LimitOrderBook.ts +2 -2
- package/src/referralCodeSigner.ts +25 -14
- package/src/version.ts +1 -1
|
@@ -937,7 +937,7 @@ export interface IPerpetualManagerInterface extends utils.Interface {
|
|
|
937
937
|
"SettlementComplete(uint24)": EventFragment;
|
|
938
938
|
"TokensDeposited(uint24,address,int128)": EventFragment;
|
|
939
939
|
"TokensWithdrawn(uint24,address,int128)": EventFragment;
|
|
940
|
-
"Trade(uint24,address,bytes16,
|
|
940
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)": EventFragment;
|
|
941
941
|
"TransferAddressTo(string,address,address)": EventFragment;
|
|
942
942
|
"TransferEarningsToTreasury(uint8,int128,int128)": EventFragment;
|
|
943
943
|
"TransferFeeToBroker(uint24,address,int128)": EventFragment;
|
|
@@ -2388,7 +2388,7 @@ export interface IPerpetualManager extends BaseContract {
|
|
|
2388
2388
|
TokensDeposited(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensDepositedEventFilter;
|
|
2389
2389
|
"TokensWithdrawn(uint24,address,int128)"(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensWithdrawnEventFilter;
|
|
2390
2390
|
TokensWithdrawn(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensWithdrawnEventFilter;
|
|
2391
|
-
"Trade(uint24,address,bytes16,
|
|
2391
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)"(perpetualId?: BigNumberish | null, trader?: string | null, positionId?: BytesLike | null, order?: null, orderDigest?: null, newPositionSizeBC?: null, price?: null, fFeeCC?: null, fPnlCC?: null, fB2C?: null): TradeEventFilter;
|
|
2392
2392
|
Trade(perpetualId?: BigNumberish | null, trader?: string | null, positionId?: BytesLike | null, order?: null, orderDigest?: null, newPositionSizeBC?: null, price?: null, fFeeCC?: null, fPnlCC?: null, fB2C?: null): TradeEventFilter;
|
|
2393
2393
|
"TransferAddressTo(string,address,address)"(name?: null, oldOBFactory?: null, newOBFactory?: null): TransferAddressToEventFilter;
|
|
2394
2394
|
TransferAddressTo(name?: null, oldOBFactory?: null, newOBFactory?: null): TransferAddressToEventFilter;
|
|
@@ -196,7 +196,7 @@ export interface LimitOrderBookInterface extends utils.Interface {
|
|
|
196
196
|
decodeFunctionResult(functionFragment: "removeExecutor", data: BytesLike): Result;
|
|
197
197
|
events: {
|
|
198
198
|
"ExecutionFailed(uint24,address,bytes32,string)": EventFragment;
|
|
199
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
199
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)": EventFragment;
|
|
200
200
|
};
|
|
201
201
|
getEvent(nameOrSignatureOrTopic: "ExecutionFailed"): EventFragment;
|
|
202
202
|
getEvent(nameOrSignatureOrTopic: "PerpetualLimitOrderCreated"): EventFragment;
|
|
@@ -502,7 +502,7 @@ export interface LimitOrderBook extends BaseContract {
|
|
|
502
502
|
filters: {
|
|
503
503
|
"ExecutionFailed(uint24,address,bytes32,string)"(perpetualId?: BigNumberish | null, trader?: string | null, digest?: null, reason?: null): ExecutionFailedEventFilter;
|
|
504
504
|
ExecutionFailed(perpetualId?: BigNumberish | null, trader?: string | null, digest?: null, reason?: null): ExecutionFailedEventFilter;
|
|
505
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
505
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)"(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
|
|
506
506
|
PerpetualLimitOrderCreated(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
|
|
507
507
|
};
|
|
508
508
|
estimateGas: {
|
|
@@ -13,14 +13,15 @@ import type { APIReferralCodePayload, APIReferralCodeSelectionPayload } from "./
|
|
|
13
13
|
export default class ReferralCodeSigner {
|
|
14
14
|
private provider;
|
|
15
15
|
private rpcURL;
|
|
16
|
-
private
|
|
17
|
-
|
|
16
|
+
private signingFun;
|
|
17
|
+
private address;
|
|
18
|
+
constructor(signer: Signer | string | ((x: string | Uint8Array) => Promise<string>), address: string, _rpcURL: string);
|
|
18
19
|
createSignerInstance(_privateKey: string): Signer;
|
|
19
20
|
getSignatureForNewCode(rc: APIReferralCodePayload): Promise<string>;
|
|
20
21
|
getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload): Promise<string>;
|
|
21
22
|
getAddress(): Promise<string>;
|
|
22
|
-
static getSignatureForNewCode(rc: APIReferralCodePayload,
|
|
23
|
-
static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload,
|
|
23
|
+
static getSignatureForNewCode(rc: APIReferralCodePayload, signingFun: (x: string | Uint8Array) => Promise<string>): Promise<string>;
|
|
24
|
+
static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload, signingFun: (x: string | Uint8Array) => Promise<string>): Promise<string>;
|
|
24
25
|
/**
|
|
25
26
|
* Create digest for referralCodePayload that is to be signed
|
|
26
27
|
* @param rc payload
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const abi_1 = require("@ethersproject/abi");
|
|
4
|
+
const abstract_signer_1 = require("@ethersproject/abstract-signer");
|
|
4
5
|
const keccak256_1 = require("@ethersproject/keccak256");
|
|
5
6
|
const providers_1 = require("@ethersproject/providers");
|
|
6
7
|
const wallet_1 = require("@ethersproject/wallet");
|
|
@@ -16,13 +17,17 @@ const ethers_1 = require("ethers");
|
|
|
16
17
|
* one chain, unless the backend employs code transferrals
|
|
17
18
|
*/
|
|
18
19
|
class ReferralCodeSigner {
|
|
19
|
-
constructor(signer, _rpcURL) {
|
|
20
|
+
constructor(signer, address, _rpcURL) {
|
|
20
21
|
this.rpcURL = _rpcURL;
|
|
22
|
+
this.address = address;
|
|
21
23
|
if (typeof signer == "string") {
|
|
22
|
-
this.
|
|
24
|
+
this.signingFun = this.createSignerInstance(signer).signMessage;
|
|
25
|
+
}
|
|
26
|
+
else if (abstract_signer_1.Signer.isSigner(signer)) {
|
|
27
|
+
this.signingFun = signer.signMessage;
|
|
23
28
|
}
|
|
24
29
|
else {
|
|
25
|
-
this.
|
|
30
|
+
this.signingFun = signer;
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
createSignerInstance(_privateKey) {
|
|
@@ -31,32 +36,32 @@ class ReferralCodeSigner {
|
|
|
31
36
|
return wallet.connect(this.provider);
|
|
32
37
|
}
|
|
33
38
|
async getSignatureForNewCode(rc) {
|
|
34
|
-
if (this.
|
|
39
|
+
if (this.signingFun == undefined) {
|
|
35
40
|
throw Error("no signer defined, call createSignerInstance()");
|
|
36
41
|
}
|
|
37
|
-
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.
|
|
42
|
+
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
|
|
38
43
|
}
|
|
39
44
|
async getSignatureForCodeSelection(rc) {
|
|
40
|
-
if (this.
|
|
45
|
+
if (this.signingFun == undefined) {
|
|
41
46
|
throw Error("no signer defined, call createSignerInstance()");
|
|
42
47
|
}
|
|
43
|
-
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.
|
|
48
|
+
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
|
|
44
49
|
}
|
|
45
50
|
async getAddress() {
|
|
46
|
-
if (this.
|
|
51
|
+
if (this.signingFun == undefined) {
|
|
47
52
|
throw Error("no signer defined, call createSignerInstance()");
|
|
48
53
|
}
|
|
49
|
-
return
|
|
54
|
+
return this.address;
|
|
50
55
|
}
|
|
51
|
-
static async getSignatureForNewCode(rc,
|
|
56
|
+
static async getSignatureForNewCode(rc, signingFun) {
|
|
52
57
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
53
58
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
54
|
-
return await
|
|
59
|
+
return await signingFun(digestBuffer);
|
|
55
60
|
}
|
|
56
|
-
static async getSignatureForCodeSelection(rc,
|
|
61
|
+
static async getSignatureForCodeSelection(rc, signingFun) {
|
|
57
62
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
58
63
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
59
|
-
return await
|
|
64
|
+
return await signingFun(digestBuffer);
|
|
60
65
|
}
|
|
61
66
|
/**
|
|
62
67
|
* Create digest for referralCodePayload that is to be signed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":";;AAAA,4CAAqD;
|
|
1
|
+
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.8.25";
|
package/dist/cjs/version.js
CHANGED
|
@@ -937,7 +937,7 @@ export interface IPerpetualManagerInterface extends utils.Interface {
|
|
|
937
937
|
"SettlementComplete(uint24)": EventFragment;
|
|
938
938
|
"TokensDeposited(uint24,address,int128)": EventFragment;
|
|
939
939
|
"TokensWithdrawn(uint24,address,int128)": EventFragment;
|
|
940
|
-
"Trade(uint24,address,bytes16,
|
|
940
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)": EventFragment;
|
|
941
941
|
"TransferAddressTo(string,address,address)": EventFragment;
|
|
942
942
|
"TransferEarningsToTreasury(uint8,int128,int128)": EventFragment;
|
|
943
943
|
"TransferFeeToBroker(uint24,address,int128)": EventFragment;
|
|
@@ -2388,7 +2388,7 @@ export interface IPerpetualManager extends BaseContract {
|
|
|
2388
2388
|
TokensDeposited(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensDepositedEventFilter;
|
|
2389
2389
|
"TokensWithdrawn(uint24,address,int128)"(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensWithdrawnEventFilter;
|
|
2390
2390
|
TokensWithdrawn(perpetualId?: BigNumberish | null, trader?: string | null, amount?: null): TokensWithdrawnEventFilter;
|
|
2391
|
-
"Trade(uint24,address,bytes16,
|
|
2391
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)"(perpetualId?: BigNumberish | null, trader?: string | null, positionId?: BytesLike | null, order?: null, orderDigest?: null, newPositionSizeBC?: null, price?: null, fFeeCC?: null, fPnlCC?: null, fB2C?: null): TradeEventFilter;
|
|
2392
2392
|
Trade(perpetualId?: BigNumberish | null, trader?: string | null, positionId?: BytesLike | null, order?: null, orderDigest?: null, newPositionSizeBC?: null, price?: null, fFeeCC?: null, fPnlCC?: null, fB2C?: null): TradeEventFilter;
|
|
2393
2393
|
"TransferAddressTo(string,address,address)"(name?: null, oldOBFactory?: null, newOBFactory?: null): TransferAddressToEventFilter;
|
|
2394
2394
|
TransferAddressTo(name?: null, oldOBFactory?: null, newOBFactory?: null): TransferAddressToEventFilter;
|
|
@@ -196,7 +196,7 @@ export interface LimitOrderBookInterface extends utils.Interface {
|
|
|
196
196
|
decodeFunctionResult(functionFragment: "removeExecutor", data: BytesLike): Result;
|
|
197
197
|
events: {
|
|
198
198
|
"ExecutionFailed(uint24,address,bytes32,string)": EventFragment;
|
|
199
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
199
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)": EventFragment;
|
|
200
200
|
};
|
|
201
201
|
getEvent(nameOrSignatureOrTopic: "ExecutionFailed"): EventFragment;
|
|
202
202
|
getEvent(nameOrSignatureOrTopic: "PerpetualLimitOrderCreated"): EventFragment;
|
|
@@ -502,7 +502,7 @@ export interface LimitOrderBook extends BaseContract {
|
|
|
502
502
|
filters: {
|
|
503
503
|
"ExecutionFailed(uint24,address,bytes32,string)"(perpetualId?: BigNumberish | null, trader?: string | null, digest?: null, reason?: null): ExecutionFailedEventFilter;
|
|
504
504
|
ExecutionFailed(perpetualId?: BigNumberish | null, trader?: string | null, digest?: null, reason?: null): ExecutionFailedEventFilter;
|
|
505
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
505
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)"(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
|
|
506
506
|
PerpetualLimitOrderCreated(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
|
|
507
507
|
};
|
|
508
508
|
estimateGas: {
|
|
@@ -13,14 +13,15 @@ import type { APIReferralCodePayload, APIReferralCodeSelectionPayload } from "./
|
|
|
13
13
|
export default class ReferralCodeSigner {
|
|
14
14
|
private provider;
|
|
15
15
|
private rpcURL;
|
|
16
|
-
private
|
|
17
|
-
|
|
16
|
+
private signingFun;
|
|
17
|
+
private address;
|
|
18
|
+
constructor(signer: Signer | string | ((x: string | Uint8Array) => Promise<string>), address: string, _rpcURL: string);
|
|
18
19
|
createSignerInstance(_privateKey: string): Signer;
|
|
19
20
|
getSignatureForNewCode(rc: APIReferralCodePayload): Promise<string>;
|
|
20
21
|
getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload): Promise<string>;
|
|
21
22
|
getAddress(): Promise<string>;
|
|
22
|
-
static getSignatureForNewCode(rc: APIReferralCodePayload,
|
|
23
|
-
static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload,
|
|
23
|
+
static getSignatureForNewCode(rc: APIReferralCodePayload, signingFun: (x: string | Uint8Array) => Promise<string>): Promise<string>;
|
|
24
|
+
static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload, signingFun: (x: string | Uint8Array) => Promise<string>): Promise<string>;
|
|
24
25
|
/**
|
|
25
26
|
* Create digest for referralCodePayload that is to be signed
|
|
26
27
|
* @param rc payload
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { defaultAbiCoder } from "@ethersproject/abi";
|
|
2
|
+
import { Signer } from "@ethersproject/abstract-signer";
|
|
2
3
|
import { keccak256 } from "@ethersproject/keccak256";
|
|
3
4
|
import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
4
5
|
import { Wallet } from "@ethersproject/wallet";
|
|
@@ -14,13 +15,17 @@ import { ethers } from "ethers";
|
|
|
14
15
|
* one chain, unless the backend employs code transferrals
|
|
15
16
|
*/
|
|
16
17
|
export default class ReferralCodeSigner {
|
|
17
|
-
constructor(signer, _rpcURL) {
|
|
18
|
+
constructor(signer, address, _rpcURL) {
|
|
18
19
|
this.rpcURL = _rpcURL;
|
|
20
|
+
this.address = address;
|
|
19
21
|
if (typeof signer == "string") {
|
|
20
|
-
this.
|
|
22
|
+
this.signingFun = this.createSignerInstance(signer).signMessage;
|
|
23
|
+
}
|
|
24
|
+
else if (Signer.isSigner(signer)) {
|
|
25
|
+
this.signingFun = signer.signMessage;
|
|
21
26
|
}
|
|
22
27
|
else {
|
|
23
|
-
this.
|
|
28
|
+
this.signingFun = signer;
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
createSignerInstance(_privateKey) {
|
|
@@ -29,32 +34,32 @@ export default class ReferralCodeSigner {
|
|
|
29
34
|
return wallet.connect(this.provider);
|
|
30
35
|
}
|
|
31
36
|
async getSignatureForNewCode(rc) {
|
|
32
|
-
if (this.
|
|
37
|
+
if (this.signingFun == undefined) {
|
|
33
38
|
throw Error("no signer defined, call createSignerInstance()");
|
|
34
39
|
}
|
|
35
|
-
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.
|
|
40
|
+
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
|
|
36
41
|
}
|
|
37
42
|
async getSignatureForCodeSelection(rc) {
|
|
38
|
-
if (this.
|
|
43
|
+
if (this.signingFun == undefined) {
|
|
39
44
|
throw Error("no signer defined, call createSignerInstance()");
|
|
40
45
|
}
|
|
41
|
-
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.
|
|
46
|
+
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
|
|
42
47
|
}
|
|
43
48
|
async getAddress() {
|
|
44
|
-
if (this.
|
|
49
|
+
if (this.signingFun == undefined) {
|
|
45
50
|
throw Error("no signer defined, call createSignerInstance()");
|
|
46
51
|
}
|
|
47
|
-
return
|
|
52
|
+
return this.address;
|
|
48
53
|
}
|
|
49
|
-
static async getSignatureForNewCode(rc,
|
|
54
|
+
static async getSignatureForNewCode(rc, signingFun) {
|
|
50
55
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
51
56
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
52
|
-
return await
|
|
57
|
+
return await signingFun(digestBuffer);
|
|
53
58
|
}
|
|
54
|
-
static async getSignatureForCodeSelection(rc,
|
|
59
|
+
static async getSignatureForCodeSelection(rc, signingFun) {
|
|
55
60
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
56
61
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
57
|
-
return await
|
|
62
|
+
return await signingFun(digestBuffer);
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
60
65
|
* Create digest for referralCodePayload that is to be signed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export declare const D8X_SDK_VERSION = "0.8.25";
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.8.25";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d8x/perpetuals-sdk",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.25",
|
|
4
4
|
"description": "Node TypeScript SDK for D8X Perpetual Futures",
|
|
5
5
|
"author": "D8X",
|
|
6
6
|
"homepage": "https://github.com/D8-X/d8x-futures-node-sdk#readme",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@ethersproject/strings": "^5.7.0",
|
|
51
51
|
"@ethersproject/units": "^5.7.0",
|
|
52
52
|
"@ethersproject/wallet": "^5.7.0",
|
|
53
|
-
"@typechain/ethers-v5": "^11.
|
|
53
|
+
"@typechain/ethers-v5": "^11.1.1",
|
|
54
54
|
"buffer": "^6.0.3",
|
|
55
55
|
"process": "^0.11.10",
|
|
56
56
|
"typechain": "^8.2.0"
|
|
@@ -1836,7 +1836,7 @@ export interface IPerpetualManagerInterface extends utils.Interface {
|
|
|
1836
1836
|
"SettlementComplete(uint24)": EventFragment;
|
|
1837
1837
|
"TokensDeposited(uint24,address,int128)": EventFragment;
|
|
1838
1838
|
"TokensWithdrawn(uint24,address,int128)": EventFragment;
|
|
1839
|
-
"Trade(uint24,address,bytes16,
|
|
1839
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)": EventFragment;
|
|
1840
1840
|
"TransferAddressTo(string,address,address)": EventFragment;
|
|
1841
1841
|
"TransferEarningsToTreasury(uint8,int128,int128)": EventFragment;
|
|
1842
1842
|
"TransferFeeToBroker(uint24,address,int128)": EventFragment;
|
|
@@ -5351,7 +5351,7 @@ export interface IPerpetualManager extends BaseContract {
|
|
|
5351
5351
|
amount?: null
|
|
5352
5352
|
): TokensWithdrawnEventFilter;
|
|
5353
5353
|
|
|
5354
|
-
"Trade(uint24,address,bytes16,
|
|
5354
|
+
"Trade(uint24,address,bytes16,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32,int128,int128,int128,int128,int128)"(
|
|
5355
5355
|
perpetualId?: BigNumberish | null,
|
|
5356
5356
|
trader?: string | null,
|
|
5357
5357
|
positionId?: BytesLike | null,
|
|
@@ -420,7 +420,7 @@ export interface LimitOrderBookInterface extends utils.Interface {
|
|
|
420
420
|
|
|
421
421
|
events: {
|
|
422
422
|
"ExecutionFailed(uint24,address,bytes32,string)": EventFragment;
|
|
423
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
423
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)": EventFragment;
|
|
424
424
|
};
|
|
425
425
|
|
|
426
426
|
getEvent(nameOrSignatureOrTopic: "ExecutionFailed"): EventFragment;
|
|
@@ -1022,7 +1022,7 @@ export interface LimitOrderBook extends BaseContract {
|
|
|
1022
1022
|
reason?: null
|
|
1023
1023
|
): ExecutionFailedEventFilter;
|
|
1024
1024
|
|
|
1025
|
-
"PerpetualLimitOrderCreated(uint24,address,address,
|
|
1025
|
+
"PerpetualLimitOrderCreated(uint24,address,address,(uint16,uint16,uint24,address,uint32,address,uint32,uint32,uint32,address,int128,int128,int128,bytes),bytes32)"(
|
|
1026
1026
|
perpetualId?: BigNumberish | null,
|
|
1027
1027
|
trader?: string | null,
|
|
1028
1028
|
brokerAddr?: null,
|
|
@@ -19,14 +19,22 @@ import type { APIReferralCodePayload, APIReferralCodeSelectionPayload } from "./
|
|
|
19
19
|
export default class ReferralCodeSigner {
|
|
20
20
|
private provider: Provider | undefined;
|
|
21
21
|
private rpcURL: string;
|
|
22
|
-
private
|
|
22
|
+
private signingFun: (x: string | Uint8Array) => Promise<string>;
|
|
23
|
+
private address: string;
|
|
23
24
|
|
|
24
|
-
constructor(
|
|
25
|
+
constructor(
|
|
26
|
+
signer: Signer | string | ((x: string | Uint8Array) => Promise<string>),
|
|
27
|
+
address: string,
|
|
28
|
+
_rpcURL: string
|
|
29
|
+
) {
|
|
25
30
|
this.rpcURL = _rpcURL;
|
|
31
|
+
this.address = address;
|
|
26
32
|
if (typeof signer == "string") {
|
|
27
|
-
this.
|
|
33
|
+
this.signingFun = this.createSignerInstance(signer).signMessage;
|
|
34
|
+
} else if (Signer.isSigner(signer)) {
|
|
35
|
+
this.signingFun = signer.signMessage;
|
|
28
36
|
} else {
|
|
29
|
-
this.
|
|
37
|
+
this.signingFun = signer;
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
40
|
|
|
@@ -37,39 +45,42 @@ export default class ReferralCodeSigner {
|
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
public async getSignatureForNewCode(rc: APIReferralCodePayload): Promise<string> {
|
|
40
|
-
if (this.
|
|
48
|
+
if (this.signingFun == undefined) {
|
|
41
49
|
throw Error("no signer defined, call createSignerInstance()");
|
|
42
50
|
}
|
|
43
|
-
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.
|
|
51
|
+
return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
public async getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload): Promise<string> {
|
|
47
|
-
if (this.
|
|
55
|
+
if (this.signingFun == undefined) {
|
|
48
56
|
throw Error("no signer defined, call createSignerInstance()");
|
|
49
57
|
}
|
|
50
|
-
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.
|
|
58
|
+
return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
|
|
51
59
|
}
|
|
52
60
|
|
|
53
61
|
public async getAddress(): Promise<string> {
|
|
54
|
-
if (this.
|
|
62
|
+
if (this.signingFun == undefined) {
|
|
55
63
|
throw Error("no signer defined, call createSignerInstance()");
|
|
56
64
|
}
|
|
57
|
-
return
|
|
65
|
+
return this.address;
|
|
58
66
|
}
|
|
59
67
|
|
|
60
|
-
public static async getSignatureForNewCode(
|
|
68
|
+
public static async getSignatureForNewCode(
|
|
69
|
+
rc: APIReferralCodePayload,
|
|
70
|
+
signingFun: (x: string | Uint8Array) => Promise<string>
|
|
71
|
+
): Promise<string> {
|
|
61
72
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
62
73
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
63
|
-
return await
|
|
74
|
+
return await signingFun(digestBuffer);
|
|
64
75
|
}
|
|
65
76
|
|
|
66
77
|
public static async getSignatureForCodeSelection(
|
|
67
78
|
rc: APIReferralCodeSelectionPayload,
|
|
68
|
-
|
|
79
|
+
signingFun: (x: string | Uint8Array) => Promise<string>
|
|
69
80
|
): Promise<string> {
|
|
70
81
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
71
82
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
72
|
-
return await
|
|
83
|
+
return await signingFun(digestBuffer);
|
|
73
84
|
}
|
|
74
85
|
|
|
75
86
|
/**
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.8.25";
|