@drift-labs/sdk 2.98.0-beta.7 → 2.98.0-beta.9
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/VERSION +1 -1
- package/lib/browser/driftClient.js +6 -5
- package/lib/browser/events/types.d.ts +1 -1
- package/lib/browser/idl/drift.json +0 -9
- package/lib/browser/types.d.ts +1 -0
- package/lib/browser/util/digest.d.ts +3 -0
- package/lib/browser/util/digest.js +10 -0
- package/lib/node/driftClient.js +6 -5
- package/lib/node/events/types.d.ts +1 -1
- package/lib/node/idl/drift.json +0 -9
- package/lib/node/types.d.ts +1 -0
- package/lib/node/util/digest.d.ts +3 -0
- package/lib/node/util/digest.js +10 -0
- package/package.json +1 -1
- package/src/driftClient.ts +5 -5
- package/src/events/types.ts +2 -1
- package/src/idl/drift.json +0 -9
- package/src/types.ts +1 -0
- package/src/util/digest.ts +7 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.98.0-beta.
|
|
1
|
+
2.98.0-beta.9
|
|
@@ -69,6 +69,7 @@ const pyth_solana_receiver_json_1 = __importDefault(require("./idl/pyth_solana_r
|
|
|
69
69
|
const on_demand_1 = require("@switchboard-xyz/on-demand");
|
|
70
70
|
const grpcDriftClientAccountSubscriber_1 = require("./accounts/grpcDriftClientAccountSubscriber");
|
|
71
71
|
const tweetnacl_1 = __importDefault(require("tweetnacl"));
|
|
72
|
+
const digest_1 = require("./util/digest");
|
|
72
73
|
/**
|
|
73
74
|
* # DriftClient
|
|
74
75
|
* This class is the main way to interact with Drift Protocol. It allows you to subscribe to the various accounts where the Market's state is stored, as well as: opening positions, liquidating, settling funding, depositing & withdrawing, and more.
|
|
@@ -3006,11 +3007,11 @@ class DriftClient {
|
|
|
3006
3007
|
};
|
|
3007
3008
|
}
|
|
3008
3009
|
signSwiftServerMessage(message) {
|
|
3009
|
-
const swiftServerMessage = Uint8Array.from(this.encodeSwiftServerMessage(message));
|
|
3010
|
+
const swiftServerMessage = Uint8Array.from((0, digest_1.digest)(this.encodeSwiftServerMessage(message)));
|
|
3010
3011
|
return this.signMessage(swiftServerMessage);
|
|
3011
3012
|
}
|
|
3012
3013
|
signSwiftOrderParamsMessage(orderParamsMessage) {
|
|
3013
|
-
const takerOrderParamsMessage = Uint8Array.from(this.encodeSwiftOrderParamsMessage(orderParamsMessage));
|
|
3014
|
+
const takerOrderParamsMessage = Uint8Array.from((0, digest_1.digest)(this.encodeSwiftOrderParamsMessage(orderParamsMessage)));
|
|
3014
3015
|
return this.signMessage(takerOrderParamsMessage);
|
|
3015
3016
|
}
|
|
3016
3017
|
encodeSwiftOrderParamsMessage(orderParamsMessage) {
|
|
@@ -3036,14 +3037,14 @@ class DriftClient {
|
|
|
3036
3037
|
const swiftServerSignatureIx = web3_js_1.Ed25519Program.createInstructionWithPublicKey({
|
|
3037
3038
|
publicKey: new web3_js_1.PublicKey(this.swiftID).toBytes(),
|
|
3038
3039
|
signature: Uint8Array.from(swiftSignature),
|
|
3039
|
-
message: Uint8Array.from(encodedSwiftServerMessage),
|
|
3040
|
+
message: Uint8Array.from((0, digest_1.digest)(encodedSwiftServerMessage)),
|
|
3040
3041
|
});
|
|
3041
3042
|
const swiftOrderParamsSignatureIx = web3_js_1.Ed25519Program.createInstructionWithPublicKey({
|
|
3042
3043
|
publicKey: takerInfo.takerUserAccount.authority.toBytes(),
|
|
3043
3044
|
signature: Uint8Array.from(swiftOrderParamsSignature),
|
|
3044
|
-
message: Uint8Array.from(encodedSwiftOrderParamsMessage),
|
|
3045
|
+
message: Uint8Array.from((0, digest_1.digest)(encodedSwiftOrderParamsMessage)),
|
|
3045
3046
|
});
|
|
3046
|
-
const placeTakerSwiftPerpOrderIx = await this.program.instruction.placeSwiftTakerOrder(encodedSwiftServerMessage, encodedSwiftOrderParamsMessage,
|
|
3047
|
+
const placeTakerSwiftPerpOrderIx = await this.program.instruction.placeSwiftTakerOrder(encodedSwiftServerMessage, encodedSwiftOrderParamsMessage, {
|
|
3047
3048
|
accounts: {
|
|
3048
3049
|
state: await this.getStatePublicKey(),
|
|
3049
3050
|
user: takerInfo.taker,
|
|
@@ -44,7 +44,7 @@ export type EventMap = {
|
|
|
44
44
|
SwiftOrderRecord: Event<SwiftOrderRecord>;
|
|
45
45
|
};
|
|
46
46
|
export type EventType = keyof EventMap;
|
|
47
|
-
export type DriftEvent = Event<DepositRecord> | Event<FundingPaymentRecord> | Event<LiquidationRecord> | Event<FundingRateRecord> | Event<OrderRecord> | Event<OrderActionRecord> | Event<SettlePnlRecord> | Event<NewUserRecord> | Event<LPRecord> | Event<InsuranceFundRecord> | Event<SpotInterestRecord> | Event<InsuranceFundStakeRecord> | Event<CurveRecord> | Event<SwapRecord> | Event<SpotMarketVaultDepositRecord>;
|
|
47
|
+
export type DriftEvent = Event<DepositRecord> | Event<FundingPaymentRecord> | Event<LiquidationRecord> | Event<FundingRateRecord> | Event<OrderRecord> | Event<OrderActionRecord> | Event<SettlePnlRecord> | Event<NewUserRecord> | Event<LPRecord> | Event<InsuranceFundRecord> | Event<SpotInterestRecord> | Event<InsuranceFundStakeRecord> | Event<CurveRecord> | Event<SwapRecord> | Event<SpotMarketVaultDepositRecord> | Event<SwiftOrderRecord>;
|
|
48
48
|
export interface EventSubscriberEvents {
|
|
49
49
|
newEvent: (event: WrappedEvent<EventType>) => void;
|
|
50
50
|
}
|
package/lib/browser/types.d.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.digest = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
function digest(data) {
|
|
6
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
7
|
+
hash.update(data);
|
|
8
|
+
return hash.digest();
|
|
9
|
+
}
|
|
10
|
+
exports.digest = digest;
|
package/lib/node/driftClient.js
CHANGED
|
@@ -69,6 +69,7 @@ const pyth_solana_receiver_json_1 = __importDefault(require("./idl/pyth_solana_r
|
|
|
69
69
|
const on_demand_1 = require("@switchboard-xyz/on-demand");
|
|
70
70
|
const grpcDriftClientAccountSubscriber_1 = require("./accounts/grpcDriftClientAccountSubscriber");
|
|
71
71
|
const tweetnacl_1 = __importDefault(require("tweetnacl"));
|
|
72
|
+
const digest_1 = require("./util/digest");
|
|
72
73
|
/**
|
|
73
74
|
* # DriftClient
|
|
74
75
|
* This class is the main way to interact with Drift Protocol. It allows you to subscribe to the various accounts where the Market's state is stored, as well as: opening positions, liquidating, settling funding, depositing & withdrawing, and more.
|
|
@@ -3006,11 +3007,11 @@ class DriftClient {
|
|
|
3006
3007
|
};
|
|
3007
3008
|
}
|
|
3008
3009
|
signSwiftServerMessage(message) {
|
|
3009
|
-
const swiftServerMessage = Uint8Array.from(this.encodeSwiftServerMessage(message));
|
|
3010
|
+
const swiftServerMessage = Uint8Array.from((0, digest_1.digest)(this.encodeSwiftServerMessage(message)));
|
|
3010
3011
|
return this.signMessage(swiftServerMessage);
|
|
3011
3012
|
}
|
|
3012
3013
|
signSwiftOrderParamsMessage(orderParamsMessage) {
|
|
3013
|
-
const takerOrderParamsMessage = Uint8Array.from(this.encodeSwiftOrderParamsMessage(orderParamsMessage));
|
|
3014
|
+
const takerOrderParamsMessage = Uint8Array.from((0, digest_1.digest)(this.encodeSwiftOrderParamsMessage(orderParamsMessage)));
|
|
3014
3015
|
return this.signMessage(takerOrderParamsMessage);
|
|
3015
3016
|
}
|
|
3016
3017
|
encodeSwiftOrderParamsMessage(orderParamsMessage) {
|
|
@@ -3036,14 +3037,14 @@ class DriftClient {
|
|
|
3036
3037
|
const swiftServerSignatureIx = web3_js_1.Ed25519Program.createInstructionWithPublicKey({
|
|
3037
3038
|
publicKey: new web3_js_1.PublicKey(this.swiftID).toBytes(),
|
|
3038
3039
|
signature: Uint8Array.from(swiftSignature),
|
|
3039
|
-
message: Uint8Array.from(encodedSwiftServerMessage),
|
|
3040
|
+
message: Uint8Array.from((0, digest_1.digest)(encodedSwiftServerMessage)),
|
|
3040
3041
|
});
|
|
3041
3042
|
const swiftOrderParamsSignatureIx = web3_js_1.Ed25519Program.createInstructionWithPublicKey({
|
|
3042
3043
|
publicKey: takerInfo.takerUserAccount.authority.toBytes(),
|
|
3043
3044
|
signature: Uint8Array.from(swiftOrderParamsSignature),
|
|
3044
|
-
message: Uint8Array.from(encodedSwiftOrderParamsMessage),
|
|
3045
|
+
message: Uint8Array.from((0, digest_1.digest)(encodedSwiftOrderParamsMessage)),
|
|
3045
3046
|
});
|
|
3046
|
-
const placeTakerSwiftPerpOrderIx = await this.program.instruction.placeSwiftTakerOrder(encodedSwiftServerMessage, encodedSwiftOrderParamsMessage,
|
|
3047
|
+
const placeTakerSwiftPerpOrderIx = await this.program.instruction.placeSwiftTakerOrder(encodedSwiftServerMessage, encodedSwiftOrderParamsMessage, {
|
|
3047
3048
|
accounts: {
|
|
3048
3049
|
state: await this.getStatePublicKey(),
|
|
3049
3050
|
user: takerInfo.taker,
|
|
@@ -44,7 +44,7 @@ export type EventMap = {
|
|
|
44
44
|
SwiftOrderRecord: Event<SwiftOrderRecord>;
|
|
45
45
|
};
|
|
46
46
|
export type EventType = keyof EventMap;
|
|
47
|
-
export type DriftEvent = Event<DepositRecord> | Event<FundingPaymentRecord> | Event<LiquidationRecord> | Event<FundingRateRecord> | Event<OrderRecord> | Event<OrderActionRecord> | Event<SettlePnlRecord> | Event<NewUserRecord> | Event<LPRecord> | Event<InsuranceFundRecord> | Event<SpotInterestRecord> | Event<InsuranceFundStakeRecord> | Event<CurveRecord> | Event<SwapRecord> | Event<SpotMarketVaultDepositRecord>;
|
|
47
|
+
export type DriftEvent = Event<DepositRecord> | Event<FundingPaymentRecord> | Event<LiquidationRecord> | Event<FundingRateRecord> | Event<OrderRecord> | Event<OrderActionRecord> | Event<SettlePnlRecord> | Event<NewUserRecord> | Event<LPRecord> | Event<InsuranceFundRecord> | Event<SpotInterestRecord> | Event<InsuranceFundStakeRecord> | Event<CurveRecord> | Event<SwapRecord> | Event<SpotMarketVaultDepositRecord> | Event<SwiftOrderRecord>;
|
|
48
48
|
export interface EventSubscriberEvents {
|
|
49
49
|
newEvent: (event: WrappedEvent<EventType>) => void;
|
|
50
50
|
}
|
package/lib/node/idl/drift.json
CHANGED
package/lib/node/types.d.ts
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.digest = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
function digest(data) {
|
|
6
|
+
const hash = (0, crypto_1.createHash)('sha256');
|
|
7
|
+
hash.update(data);
|
|
8
|
+
return hash.digest();
|
|
9
|
+
}
|
|
10
|
+
exports.digest = digest;
|
package/package.json
CHANGED
package/src/driftClient.ts
CHANGED
|
@@ -169,6 +169,7 @@ import pythSolanaReceiverIdl from './idl/pyth_solana_receiver.json';
|
|
|
169
169
|
import { asV0Tx, PullFeed } from '@switchboard-xyz/on-demand';
|
|
170
170
|
import { gprcDriftClientAccountSubscriber } from './accounts/grpcDriftClientAccountSubscriber';
|
|
171
171
|
import nacl from 'tweetnacl';
|
|
172
|
+
import { digest } from './util/digest';
|
|
172
173
|
|
|
173
174
|
type RemainingAccountParams = {
|
|
174
175
|
userAccounts: UserAccount[];
|
|
@@ -5545,7 +5546,7 @@ export class DriftClient {
|
|
|
5545
5546
|
|
|
5546
5547
|
public signSwiftServerMessage(message: SwiftServerMessage): Buffer {
|
|
5547
5548
|
const swiftServerMessage = Uint8Array.from(
|
|
5548
|
-
this.encodeSwiftServerMessage(message)
|
|
5549
|
+
digest(this.encodeSwiftServerMessage(message))
|
|
5549
5550
|
);
|
|
5550
5551
|
return this.signMessage(swiftServerMessage);
|
|
5551
5552
|
}
|
|
@@ -5554,7 +5555,7 @@ export class DriftClient {
|
|
|
5554
5555
|
orderParamsMessage: SwiftOrderParamsMessage
|
|
5555
5556
|
): Buffer {
|
|
5556
5557
|
const takerOrderParamsMessage = Uint8Array.from(
|
|
5557
|
-
this.encodeSwiftOrderParamsMessage(orderParamsMessage)
|
|
5558
|
+
digest(this.encodeSwiftOrderParamsMessage(orderParamsMessage))
|
|
5558
5559
|
);
|
|
5559
5560
|
return this.signMessage(takerOrderParamsMessage);
|
|
5560
5561
|
}
|
|
@@ -5635,21 +5636,20 @@ export class DriftClient {
|
|
|
5635
5636
|
Ed25519Program.createInstructionWithPublicKey({
|
|
5636
5637
|
publicKey: new PublicKey(this.swiftID).toBytes(),
|
|
5637
5638
|
signature: Uint8Array.from(swiftSignature),
|
|
5638
|
-
message: Uint8Array.from(encodedSwiftServerMessage),
|
|
5639
|
+
message: Uint8Array.from(digest(encodedSwiftServerMessage)),
|
|
5639
5640
|
});
|
|
5640
5641
|
|
|
5641
5642
|
const swiftOrderParamsSignatureIx =
|
|
5642
5643
|
Ed25519Program.createInstructionWithPublicKey({
|
|
5643
5644
|
publicKey: takerInfo.takerUserAccount.authority.toBytes(),
|
|
5644
5645
|
signature: Uint8Array.from(swiftOrderParamsSignature),
|
|
5645
|
-
message: Uint8Array.from(encodedSwiftOrderParamsMessage),
|
|
5646
|
+
message: Uint8Array.from(digest(encodedSwiftOrderParamsMessage)),
|
|
5646
5647
|
});
|
|
5647
5648
|
|
|
5648
5649
|
const placeTakerSwiftPerpOrderIx =
|
|
5649
5650
|
await this.program.instruction.placeSwiftTakerOrder(
|
|
5650
5651
|
encodedSwiftServerMessage,
|
|
5651
5652
|
encodedSwiftOrderParamsMessage,
|
|
5652
|
-
swiftSignature,
|
|
5653
5653
|
{
|
|
5654
5654
|
accounts: {
|
|
5655
5655
|
state: await this.getStatePublicKey(),
|
package/src/events/types.ts
CHANGED
|
@@ -114,7 +114,8 @@ export type DriftEvent =
|
|
|
114
114
|
| Event<InsuranceFundStakeRecord>
|
|
115
115
|
| Event<CurveRecord>
|
|
116
116
|
| Event<SwapRecord>
|
|
117
|
-
| Event<SpotMarketVaultDepositRecord
|
|
117
|
+
| Event<SpotMarketVaultDepositRecord>
|
|
118
|
+
| Event<SwiftOrderRecord>;
|
|
118
119
|
|
|
119
120
|
export interface EventSubscriberEvents {
|
|
120
121
|
newEvent: (event: WrappedEvent<EventType>) => void;
|
package/src/idl/drift.json
CHANGED
package/src/types.ts
CHANGED