@1inch/swap-vm-sdk 0.1.0 → 0.1.2-rc.0

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 (84) hide show
  1. package/README.md +26 -25
  2. package/dist/abi/SwapVM.abi.d.mts +76 -0
  3. package/dist/abi/SwapVM.abi.d.ts +76 -0
  4. package/dist/index.js +641 -367
  5. package/dist/index.mjs +642 -370
  6. package/dist/swap-vm/instructions/concentrate/bigint-sqrt.d.mts +1 -0
  7. package/dist/swap-vm/instructions/concentrate/bigint-sqrt.d.ts +1 -0
  8. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-2d-args.d.mts +16 -7
  9. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-2d-args.d.ts +16 -7
  10. package/dist/swap-vm/instructions/concentrate/concentrate-liquidity-calculator/types.d.mts +39 -0
  11. package/dist/swap-vm/instructions/concentrate/concentrate-liquidity-calculator/types.d.ts +39 -0
  12. package/dist/swap-vm/instructions/concentrate/concentrate-liquidity-math/concentrate-liquidity-math.d.mts +51 -0
  13. package/dist/swap-vm/instructions/concentrate/concentrate-liquidity-math/concentrate-liquidity-math.d.ts +51 -0
  14. package/dist/swap-vm/instructions/concentrate/index.d.mts +4 -4
  15. package/dist/swap-vm/instructions/concentrate/index.d.ts +4 -4
  16. package/dist/swap-vm/instructions/concentrate/opcodes.d.mts +0 -5
  17. package/dist/swap-vm/instructions/concentrate/opcodes.d.ts +0 -5
  18. package/dist/swap-vm/instructions/dutch-auction/dutch-auction-args.d.mts +1 -2
  19. package/dist/swap-vm/instructions/dutch-auction/dutch-auction-args.d.ts +1 -2
  20. package/dist/swap-vm/instructions/fee/dynamic-protocol-fee/dynamic-protocol-fee-args-coder.d.mts +7 -0
  21. package/dist/swap-vm/instructions/fee/dynamic-protocol-fee/dynamic-protocol-fee-args-coder.d.ts +7 -0
  22. package/dist/swap-vm/instructions/fee/dynamic-protocol-fee/dynamic-protocol-fee-args.d.mts +13 -0
  23. package/dist/swap-vm/instructions/fee/dynamic-protocol-fee/dynamic-protocol-fee-args.d.ts +13 -0
  24. package/dist/swap-vm/instructions/fee/{flat-fee-args-coder.d.mts → flat-fee/flat-fee-args-coder.d.mts} +1 -1
  25. package/dist/swap-vm/instructions/fee/{flat-fee-args-coder.d.ts → flat-fee/flat-fee-args-coder.d.ts} +1 -1
  26. package/dist/swap-vm/instructions/fee/{flat-fee-args.d.mts → flat-fee/flat-fee-args.d.mts} +2 -2
  27. package/dist/swap-vm/instructions/fee/{flat-fee-args.d.ts → flat-fee/flat-fee-args.d.ts} +2 -2
  28. package/dist/swap-vm/instructions/fee/index.d.mts +3 -2
  29. package/dist/swap-vm/instructions/fee/index.d.ts +3 -2
  30. package/dist/swap-vm/instructions/fee/opcodes.d.mts +28 -8
  31. package/dist/swap-vm/instructions/fee/opcodes.d.ts +28 -8
  32. package/dist/swap-vm/instructions/fee/{protocol-fee-args-coder.d.mts → protocol-fee/protocol-fee-args-coder.d.mts} +1 -1
  33. package/dist/swap-vm/instructions/fee/{protocol-fee-args-coder.d.ts → protocol-fee/protocol-fee-args-coder.d.ts} +1 -1
  34. package/dist/swap-vm/instructions/fee/{protocol-fee-args.d.mts → protocol-fee/protocol-fee-args.d.mts} +3 -3
  35. package/dist/swap-vm/instructions/fee/{protocol-fee-args.d.ts → protocol-fee/protocol-fee-args.d.ts} +3 -3
  36. package/dist/swap-vm/instructions/index.d.mts +2 -1
  37. package/dist/swap-vm/instructions/index.d.ts +2 -1
  38. package/dist/swap-vm/instructions/pegged-swap/index.d.mts +3 -0
  39. package/dist/swap-vm/instructions/pegged-swap/index.d.ts +3 -0
  40. package/dist/swap-vm/instructions/pegged-swap/opcodes.d.mts +5 -0
  41. package/dist/swap-vm/instructions/pegged-swap/opcodes.d.ts +5 -0
  42. package/dist/swap-vm/instructions/pegged-swap/pegged-swap-args-coder.d.mts +7 -0
  43. package/dist/swap-vm/instructions/pegged-swap/pegged-swap-args-coder.d.ts +7 -0
  44. package/dist/swap-vm/instructions/pegged-swap/pegged-swap-args.d.mts +29 -0
  45. package/dist/swap-vm/instructions/pegged-swap/pegged-swap-args.d.ts +29 -0
  46. package/dist/swap-vm/instructions/pegged-swap/rate-resolver.d.mts +1 -0
  47. package/dist/swap-vm/instructions/pegged-swap/rate-resolver.d.ts +1 -0
  48. package/dist/swap-vm/instructions/pegged-swap/types.d.mts +6 -0
  49. package/dist/swap-vm/instructions/pegged-swap/types.d.ts +6 -0
  50. package/dist/swap-vm/programs/aqua-program-builder.d.mts +13 -16
  51. package/dist/swap-vm/programs/aqua-program-builder.d.ts +13 -16
  52. package/dist/swap-vm/programs/regular-program-builder.d.mts +21 -9
  53. package/dist/swap-vm/programs/regular-program-builder.d.ts +21 -9
  54. package/dist/swap-vm/strategies/aqua-amm-strategy.d.mts +2 -19
  55. package/dist/swap-vm/strategies/aqua-amm-strategy.d.ts +2 -19
  56. package/dist/swap-vm/strategies/aqua-pegged-amm-strategy.d.mts +11 -0
  57. package/dist/swap-vm/strategies/aqua-pegged-amm-strategy.d.ts +11 -0
  58. package/dist/swap-vm/strategies/aqua-xyc-amm-strategy.d.mts +11 -0
  59. package/dist/swap-vm/strategies/aqua-xyc-amm-strategy.d.ts +11 -0
  60. package/dist/swap-vm/strategies/index.d.mts +3 -0
  61. package/dist/swap-vm/strategies/index.d.ts +3 -0
  62. package/dist/swap-vm/strategies/types.d.mts +19 -0
  63. package/dist/swap-vm/strategies/types.d.ts +19 -0
  64. package/dist/swap-vm/taker-traits.d.mts +12 -2
  65. package/dist/swap-vm/taker-traits.d.ts +12 -2
  66. package/package.json +18 -18
  67. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-xd-args-coder.d.mts +0 -7
  68. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-xd-args-coder.d.ts +0 -7
  69. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-xd-args.d.mts +0 -17
  70. package/dist/swap-vm/instructions/concentrate/concentrate-grow-liquidity-xd-args.d.ts +0 -17
  71. package/dist/swap-vm/instructions/concentrate/types.d.mts +0 -5
  72. package/dist/swap-vm/instructions/concentrate/types.d.ts +0 -5
  73. package/dist/swap-vm/instructions/concentrate/utils.d.mts +0 -4
  74. package/dist/swap-vm/instructions/concentrate/utils.d.ts +0 -4
  75. package/dist/swap-vm/instructions/stable-swap/index.d.mts +0 -2
  76. package/dist/swap-vm/instructions/stable-swap/index.d.ts +0 -2
  77. package/dist/swap-vm/instructions/stable-swap/opcodes.d.mts +0 -4
  78. package/dist/swap-vm/instructions/stable-swap/opcodes.d.ts +0 -4
  79. package/dist/swap-vm/instructions/stable-swap/stable-swap-2d-args-coder.d.mts +0 -7
  80. package/dist/swap-vm/instructions/stable-swap/stable-swap-2d-args-coder.d.ts +0 -7
  81. package/dist/swap-vm/instructions/stable-swap/stable-swap-2d-args.d.mts +0 -25
  82. package/dist/swap-vm/instructions/stable-swap/stable-swap-2d-args.d.ts +0 -25
  83. package/dist/swap-vm/types.d.mts +0 -22
  84. package/dist/swap-vm/types.d.ts +0 -22
@@ -51,6 +51,11 @@ export declare class TakerTraits {
51
51
  * Defaults to zero address (meaning taker receives funds).
52
52
  */
53
53
  readonly customReceiver: Address;
54
+ /**
55
+ * Optional expiration timestamp (uint40, Unix seconds). 0 = no deadline.
56
+ * When non-zero, contract validates block.timestamp <= deadline (TakerTraitsDeadlineExpired otherwise).
57
+ */
58
+ readonly deadline: bigint;
54
59
  /**
55
60
  * Optional data passed to the maker's pre-transfer-in hook.
56
61
  */
@@ -137,6 +142,11 @@ export declare class TakerTraits {
137
142
  * Defaults to zero address (meaning taker receives funds).
138
143
  */
139
144
  customReceiver?: Address,
145
+ /**
146
+ * Optional expiration timestamp (uint40, Unix seconds). 0 = no deadline.
147
+ * When non-zero, contract validates block.timestamp <= deadline (TakerTraitsDeadlineExpired otherwise).
148
+ */
149
+ deadline?: bigint,
140
150
  /**
141
151
  * Optional data passed to the maker's pre-transfer-in hook.
142
152
  */
@@ -187,9 +197,9 @@ export declare class TakerTraits {
187
197
  /**
188
198
  * Decodes a packed TakerTraits from a hex string.
189
199
  * The packed format consists of:
190
- * - 18 bytes: 9 uint16 offsets for data sections
200
+ * - 20 bytes: 10 uint16 offsets for data sections
191
201
  * - 2 bytes: uint16 flags
192
- * - Variable: data sections (threshold, to, hook data, callback data, etc.)
202
+ * - Variable: data sections (threshold, to, deadline, hook data, callback data, etc.)
193
203
  * - Variable: signature
194
204
  */
195
205
  static decode(packed: HexString): TakerTraits;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/swap-vm-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.2-rc.0",
4
4
  "description": "1inch Swap VM SDK",
5
5
  "author": "@1inch",
6
6
  "license": "LicenseRef-Degensoft-SwapVM-1.1",
@@ -25,6 +25,20 @@
25
25
  "README.md",
26
26
  "package.json"
27
27
  ],
28
+ "scripts": {
29
+ "build": "rm -rf dist && tsdown",
30
+ "test": "vitest run",
31
+ "test:e2e": "vitest run --config vitest.e2e.config.mts",
32
+ "test:watch": "vitest watch",
33
+ "test:coverage": "vitest run --coverage",
34
+ "lint": "eslint .",
35
+ "lint:fix": "eslint . --fix",
36
+ "format": "prettier --write \"src/**/*.ts\"",
37
+ "format:check": "prettier --check \"src/**/*.ts\"",
38
+ "type-check": "tsc --noEmit",
39
+ "clean": "rimraf dist node_modules",
40
+ "changelog:generate": "changelog generate -a"
41
+ },
28
42
  "keywords": [
29
43
  "1inch",
30
44
  "swap-vm",
@@ -38,8 +52,8 @@
38
52
  },
39
53
  "dependencies": {
40
54
  "@1inch/byte-utils": "^3.1.7",
41
- "tslib": "^2.8.1",
42
- "@1inch/sdk-core": "0.1.0"
55
+ "@1inch/sdk-core": "workspace:*",
56
+ "tslib": "^2.8.1"
43
57
  },
44
58
  "devDependencies": {
45
59
  "@types/node": "^22.13.0",
@@ -54,19 +68,5 @@
54
68
  },
55
69
  "publishConfig": {
56
70
  "access": "public"
57
- },
58
- "scripts": {
59
- "build": "rm -rf dist && tsdown",
60
- "test": "vitest run",
61
- "test:e2e": "vitest run --config vitest.e2e.config.mts",
62
- "test:watch": "vitest watch",
63
- "test:coverage": "vitest run --coverage",
64
- "lint": "eslint .",
65
- "lint:fix": "eslint . --fix",
66
- "format": "prettier --write \"src/**/*.ts\"",
67
- "format:check": "prettier --check \"src/**/*.ts\"",
68
- "type-check": "tsc --noEmit",
69
- "clean": "rimraf dist node_modules",
70
- "changelog:generate": "changelog generate -a"
71
71
  }
72
- }
72
+ }
@@ -1,7 +0,0 @@
1
- import { HexString } from '@1inch/sdk-core';
2
- import { ConcentrateGrowLiquidityXDArgs } from './concentrate-grow-liquidity-xd-args';
3
- import type { IArgsCoder } from '../types';
4
- export declare class ConcentrateGrowLiquidityXDArgsCoder implements IArgsCoder<ConcentrateGrowLiquidityXDArgs> {
5
- encode(args: ConcentrateGrowLiquidityXDArgs): HexString;
6
- decode(data: HexString): ConcentrateGrowLiquidityXDArgs;
7
- }
@@ -1,7 +0,0 @@
1
- import { HexString } from '@1inch/sdk-core';
2
- import { ConcentrateGrowLiquidityXDArgs } from './concentrate-grow-liquidity-xd-args';
3
- import type { IArgsCoder } from '../types';
4
- export declare class ConcentrateGrowLiquidityXDArgsCoder implements IArgsCoder<ConcentrateGrowLiquidityXDArgs> {
5
- encode(args: ConcentrateGrowLiquidityXDArgs): HexString;
6
- decode(data: HexString): ConcentrateGrowLiquidityXDArgs;
7
- }
@@ -1,17 +0,0 @@
1
- import type { HexString } from '@1inch/sdk-core';
2
- import type { TokenDelta } from './types';
3
- import type { IArgsData } from '../types';
4
- /**
5
- * Arguments for concentrateGrowLiquidityXD instruction with multiple token deltas
6
- * @see https://github.com/1inch/swap-vm/blob/main/src/instructions/XYCConcentrate.sol#L139
7
- **/
8
- export declare class ConcentrateGrowLiquidityXDArgs implements IArgsData {
9
- readonly tokenDeltas: TokenDelta[];
10
- static readonly CODER: any;
11
- constructor(tokenDeltas: TokenDelta[]);
12
- /**
13
- * Decodes hex data into ConcentrateGrowLiquidityXDArgs instance
14
- **/
15
- static decode(data: HexString): ConcentrateGrowLiquidityXDArgs;
16
- toJSON(): Record<string, unknown>;
17
- }
@@ -1,17 +0,0 @@
1
- import type { HexString } from '@1inch/sdk-core';
2
- import type { TokenDelta } from './types';
3
- import type { IArgsData } from '../types';
4
- /**
5
- * Arguments for concentrateGrowLiquidityXD instruction with multiple token deltas
6
- * @see https://github.com/1inch/swap-vm/blob/main/src/instructions/XYCConcentrate.sol#L139
7
- **/
8
- export declare class ConcentrateGrowLiquidityXDArgs implements IArgsData {
9
- readonly tokenDeltas: TokenDelta[];
10
- static readonly CODER: any;
11
- constructor(tokenDeltas: TokenDelta[]);
12
- /**
13
- * Decodes hex data into ConcentrateGrowLiquidityXDArgs instance
14
- **/
15
- static decode(data: HexString): ConcentrateGrowLiquidityXDArgs;
16
- toJSON(): Record<string, unknown>;
17
- }
@@ -1,5 +0,0 @@
1
- import type { AddressHalf } from '@1inch/sdk-core';
2
- export type TokenDelta = {
3
- readonly tokenHalf: AddressHalf;
4
- readonly delta: bigint;
5
- };
@@ -1,5 +0,0 @@
1
- import type { AddressHalf } from '@1inch/sdk-core';
2
- export type TokenDelta = {
3
- readonly tokenHalf: AddressHalf;
4
- readonly delta: bigint;
5
- };
@@ -1,4 +0,0 @@
1
- export declare function computeDeltas(balanceA: bigint, balanceB: bigint, price: bigint, priceMin: bigint, priceMax: bigint): {
2
- deltaA: bigint;
3
- deltaB: bigint;
4
- };
@@ -1,4 +0,0 @@
1
- export declare function computeDeltas(balanceA: bigint, balanceB: bigint, price: bigint, priceMin: bigint, priceMax: bigint): {
2
- deltaA: bigint;
3
- deltaB: bigint;
4
- };
@@ -1,2 +0,0 @@
1
- export * from './opcodes';
2
- export { StableSwap2DArgs } from './stable-swap-2d-args';
@@ -1,2 +0,0 @@
1
- export * from './opcodes';
2
- export { StableSwap2DArgs } from './stable-swap-2d-args';
@@ -1,4 +0,0 @@
1
- /**
2
- * Stablecoin optimized swap using StableSwap algorithm (Curve-style)
3
- **/
4
- export declare const stableSwap2D: any;
@@ -1,4 +0,0 @@
1
- /**
2
- * Stablecoin optimized swap using StableSwap algorithm (Curve-style)
3
- **/
4
- export declare const stableSwap2D: any;
@@ -1,7 +0,0 @@
1
- import { HexString } from '@1inch/sdk-core';
2
- import { StableSwap2DArgs } from './stable-swap-2d-args';
3
- import type { IArgsCoder } from '../types';
4
- export declare class StableSwap2DArgsCoder implements IArgsCoder<StableSwap2DArgs> {
5
- encode(args: StableSwap2DArgs): HexString;
6
- decode(data: HexString): StableSwap2DArgs;
7
- }
@@ -1,7 +0,0 @@
1
- import { HexString } from '@1inch/sdk-core';
2
- import { StableSwap2DArgs } from './stable-swap-2d-args';
3
- import type { IArgsCoder } from '../types';
4
- export declare class StableSwap2DArgsCoder implements IArgsCoder<StableSwap2DArgs> {
5
- encode(args: StableSwap2DArgs): HexString;
6
- decode(data: HexString): StableSwap2DArgs;
7
- }
@@ -1,25 +0,0 @@
1
- import type { Address, HexString } from '@1inch/sdk-core';
2
- import type { IArgsData } from '../types';
3
- /**
4
- * Arguments for stableSwap2D instruction for stablecoin optimized swaps
5
- **/
6
- export declare class StableSwap2DArgs implements IArgsData {
7
- readonly fee: bigint;
8
- readonly A: bigint;
9
- readonly rateLt: bigint;
10
- readonly rateGt: bigint;
11
- static readonly CODER: any;
12
- /**
13
- * fee - swap fee in 1e10 (uint32)
14
- * A - amplification coefficient (uint32)
15
- * rateLt - rate for token with lower address (uint256)
16
- * rateGt - rate for token with higher address (uint256)
17
- **/
18
- constructor(fee: bigint, A: bigint, rateLt: bigint, rateGt: bigint);
19
- static fromTokens(fee: bigint, a: bigint, tokenA: Address, tokenB: Address, rateA: bigint, rateB: bigint): StableSwap2DArgs;
20
- /**
21
- * Decodes hex data into StableSwap2DArgs instance
22
- **/
23
- static decode(data: HexString): StableSwap2DArgs;
24
- toJSON(): Record<string, unknown>;
25
- }
@@ -1,25 +0,0 @@
1
- import type { Address, HexString } from '@1inch/sdk-core';
2
- import type { IArgsData } from '../types';
3
- /**
4
- * Arguments for stableSwap2D instruction for stablecoin optimized swaps
5
- **/
6
- export declare class StableSwap2DArgs implements IArgsData {
7
- readonly fee: bigint;
8
- readonly A: bigint;
9
- readonly rateLt: bigint;
10
- readonly rateGt: bigint;
11
- static readonly CODER: any;
12
- /**
13
- * fee - swap fee in 1e10 (uint32)
14
- * A - amplification coefficient (uint32)
15
- * rateLt - rate for token with lower address (uint256)
16
- * rateGt - rate for token with higher address (uint256)
17
- **/
18
- constructor(fee: bigint, A: bigint, rateLt: bigint, rateGt: bigint);
19
- static fromTokens(fee: bigint, a: bigint, tokenA: Address, tokenB: Address, rateA: bigint, rateB: bigint): StableSwap2DArgs;
20
- /**
21
- * Decodes hex data into StableSwap2DArgs instance
22
- **/
23
- static decode(data: HexString): StableSwap2DArgs;
24
- toJSON(): Record<string, unknown>;
25
- }
@@ -1,22 +0,0 @@
1
- import { Address } from '@1inch/sdk-core';
2
- export type MakerTraitsBuildArgs = {
3
- shouldUnwrapWeth?: boolean;
4
- hasPreTransferOutHook?: boolean;
5
- hasPostTransferInHook?: boolean;
6
- useAquaInsteadOfSignature?: boolean;
7
- ignoreAquaForTransferIn?: boolean;
8
- expiration?: bigint;
9
- receiver?: Address;
10
- preTransferOutDataLength?: bigint;
11
- postTransferInDataLength?: bigint;
12
- };
13
- export type TakerTraitsBuildArgs = {
14
- isExactIn?: boolean;
15
- shouldUnwrapWeth?: boolean;
16
- hasPreTransferInHook?: boolean;
17
- isStrictThresholdAmount?: boolean;
18
- isFirstTransferFromTaker?: boolean;
19
- useTransferFromAndAquaPush?: boolean;
20
- threshold?: bigint;
21
- customReceiver?: Address;
22
- };
@@ -1,22 +0,0 @@
1
- import { Address } from '@1inch/sdk-core';
2
- export type MakerTraitsBuildArgs = {
3
- shouldUnwrapWeth?: boolean;
4
- hasPreTransferOutHook?: boolean;
5
- hasPostTransferInHook?: boolean;
6
- useAquaInsteadOfSignature?: boolean;
7
- ignoreAquaForTransferIn?: boolean;
8
- expiration?: bigint;
9
- receiver?: Address;
10
- preTransferOutDataLength?: bigint;
11
- postTransferInDataLength?: bigint;
12
- };
13
- export type TakerTraitsBuildArgs = {
14
- isExactIn?: boolean;
15
- shouldUnwrapWeth?: boolean;
16
- hasPreTransferInHook?: boolean;
17
- isStrictThresholdAmount?: boolean;
18
- isFirstTransferFromTaker?: boolean;
19
- useTransferFromAndAquaPush?: boolean;
20
- threshold?: bigint;
21
- customReceiver?: Address;
22
- };