@symmetry-hq/temp-v3-sdk 0.0.8 → 0.0.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.
Files changed (76) hide show
  1. package/.cursor/commands/combine.md +36 -0
  2. package/.cursor/commands/dev-app-web.md +3 -0
  3. package/.cursor/commands/dev-backend.md +3 -0
  4. package/.cursor/commands/dev-cdk.md +3 -0
  5. package/.cursor/commands/dev-watch-app.md +3 -0
  6. package/.cursor/commands/new-chat.md +16 -0
  7. package/.cursor/commands/plan-mode.md +29 -0
  8. package/.cursor/commands/plans.md +4 -0
  9. package/.cursor/commands/shadcn-mcp.md +13 -0
  10. package/.cursor/commands/visual.md +26 -0
  11. package/dist/src/constants.d.ts +1 -3
  12. package/dist/src/constants.js +11 -5
  13. package/dist/src/index.d.ts +70 -36
  14. package/dist/src/index.js +472 -238
  15. package/dist/src/instructions/automation/priceUpdate.d.ts +7 -0
  16. package/dist/src/instructions/automation/priceUpdate.js +46 -1
  17. package/dist/src/instructions/automation/rebalanceIntent.d.ts +31 -0
  18. package/dist/src/instructions/automation/rebalanceIntent.js +115 -0
  19. package/dist/src/instructions/automation/rebalanceSwap.d.ts +5 -4
  20. package/dist/src/instructions/automation/rebalanceSwap.js +10 -10
  21. package/dist/src/instructions/management/admin.js +11 -0
  22. package/dist/src/instructions/management/claimFees.d.ts +1 -1
  23. package/dist/src/instructions/management/claimFees.js +2 -2
  24. package/dist/src/instructions/management/createBasket.d.ts +3 -4
  25. package/dist/src/instructions/management/createBasket.js +13 -19
  26. package/dist/src/instructions/management/edit.d.ts +27 -10
  27. package/dist/src/instructions/management/edit.js +323 -97
  28. package/dist/src/instructions/pda.d.ts +7 -6
  29. package/dist/src/instructions/pda.js +29 -20
  30. package/dist/src/instructions/user/deposit.d.ts +2 -16
  31. package/dist/src/instructions/user/deposit.js +8 -94
  32. package/dist/src/instructions/user/withdraw.d.ts +1 -0
  33. package/dist/src/instructions/user/withdraw.js +1 -2
  34. package/dist/src/layouts/basket.d.ts +2 -6
  35. package/dist/src/layouts/basket.js +4 -8
  36. package/dist/src/layouts/config.d.ts +120 -32
  37. package/dist/src/layouts/config.js +114 -28
  38. package/dist/src/layouts/intents/intent.d.ts +242 -74
  39. package/dist/src/layouts/intents/intent.js +33 -78
  40. package/dist/src/layouts/intents/rebalanceIntent.d.ts +12 -1
  41. package/dist/src/layouts/intents/rebalanceIntent.js +14 -4
  42. package/dist/src/layouts/oracle.d.ts +5 -4
  43. package/dist/src/layouts/oracle.js +5 -4
  44. package/dist/src/states/basket.d.ts +3 -1
  45. package/dist/src/states/basket.js +255 -44
  46. package/dist/src/states/intents/intent.js +25 -19
  47. package/dist/src/states/oracles/oracle.d.ts +3 -2
  48. package/dist/src/states/oracles/oracle.js +10 -6
  49. package/dist/src/states/oracles/pythOracle.js +33 -30
  50. package/dist/src/txUtils.d.ts +42 -19
  51. package/dist/src/txUtils.js +119 -55
  52. package/dist/test.js +417 -221
  53. package/package.json +1 -1
  54. package/src/constants.ts +10 -4
  55. package/src/index.ts +557 -272
  56. package/src/instructions/automation/priceUpdate.ts +61 -5
  57. package/src/instructions/automation/rebalanceIntent.ts +180 -0
  58. package/src/instructions/automation/rebalanceSwap.ts +19 -17
  59. package/src/instructions/management/admin.ts +13 -5
  60. package/src/instructions/management/claimFees.ts +9 -7
  61. package/src/instructions/management/createBasket.ts +15 -25
  62. package/src/instructions/management/edit.ts +388 -103
  63. package/src/instructions/pda.ts +52 -67
  64. package/src/instructions/user/deposit.ts +16 -130
  65. package/src/instructions/user/withdraw.ts +2 -1
  66. package/src/layouts/basket.ts +6 -10
  67. package/src/layouts/config.ts +298 -100
  68. package/src/layouts/intents/intent.ts +291 -140
  69. package/src/layouts/intents/rebalanceIntent.ts +25 -2
  70. package/src/layouts/oracle.ts +5 -4
  71. package/src/states/basket.ts +267 -53
  72. package/src/states/intents/intent.ts +37 -25
  73. package/src/states/oracles/oracle.ts +12 -7
  74. package/src/states/oracles/pythOracle.ts +34 -31
  75. package/src/txUtils.ts +178 -76
  76. package/test.ts +448 -229
@@ -0,0 +1,36 @@
1
+ # Combining contents of multiple files and folders into a single .md file.
2
+
3
+ User is asking you to combine one or more files and contents of folders into a single `*.md` file.
4
+ If the user does not provide the file, you should ask them where they want the data to be written.
5
+
6
+ User is interested in only the most important files and folders, so you have to make intelligent decisions about which files and folders to include given what the user is giving you. For example, python, typescript, markdown files and so on.
7
+
8
+ You don't have to read each file. You are free to list trees using bash commands to explore deeper and to find out if there are certain paths you'd like to exclude.
9
+
10
+ ## Title of the `*.md` file:
11
+
12
+ Briefly write a short title and description of what contents are expected to be in the `*.md` file based on what files and folders the user is asking you to paste there. Do this unless the user asks you to not write anything of your own in there and just paste the contents as is.
13
+
14
+
15
+ ## You can run the following terminal command:
16
+
17
+ ```bash
18
+ python3 /Users/dimit/git/dim-4/utilities/code_copier/src/code_copier/copier.py --name <path-to-file-or-folder> --exclude <regex-to-exclude> --exclude <more-regex-to-exclude> # and so on
19
+ ```
20
+
21
+ If the copier tools is not available, do not continue, tell the user what the issue is and how they want to proceed.
22
+
23
+ For example, if the folder contains `node_modules`, you will want to exclude all of those.
24
+
25
+
26
+ When you run this command, the contents are being copied into the clipboard only. So next command you need to run is to paste the contents into the `*md` file the user provided.
27
+
28
+ You should use terminal commands to paste the contents, not handwrite them. The contents should be appended one by one.
29
+
30
+
31
+ ## Procedure:
32
+
33
+ The procedure looks like this:
34
+
35
+ - You run the copier command to one target. Then you append what's in the clipboard into the `*md` file the user provided. You do not handwrite that clipboard in the `*md` file, you use terminal commands to paste it in. for macOS it can be `pbpaste > <path-to-file>` to paste. Append is `pbpaste >> <path-to-file>`.
36
+ - You repeat the process for each target.
@@ -0,0 +1,3 @@
1
+ The command relates to web app development which you should thoroughly review first.
2
+
3
+ You can read more in `AGENTS.md` and `.agents/skills`
@@ -0,0 +1,3 @@
1
+ The following command relates to backend development which you should thoroughly review first.
2
+
3
+ You can read more in `AGENTS.md` and `.agents/skills`
@@ -0,0 +1,3 @@
1
+ The command relates to cdk development which you should thoroughly review first.
2
+
3
+ You can read more in `AGENTS.md` and `.agents/skills`
@@ -0,0 +1,3 @@
1
+ The command relates to apple watch app development which you should thoroughly review first.
2
+
3
+ You can read more in `AGENTS.md` and `.agents/skills`
@@ -0,0 +1,16 @@
1
+ # You create a new chat file if the user has not provided one.
2
+
3
+ If the user did not specify the file name ask them if you should call it `<current-date-and-time-iso-format>.md` where you will put current date and time (year, month, day, hours, minutes in UTC) based on what time it is right now.
4
+
5
+ If the user specified the file name (or hinted), you should call it that and create the `<name>.md` file.
6
+
7
+ If the user did not specify the location, you crate it here: `.chat/chats`.
8
+
9
+ The default text you write in that file is exactly what's written inside `.chat/.data/CHAT-SAMPLE.md` file.
10
+ Copy that file and paste it into the new chat file you created.
11
+
12
+ # If the user has provided a chat file.
13
+
14
+ If the user has provided an existing chat file, if it's empty, then populate it with the default text from `/Users/dimit/git/dim-4/utilities/.chat/.data/CHAT-TEMPLATE.md` file. If you can't find the file, tell the user they must have that file there.
15
+
16
+ If it's not empty, ask the user if they want to put this data at the beginning of the file, and if so, update the user file with this data.
@@ -0,0 +1,29 @@
1
+ # Plan mode
2
+
3
+ You can take longer time to thoroughly research what the user is asking for and propose a solution.
4
+
5
+ You are allowed to ask as many clarifying questions to the user at any point as you see fit to make sure you plan effectively and there are no misunderstandings.
6
+
7
+ You are allowed to use internet to research if that will add more quality context to your plan.
8
+
9
+ ## When creating new plans:
10
+
11
+ Now you've entered a plan mode. Your job is to create a new folder inside `/.agents/plans` where you will write both high level as well as detailed execution plan for what you are going to develop next.
12
+
13
+ You name the folder as <iso-format-date-utc>_<plan-name>.md and put the full plan and detailed steps in there.
14
+
15
+
16
+ ### Checking for inconsistencies:
17
+
18
+ After you're done creating the plan, you should go through all the plans that are in the same plans folder and (i.e. all .md files inside the same folder) and look into them and make sure you identify if there are any inconsistencies.
19
+
20
+ If there are inconsistencies, then you must report those back to the user without missing any and propose corrections and finally resolve any inconsistencies by modifying the current plan, or previous plans.
21
+
22
+ When you find inconsistencies, you should first confirm with the user how you intend to resolve them and after the user response, finish resolving them.
23
+
24
+
25
+ ## When editing existing plan:
26
+
27
+ If the plan for what the user is asking already exists, you can update that plan specifically. To find out whether this plan exists, you can look at all the plans inside the plans folder.
28
+
29
+ You are allowed to use terminal commands like grep to be more effective.
@@ -0,0 +1,4 @@
1
+ # Plans folder - what it is
2
+ - Tasks are broken down into brainstorming and execution plans in this folder: `.agents/plans`
3
+ - It is detailing the plan and execution steps so future work can resume smoothly.
4
+ - Some plans may be outdated or contradicting, so it can be just a general chronological record.
@@ -0,0 +1,13 @@
1
+ # Use shadcn MCP
2
+
3
+ Use shadcn MCP to perform tasks. Depending on what the developer is asking for.
4
+
5
+ For example:
6
+ - You can show me all available components in the shadcn registry.
7
+ - Find me a login form from the shadcn registry
8
+ - Add the button component to my project
9
+ - Create a login form using shadcn components
10
+ - Install the Cursor rules from the acme registry
11
+ - Show me components from acme registry
12
+ - Install @internal/auth-form
13
+ - Build me a landing page using hero, features and testimonials sections from the acme registry
@@ -0,0 +1,26 @@
1
+ # Visual response format
2
+
3
+ Your response should be highly visual diagram representation of what the user is asking.
4
+
5
+ Your responses should include (wherever relevant) diagrams like this:
6
+
7
+
8
+ ```
9
+ ┌─────────────────────────────────────────────────────────────────────────────────────┐
10
+ │ BASKETS-V3 AUCTION SYSTEM SUMMARY │
11
+ ├─────────────────────────────────────────────────────────────────────────────────────┤
12
+ │ ┌─────────────────────────────────────────────────────────────────────────────────┐│
13
+ │ │ FLOW SUMMARY ││
14
+ │ │ ││
15
+ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ││
16
+ │ │ │ CREATE │──►│ PRICE │──►│ DUTCH │──►│ SETTLE │──►│ CLAIM │ ││
17
+ │ │ │ INTENT │ │ UPDATE │ │ AUCTION │ │ TOKENS │ │ BOUNTY │ ││
18
+ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ ││
19
+ │ │ │ ││
20
+ │ │ 3 PHASES ││
21
+ │ │ (prices reset each) ││
22
+ │ │ ││
23
+ │ └─────────────────────────────────────────────────────────────────────────────────┘│
24
+ │ │
25
+ └─────────────────────────────────────────────────────────────────────────────────────┘
26
+ ```
@@ -4,11 +4,9 @@ export declare const BASKETS_V3_PROGRAM_ID: PublicKey;
4
4
  export declare const METADATA_PROGRAM_ID: PublicKey;
5
5
  export declare const ADDRESS_LOOKUP_TABLE_PROGRAM_ID: PublicKey;
6
6
  export declare const RENT_SYSVAR_ID: PublicKey;
7
- export declare const WSOL_MINT: PublicKey;
8
- export declare const USDC_MINT: PublicKey;
7
+ export declare const MINTS: Record<string, Record<string, PublicKey>>;
9
8
  export declare const PYTHNET_CUSTODY_PRICE_WSOL_ACCOUNT: PublicKey;
10
9
  export declare const PYTHNET_CUSTODY_PRICE_USDC_ACCOUNT: PublicKey;
11
- export declare const BOUNTY_MINT: PublicKey;
12
10
  export declare const INTENT_TASK_DATA_SIZE = 600;
13
11
  export declare const MAX_MANAGERS_PER_BASKET = 10;
14
12
  export declare const X64: Decimal;
@@ -3,19 +3,25 @@ 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.MAX_EXTRA_DATA_PER_ORACLE = exports.MAX_ORACLES_PER_TOKEN = exports.MAX_SUPPORTED_TOKENS_PER_BASKET = exports.USDC_DECIMALS = exports.WSOL_DECIMALS = exports.HUNDRED_PERCENT_BPS = exports.X64 = exports.MAX_MANAGERS_PER_BASKET = exports.INTENT_TASK_DATA_SIZE = exports.BOUNTY_MINT = exports.PYTHNET_CUSTODY_PRICE_USDC_ACCOUNT = exports.PYTHNET_CUSTODY_PRICE_WSOL_ACCOUNT = exports.USDC_MINT = exports.WSOL_MINT = exports.RENT_SYSVAR_ID = exports.ADDRESS_LOOKUP_TABLE_PROGRAM_ID = exports.METADATA_PROGRAM_ID = exports.BASKETS_V3_PROGRAM_ID = void 0;
6
+ exports.MAX_EXTRA_DATA_PER_ORACLE = exports.MAX_ORACLES_PER_TOKEN = exports.MAX_SUPPORTED_TOKENS_PER_BASKET = exports.USDC_DECIMALS = exports.WSOL_DECIMALS = exports.HUNDRED_PERCENT_BPS = exports.X64 = exports.MAX_MANAGERS_PER_BASKET = exports.INTENT_TASK_DATA_SIZE = exports.PYTHNET_CUSTODY_PRICE_USDC_ACCOUNT = exports.PYTHNET_CUSTODY_PRICE_WSOL_ACCOUNT = exports.MINTS = exports.RENT_SYSVAR_ID = exports.ADDRESS_LOOKUP_TABLE_PROGRAM_ID = exports.METADATA_PROGRAM_ID = exports.BASKETS_V3_PROGRAM_ID = void 0;
7
7
  const web3_js_1 = require("@solana/web3.js");
8
8
  const decimal_js_1 = __importDefault(require("decimal.js"));
9
9
  exports.BASKETS_V3_PROGRAM_ID = new web3_js_1.PublicKey("BASKT7aKd8n7ibpUbwLP3Wiyxyi3yoiXsxBk4Hpumate");
10
10
  exports.METADATA_PROGRAM_ID = new web3_js_1.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
11
11
  exports.ADDRESS_LOOKUP_TABLE_PROGRAM_ID = new web3_js_1.PublicKey("AddressLookupTab1e1111111111111111111111111");
12
12
  exports.RENT_SYSVAR_ID = new web3_js_1.PublicKey("SysvarRent111111111111111111111111111111111");
13
- exports.WSOL_MINT = new web3_js_1.PublicKey("So11111111111111111111111111111111111111112");
14
- // export const USDC_MINT = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
15
- exports.USDC_MINT = new web3_js_1.PublicKey("USDCoctVLVnvTXBEuP9s8hntucdJokbo17RwHuNXemT");
13
+ exports.MINTS = {
14
+ "devnet": {
15
+ "WSOL": new web3_js_1.PublicKey("So11111111111111111111111111111111111111112"),
16
+ "USDC": new web3_js_1.PublicKey("USDCoctVLVnvTXBEuP9s8hntucdJokbo17RwHuNXemT"),
17
+ },
18
+ "mainnet": {
19
+ "WSOL": new web3_js_1.PublicKey("So11111111111111111111111111111111111111112"),
20
+ "USDC": new web3_js_1.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
21
+ },
22
+ };
16
23
  exports.PYTHNET_CUSTODY_PRICE_WSOL_ACCOUNT = new web3_js_1.PublicKey("7UVimffxr9ow1uXYxsr4LHAcV58mLzhmwaeKvJ1pjLiE");
17
24
  exports.PYTHNET_CUSTODY_PRICE_USDC_ACCOUNT = new web3_js_1.PublicKey("Dpw1EAVrSB1ibxiDQyTAW6Zip3J4Btk2x4SgApQCeFbX");
18
- exports.BOUNTY_MINT = new web3_js_1.PublicKey("So11111111111111111111111111111111111111112");
19
25
  exports.INTENT_TASK_DATA_SIZE = 600;
20
26
  exports.MAX_MANAGERS_PER_BASKET = 10;
21
27
  exports.X64 = new decimal_js_1.default(2).pow(new decimal_js_1.default(64));
@@ -1,11 +1,13 @@
1
+ import { BN } from '@coral-xyz/anchor';
1
2
  import { Connection, PublicKey, TransactionSignature } from '@solana/web3.js';
2
3
  import { Basket } from './layouts/basket';
3
- import { EditData, HostFees, Intent, MetadataParams, TaskType } from './layouts/intents/intent';
4
+ import { GlobalConfig } from './layouts/config';
5
+ import { EditCreatorInput, EditManagersInput, EditFeesInput, EditScheduleInput, EditAutomationInput, EditLpInput, EditMetadataInput, EditDepositsInput, EditForceRebalanceInput, EditCustomRebalanceInput, EditAddTokenDelayInput, EditUpdateWeightsDelayInput, EditMakeDirectSwapDelayInput, AddTokenInput, UpdateWeightsInput, MakeDirectSwapInput, TaskType, Intent, EditDataInput } from './layouts/intents/intent';
4
6
  import { RebalanceIntent } from './layouts/intents/rebalanceIntent';
5
7
  import { BasketFilter } from './states/basket';
6
8
  import { IntentFilter } from './states/intents/intent';
7
9
  import { RebalanceIntentFilter } from './states/intents/rebalanceIntent';
8
- import { VersionedTxs, Wallet } from './txUtils';
10
+ import { TxPayloadBatchSequence, VersionedTxs, Wallet } from './txUtils';
9
11
  export declare const COMPUTE_UNITS = 1000000;
10
12
  export declare const PRIORITY_FEE = 100000;
11
13
  export declare const JUPITER_API_KEY = "https://quote-api.jup.ag/v6/";
@@ -14,43 +16,66 @@ export declare class SymmetryCore {
14
16
  private sdkParams;
15
17
  constructor(params: {
16
18
  connection: Connection;
17
- payer?: PublicKey;
19
+ network: "devnet" | "mainnet";
18
20
  priorityFee?: number;
19
21
  jupiterApiKey?: string;
20
22
  maxAllowedAccounts?: number;
21
23
  });
22
- setPayer(payer: PublicKey): Promise<void>;
23
24
  getBasket(params: {
24
25
  basket: PublicKey;
25
26
  }): Promise<Basket>;
26
- fetchAllBaskets(filters: BasketFilter[]): Promise<Basket[]>;
27
+ fetchAllBaskets(filters?: BasketFilter[]): Promise<Basket[]>;
28
+ fetchBasketsFromMints(mints: string[]): Promise<Map<string, Basket>>;
27
29
  loadBasketPrice(basket: Basket): Promise<Basket>;
28
30
  fetchAllIntents(filters: IntentFilter[]): Promise<Intent[]>;
29
31
  fetchAllRebalanceIntents(filters: RebalanceIntentFilter[]): Promise<RebalanceIntent[]>;
32
+ createGlobalConfigTx(params: {
33
+ signer: PublicKey;
34
+ }): Promise<TxPayloadBatchSequence>;
35
+ editGlobalConfigTx(params: {
36
+ signer: PublicKey;
37
+ config: GlobalConfig;
38
+ }): Promise<TxPayloadBatchSequence>;
30
39
  createBasketTx(params: {
31
- creator: PublicKey;
32
- host: PublicKey;
33
- startPrice: number;
34
- hostFees: HostFees;
35
- metadataParams: MetadataParams;
36
- metadataModificationDelay: number;
37
- }): Promise<VersionedTxs>;
38
- createEditBasketIntentTx(params: {
39
- basket: Basket;
40
- manager: PublicKey;
41
- editType: TaskType;
42
- editData: EditData;
43
- useBounty: boolean;
44
- }): Promise<VersionedTxs>;
45
- executeEditBasketIntentTx(params: {
40
+ creator: string;
41
+ start_price: string;
42
+ name: string;
43
+ symbol: string;
44
+ metadata_uri: string;
45
+ host_pubkey: string;
46
+ host_deposit_fee_bps: number;
47
+ host_withdraw_fee_bps: number;
48
+ host_management_fee_bps: number;
49
+ host_performance_fee_bps: number;
50
+ priority_fee_lamports: number;
51
+ }): Promise<TxPayloadBatchSequence>;
52
+ editCreatorTx(params: EditCreatorInput): Promise<TxPayloadBatchSequence>;
53
+ editManagersTx(params: EditManagersInput): Promise<TxPayloadBatchSequence>;
54
+ editScheduleTx(params: EditScheduleInput): Promise<TxPayloadBatchSequence>;
55
+ editFeesTx(params: EditFeesInput): Promise<TxPayloadBatchSequence>;
56
+ editAutomationTx(params: EditAutomationInput): Promise<TxPayloadBatchSequence>;
57
+ editLpTx(params: EditLpInput): Promise<TxPayloadBatchSequence>;
58
+ editMetadataTx(params: EditMetadataInput): Promise<TxPayloadBatchSequence>;
59
+ editDepositsTx(params: EditDepositsInput): Promise<TxPayloadBatchSequence>;
60
+ editForceRebalanceTx(params: EditForceRebalanceInput): Promise<TxPayloadBatchSequence>;
61
+ editCustomRebalanceTx(params: EditCustomRebalanceInput): Promise<TxPayloadBatchSequence>;
62
+ editAddTokenDelayTx(params: EditAddTokenDelayInput): Promise<TxPayloadBatchSequence>;
63
+ editUpdateWeightsDelayTx(params: EditUpdateWeightsDelayInput): Promise<TxPayloadBatchSequence>;
64
+ editSwapDelayTx(params: EditMakeDirectSwapDelayInput): Promise<TxPayloadBatchSequence>;
65
+ addTokenTx(params: AddTokenInput): Promise<TxPayloadBatchSequence>;
66
+ updateWeightsTx(params: UpdateWeightsInput): Promise<TxPayloadBatchSequence>;
67
+ makeDirectSwapTx(params: MakeDirectSwapInput): Promise<TxPayloadBatchSequence>;
68
+ openBasketIntentTx(params: {
69
+ edit_type: TaskType;
70
+ edit_data: EditDataInput;
71
+ }): Promise<TxPayloadBatchSequence>;
72
+ executeBasketIntentTx(params: {
73
+ intent: Intent;
46
74
  keeper: PublicKey;
47
- basket: PublicKey;
48
- manager: PublicKey;
49
- editType: TaskType;
50
- }): Promise<VersionedTxs>;
51
- depositTx(params: {
75
+ }): Promise<TxPayloadBatchSequence>;
76
+ buyBasketTx(params: {
52
77
  buyer: PublicKey;
53
- basket: PublicKey;
78
+ basketMint: PublicKey;
54
79
  contributions: {
55
80
  mint: PublicKey;
56
81
  amount: number;
@@ -58,36 +83,45 @@ export declare class SymmetryCore {
58
83
  rebalanceSlippageBps?: number;
59
84
  perTradeRebalanceSlippageBps?: number;
60
85
  executionStartTime?: number;
61
- }): Promise<VersionedTxs>;
86
+ minBountyAmount?: number;
87
+ maxBountyAmount?: number;
88
+ priorityFee?: number;
89
+ }): Promise<TxPayloadBatchSequence>;
62
90
  updateTokenPricesTx(params: {
63
91
  keeper: PublicKey;
64
92
  rebalanceIntent: RebalanceIntent;
65
93
  basket: Basket;
66
- }): Promise<VersionedTxs>;
94
+ }): Promise<TxPayloadBatchSequence>;
67
95
  executeSwap(params: {
68
96
  keeper: PublicKey;
69
97
  rebalanceIntent: RebalanceIntent;
70
98
  mintFrom: PublicKey;
71
99
  mintTo: PublicKey;
72
- amount: number;
73
- side: number;
74
- }): Promise<VersionedTxs>;
100
+ amountIn: BN;
101
+ amountOut: BN;
102
+ mode: number;
103
+ }): Promise<TxPayloadBatchSequence>;
75
104
  mintTx(params: {
76
105
  keeper: PublicKey;
77
106
  buyer: PublicKey;
78
107
  basket: PublicKey;
79
- }): Promise<VersionedTxs>;
108
+ }): Promise<TxPayloadBatchSequence>;
80
109
  redeemTokensTx(params: {
81
110
  keeper: PublicKey;
82
111
  rebalanceIntent: RebalanceIntent;
83
- }): Promise<VersionedTxs>;
112
+ }): Promise<TxPayloadBatchSequence>;
84
113
  claimBountyTx(params: {
85
114
  keeper: PublicKey;
86
115
  rebalanceIntent: RebalanceIntent;
87
- }): Promise<VersionedTxs>;
116
+ }): Promise<TxPayloadBatchSequence>;
88
117
  signAndSendVersionedTxs(params: {
89
- vtxs: VersionedTxs;
118
+ versionedTxs: VersionedTxs;
119
+ wallet: Wallet;
120
+ }): Promise<TransactionSignature[][]>;
121
+ signAndSendTxPayloadBatchSequence(params: {
122
+ txPayloadBatchSequence: TxPayloadBatchSequence;
90
123
  wallet: Wallet;
91
- }): Promise<TransactionSignature[]>;
124
+ }): Promise<TransactionSignature[][]>;
92
125
  }
93
126
  export { Basket, BasketFilter, Intent, IntentFilter, RebalanceIntent, RebalanceIntentFilter };
127
+ export { EditCreatorInput, EditManagersInput, EditFeesInput, EditScheduleInput, EditAutomationInput, EditLpInput, EditMetadataInput, EditDepositsInput, EditForceRebalanceInput, EditCustomRebalanceInput, EditAddTokenDelayInput, EditUpdateWeightsDelayInput, EditMakeDirectSwapDelayInput, AddTokenInput, UpdateWeightsInput, MakeDirectSwapInput, TaskType, };