@triadxyz/triad-protocol 0.5.8-beta.devnet → 0.5.9-beta.devnet
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/trade.js
CHANGED
|
@@ -111,7 +111,20 @@ class Trade {
|
|
|
111
111
|
openOrder(marketId, args, options) {
|
|
112
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
113
|
const marketPDA = (0, helpers_1.getMarketAddressSync)(this.program.programId, marketId);
|
|
114
|
-
const
|
|
114
|
+
const ixs = [];
|
|
115
|
+
try {
|
|
116
|
+
const userTradePDA = (0, helpers_1.getUserTradeAddressSync)(this.program.programId, this.provider.publicKey);
|
|
117
|
+
this.program.account.userTrade.fetch(userTradePDA);
|
|
118
|
+
}
|
|
119
|
+
catch (_a) {
|
|
120
|
+
ixs.push(yield this.program.methods
|
|
121
|
+
.createUserTrade()
|
|
122
|
+
.accounts({
|
|
123
|
+
signer: this.provider.publicKey
|
|
124
|
+
})
|
|
125
|
+
.instruction());
|
|
126
|
+
}
|
|
127
|
+
ixs.push(yield this.program.methods
|
|
115
128
|
.openOrder({
|
|
116
129
|
amount: new bn_js_1.default(args.amount / Math.pow(10, constants_1.TRD_DECIMALS)),
|
|
117
130
|
direction: args.direction,
|
|
@@ -119,21 +132,28 @@ class Trade {
|
|
|
119
132
|
limitPrice: args.limitPrice
|
|
120
133
|
? new bn_js_1.default(args.limitPrice / Math.pow(10, constants_1.TRD_DECIMALS))
|
|
121
134
|
: undefined,
|
|
122
|
-
comment: (0, helpers_1.encodeString)(args.comment, 64)
|
|
135
|
+
comment: args.comment ? (0, helpers_1.encodeString)(args.comment, 64) : undefined
|
|
123
136
|
})
|
|
124
137
|
.accounts({
|
|
125
138
|
signer: this.provider.publicKey,
|
|
126
139
|
market: marketPDA,
|
|
127
|
-
mint: constants_1.
|
|
128
|
-
})
|
|
140
|
+
mint: constants_1.TRD_MINT_DEVNET
|
|
141
|
+
})
|
|
142
|
+
.instruction());
|
|
129
143
|
if (options === null || options === void 0 ? void 0 : options.microLamports) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
})
|
|
134
|
-
]);
|
|
144
|
+
ixs.push(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
145
|
+
microLamports: options.microLamports
|
|
146
|
+
}));
|
|
135
147
|
}
|
|
136
|
-
|
|
148
|
+
const { blockhash } = yield this.provider.connection.getLatestBlockhash();
|
|
149
|
+
return this.provider.sendAndConfirm(new web3_js_1.VersionedTransaction(new web3_js_1.TransactionMessage({
|
|
150
|
+
instructions: ixs,
|
|
151
|
+
recentBlockhash: blockhash,
|
|
152
|
+
payerKey: this.provider.publicKey
|
|
153
|
+
}).compileToV0Message()), [], {
|
|
154
|
+
skipPreflight: options === null || options === void 0 ? void 0 : options.skipPreflight,
|
|
155
|
+
commitment: 'confirmed'
|
|
156
|
+
});
|
|
137
157
|
});
|
|
138
158
|
}
|
|
139
159
|
}
|
|
@@ -164,6 +164,38 @@
|
|
|
164
164
|
}
|
|
165
165
|
]
|
|
166
166
|
},
|
|
167
|
+
{
|
|
168
|
+
"name": "create_user_trade",
|
|
169
|
+
"discriminator": [232, 235, 58, 194, 135, 248, 153, 1],
|
|
170
|
+
"accounts": [
|
|
171
|
+
{
|
|
172
|
+
"name": "signer",
|
|
173
|
+
"writable": true,
|
|
174
|
+
"signer": true
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "user_trade",
|
|
178
|
+
"writable": true,
|
|
179
|
+
"pda": {
|
|
180
|
+
"seeds": [
|
|
181
|
+
{
|
|
182
|
+
"kind": "const",
|
|
183
|
+
"value": [117, 115, 101, 114, 95, 116, 114, 97, 100, 101]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"kind": "account",
|
|
187
|
+
"path": "signer"
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "system_program",
|
|
194
|
+
"address": "11111111111111111111111111111111"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"args": []
|
|
198
|
+
},
|
|
167
199
|
{
|
|
168
200
|
"name": "initialize_market",
|
|
169
201
|
"discriminator": [35, 35, 189, 193, 155, 48, 170, 203],
|
|
@@ -228,6 +228,38 @@ export type TriadProtocol = {
|
|
|
228
228
|
}
|
|
229
229
|
];
|
|
230
230
|
},
|
|
231
|
+
{
|
|
232
|
+
name: 'createUserTrade';
|
|
233
|
+
discriminator: [232, 235, 58, 194, 135, 248, 153, 1];
|
|
234
|
+
accounts: [
|
|
235
|
+
{
|
|
236
|
+
name: 'signer';
|
|
237
|
+
writable: true;
|
|
238
|
+
signer: true;
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: 'userTrade';
|
|
242
|
+
writable: true;
|
|
243
|
+
pda: {
|
|
244
|
+
seeds: [
|
|
245
|
+
{
|
|
246
|
+
kind: 'const';
|
|
247
|
+
value: [117, 115, 101, 114, 95, 116, 114, 97, 100, 101];
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
kind: 'account';
|
|
251
|
+
path: 'signer';
|
|
252
|
+
}
|
|
253
|
+
];
|
|
254
|
+
};
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
name: 'systemProgram';
|
|
258
|
+
address: '11111111111111111111111111111111';
|
|
259
|
+
}
|
|
260
|
+
];
|
|
261
|
+
args: [];
|
|
262
|
+
},
|
|
231
263
|
{
|
|
232
264
|
name: 'initializeMarket';
|
|
233
265
|
discriminator: [35, 35, 189, 193, 155, 48, 170, 203];
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const encodeString: (value: string, alloc?: number) => number[];
|
|
|
6
6
|
export declare const decodeString: (bytes: number[]) => string;
|
|
7
7
|
export declare const getMarketAddressSync: (programId: PublicKey, marketId: number) => PublicKey;
|
|
8
8
|
export declare const getFeeVaultAddressSync: (programId: PublicKey, market: PublicKey) => PublicKey;
|
|
9
|
+
export declare const getUserTradeAddressSync: (programId: PublicKey, wallet: PublicKey) => PublicKey;
|
|
9
10
|
export declare const getStakeVaultAddressSync: (programId: PublicKey, vaultName: string) => PublicKey;
|
|
10
11
|
export declare const getStakeAddressSync: (programId: PublicKey, wallet: PublicKey, name: string) => PublicKey;
|
|
11
12
|
export declare const getNFTRewardsAddressSync: (programId: PublicKey, stake: PublicKey) => PublicKey;
|
package/dist/utils/helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.calculateAPR = exports.calculateTotalMultiplier = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.formatNumber = exports.getUserAddressSync = exports.getATASync = exports.getNFTRewardsAddressSync = exports.getStakeAddressSync = exports.getStakeVaultAddressSync = exports.getFeeVaultAddressSync = exports.getMarketAddressSync = exports.decodeString = exports.encodeString = exports.getTickerAddressSync = void 0;
|
|
6
|
+
exports.calculateAPR = exports.calculateTotalMultiplier = exports.formatUser = exports.formatStake = exports.formatStakeVault = exports.formatNumber = exports.getUserAddressSync = exports.getATASync = exports.getNFTRewardsAddressSync = exports.getStakeAddressSync = exports.getStakeVaultAddressSync = exports.getUserTradeAddressSync = exports.getFeeVaultAddressSync = exports.getMarketAddressSync = exports.decodeString = exports.encodeString = exports.getTickerAddressSync = void 0;
|
|
7
7
|
const stake_1 = require("./../types/stake");
|
|
8
8
|
const web3_js_1 = require("@solana/web3.js");
|
|
9
9
|
const bn_js_1 = __importDefault(require("bn.js"));
|
|
@@ -35,6 +35,11 @@ const getFeeVaultAddressSync = (programId, market) => {
|
|
|
35
35
|
return FeeVaultPDA;
|
|
36
36
|
};
|
|
37
37
|
exports.getFeeVaultAddressSync = getFeeVaultAddressSync;
|
|
38
|
+
const getUserTradeAddressSync = (programId, wallet) => {
|
|
39
|
+
const [UserTradePDA] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('user_trade'), wallet.toBuffer()], programId);
|
|
40
|
+
return UserTradePDA;
|
|
41
|
+
};
|
|
42
|
+
exports.getUserTradeAddressSync = getUserTradeAddressSync;
|
|
38
43
|
const getStakeVaultAddressSync = (programId, vaultName) => {
|
|
39
44
|
const [StakeVaultPDA] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('stake_vault'), Buffer.from(vaultName)], programId);
|
|
40
45
|
return StakeVaultPDA;
|