@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.
@@ -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,tuple,bytes32,int128,int128,int128,int128,int128)": EventFragment;
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,tuple,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;
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,tuple,bytes32)": EventFragment;
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,tuple,bytes32)"(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
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 signer;
17
- constructor(signer: Signer | string, _rpcURL: string);
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, signer: Signer): Promise<string>;
23
- static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload, signer: Signer): Promise<string>;
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.signer = this.createSignerInstance(signer);
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.signer = signer;
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.signer == undefined) {
39
+ if (this.signingFun == undefined) {
35
40
  throw Error("no signer defined, call createSignerInstance()");
36
41
  }
37
- return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signer);
42
+ return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
38
43
  }
39
44
  async getSignatureForCodeSelection(rc) {
40
- if (this.signer == undefined) {
45
+ if (this.signingFun == undefined) {
41
46
  throw Error("no signer defined, call createSignerInstance()");
42
47
  }
43
- return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signer);
48
+ return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
44
49
  }
45
50
  async getAddress() {
46
- if (this.signer == undefined) {
51
+ if (this.signingFun == undefined) {
47
52
  throw Error("no signer defined, call createSignerInstance()");
48
53
  }
49
- return await this.signer.getAddress();
54
+ return this.address;
50
55
  }
51
- static async getSignatureForNewCode(rc, signer) {
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 signer.signMessage(digestBuffer);
59
+ return await signingFun(digestBuffer);
55
60
  }
56
- static async getSignatureForCodeSelection(rc, signer) {
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 signer.signMessage(digestBuffer);
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;AAErD,wDAAqD;AACrD,wDAA2E;AAC3E,kDAA+C;AAC/C,mCAAgC;AAGhC;;;;;;;;;GASG;AACH,MAAqB,kBAAkB;IAKrC,YAAY,MAAuB,EAAE,OAAe;QAClD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;IACH,CAAC;IAEM,oBAAoB,CAAC,WAAmB;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,iCAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,eAAM,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,MAAM,IAAI,SAAS,EAAE;YAC5B,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,EAAmC;QAC3E,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC5B,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,kBAAkB,CAAC,4BAA4B,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;YAC5B,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAA0B,EAAE,MAAc;QACnF,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,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC9C,EAAmC,EACnC,MAAc;QAEd,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,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,oCAAoC,CAAC,EAA0B;QAC5E,IAAI,QAAQ,GAAG,qBAAe,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,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;QAClG,IAAI,MAAM,GAAG,IAAA,qBAAS,EACpB,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,qBAAe,CAAC;QAC/B,IAAI,MAAM,GAAG,IAAA,qBAAS,EACpB,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,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,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,eAAM,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC;gBAC5F,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,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,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;AA5ID,qCA4IC"}
1
+ {"version":3,"file":"referralCodeSigner.js","sourceRoot":"","sources":["../../src/referralCodeSigner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "0.8.23";
1
+ export declare const D8X_SDK_VERSION = "0.8.25";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.D8X_SDK_VERSION = void 0;
4
- exports.D8X_SDK_VERSION = "0.8.23";
4
+ exports.D8X_SDK_VERSION = "0.8.25";
5
5
  //# sourceMappingURL=version.js.map
@@ -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,tuple,bytes32,int128,int128,int128,int128,int128)": EventFragment;
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,tuple,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;
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,tuple,bytes32)": EventFragment;
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,tuple,bytes32)"(perpetualId?: BigNumberish | null, trader?: string | null, brokerAddr?: null, order?: null, digest?: null): PerpetualLimitOrderCreatedEventFilter;
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 signer;
17
- constructor(signer: Signer | string, _rpcURL: string);
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, signer: Signer): Promise<string>;
23
- static getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload, signer: Signer): Promise<string>;
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.signer = this.createSignerInstance(signer);
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.signer = signer;
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.signer == undefined) {
37
+ if (this.signingFun == undefined) {
33
38
  throw Error("no signer defined, call createSignerInstance()");
34
39
  }
35
- return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signer);
40
+ return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
36
41
  }
37
42
  async getSignatureForCodeSelection(rc) {
38
- if (this.signer == undefined) {
43
+ if (this.signingFun == undefined) {
39
44
  throw Error("no signer defined, call createSignerInstance()");
40
45
  }
41
- return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signer);
46
+ return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
42
47
  }
43
48
  async getAddress() {
44
- if (this.signer == undefined) {
49
+ if (this.signingFun == undefined) {
45
50
  throw Error("no signer defined, call createSignerInstance()");
46
51
  }
47
- return await this.signer.getAddress();
52
+ return this.address;
48
53
  }
49
- static async getSignatureForNewCode(rc, signer) {
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 signer.signMessage(digestBuffer);
57
+ return await signingFun(digestBuffer);
53
58
  }
54
- static async getSignatureForCodeSelection(rc, signer) {
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 signer.signMessage(digestBuffer);
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":"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"}
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;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC;;;;;;;;;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,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;QAClG,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,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,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,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC;gBAC5F,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,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;YACnF,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"}
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "0.8.23";
1
+ export declare const D8X_SDK_VERSION = "0.8.25";
@@ -1,2 +1,2 @@
1
- export const D8X_SDK_VERSION = "0.8.23";
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.23",
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.0.0",
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,tuple,bytes32,int128,int128,int128,int128,int128)": EventFragment;
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,tuple,bytes32,int128,int128,int128,int128,int128)"(
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,tuple,bytes32)": EventFragment;
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,tuple,bytes32)"(
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 signer: Signer;
22
+ private signingFun: (x: string | Uint8Array) => Promise<string>;
23
+ private address: string;
23
24
 
24
- constructor(signer: Signer | string, _rpcURL: string) {
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.signer = this.createSignerInstance(signer);
33
+ this.signingFun = this.createSignerInstance(signer).signMessage;
34
+ } else if (Signer.isSigner(signer)) {
35
+ this.signingFun = signer.signMessage;
28
36
  } else {
29
- this.signer = signer;
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.signer == undefined) {
48
+ if (this.signingFun == undefined) {
41
49
  throw Error("no signer defined, call createSignerInstance()");
42
50
  }
43
- return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signer);
51
+ return await ReferralCodeSigner.getSignatureForNewCode(rc, this.signingFun);
44
52
  }
45
53
 
46
54
  public async getSignatureForCodeSelection(rc: APIReferralCodeSelectionPayload): Promise<string> {
47
- if (this.signer == undefined) {
55
+ if (this.signingFun == undefined) {
48
56
  throw Error("no signer defined, call createSignerInstance()");
49
57
  }
50
- return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signer);
58
+ return await ReferralCodeSigner.getSignatureForCodeSelection(rc, this.signingFun);
51
59
  }
52
60
 
53
61
  public async getAddress(): Promise<string> {
54
- if (this.signer == undefined) {
62
+ if (this.signingFun == undefined) {
55
63
  throw Error("no signer defined, call createSignerInstance()");
56
64
  }
57
- return await this.signer.getAddress();
65
+ return this.address;
58
66
  }
59
67
 
60
- public static async getSignatureForNewCode(rc: APIReferralCodePayload, signer: Signer): Promise<string> {
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 signer.signMessage(digestBuffer);
74
+ return await signingFun(digestBuffer);
64
75
  }
65
76
 
66
77
  public static async getSignatureForCodeSelection(
67
78
  rc: APIReferralCodeSelectionPayload,
68
- signer: Signer
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 signer.signMessage(digestBuffer);
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.23";
1
+ export const D8X_SDK_VERSION = "0.8.25";