@d8x/perpetuals-sdk 0.8.28 → 0.8.30
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/referralCodeSigner.js +5 -5
- 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/referralCodeSigner.js +6 -6
- 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 +1 -1
- package/src/referralCodeSigner.ts +6 -6
- package/src/version.ts +1 -1
|
@@ -5,7 +5,7 @@ const abstract_signer_1 = require("@ethersproject/abstract-signer");
|
|
|
5
5
|
const keccak256_1 = require("@ethersproject/keccak256");
|
|
6
6
|
const providers_1 = require("@ethersproject/providers");
|
|
7
7
|
const wallet_1 = require("@ethersproject/wallet");
|
|
8
|
-
const
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
9
|
/**
|
|
10
10
|
* This is a 'standalone' class that deals with signatures
|
|
11
11
|
* required for referral codes:
|
|
@@ -73,7 +73,7 @@ class ReferralCodeSigner {
|
|
|
73
73
|
const traderRebateInt = Math.round(rc.traderRebatePerc * 100);
|
|
74
74
|
const referrerRebateInt = Math.round(rc.referrerRebatePerc * 100);
|
|
75
75
|
const agencyRebateInt = Math.round(rc.agencyRebatePerc * 100);
|
|
76
|
-
const agencyAddrForSignature = rc.agencyAddr == "" ?
|
|
76
|
+
const agencyAddrForSignature = rc.agencyAddr == "" ? constants_1.ZERO_ADDRESS : rc.agencyAddr;
|
|
77
77
|
let digest = (0, keccak256_1.keccak256)(abiCoder.encode(["string", "address", "address", "uint256", "uint32", "uint32", "uint32"], [
|
|
78
78
|
rc.code,
|
|
79
79
|
rc.referrerAddr,
|
|
@@ -109,13 +109,13 @@ class ReferralCodeSigner {
|
|
|
109
109
|
try {
|
|
110
110
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
111
111
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
112
|
-
const signerAddress = await
|
|
112
|
+
const signerAddress = await (0, wallet_1.verifyMessage)(digestBuffer, rc.signature);
|
|
113
113
|
if (rc.agencyAddr.toLowerCase() == signerAddress.toLowerCase()) {
|
|
114
114
|
return true;
|
|
115
115
|
}
|
|
116
116
|
else if (rc.referrerAddr == signerAddress) {
|
|
117
117
|
// without agency. We ensure agency-address is zero and no rebate for the agency
|
|
118
|
-
const zeroAgencyAddr = rc.agencyAddr == "" ||
|
|
118
|
+
const zeroAgencyAddr = rc.agencyAddr == "" || constants_1.ZERO_ADDRESS == rc.agencyAddr;
|
|
119
119
|
const zeroAgencyRebate = rc.agencyRebatePerc == 0;
|
|
120
120
|
return zeroAgencyAddr && zeroAgencyRebate;
|
|
121
121
|
}
|
|
@@ -134,7 +134,7 @@ class ReferralCodeSigner {
|
|
|
134
134
|
try {
|
|
135
135
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
136
136
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
137
|
-
const signerAddress = await
|
|
137
|
+
const signerAddress = await (0, wallet_1.verifyMessage)(digestBuffer, rc.signature);
|
|
138
138
|
return rc.traderAddr.toLowerCase() == signerAddress.toLowerCase();
|
|
139
139
|
}
|
|
140
140
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":";;AAAA,4CAAqD;AACrD,oEAAwD;AACxD,wDAAqD;AACrD,wDAA2E;AAC3E,
|
|
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.30";
|
package/dist/cjs/version.js
CHANGED
|
@@ -2,8 +2,8 @@ import { defaultAbiCoder } from "@ethersproject/abi";
|
|
|
2
2
|
import { Signer } from "@ethersproject/abstract-signer";
|
|
3
3
|
import { keccak256 } from "@ethersproject/keccak256";
|
|
4
4
|
import { StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
5
|
-
import { Wallet } from "@ethersproject/wallet";
|
|
6
|
-
import {
|
|
5
|
+
import { Wallet, verifyMessage } from "@ethersproject/wallet";
|
|
6
|
+
import { ZERO_ADDRESS } from "./constants";
|
|
7
7
|
/**
|
|
8
8
|
* This is a 'standalone' class that deals with signatures
|
|
9
9
|
* required for referral codes:
|
|
@@ -71,7 +71,7 @@ export default class ReferralCodeSigner {
|
|
|
71
71
|
const traderRebateInt = Math.round(rc.traderRebatePerc * 100);
|
|
72
72
|
const referrerRebateInt = Math.round(rc.referrerRebatePerc * 100);
|
|
73
73
|
const agencyRebateInt = Math.round(rc.agencyRebatePerc * 100);
|
|
74
|
-
const agencyAddrForSignature = rc.agencyAddr == "" ?
|
|
74
|
+
const agencyAddrForSignature = rc.agencyAddr == "" ? ZERO_ADDRESS : rc.agencyAddr;
|
|
75
75
|
let digest = keccak256(abiCoder.encode(["string", "address", "address", "uint256", "uint32", "uint32", "uint32"], [
|
|
76
76
|
rc.code,
|
|
77
77
|
rc.referrerAddr,
|
|
@@ -107,13 +107,13 @@ export default class ReferralCodeSigner {
|
|
|
107
107
|
try {
|
|
108
108
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
109
109
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
110
|
-
const signerAddress = await
|
|
110
|
+
const signerAddress = await verifyMessage(digestBuffer, rc.signature);
|
|
111
111
|
if (rc.agencyAddr.toLowerCase() == signerAddress.toLowerCase()) {
|
|
112
112
|
return true;
|
|
113
113
|
}
|
|
114
114
|
else if (rc.referrerAddr == signerAddress) {
|
|
115
115
|
// without agency. We ensure agency-address is zero and no rebate for the agency
|
|
116
|
-
const zeroAgencyAddr = rc.agencyAddr == "" ||
|
|
116
|
+
const zeroAgencyAddr = rc.agencyAddr == "" || ZERO_ADDRESS == rc.agencyAddr;
|
|
117
117
|
const zeroAgencyRebate = rc.agencyRebatePerc == 0;
|
|
118
118
|
return zeroAgencyAddr && zeroAgencyRebate;
|
|
119
119
|
}
|
|
@@ -132,7 +132,7 @@ export default class ReferralCodeSigner {
|
|
|
132
132
|
try {
|
|
133
133
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
134
134
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
135
|
-
const signerAddress = await
|
|
135
|
+
const signerAddress = await verifyMessage(digestBuffer, rc.signature);
|
|
136
136
|
return rc.traderAddr.toLowerCase() == signerAddress.toLowerCase();
|
|
137
137
|
}
|
|
138
138
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAY,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAY,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAMrC,YACE,MAAuE,EACvE,OAAe,EACf,OAAe;QAEf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC;SACjE;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;IACH,CAAC;IAEM,oBAAoB,CAAC,WAAmB;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,EAA0B;QAC5D,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAChC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,EAAmC;QAC3E,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAChC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,kBAAkB,CAAC,4BAA4B,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpF,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAChC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACxC,EAA0B,EAC1B,UAAuD;QAEvD,IAAI,MAAM,GAAG,kBAAkB,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC9C,EAAmC,EACnC,UAAuD;QAEvD,IAAI,MAAM,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,oCAAoC,CAAC,EAA0B;QAC5E,IAAI,QAAQ,GAAG,eAAe,CAAC;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC;QAC9D,MAAM,sBAAsB,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;QAClF,IAAI,MAAM,GAAG,SAAS,CACpB,QAAQ,CAAC,MAAM,CACb,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACzE;YACE,EAAE,CAAC,IAAI;YACP,EAAE,CAAC,YAAY;YACf,sBAAsB;YACtB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;YACxB,eAAe;YACf,eAAe;YACf,iBAAiB;SAClB,CACF,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,8BAA8B,CAAC,EAAmC;QAC/E,IAAI,QAAQ,GAAG,eAAe,CAAC;QAC/B,IAAI,MAAM,GAAG,SAAS,CACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CACtG,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAA0B;QAClE,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE;YACnD,OAAO,KAAK,CAAC;SACd;QACD,IAAI;YACF,IAAI,MAAM,GAAG,kBAAkB,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE;gBAC9D,OAAO,IAAI,CAAC;aACb;iBAAM,IAAI,EAAE,CAAC,YAAY,IAAI,aAAa,EAAE;gBAC3C,gFAAgF;gBAChF,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,UAAU,CAAC;gBAC5E,MAAM,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAClD,OAAO,cAAc,IAAI,gBAAgB,CAAC;aAC3C;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAmC;QACjF,IAAI,EAAE,CAAC,SAAS,IAAI,SAAS,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,EAAE;YACnD,OAAO,KAAK,CAAC;SACd;QACD,IAAI;YACF,IAAI,MAAM,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;SACnE;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF"}
|
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.30";
|
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.30";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@ import { defaultAbiCoder } from "@ethersproject/abi";
|
|
|
2
2
|
import { Signer } from "@ethersproject/abstract-signer";
|
|
3
3
|
import { keccak256 } from "@ethersproject/keccak256";
|
|
4
4
|
import { Provider, StaticJsonRpcProvider } from "@ethersproject/providers";
|
|
5
|
-
import { Wallet } from "@ethersproject/wallet";
|
|
6
|
-
import {
|
|
5
|
+
import { Wallet, verifyMessage } from "@ethersproject/wallet";
|
|
6
|
+
import { ZERO_ADDRESS } from "./constants";
|
|
7
7
|
import type { APIReferralCodePayload, APIReferralCodeSelectionPayload } from "./nodeSDKTypes";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -93,7 +93,7 @@ export default class ReferralCodeSigner {
|
|
|
93
93
|
const traderRebateInt = Math.round(rc.traderRebatePerc * 100);
|
|
94
94
|
const referrerRebateInt = Math.round(rc.referrerRebatePerc * 100);
|
|
95
95
|
const agencyRebateInt = Math.round(rc.agencyRebatePerc * 100);
|
|
96
|
-
const agencyAddrForSignature = rc.agencyAddr == "" ?
|
|
96
|
+
const agencyAddrForSignature = rc.agencyAddr == "" ? ZERO_ADDRESS : rc.agencyAddr;
|
|
97
97
|
let digest = keccak256(
|
|
98
98
|
abiCoder.encode(
|
|
99
99
|
["string", "address", "address", "uint256", "uint32", "uint32", "uint32"],
|
|
@@ -138,12 +138,12 @@ export default class ReferralCodeSigner {
|
|
|
138
138
|
try {
|
|
139
139
|
let digest = ReferralCodeSigner._referralCodeNewCodePayloadToMessage(rc);
|
|
140
140
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
141
|
-
const signerAddress = await
|
|
141
|
+
const signerAddress = await verifyMessage(digestBuffer, rc.signature);
|
|
142
142
|
if (rc.agencyAddr.toLowerCase() == signerAddress.toLowerCase()) {
|
|
143
143
|
return true;
|
|
144
144
|
} else if (rc.referrerAddr == signerAddress) {
|
|
145
145
|
// without agency. We ensure agency-address is zero and no rebate for the agency
|
|
146
|
-
const zeroAgencyAddr = rc.agencyAddr == "" ||
|
|
146
|
+
const zeroAgencyAddr = rc.agencyAddr == "" || ZERO_ADDRESS == rc.agencyAddr;
|
|
147
147
|
const zeroAgencyRebate = rc.agencyRebatePerc == 0;
|
|
148
148
|
return zeroAgencyAddr && zeroAgencyRebate;
|
|
149
149
|
} else {
|
|
@@ -161,7 +161,7 @@ export default class ReferralCodeSigner {
|
|
|
161
161
|
try {
|
|
162
162
|
let digest = ReferralCodeSigner._codeSelectionPayloadToMessage(rc);
|
|
163
163
|
let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
|
|
164
|
-
const signerAddress = await
|
|
164
|
+
const signerAddress = await verifyMessage(digestBuffer, rc.signature);
|
|
165
165
|
return rc.traderAddr.toLowerCase() == signerAddress.toLowerCase();
|
|
166
166
|
} catch (err) {
|
|
167
167
|
return false;
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const D8X_SDK_VERSION = "0.8.
|
|
1
|
+
export const D8X_SDK_VERSION = "0.8.30";
|