@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.
- package/README.md +354 -0
- package/dist/api-clients/clients/config-client.d.ts +56 -0
- package/dist/api-clients/clients/config-client.esm.js +72 -0
- package/dist/api-clients/clients/config-client.esm.js.map +1 -0
- package/dist/api-clients/clients/config-client.js +74 -0
- package/dist/api-clients/clients/config-client.js.map +1 -0
- package/dist/api-clients/clients/oracle-client.d.ts +17 -0
- package/dist/api-clients/clients/oracle-client.esm.js +24 -0
- package/dist/api-clients/clients/oracle-client.esm.js.map +1 -0
- package/dist/api-clients/clients/oracle-client.js +26 -0
- package/dist/api-clients/clients/oracle-client.js.map +1 -0
- package/dist/api-clients/clients/storm-client.d.ts +8 -0
- package/dist/api-clients/clients/storm-client.esm.js +18 -0
- package/dist/api-clients/clients/storm-client.esm.js.map +1 -0
- package/dist/api-clients/clients/storm-client.js +20 -0
- package/dist/api-clients/clients/storm-client.js.map +1 -0
- package/dist/api-clients/contracts/jetton-master.d.ts +8 -0
- package/dist/api-clients/contracts/jetton-master.esm.js +21 -0
- package/dist/api-clients/contracts/jetton-master.esm.js.map +1 -0
- package/dist/api-clients/contracts/jetton-master.js +23 -0
- package/dist/api-clients/contracts/jetton-master.js.map +1 -0
- package/dist/api-clients/contracts/position-manager/position-manager-packers.d.ts +10 -0
- package/dist/api-clients/contracts/position-manager/position-manager-packers.esm.js +148 -0
- package/dist/api-clients/contracts/position-manager/position-manager-packers.esm.js.map +1 -0
- package/dist/api-clients/contracts/position-manager/position-manager-packers.js +157 -0
- package/dist/api-clients/contracts/position-manager/position-manager-packers.js.map +1 -0
- package/dist/api-clients/contracts/position-manager/position-manager.types.d.ts +165 -0
- package/dist/api-clients/contracts/position-manager.d.ts +9 -0
- package/dist/api-clients/contracts/position-manager.esm.js +55 -0
- package/dist/api-clients/contracts/position-manager.esm.js.map +1 -0
- package/dist/api-clients/contracts/position-manager.js +57 -0
- package/dist/api-clients/contracts/position-manager.js.map +1 -0
- package/dist/api-clients/contracts/vault.d.ts +8 -0
- package/dist/api-clients/contracts/vault.esm.js +30 -0
- package/dist/api-clients/contracts/vault.esm.js.map +1 -0
- package/dist/api-clients/contracts/vault.js +32 -0
- package/dist/api-clients/contracts/vault.js.map +1 -0
- package/dist/api-clients/index.d.ts +7 -0
- package/dist/api-clients/index.esm.js +8 -0
- package/dist/api-clients/index.esm.js.map +1 -0
- package/dist/api-clients/index.js +20 -0
- package/dist/api-clients/index.js.map +1 -0
- package/dist/api-clients/utils/address-to-cell.d.ts +2 -0
- package/dist/api-clients/utils/address-to-cell.esm.js +8 -0
- package/dist/api-clients/utils/address-to-cell.esm.js.map +1 -0
- package/dist/api-clients/utils/address-to-cell.js +10 -0
- package/dist/api-clients/utils/address-to-cell.js.map +1 -0
- package/dist/api-clients/utils/ton-client-abstract.d.ts +8 -0
- package/dist/api-clients/utils/ton-client-abstract.esm.js +45 -0
- package/dist/api-clients/utils/ton-client-abstract.esm.js.map +1 -0
- package/dist/api-clients/utils/ton-client-abstract.js +47 -0
- package/dist/api-clients/utils/ton-client-abstract.js.map +1 -0
- package/dist/base-packers/index.d.ts +5 -0
- package/dist/base-packers/index.esm.js +4 -0
- package/dist/base-packers/index.esm.js.map +1 -0
- package/dist/base-packers/index.js +28 -0
- package/dist/base-packers/index.js.map +1 -0
- package/dist/base-packers/opcodes.d.ts +14 -0
- package/dist/base-packers/opcodes.esm.js +20 -0
- package/dist/base-packers/opcodes.esm.js.map +1 -0
- package/dist/base-packers/opcodes.js +20 -0
- package/dist/base-packers/opcodes.js.map +1 -0
- package/dist/base-packers/oracle-packer.d.ts +3 -0
- package/dist/base-packers/oracle-packer.esm.js +23 -0
- package/dist/base-packers/oracle-packer.esm.js.map +1 -0
- package/dist/base-packers/oracle-packer.js +25 -0
- package/dist/base-packers/oracle-packer.js.map +1 -0
- package/dist/base-packers/oracle-packer.types.d.ts +14 -0
- package/dist/base-packers/order-packers.d.ts +12 -0
- package/dist/base-packers/order-packers.esm.js +122 -0
- package/dist/base-packers/order-packers.esm.js.map +1 -0
- package/dist/base-packers/order-packers.js +133 -0
- package/dist/base-packers/order-packers.js.map +1 -0
- package/dist/base-packers/order-packers.types.d.ts +80 -0
- package/dist/base-packers/order-packers.types.esm.js +15 -0
- package/dist/base-packers/order-packers.types.esm.js.map +1 -0
- package/dist/base-packers/order-packers.types.js +15 -0
- package/dist/base-packers/order-packers.types.js.map +1 -0
- package/dist/common-packers/fees.d.ts +23 -0
- package/dist/common-packers/fees.esm.js +13 -0
- package/dist/common-packers/fees.esm.js.map +1 -0
- package/dist/common-packers/fees.js +15 -0
- package/dist/common-packers/fees.js.map +1 -0
- package/dist/common-packers/index.d.ts +2 -0
- package/dist/common-packers/index.esm.js +2 -0
- package/dist/common-packers/index.esm.js.map +1 -0
- package/dist/common-packers/index.js +15 -0
- package/dist/common-packers/index.js.map +1 -0
- package/dist/common-packers/order-packers.d.ts +10 -0
- package/dist/common-packers/order-packers.esm.js +146 -0
- package/dist/common-packers/order-packers.esm.js.map +1 -0
- package/dist/common-packers/order-packers.js +155 -0
- package/dist/common-packers/order-packers.js.map +1 -0
- package/dist/common-packers/order-packers.types.d.ts +102 -0
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.esm.js +2 -0
- package/dist/sdk/index.esm.js.map +1 -0
- package/dist/sdk/index.js +8 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/sdk.d.ts +42 -0
- package/dist/sdk/sdk.esm.js +352 -0
- package/dist/sdk/sdk.esm.js.map +1 -0
- package/dist/sdk/sdk.js +354 -0
- package/dist/sdk/sdk.js.map +1 -0
- package/dist/sdk/sdk.types.d.ts +327 -0
- 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 @@
|
|
|
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":";;;;;AAiCA,SAAS,qBAAqB,CAAC,IAA2C,EAAE,cAAoB,EAAA;IAC9F,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,eAAe,EAAE,IAAI,CAAC,aAAa;AACnC,QAAA,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY;QAC/C,cAAc;AACf,KAAA,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,yBAAyB;AAClC,QAAA,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;KACvC;AACH;AAEA,SAAS,qBAAqB,CAAC,IAA2C,EAAE,cAAoB,EAAA;IAC9F,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAC/B,QAAA,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;AACpB,KAAA,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;KAC/C;AACH;AAEA,SAAS,mBAAmB,CAAC,IAA2B,EAAA;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,eAAe,EAAE,IAAI,CAAC,aAAa;AACnC,QAAA,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;AAC7C,QAAA,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AAChD,KAAA,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,yBAAyB;QAClC,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;KAC/B;AACH;AAEA,SAAS,mBAAmB,CAAC,IAA2B,EAAA;IACtD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,QAAA,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,KAAA,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;KAC7C;AACH;AAEA,SAAS,qBAAqB,CAAC,IAAyD,EAAA;IACtF,OAAO,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvE;AAEA,SAAS,qBAAqB,CAAC,IAAyD,EAAA;IACtF,OAAO,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvE;AAEA,SAAS,oBAAoB,CAAC,IAAwD,EAAA;IACpF,OAAO,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE;AAEA,SAAS,oBAAoB,CAAC,IAAwD,EAAA;IACpF,OAAO,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE;AAEA,SAAS,0BAA0B,CAAC,IAAkC,EAAA;IACpE,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,eAAe,EAAE,IAAI,CAAC,yBAAyB;QAC/C,cAAc,EAAE,oBAAoB,EAAE;AACtC,QAAA,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY;AACrD,KAAA,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,yBAAyB;QAClC,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ;KACtC;AACH;AAEA,SAAS,0BAA0B,CAAC,IAAkC,EAAA;AACpE,IAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAE1F,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,YAAY;QACrB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;KACpD;AACH;AAEM,SAAU,mBAAmB,CAAC,IAAuB,EAAA;IACzD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,sBAAsB;QAC/B,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;KACjC;AACH;AAEM,SAAU,mBAAmB,CAAC,IAAmD,EAAA;AACrF,IAAA,OAAO,IAAI,CAAC,SAAS,KAAK;AACxB,UAAE,qBAAqB,CAAC,IAAI;AAC5B,UAAE,qBAAqB,CAAC,IAAI,CAAC;AACjC;AAEM,SAAU,kBAAkB,CAAC,IAAkD,EAAA;AACnF,IAAA,OAAO,IAAI,CAAC,SAAS,KAAK;AACxB,UAAE,oBAAoB,CAAC,IAAI;AAC3B,UAAE,oBAAoB,CAAC,IAAI,CAAC;AAChC;AAEM,SAAU,iBAAiB,CAAC,IAAqB,EAAA;IACrD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;IAC5C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,sBAAsB;QAC/B,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;KACjC;AACH;AAEM,SAAU,iBAAiB,CAAC,IAAqB,EAAA;AACrD,IAAA,OAAO,IAAI,CAAC,SAAS,KAAK;AACxB,UAAE,mBAAmB,CAAC,IAAI;AAC1B,UAAE,mBAAmB,CAAC,IAAI,CAAC;AAC/B;AAEM,SAAU,oBAAoB,CAAC,IAAwB,EAAA;IAC3D,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,sBAAsB;QAC/B,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;KAClC;AACH;AAEM,SAAU,wBAAwB,CAAC,IAA4B,EAAA;AACnE,IAAA,OAAO,IAAI,CAAC,SAAS,KAAK;AACxB,UAAE,0BAA0B,CAAC,IAAI;AACjC,UAAE,0BAA0B,CAAC,IAAI,CAAC;AACtC;AAEM,SAAU,yBAAyB,CAAC,IAA6B,EAAA;IACrE,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,KAAA,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,eAAe;QACxB,IAAI;AACJ,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ;KACvC;AACH;;;;"}
|