@storm-trade/trading-sdk 1.0.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 (106) hide show
  1. package/README.md +354 -0
  2. package/dist/api-clients/clients/config-client.d.ts +56 -0
  3. package/dist/api-clients/clients/config-client.esm.js +72 -0
  4. package/dist/api-clients/clients/config-client.esm.js.map +1 -0
  5. package/dist/api-clients/clients/config-client.js +74 -0
  6. package/dist/api-clients/clients/config-client.js.map +1 -0
  7. package/dist/api-clients/clients/oracle-client.d.ts +17 -0
  8. package/dist/api-clients/clients/oracle-client.esm.js +24 -0
  9. package/dist/api-clients/clients/oracle-client.esm.js.map +1 -0
  10. package/dist/api-clients/clients/oracle-client.js +26 -0
  11. package/dist/api-clients/clients/oracle-client.js.map +1 -0
  12. package/dist/api-clients/clients/storm-client.d.ts +8 -0
  13. package/dist/api-clients/clients/storm-client.esm.js +18 -0
  14. package/dist/api-clients/clients/storm-client.esm.js.map +1 -0
  15. package/dist/api-clients/clients/storm-client.js +20 -0
  16. package/dist/api-clients/clients/storm-client.js.map +1 -0
  17. package/dist/api-clients/contracts/jetton-master.d.ts +8 -0
  18. package/dist/api-clients/contracts/jetton-master.esm.js +21 -0
  19. package/dist/api-clients/contracts/jetton-master.esm.js.map +1 -0
  20. package/dist/api-clients/contracts/jetton-master.js +23 -0
  21. package/dist/api-clients/contracts/jetton-master.js.map +1 -0
  22. package/dist/api-clients/contracts/position-manager/position-manager-packers.d.ts +10 -0
  23. package/dist/api-clients/contracts/position-manager/position-manager-packers.esm.js +148 -0
  24. package/dist/api-clients/contracts/position-manager/position-manager-packers.esm.js.map +1 -0
  25. package/dist/api-clients/contracts/position-manager/position-manager-packers.js +157 -0
  26. package/dist/api-clients/contracts/position-manager/position-manager-packers.js.map +1 -0
  27. package/dist/api-clients/contracts/position-manager/position-manager.types.d.ts +165 -0
  28. package/dist/api-clients/contracts/position-manager.d.ts +9 -0
  29. package/dist/api-clients/contracts/position-manager.esm.js +55 -0
  30. package/dist/api-clients/contracts/position-manager.esm.js.map +1 -0
  31. package/dist/api-clients/contracts/position-manager.js +57 -0
  32. package/dist/api-clients/contracts/position-manager.js.map +1 -0
  33. package/dist/api-clients/contracts/vault.d.ts +8 -0
  34. package/dist/api-clients/contracts/vault.esm.js +30 -0
  35. package/dist/api-clients/contracts/vault.esm.js.map +1 -0
  36. package/dist/api-clients/contracts/vault.js +32 -0
  37. package/dist/api-clients/contracts/vault.js.map +1 -0
  38. package/dist/api-clients/index.d.ts +7 -0
  39. package/dist/api-clients/index.esm.js +8 -0
  40. package/dist/api-clients/index.esm.js.map +1 -0
  41. package/dist/api-clients/index.js +20 -0
  42. package/dist/api-clients/index.js.map +1 -0
  43. package/dist/api-clients/utils/address-to-cell.d.ts +2 -0
  44. package/dist/api-clients/utils/address-to-cell.esm.js +8 -0
  45. package/dist/api-clients/utils/address-to-cell.esm.js.map +1 -0
  46. package/dist/api-clients/utils/address-to-cell.js +10 -0
  47. package/dist/api-clients/utils/address-to-cell.js.map +1 -0
  48. package/dist/api-clients/utils/ton-client-abstract.d.ts +8 -0
  49. package/dist/api-clients/utils/ton-client-abstract.esm.js +45 -0
  50. package/dist/api-clients/utils/ton-client-abstract.esm.js.map +1 -0
  51. package/dist/api-clients/utils/ton-client-abstract.js +47 -0
  52. package/dist/api-clients/utils/ton-client-abstract.js.map +1 -0
  53. package/dist/base-packers/index.d.ts +5 -0
  54. package/dist/base-packers/index.esm.js +4 -0
  55. package/dist/base-packers/index.esm.js.map +1 -0
  56. package/dist/base-packers/index.js +28 -0
  57. package/dist/base-packers/index.js.map +1 -0
  58. package/dist/base-packers/opcodes.d.ts +14 -0
  59. package/dist/base-packers/opcodes.esm.js +20 -0
  60. package/dist/base-packers/opcodes.esm.js.map +1 -0
  61. package/dist/base-packers/opcodes.js +20 -0
  62. package/dist/base-packers/opcodes.js.map +1 -0
  63. package/dist/base-packers/oracle-packer.d.ts +3 -0
  64. package/dist/base-packers/oracle-packer.esm.js +23 -0
  65. package/dist/base-packers/oracle-packer.esm.js.map +1 -0
  66. package/dist/base-packers/oracle-packer.js +25 -0
  67. package/dist/base-packers/oracle-packer.js.map +1 -0
  68. package/dist/base-packers/oracle-packer.types.d.ts +14 -0
  69. package/dist/base-packers/order-packers.d.ts +12 -0
  70. package/dist/base-packers/order-packers.esm.js +122 -0
  71. package/dist/base-packers/order-packers.esm.js.map +1 -0
  72. package/dist/base-packers/order-packers.js +133 -0
  73. package/dist/base-packers/order-packers.js.map +1 -0
  74. package/dist/base-packers/order-packers.types.d.ts +80 -0
  75. package/dist/base-packers/order-packers.types.esm.js +15 -0
  76. package/dist/base-packers/order-packers.types.esm.js.map +1 -0
  77. package/dist/base-packers/order-packers.types.js +15 -0
  78. package/dist/base-packers/order-packers.types.js.map +1 -0
  79. package/dist/common-packers/fees.d.ts +23 -0
  80. package/dist/common-packers/fees.esm.js +13 -0
  81. package/dist/common-packers/fees.esm.js.map +1 -0
  82. package/dist/common-packers/fees.js +15 -0
  83. package/dist/common-packers/fees.js.map +1 -0
  84. package/dist/common-packers/index.d.ts +2 -0
  85. package/dist/common-packers/index.esm.js +2 -0
  86. package/dist/common-packers/index.esm.js.map +1 -0
  87. package/dist/common-packers/index.js +15 -0
  88. package/dist/common-packers/index.js.map +1 -0
  89. package/dist/common-packers/order-packers.d.ts +10 -0
  90. package/dist/common-packers/order-packers.esm.js +146 -0
  91. package/dist/common-packers/order-packers.esm.js.map +1 -0
  92. package/dist/common-packers/order-packers.js +155 -0
  93. package/dist/common-packers/order-packers.js.map +1 -0
  94. package/dist/common-packers/order-packers.types.d.ts +102 -0
  95. package/dist/sdk/index.d.ts +2 -0
  96. package/dist/sdk/index.esm.js +2 -0
  97. package/dist/sdk/index.esm.js.map +1 -0
  98. package/dist/sdk/index.js +8 -0
  99. package/dist/sdk/index.js.map +1 -0
  100. package/dist/sdk/sdk.d.ts +42 -0
  101. package/dist/sdk/sdk.esm.js +352 -0
  102. package/dist/sdk/sdk.esm.js.map +1 -0
  103. package/dist/sdk/sdk.js +354 -0
  104. package/dist/sdk/sdk.js.map +1 -0
  105. package/dist/sdk/sdk.types.d.ts +327 -0
  106. package/package.json +102 -0
@@ -0,0 +1,122 @@
1
+ import { beginCell, toNano } from '@ton/ton';
2
+ import { packOraclePayload } from './oracle-packer.esm.js';
3
+ import { OrderType } from './order-packers.types.esm.js';
4
+ import { AmmOpcodes, PositionManagerOpcodes, VaultOpcodes } from './opcodes.esm.js';
5
+
6
+ function packMarketOrder(opts) {
7
+ let body = beginCell()
8
+ .storeUint(VaultOpcodes.requestCreateOrder, 32)
9
+ .storeUint(opts.assetId, 16)
10
+ .storeUint(OrderType.market, 4)
11
+ .storeAddress(opts.gasToAddress)
12
+ .storeBit(opts.initPositionManager)
13
+ .storeRef(beginCell()
14
+ .storeUint(opts.leverage, 64)
15
+ .storeUint(opts.expiration, 32)
16
+ .storeUint(opts.direction, 1)
17
+ .storeCoins(opts.limitPrice)
18
+ .storeCoins(opts.minBaseAssetAmount)
19
+ .storeCoins(opts.stopTriggerPrice)
20
+ .storeCoins(opts.takeTriggerPrice)
21
+ .endCell());
22
+ if (opts.initPositionManager) {
23
+ body = body.storeMaybeUint(opts.referralId, 64);
24
+ }
25
+ return body.endCell();
26
+ }
27
+ function packLimitOrder(opts) {
28
+ let body = beginCell()
29
+ .storeUint(VaultOpcodes.requestCreateOrder, 32)
30
+ .storeUint(opts.assetId, 16)
31
+ .storeUint(OrderType.limit, 4)
32
+ .storeAddress(opts.gasToAddress)
33
+ .storeBit(opts.initPositionManager)
34
+ .storeRef(beginCell()
35
+ .storeUint(opts.leverage, 64)
36
+ .storeUint(opts.expiration, 32)
37
+ .storeUint(opts.direction, 1)
38
+ .storeCoins(opts.limitPrice)
39
+ .storeCoins(opts.stopPrice)
40
+ .storeCoins(opts.stopTriggerPrice)
41
+ .storeCoins(opts.takeTriggerPrice)
42
+ .endCell());
43
+ if (opts.initPositionManager) {
44
+ body = body.storeMaybeUint(opts.referralId, 64);
45
+ }
46
+ return body.endCell();
47
+ }
48
+ function packSLTPOrder(opts) {
49
+ return beginCell()
50
+ .storeUint(PositionManagerOpcodes.createOrder, 32)
51
+ .storeUint(opts.type, 4)
52
+ .storeAddress(opts.gasToAddress)
53
+ .storeRef(beginCell()
54
+ .storeUint(opts.type, 4)
55
+ .storeUint(opts.expiration, 32)
56
+ .storeUint(opts.direction, 1)
57
+ .storeCoins(opts.amount)
58
+ .storeCoins(opts.triggerPrice)
59
+ .endCell())
60
+ .endCell();
61
+ }
62
+ function packAddMargin(opts) {
63
+ return beginCell()
64
+ .storeUint(AmmOpcodes.addMargin, 32)
65
+ .storeUint(opts.assetId, 16)
66
+ .storeUint(opts.direction, 1)
67
+ .storeAddress(opts.gasToAddress)
68
+ .storeRef(packOraclePayload(opts.oracle))
69
+ .endCell();
70
+ }
71
+ function packRemoveMargin(opts) {
72
+ return beginCell()
73
+ .storeUint(PositionManagerOpcodes.providePosition, 32)
74
+ .storeUint(opts.direction, 1)
75
+ .storeAddress(opts.gasToAddress)
76
+ .storeUint(AmmOpcodes.removeMargin, 32)
77
+ .storeCoins(opts.amount)
78
+ .storeRef(packOraclePayload(opts.oracle))
79
+ .endCell();
80
+ }
81
+ function packProvideLiquidity() {
82
+ return beginCell().storeUint(VaultOpcodes.provideLiquidity, 32).endCell();
83
+ }
84
+ function packWithdrawLiquidity(opts) {
85
+ return beginCell()
86
+ .storeUint(VaultOpcodes.withdrawLiquidity, 32)
87
+ .storeUint(0, 64)
88
+ .storeCoins(opts.amount)
89
+ .storeAddress(opts.userAddress)
90
+ .endCell();
91
+ }
92
+ function packCancelOrder(opts) {
93
+ return beginCell()
94
+ .storeUint(PositionManagerOpcodes.cancelOrder, 32)
95
+ .storeUint(opts.orderType, 4)
96
+ .storeUint(opts.orderIndex, 3)
97
+ .storeUint(opts.direction, 1)
98
+ .storeAddress(opts.gasToAddress)
99
+ .endCell();
100
+ }
101
+ function packInJettonPayload(params) {
102
+ console.log({ to: params.to, responseAddress: params.responseAddress });
103
+ return beginCell()
104
+ .storeUint(0xf8a7ea5, 32)
105
+ .storeUint(0, 64) // op, queryId
106
+ .storeCoins(params.amount)
107
+ .storeAddress(params.to)
108
+ .storeAddress(params.responseAddress)
109
+ .storeMaybeRef(params.customPayload)
110
+ .storeCoins(params.forwardTonAmount ?? toNano('0.001')) // notify message
111
+ .storeMaybeRef(params.forwardPayload)
112
+ .endCell();
113
+ }
114
+ function packInNativePayload(opts) {
115
+ // get initial op
116
+ const payload = opts.payload.beginParse();
117
+ const opCode = payload.loadUint(32);
118
+ return beginCell().storeUint(opCode, 32).storeCoins(opts.amount).storeSlice(payload).endCell();
119
+ }
120
+
121
+ export { packAddMargin, packCancelOrder, packInJettonPayload, packInNativePayload, packLimitOrder, packMarketOrder, packProvideLiquidity, packRemoveMargin, packSLTPOrder, packWithdrawLiquidity };
122
+ //# sourceMappingURL=order-packers.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-packers.esm.js","sources":["../../src/base-packers/order-packers.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ var ton = require('@ton/ton');
4
+ var oraclePacker = require('./oracle-packer.js');
5
+ var orderPackers_types = require('./order-packers.types.js');
6
+ var opcodes = require('./opcodes.js');
7
+
8
+ function packMarketOrder(opts) {
9
+ let body = ton.beginCell()
10
+ .storeUint(opcodes.VaultOpcodes.requestCreateOrder, 32)
11
+ .storeUint(opts.assetId, 16)
12
+ .storeUint(orderPackers_types.OrderType.market, 4)
13
+ .storeAddress(opts.gasToAddress)
14
+ .storeBit(opts.initPositionManager)
15
+ .storeRef(ton.beginCell()
16
+ .storeUint(opts.leverage, 64)
17
+ .storeUint(opts.expiration, 32)
18
+ .storeUint(opts.direction, 1)
19
+ .storeCoins(opts.limitPrice)
20
+ .storeCoins(opts.minBaseAssetAmount)
21
+ .storeCoins(opts.stopTriggerPrice)
22
+ .storeCoins(opts.takeTriggerPrice)
23
+ .endCell());
24
+ if (opts.initPositionManager) {
25
+ body = body.storeMaybeUint(opts.referralId, 64);
26
+ }
27
+ return body.endCell();
28
+ }
29
+ function packLimitOrder(opts) {
30
+ let body = ton.beginCell()
31
+ .storeUint(opcodes.VaultOpcodes.requestCreateOrder, 32)
32
+ .storeUint(opts.assetId, 16)
33
+ .storeUint(orderPackers_types.OrderType.limit, 4)
34
+ .storeAddress(opts.gasToAddress)
35
+ .storeBit(opts.initPositionManager)
36
+ .storeRef(ton.beginCell()
37
+ .storeUint(opts.leverage, 64)
38
+ .storeUint(opts.expiration, 32)
39
+ .storeUint(opts.direction, 1)
40
+ .storeCoins(opts.limitPrice)
41
+ .storeCoins(opts.stopPrice)
42
+ .storeCoins(opts.stopTriggerPrice)
43
+ .storeCoins(opts.takeTriggerPrice)
44
+ .endCell());
45
+ if (opts.initPositionManager) {
46
+ body = body.storeMaybeUint(opts.referralId, 64);
47
+ }
48
+ return body.endCell();
49
+ }
50
+ function packSLTPOrder(opts) {
51
+ return ton.beginCell()
52
+ .storeUint(opcodes.PositionManagerOpcodes.createOrder, 32)
53
+ .storeUint(opts.type, 4)
54
+ .storeAddress(opts.gasToAddress)
55
+ .storeRef(ton.beginCell()
56
+ .storeUint(opts.type, 4)
57
+ .storeUint(opts.expiration, 32)
58
+ .storeUint(opts.direction, 1)
59
+ .storeCoins(opts.amount)
60
+ .storeCoins(opts.triggerPrice)
61
+ .endCell())
62
+ .endCell();
63
+ }
64
+ function packAddMargin(opts) {
65
+ return ton.beginCell()
66
+ .storeUint(opcodes.AmmOpcodes.addMargin, 32)
67
+ .storeUint(opts.assetId, 16)
68
+ .storeUint(opts.direction, 1)
69
+ .storeAddress(opts.gasToAddress)
70
+ .storeRef(oraclePacker.packOraclePayload(opts.oracle))
71
+ .endCell();
72
+ }
73
+ function packRemoveMargin(opts) {
74
+ return ton.beginCell()
75
+ .storeUint(opcodes.PositionManagerOpcodes.providePosition, 32)
76
+ .storeUint(opts.direction, 1)
77
+ .storeAddress(opts.gasToAddress)
78
+ .storeUint(opcodes.AmmOpcodes.removeMargin, 32)
79
+ .storeCoins(opts.amount)
80
+ .storeRef(oraclePacker.packOraclePayload(opts.oracle))
81
+ .endCell();
82
+ }
83
+ function packProvideLiquidity() {
84
+ return ton.beginCell().storeUint(opcodes.VaultOpcodes.provideLiquidity, 32).endCell();
85
+ }
86
+ function packWithdrawLiquidity(opts) {
87
+ return ton.beginCell()
88
+ .storeUint(opcodes.VaultOpcodes.withdrawLiquidity, 32)
89
+ .storeUint(0, 64)
90
+ .storeCoins(opts.amount)
91
+ .storeAddress(opts.userAddress)
92
+ .endCell();
93
+ }
94
+ function packCancelOrder(opts) {
95
+ return ton.beginCell()
96
+ .storeUint(opcodes.PositionManagerOpcodes.cancelOrder, 32)
97
+ .storeUint(opts.orderType, 4)
98
+ .storeUint(opts.orderIndex, 3)
99
+ .storeUint(opts.direction, 1)
100
+ .storeAddress(opts.gasToAddress)
101
+ .endCell();
102
+ }
103
+ function packInJettonPayload(params) {
104
+ console.log({ to: params.to, responseAddress: params.responseAddress });
105
+ return ton.beginCell()
106
+ .storeUint(0xf8a7ea5, 32)
107
+ .storeUint(0, 64) // op, queryId
108
+ .storeCoins(params.amount)
109
+ .storeAddress(params.to)
110
+ .storeAddress(params.responseAddress)
111
+ .storeMaybeRef(params.customPayload)
112
+ .storeCoins(params.forwardTonAmount ?? ton.toNano('0.001')) // notify message
113
+ .storeMaybeRef(params.forwardPayload)
114
+ .endCell();
115
+ }
116
+ function packInNativePayload(opts) {
117
+ // get initial op
118
+ const payload = opts.payload.beginParse();
119
+ const opCode = payload.loadUint(32);
120
+ return ton.beginCell().storeUint(opCode, 32).storeCoins(opts.amount).storeSlice(payload).endCell();
121
+ }
122
+
123
+ exports.packAddMargin = packAddMargin;
124
+ exports.packCancelOrder = packCancelOrder;
125
+ exports.packInJettonPayload = packInJettonPayload;
126
+ exports.packInNativePayload = packInNativePayload;
127
+ exports.packLimitOrder = packLimitOrder;
128
+ exports.packMarketOrder = packMarketOrder;
129
+ exports.packProvideLiquidity = packProvideLiquidity;
130
+ exports.packRemoveMargin = packRemoveMargin;
131
+ exports.packSLTPOrder = packSLTPOrder;
132
+ exports.packWithdrawLiquidity = packWithdrawLiquidity;
133
+ //# sourceMappingURL=order-packers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-packers.js","sources":["../../src/base-packers/order-packers.ts"],"sourcesContent":[null],"names":["beginCell","VaultOpcodes","OrderType","PositionManagerOpcodes","AmmOpcodes","packOraclePayload","toNano"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { Address, Cell } from '@ton/ton';
2
+ import { OraclePayload } from './oracle-packer.types';
3
+ export declare enum OrderType {
4
+ stopLoss = 0,
5
+ takeProfit = 1,
6
+ limit = 2,
7
+ market = 3
8
+ }
9
+ export declare enum Direction {
10
+ long = 0,
11
+ short = 1
12
+ }
13
+ export type PackMarketOrderParams = {
14
+ assetId: number;
15
+ gasToAddress?: Address;
16
+ initPositionManager: boolean;
17
+ leverage: bigint;
18
+ expiration: number;
19
+ direction: Direction;
20
+ limitPrice: bigint;
21
+ minBaseAssetAmount: bigint;
22
+ stopTriggerPrice: bigint;
23
+ takeTriggerPrice: bigint;
24
+ referralId?: number;
25
+ };
26
+ export type PackLimitOrderParams = {
27
+ assetId: number;
28
+ gasToAddress?: Address;
29
+ initPositionManager: boolean;
30
+ leverage: bigint;
31
+ expiration: number;
32
+ direction: Direction;
33
+ limitPrice: bigint;
34
+ stopPrice: bigint;
35
+ stopTriggerPrice: bigint;
36
+ takeTriggerPrice: bigint;
37
+ referralId?: number;
38
+ };
39
+ export type PackSLTPOrderParams = {
40
+ gasToAddress?: Address;
41
+ type: OrderType.stopLoss | OrderType.takeProfit;
42
+ expiration: number;
43
+ direction: Direction;
44
+ amount: bigint;
45
+ triggerPrice: bigint;
46
+ };
47
+ export type PackAddMarginParams = {
48
+ gasToAddress?: Address;
49
+ assetId: number;
50
+ direction: Direction;
51
+ oracle: OraclePayload;
52
+ };
53
+ export type PackRemoveMarginParams = {
54
+ direction: Direction;
55
+ gasToAddress?: Address;
56
+ amount: bigint;
57
+ oracle: OraclePayload;
58
+ };
59
+ export type WithdrawLiquidityParams = {
60
+ amount: bigint;
61
+ userAddress: Address;
62
+ };
63
+ export type PackCancelOrderParams = {
64
+ orderType: OrderType;
65
+ orderIndex: number;
66
+ direction: Direction;
67
+ gasToAddress?: Address;
68
+ };
69
+ export type PackJettonPayloadParams = {
70
+ amount: bigint;
71
+ to: Address;
72
+ responseAddress?: Address;
73
+ customPayload?: Cell;
74
+ forwardTonAmount?: bigint;
75
+ forwardPayload: Cell;
76
+ };
77
+ export type PackNativePayloadParams = {
78
+ amount: bigint;
79
+ payload: Cell;
80
+ };
@@ -0,0 +1,15 @@
1
+ var OrderType;
2
+ (function (OrderType) {
3
+ OrderType[OrderType["stopLoss"] = 0] = "stopLoss";
4
+ OrderType[OrderType["takeProfit"] = 1] = "takeProfit";
5
+ OrderType[OrderType["limit"] = 2] = "limit";
6
+ OrderType[OrderType["market"] = 3] = "market";
7
+ })(OrderType || (OrderType = {}));
8
+ var Direction;
9
+ (function (Direction) {
10
+ Direction[Direction["long"] = 0] = "long";
11
+ Direction[Direction["short"] = 1] = "short";
12
+ })(Direction || (Direction = {}));
13
+
14
+ export { Direction, OrderType };
15
+ //# sourceMappingURL=order-packers.types.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-packers.types.esm.js","sources":["../../src/base-packers/order-packers.types.ts"],"sourcesContent":[null],"names":[],"mappings":"IAGY;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACZ,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;IAEW;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACX,CAAC,EAHW,SAAS,KAAT,SAAS,GAGpB,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ exports.OrderType = void 0;
4
+ (function (OrderType) {
5
+ OrderType[OrderType["stopLoss"] = 0] = "stopLoss";
6
+ OrderType[OrderType["takeProfit"] = 1] = "takeProfit";
7
+ OrderType[OrderType["limit"] = 2] = "limit";
8
+ OrderType[OrderType["market"] = 3] = "market";
9
+ })(exports.OrderType || (exports.OrderType = {}));
10
+ exports.Direction = void 0;
11
+ (function (Direction) {
12
+ Direction[Direction["long"] = 0] = "long";
13
+ Direction[Direction["short"] = 1] = "short";
14
+ })(exports.Direction || (exports.Direction = {}));
15
+ //# sourceMappingURL=order-packers.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-packers.types.js","sources":["../../src/base-packers/order-packers.types.ts"],"sourcesContent":[null],"names":["OrderType","Direction"],"mappings":";;AAGYA;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,SAAA,CAAA,SAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACZ,CAAC,EALWA,iBAAS,KAATA,iBAAS,GAKpB,EAAA,CAAA,CAAA;AAEWC;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACX,CAAC,EAHWA,iBAAS,KAATA,iBAAS,GAGpB,EAAA,CAAA,CAAA;;"}
@@ -0,0 +1,23 @@
1
+ export declare const Fees: {
2
+ readonly addMargin: {
3
+ readonly msgValue: bigint;
4
+ readonly forwardValue: bigint;
5
+ };
6
+ readonly createOrder: {
7
+ readonly msgValue: bigint;
8
+ readonly forwardValue: bigint;
9
+ };
10
+ readonly removeMargin: {
11
+ readonly msgValue: bigint;
12
+ };
13
+ readonly cancelOrder: {
14
+ readonly msgValue: bigint;
15
+ };
16
+ readonly provideLiquidity: {
17
+ readonly msgValue: bigint;
18
+ readonly forwardValue: bigint;
19
+ };
20
+ readonly withdrawLiquidity: {
21
+ readonly msgValue: bigint;
22
+ };
23
+ };
@@ -0,0 +1,13 @@
1
+ import { toNano } from '@ton/ton';
2
+
3
+ const Fees = {
4
+ addMargin: { msgValue: toNano('0.35'), forwardValue: toNano('0.305') },
5
+ createOrder: { msgValue: toNano('0.225'), forwardValue: toNano('0.18') },
6
+ removeMargin: { msgValue: toNano('0.35') },
7
+ cancelOrder: { msgValue: toNano('0.3') },
8
+ provideLiquidity: { msgValue: toNano('0.35'), forwardValue: toNano('0.305') },
9
+ withdrawLiquidity: { msgValue: toNano('0.3') },
10
+ };
11
+
12
+ export { Fees };
13
+ //# sourceMappingURL=fees.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.esm.js","sources":["../../src/common-packers/fees.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEa,MAAA,IAAI,GAAG;AAClB,IAAA,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;AACtE,IAAA,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;IACxE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;IAC1C,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;AACxC,IAAA,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;IAC7E,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;;;;;"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var ton = require('@ton/ton');
4
+
5
+ const Fees = {
6
+ addMargin: { msgValue: ton.toNano('0.35'), forwardValue: ton.toNano('0.305') },
7
+ createOrder: { msgValue: ton.toNano('0.225'), forwardValue: ton.toNano('0.18') },
8
+ removeMargin: { msgValue: ton.toNano('0.35') },
9
+ cancelOrder: { msgValue: ton.toNano('0.3') },
10
+ provideLiquidity: { msgValue: ton.toNano('0.35'), forwardValue: ton.toNano('0.305') },
11
+ withdrawLiquidity: { msgValue: ton.toNano('0.3') },
12
+ };
13
+
14
+ exports.Fees = Fees;
15
+ //# sourceMappingURL=fees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.js","sources":["../../src/common-packers/fees.ts"],"sourcesContent":[null],"names":["toNano"],"mappings":";;;;AAEa,MAAA,IAAI,GAAG;AAClB,IAAA,SAAS,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAEA,UAAM,CAAC,OAAO,CAAC,EAAE;AACtE,IAAA,WAAW,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,OAAO,CAAC,EAAE,YAAY,EAAEA,UAAM,CAAC,MAAM,CAAC,EAAE;IACxE,YAAY,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,MAAM,CAAC,EAAE;IAC1C,WAAW,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,KAAK,CAAC,EAAE;AACxC,IAAA,gBAAgB,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAEA,UAAM,CAAC,OAAO,CAAC,EAAE;IAC7E,iBAAiB,EAAE,EAAE,QAAQ,EAAEA,UAAM,CAAC,KAAK,CAAC,EAAE;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './order-packers';
2
+ export * from './order-packers.types';
@@ -0,0 +1,2 @@
1
+ export { createAddMarginTx, createCancelOrderTx, createLimitOrderTx, createMarketOrderTx, createProvideLiquidityTx, createRemoveMarginTx, createSLTPOrderTx, createWithdrawLiquidityTx } from './order-packers.esm.js';
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var orderPackers = require('./order-packers.js');
4
+
5
+
6
+
7
+ exports.createAddMarginTx = orderPackers.createAddMarginTx;
8
+ exports.createCancelOrderTx = orderPackers.createCancelOrderTx;
9
+ exports.createLimitOrderTx = orderPackers.createLimitOrderTx;
10
+ exports.createMarketOrderTx = orderPackers.createMarketOrderTx;
11
+ exports.createProvideLiquidityTx = orderPackers.createProvideLiquidityTx;
12
+ exports.createRemoveMarginTx = orderPackers.createRemoveMarginTx;
13
+ exports.createSLTPOrderTx = orderPackers.createSLTPOrderTx;
14
+ exports.createWithdrawLiquidityTx = orderPackers.createWithdrawLiquidityTx;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ import { PackLimitOrderParams, PackMarketOrderParams } from '../base-packers';
2
+ import { AddMarginParams, CancelOrderParams, LimitMarketOrderParams, ProvideLiquidityParams, RemoveMarginParams, SLTPOrderParams, TXParams, WithdrawLiquidityParams } from './order-packers.types';
3
+ export declare function createCancelOrderTx(opts: CancelOrderParams): TXParams;
4
+ export declare function createMarketOrderTx(opts: LimitMarketOrderParams<PackMarketOrderParams>): TXParams;
5
+ export declare function createLimitOrderTx(opts: LimitMarketOrderParams<PackLimitOrderParams>): TXParams;
6
+ export declare function createSLTPOrderTx(opts: SLTPOrderParams): TXParams;
7
+ export declare function createAddMarginTx(opts: AddMarginParams): TXParams;
8
+ export declare function createRemoveMarginTx(opts: RemoveMarginParams): TXParams;
9
+ export declare function createProvideLiquidityTx(opts: ProvideLiquidityParams): TXParams;
10
+ export declare function createWithdrawLiquidityTx(opts: WithdrawLiquidityParams): TXParams;
@@ -0,0 +1,146 @@
1
+ import { packCancelOrder, packSLTPOrder, packRemoveMargin, packWithdrawLiquidity, packMarketOrder, packLimitOrder, packInJettonPayload, packAddMargin, packInNativePayload, packProvideLiquidity } from '../base-packers/order-packers.esm.js';
2
+ import '../base-packers/order-packers.types.esm.js';
3
+ import '@ton/ton';
4
+ import { Fees } from './fees.esm.js';
5
+
6
+ function packJettonCreateOrder(opts, forwardPayload) {
7
+ const body = packInJettonPayload({
8
+ amount: opts.amount,
9
+ to: opts.vaultAddress,
10
+ responseAddress: opts.traderAddress,
11
+ forwardTonAmount: Fees.createOrder.forwardValue,
12
+ forwardPayload,
13
+ });
14
+ return {
15
+ to: opts.traderJettonWalletAddress,
16
+ body, value: Fees.createOrder.msgValue,
17
+ };
18
+ }
19
+ function packNativeCreateOrder(opts, forwardPayload) {
20
+ const body = packInNativePayload({
21
+ payload: forwardPayload,
22
+ amount: opts.amount,
23
+ });
24
+ return {
25
+ to: opts.vaultAddress,
26
+ body,
27
+ value: Fees.createOrder.msgValue + opts.amount,
28
+ };
29
+ }
30
+ function packJettonAddMargin(opts) {
31
+ const body = packInJettonPayload({
32
+ amount: opts.amount,
33
+ to: opts.vaultAddress,
34
+ responseAddress: opts.traderAddress,
35
+ forwardTonAmount: Fees.addMargin.forwardValue,
36
+ forwardPayload: packAddMargin(opts.orderParams),
37
+ });
38
+ return {
39
+ to: opts.traderJettonWalletAddress,
40
+ body,
41
+ value: Fees.addMargin.msgValue,
42
+ };
43
+ }
44
+ function packNativeAddMargin(opts) {
45
+ const body = packInNativePayload({
46
+ amount: opts.amount,
47
+ payload: packAddMargin(opts.orderParams),
48
+ });
49
+ return {
50
+ to: opts.vaultAddress,
51
+ body,
52
+ value: Fees.addMargin.msgValue + opts.amount,
53
+ };
54
+ }
55
+ function packJettonMarketOrder(opts) {
56
+ return packJettonCreateOrder(opts, packMarketOrder(opts.orderParams));
57
+ }
58
+ function packNativeMarketOrder(opts) {
59
+ return packNativeCreateOrder(opts, packMarketOrder(opts.orderParams));
60
+ }
61
+ function packJettonLimitOrder(opts) {
62
+ return packJettonCreateOrder(opts, packLimitOrder(opts.orderParams));
63
+ }
64
+ function packNativeLimitOrder(opts) {
65
+ return packNativeCreateOrder(opts, packLimitOrder(opts.orderParams));
66
+ }
67
+ function packJettonProvideLiquidity(opts) {
68
+ const body = packInJettonPayload({
69
+ amount: opts.amount,
70
+ to: opts.vaultAddress,
71
+ responseAddress: opts.traderJettonWalletAddress,
72
+ forwardPayload: packProvideLiquidity(),
73
+ forwardTonAmount: Fees.provideLiquidity.forwardValue,
74
+ });
75
+ return {
76
+ to: opts.traderJettonWalletAddress,
77
+ body,
78
+ value: Fees.provideLiquidity.msgValue,
79
+ };
80
+ }
81
+ function packNativeProvideLiquidity(opts) {
82
+ const body = packInNativePayload({ payload: packProvideLiquidity(), amount: opts.amount });
83
+ return {
84
+ to: opts.vaultAddress,
85
+ body,
86
+ value: Fees.provideLiquidity.msgValue + opts.amount,
87
+ };
88
+ }
89
+ function createCancelOrderTx(opts) {
90
+ const body = packCancelOrder(opts.orderParams);
91
+ return {
92
+ to: opts.positionManagerAddress,
93
+ body,
94
+ value: Fees.cancelOrder.msgValue,
95
+ };
96
+ }
97
+ function createMarketOrderTx(opts) {
98
+ return opts.vaultType === 'jetton'
99
+ ? packJettonMarketOrder(opts)
100
+ : packNativeMarketOrder(opts);
101
+ }
102
+ function createLimitOrderTx(opts) {
103
+ return opts.vaultType === 'jetton'
104
+ ? packJettonLimitOrder(opts)
105
+ : packNativeLimitOrder(opts);
106
+ }
107
+ function createSLTPOrderTx(opts) {
108
+ const body = packSLTPOrder(opts.orderParams);
109
+ return {
110
+ to: opts.positionManagerAddress,
111
+ body,
112
+ value: Fees.createOrder.msgValue,
113
+ };
114
+ }
115
+ function createAddMarginTx(opts) {
116
+ return opts.vaultType === 'jetton'
117
+ ? packJettonAddMargin(opts)
118
+ : packNativeAddMargin(opts);
119
+ }
120
+ function createRemoveMarginTx(opts) {
121
+ const body = packRemoveMargin(opts.orderParams);
122
+ return {
123
+ to: opts.positionManagerAddress,
124
+ body,
125
+ value: Fees.removeMargin.msgValue,
126
+ };
127
+ }
128
+ function createProvideLiquidityTx(opts) {
129
+ return opts.vaultType === 'jetton'
130
+ ? packJettonProvideLiquidity(opts)
131
+ : packNativeProvideLiquidity(opts);
132
+ }
133
+ function createWithdrawLiquidityTx(opts) {
134
+ const body = packWithdrawLiquidity({
135
+ amount: opts.amount,
136
+ userAddress: opts.userAddress,
137
+ });
138
+ return {
139
+ to: opts.lpWalletAddress,
140
+ body,
141
+ value: Fees.withdrawLiquidity.msgValue,
142
+ };
143
+ }
144
+
145
+ export { createAddMarginTx, createCancelOrderTx, createLimitOrderTx, createMarketOrderTx, createProvideLiquidityTx, createRemoveMarginTx, createSLTPOrderTx, createWithdrawLiquidityTx };
146
+ //# sourceMappingURL=order-packers.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-packers.esm.js","sources":["../../src/common-packers/order-packers.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}