@symmetry-hq/temp-v3-sdk 0.0.29 → 0.0.31

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.
@@ -61,12 +61,12 @@ export declare enum TaskType {
61
61
  EditDepositsSettings = 8,
62
62
  EditForceRebalanceSettings = 9,
63
63
  EditCustomRebalanceSettings = 10,
64
- EditAddTokenDelay = 11,
65
- EditUpdateWeightsDelay = 12,
66
- EditMakeDirectSwapDelay = 13,
67
- AddToken = 14,
68
- UpdateWeights = 15,
69
- MakeDirectSwap = 16
64
+ EditAddTokenDelay = 101,
65
+ EditUpdateWeightsDelay = 102,
66
+ EditMakeDirectSwapDelay = 103,
67
+ AddToken = 201,
68
+ UpdateWeights = 202,
69
+ MakeDirectSwap = 203
70
70
  }
71
71
  export declare function taskTypeFromU8(value: number): TaskType;
72
72
  export interface TaskContext {
@@ -165,6 +165,8 @@ export interface EditMakeDirectSwapSettings {
165
165
  }
166
166
  export interface OracleInput {
167
167
  oracle_type: FormattedOracleType;
168
+ account_lut_id: number;
169
+ account_lut_index: number;
168
170
  account: string;
169
171
  num_required_accounts: number;
170
172
  weight: number;
@@ -38,13 +38,16 @@ var TaskType;
38
38
  TaskType[TaskType["EditDepositsSettings"] = 8] = "EditDepositsSettings";
39
39
  TaskType[TaskType["EditForceRebalanceSettings"] = 9] = "EditForceRebalanceSettings";
40
40
  TaskType[TaskType["EditCustomRebalanceSettings"] = 10] = "EditCustomRebalanceSettings";
41
- TaskType[TaskType["EditAddTokenDelay"] = 11] = "EditAddTokenDelay";
42
- TaskType[TaskType["EditUpdateWeightsDelay"] = 12] = "EditUpdateWeightsDelay";
43
- TaskType[TaskType["EditMakeDirectSwapDelay"] = 13] = "EditMakeDirectSwapDelay";
44
- TaskType[TaskType["AddToken"] = 14] = "AddToken";
45
- TaskType[TaskType["UpdateWeights"] = 15] = "UpdateWeights";
46
- TaskType[TaskType["MakeDirectSwap"] = 16] = "MakeDirectSwap";
41
+ TaskType[TaskType["EditAddTokenDelay"] = 101] = "EditAddTokenDelay";
42
+ TaskType[TaskType["EditUpdateWeightsDelay"] = 102] = "EditUpdateWeightsDelay";
43
+ TaskType[TaskType["EditMakeDirectSwapDelay"] = 103] = "EditMakeDirectSwapDelay";
44
+ TaskType[TaskType["AddToken"] = 201] = "AddToken";
45
+ TaskType[TaskType["UpdateWeights"] = 202] = "UpdateWeights";
46
+ TaskType[TaskType["MakeDirectSwap"] = 203] = "MakeDirectSwap";
47
47
  })(TaskType || (exports.TaskType = TaskType = {}));
48
+ // Maps raw u8 values from on-chain Borsh-serialized storage to TaskType enum.
49
+ // The on-chain program uses sequential Borsh discriminants (11-16) for storage,
50
+ // but the SDK enum uses non-sequential values (101-103, 201-203) for instruction input.
48
51
  function taskTypeFromU8(value) {
49
52
  switch (value) {
50
53
  case 1: return TaskType.EditCreator;
@@ -57,12 +60,12 @@ function taskTypeFromU8(value) {
57
60
  case 8: return TaskType.EditDepositsSettings;
58
61
  case 9: return TaskType.EditForceRebalanceSettings;
59
62
  case 10: return TaskType.EditCustomRebalanceSettings;
60
- case 11: return TaskType.EditAddTokenDelay;
61
- case 12: return TaskType.EditUpdateWeightsDelay;
62
- case 13: return TaskType.EditMakeDirectSwapDelay;
63
- case 14: return TaskType.AddToken;
64
- case 15: return TaskType.UpdateWeights;
65
- case 16: return TaskType.MakeDirectSwap;
63
+ case 101: return TaskType.EditAddTokenDelay;
64
+ case 102: return TaskType.EditUpdateWeightsDelay;
65
+ case 103: return TaskType.EditMakeDirectSwapDelay;
66
+ case 201: return TaskType.AddToken;
67
+ case 202: return TaskType.UpdateWeights;
68
+ case 203: return TaskType.MakeDirectSwap;
66
69
  default: return TaskType.Unknown;
67
70
  }
68
71
  }
@@ -220,6 +220,8 @@ function addFieldsToBasket(basket) {
220
220
  oracles: asset.oracleAggregator.oracles.map(oracle => ({
221
221
  oracle_settings: {
222
222
  oracle_type: oracle_1.ORACLE_TYPES_STRINGS[oracle.oracleSettings.oracleType],
223
+ account_lut_id: oracle.accountsToLoadLutIds[0],
224
+ account_lut_index: oracle.accountsToLoadLutIndices[0],
223
225
  account: lookup_tables.active[oracle.accountsToLoadLutIds[0]].contents[oracle.accountsToLoadLutIndices[0]],
224
226
  num_required_accounts: oracle.oracleSettings.numRequiredAccounts,
225
227
  weight: oracle.oracleSettings.weight,
@@ -22,7 +22,7 @@ const anchor_1 = require("@coral-xyz/anchor");
22
22
  const oracle_1 = require("../../layouts/oracle");
23
23
  const fraction_1 = require("../../layouts/fraction");
24
24
  function decodeTaskDataForType(intent) {
25
- let taskType = intent.taskType;
25
+ let taskType = (0, intent_1.taskTypeFromU8)(intent.taskType);
26
26
  let taskData = intent.taskData;
27
27
  switch (taskType) {
28
28
  case intent_1.TaskType.EditCreator:
@@ -185,6 +185,8 @@ function decodeTaskDataForType(intent) {
185
185
  conf_multiplier: (0, fraction_1.fractionToDecimal)(oracleAggregator.confMultiplier).toNumber(),
186
186
  oracles: oracleAggregator.oracles.slice(0, oracleAggregator.numOracles).map(oracle => ({
187
187
  oracle_type: oracle_1.ORACLE_TYPES_STRINGS[oracle.oracleSettings.oracleType],
188
+ account_lut_id: oracle.accountsToLoadLutIds[0],
189
+ account_lut_index: oracle.accountsToLoadLutIndices[0],
188
190
  account: "",
189
191
  num_required_accounts: oracle.oracleSettings.numRequiredAccounts,
190
192
  weight: oracle.oracleSettings.weight,
package/dist/test.js CHANGED
@@ -12,11 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const web3_js_1 = require("@solana/web3.js");
13
13
  const anchor_1 = require("@coral-xyz/anchor");
14
14
  const src_1 = require("./src");
15
+ let kp = Array.from(web3_js_1.Keypair.generate().secretKey);
15
16
  let connection = new web3_js_1.Connection("https://api.devnet.solana.com");
16
17
  function testStates() {
17
18
  return __awaiter(this, void 0, void 0, function* () {
18
19
  return;
19
- let kp = Array.from(web3_js_1.Keypair.generate().secretKey);
20
20
  let wallet = new anchor_1.Wallet(web3_js_1.Keypair.fromSecretKey(new Uint8Array(kp)));
21
21
  console.log(wallet.publicKey.toBase58());
22
22
  let sdk = new src_1.SymmetryCore({
@@ -248,6 +248,8 @@ function testStates() {
248
248
  oracles: [
249
249
  {
250
250
  oracle_type: "pyth",
251
+ account_lut_id: 0,
252
+ account_lut_index: 0,
251
253
  account: "So11111111111111111111111111111111111111112",
252
254
  num_required_accounts: 1,
253
255
  weight: 100,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symmetry-hq/temp-v3-sdk",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "description": "Symmetry Baskets V3 SDK",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -81,15 +81,18 @@ export enum TaskType {
81
81
  EditForceRebalanceSettings = 9,
82
82
  EditCustomRebalanceSettings = 10,
83
83
 
84
- EditAddTokenDelay = 11,
85
- EditUpdateWeightsDelay = 12,
86
- EditMakeDirectSwapDelay = 13,
84
+ EditAddTokenDelay = 101,
85
+ EditUpdateWeightsDelay = 102,
86
+ EditMakeDirectSwapDelay = 103,
87
87
 
88
- AddToken = 14,
89
- UpdateWeights = 15,
90
- MakeDirectSwap = 16,
88
+ AddToken = 201,
89
+ UpdateWeights = 202,
90
+ MakeDirectSwap = 203,
91
91
  }
92
92
 
93
+ // Maps raw u8 values from on-chain Borsh-serialized storage to TaskType enum.
94
+ // The on-chain program uses sequential Borsh discriminants (11-16) for storage,
95
+ // but the SDK enum uses non-sequential values (101-103, 201-203) for instruction input.
93
96
  export function taskTypeFromU8(value: number): TaskType {
94
97
  switch (value) {
95
98
  case 1: return TaskType.EditCreator;
@@ -103,13 +106,13 @@ export enum TaskType {
103
106
  case 9: return TaskType.EditForceRebalanceSettings;
104
107
  case 10: return TaskType.EditCustomRebalanceSettings;
105
108
 
106
- case 11: return TaskType.EditAddTokenDelay;
107
- case 12: return TaskType.EditUpdateWeightsDelay;
108
- case 13: return TaskType.EditMakeDirectSwapDelay;
109
+ case 101: return TaskType.EditAddTokenDelay;
110
+ case 102: return TaskType.EditUpdateWeightsDelay;
111
+ case 103: return TaskType.EditMakeDirectSwapDelay;
109
112
 
110
- case 14: return TaskType.AddToken;
111
- case 15: return TaskType.UpdateWeights;
112
- case 16: return TaskType.MakeDirectSwap;
113
+ case 201: return TaskType.AddToken;
114
+ case 202: return TaskType.UpdateWeights;
115
+ case 203: return TaskType.MakeDirectSwap;
113
116
 
114
117
  default: return TaskType.Unknown;
115
118
  }
@@ -230,6 +233,8 @@ export interface EditMakeDirectSwapSettings {
230
233
 
231
234
  export interface OracleInput {
232
235
  oracle_type: FormattedOracleType,
236
+ account_lut_id: number,
237
+ account_lut_index: number,
233
238
  account: string,
234
239
  num_required_accounts: number,
235
240
  weight: number,
@@ -219,7 +219,7 @@ export function addFieldsToBasket(basket: Basket): Basket {
219
219
  },
220
220
  ],
221
221
  };
222
- let composition: FormattedAsset[] =basket.composition.map(asset => ({
222
+ let composition: FormattedAsset[] = basket.composition.map(asset => ({
223
223
  mint: asset.mint.toBase58(),
224
224
  amount: parseInt(asset.amount.toString()),
225
225
  weight: asset.weight,
@@ -230,6 +230,8 @@ export function addFieldsToBasket(basket: Basket): Basket {
230
230
  oracles: asset.oracleAggregator.oracles.map(oracle => ({
231
231
  oracle_settings: {
232
232
  oracle_type: ORACLE_TYPES_STRINGS[oracle.oracleSettings.oracleType],
233
+ account_lut_id: oracle.accountsToLoadLutIds[0],
234
+ account_lut_index: oracle.accountsToLoadLutIndices[0],
233
235
  account: lookup_tables.active[oracle.accountsToLoadLutIds[0]].contents[oracle.accountsToLoadLutIndices[0]],
234
236
  num_required_accounts: oracle.oracleSettings.numRequiredAccounts,
235
237
  weight: oracle.oracleSettings.weight,
@@ -6,15 +6,15 @@ import {
6
6
  } from '@solana/web3.js';
7
7
 
8
8
  import { BASKETS_V3_PROGRAM_ID, MAX_MANAGERS_PER_BASKET } from '../../constants';
9
- import { AddOrEditTokenInput, EditAddTokenSettings, EditAutomationSettings, EditCreatorSettings, EditCustomRebalanceSettings, EditDepositsSettings, EditFeeSettings, EditForceRebalanceSettings, EditLpSettings, EditMakeDirectSwapSettings, EditManagerSettings, EditMetadataSettings, EditScheduleSettings, EditUpdateWeightsSettings, FormattedIntent, Intent, INTENT_STATUS_STRINGS, IntentLayout, IntentStatus, MakeDirectSwapInput, Settings, TASK_TYPE_STRINGS, TaskType, UpdateWeightsInput } from '../../layouts/intents/intent';
9
+ import { AddOrEditTokenInput, EditAddTokenSettings, EditAutomationSettings, EditCreatorSettings, EditCustomRebalanceSettings, EditDepositsSettings, EditFeeSettings, EditForceRebalanceSettings, EditLpSettings, EditMakeDirectSwapSettings, EditManagerSettings, EditMetadataSettings, EditScheduleSettings, EditUpdateWeightsSettings, FormattedIntent, Intent, INTENT_STATUS_STRINGS, IntentLayout, IntentStatus, MakeDirectSwapInput, Settings, TASK_TYPE_STRINGS, TaskType, taskTypeFromU8, UpdateWeightsInput } from '../../layouts/intents/intent';
10
10
  import { getMultipleAccountsInfoBatched } from '../../txUtils';
11
- import { AuthorityBitmasks, AuthorityBitmasksLayout, AutomationSettings, AutomationSettingsLayout, EditAddTokenDelay, EditAddTokenDelayLayout, EditCreator, EditCreatorLayout, EditMakeDirectSwapDelay, EditMakeDirectSwapDelayLayout, EditUpdateWeightsDelay, EditUpdateWeightsDelayLayout, FeeSettings, FeeSettingsLayout, LpSettings, LpSettingsLayout, MakeDirectSwap, MakeDirectSwapLayout, MetadataSettings, MetadataSettingsLayout, ScheduleSettings, ScheduleSettingsLayout, UpdateWeights, UpdateWeightsLayout } from '../../layouts/config';
11
+ import { AuthorityBitmasks, AuthorityBitmasksLayout, AutomationSettings, AutomationSettingsLayout, EditAddTokenDelay, EditAddTokenDelayLayout, EditCreator, EditCreatorLayout, EditMakeDirectSwapDelay, EditMakeDirectSwapDelayLayout, EditUpdateWeightsDelay, EditUpdateWeightsDelayLayout, FeeSettings, FeeSettingsLayout, LpSettings, LpSettingsLayout, MakeDirectSwap, MakeDirectSwapLayout, ManagerSettings, ManagerSettingsLayout, MetadataSettings, MetadataSettingsLayout, ScheduleSettings, ScheduleSettingsLayout, UpdateWeights, UpdateWeightsLayout } from '../../layouts/config';
12
12
  import { BN } from '@coral-xyz/anchor';
13
13
  import { ORACLE_TYPES_STRINGS, OracleAggregator, OracleAggregatorLayout } from '../../layouts/oracle';
14
14
  import { fractionToDecimal } from '../../layouts/fraction';
15
15
 
16
16
  function decodeTaskDataForType(intent: Intent): Settings {
17
- let taskType = intent.taskType;
17
+ let taskType = taskTypeFromU8(intent.taskType);
18
18
  let taskData = intent.taskData;
19
19
  switch (taskType) {
20
20
  case TaskType.EditCreator:
@@ -177,6 +177,8 @@ function decodeTaskDataForType(intent: Intent): Settings {
177
177
  conf_multiplier: fractionToDecimal(oracleAggregator.confMultiplier).toNumber(),
178
178
  oracles: oracleAggregator.oracles.slice(0, oracleAggregator.numOracles).map(oracle => ({
179
179
  oracle_type: ORACLE_TYPES_STRINGS[oracle.oracleSettings.oracleType],
180
+ account_lut_id: oracle.accountsToLoadLutIds[0],
181
+ account_lut_index: oracle.accountsToLoadLutIndices[0],
180
182
  account: "",
181
183
  num_required_accounts: oracle.oracleSettings.numRequiredAccounts,
182
184
  weight: oracle.oracleSettings.weight,
package/test.ts CHANGED
@@ -6,11 +6,13 @@ import { AddOrEditTokenInput, UpdateWeightsInput, MakeDirectSwapInput } from "./
6
6
  import { EditCreatorSettings, EditManagerSettings, EditFeeSettings, EditScheduleSettings, EditAutomationSettings, EditLpSettings, EditMetadataSettings, EditDepositsSettings, EditForceRebalanceSettings, EditCustomRebalanceSettings, EditAddTokenSettings, EditUpdateWeightsSettings, EditMakeDirectSwapSettings } from "./src";
7
7
 
8
8
 
9
+ let kp = Array.from(Keypair.generate().secretKey);
10
+
9
11
  let connection = new Connection("https://api.devnet.solana.com");
10
12
 
13
+
11
14
  async function testStates() {
12
15
  return;
13
- let kp = Array.from(Keypair.generate().secretKey);
14
16
  let wallet = new Wallet(Keypair.fromSecretKey(new Uint8Array(kp)));
15
17
  console.log(wallet.publicKey.toBase58());
16
18
 
@@ -273,6 +275,8 @@ async function testStates() {
273
275
  oracles: [
274
276
  {
275
277
  oracle_type: "pyth",
278
+ account_lut_id: 0,
279
+ account_lut_index: 0,
276
280
  account: "So11111111111111111111111111111111111111112",
277
281
  num_required_accounts: 1,
278
282
  weight: 100,