@typus/typus-sdk 1.1.58 → 1.2.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/lib/utils/auto-bid/user-entry.d.ts +27 -0
- package/lib/utils/auto-bid/user-entry.js +102 -0
- package/lib/utils/auto-bid/view-function.d.ts +33 -0
- package/lib/utils/auto-bid/view-function.js +215 -0
- package/lib/utils/typus-dov-single-v2/mfud-user-entry.js +1 -0
- package/lib/utils/typus-dov-single-v2/user-entry.d.ts +15 -15
- package/lib/utils/typus-dov-single-v2/user-entry.js +99 -61
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TransactionBlock } from "@mysten/sui.js/transactions";
|
|
2
|
+
/**
|
|
3
|
+
entry fun new_strategy<B_TOKEN>(
|
|
4
|
+
strategy_pool: &mut StrategyPool,
|
|
5
|
+
vault_index: u64,
|
|
6
|
+
signal_index: u64,
|
|
7
|
+
size: u64,
|
|
8
|
+
price_percentage: u64,
|
|
9
|
+
max_times: u64,
|
|
10
|
+
target_rounds: vector<u64>,
|
|
11
|
+
coin: Coin<B_TOKEN>,
|
|
12
|
+
ctx: &mut TxContext
|
|
13
|
+
)
|
|
14
|
+
*/
|
|
15
|
+
export declare function getNewStrategyTx(gasBudget: number, packageId: string, typeArguments: string[], // D_TOKEN, B_TOKEN
|
|
16
|
+
strategy_pool: string, vault_index: string, signal_index: string, coins: string[], amount: string, size: string, price_percentage: string, max_times: string, target_rounds: string[]): TransactionBlock;
|
|
17
|
+
/**
|
|
18
|
+
entry fun close_strategy<D_TOKEN, B_TOKEN>(
|
|
19
|
+
strategy_pool: &mut StrategyPoolV2,
|
|
20
|
+
vault_index: u64,
|
|
21
|
+
signal_index: u64,
|
|
22
|
+
strategy_index: u64,
|
|
23
|
+
ctx: &mut TxContext
|
|
24
|
+
)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getCloseStrategyTx(gasBudget: number, packageId: string, typeArguments: string[], // D_TOKEN, B_TOKEN
|
|
27
|
+
strategy_pool: string, vault_index: string, signal_index: string, strategy_index: string): TransactionBlock;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.getCloseStrategyTx = exports.getNewStrategyTx = void 0;
|
|
20
|
+
var transactions_1 = require("@mysten/sui.js/transactions");
|
|
21
|
+
/**
|
|
22
|
+
entry fun new_strategy<B_TOKEN>(
|
|
23
|
+
strategy_pool: &mut StrategyPool,
|
|
24
|
+
vault_index: u64,
|
|
25
|
+
signal_index: u64,
|
|
26
|
+
size: u64,
|
|
27
|
+
price_percentage: u64,
|
|
28
|
+
max_times: u64,
|
|
29
|
+
target_rounds: vector<u64>,
|
|
30
|
+
coin: Coin<B_TOKEN>,
|
|
31
|
+
ctx: &mut TxContext
|
|
32
|
+
)
|
|
33
|
+
*/
|
|
34
|
+
function getNewStrategyTx(gasBudget, packageId, typeArguments, // D_TOKEN, B_TOKEN
|
|
35
|
+
strategy_pool, vault_index, signal_index, coins, amount, size, price_percentage, max_times, target_rounds) {
|
|
36
|
+
var tx = new transactions_1.TransactionBlock();
|
|
37
|
+
if (
|
|
38
|
+
// B_TOKEN
|
|
39
|
+
typeArguments[1] == "0x2::sui::SUI" ||
|
|
40
|
+
typeArguments[1] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI") {
|
|
41
|
+
var _a = __read(tx.splitCoins(tx.gas, [tx.pure(amount)]), 1), input_coin = _a[0];
|
|
42
|
+
tx.moveCall({
|
|
43
|
+
target: "".concat(packageId, "::auto_bid::new_strategy"),
|
|
44
|
+
typeArguments: typeArguments,
|
|
45
|
+
arguments: [
|
|
46
|
+
tx.object(strategy_pool),
|
|
47
|
+
tx.pure(vault_index),
|
|
48
|
+
tx.pure(signal_index),
|
|
49
|
+
tx.pure(size),
|
|
50
|
+
tx.pure(price_percentage),
|
|
51
|
+
tx.pure(max_times),
|
|
52
|
+
tx.pure(target_rounds),
|
|
53
|
+
input_coin,
|
|
54
|
+
],
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
var coin = coins.pop();
|
|
59
|
+
if (coins.length > 0) {
|
|
60
|
+
tx.mergeCoins(tx.object(coin), coins.map(function (coin) { return tx.object(coin); }));
|
|
61
|
+
}
|
|
62
|
+
var _b = __read(tx.splitCoins(tx.object(coin), [tx.pure(amount)]), 1), input_coin = _b[0];
|
|
63
|
+
tx.moveCall({
|
|
64
|
+
target: "".concat(packageId, "::auto_bid::new_strategy"),
|
|
65
|
+
typeArguments: typeArguments,
|
|
66
|
+
arguments: [
|
|
67
|
+
tx.object(strategy_pool),
|
|
68
|
+
tx.pure(vault_index),
|
|
69
|
+
tx.pure(signal_index),
|
|
70
|
+
tx.pure(size),
|
|
71
|
+
tx.pure(price_percentage),
|
|
72
|
+
tx.pure(max_times),
|
|
73
|
+
tx.pure(target_rounds),
|
|
74
|
+
input_coin,
|
|
75
|
+
],
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
tx.setGasBudget(gasBudget);
|
|
79
|
+
return tx;
|
|
80
|
+
}
|
|
81
|
+
exports.getNewStrategyTx = getNewStrategyTx;
|
|
82
|
+
/**
|
|
83
|
+
entry fun close_strategy<D_TOKEN, B_TOKEN>(
|
|
84
|
+
strategy_pool: &mut StrategyPoolV2,
|
|
85
|
+
vault_index: u64,
|
|
86
|
+
signal_index: u64,
|
|
87
|
+
strategy_index: u64,
|
|
88
|
+
ctx: &mut TxContext
|
|
89
|
+
)
|
|
90
|
+
*/
|
|
91
|
+
function getCloseStrategyTx(gasBudget, packageId, typeArguments, // D_TOKEN, B_TOKEN
|
|
92
|
+
strategy_pool, vault_index, signal_index, strategy_index) {
|
|
93
|
+
var tx = new transactions_1.TransactionBlock();
|
|
94
|
+
tx.moveCall({
|
|
95
|
+
target: "".concat(packageId, "::auto_bid::close_strategy"),
|
|
96
|
+
typeArguments: typeArguments,
|
|
97
|
+
arguments: [tx.object(strategy_pool), tx.pure(vault_index), tx.pure(signal_index), tx.pure(strategy_index)],
|
|
98
|
+
});
|
|
99
|
+
tx.setGasBudget(gasBudget);
|
|
100
|
+
return tx;
|
|
101
|
+
}
|
|
102
|
+
exports.getCloseStrategyTx = getCloseStrategyTx;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui.js/client";
|
|
2
|
+
export declare function getUserStrategies(provider: SuiClient, packageId: string, strategyPool: string, user: string): Promise<StrategyV2[]>;
|
|
3
|
+
export declare function getVaults(provider: SuiClient, strategyPool: string): Promise<void>;
|
|
4
|
+
export interface StrategyPoolV2 {
|
|
5
|
+
id: string;
|
|
6
|
+
strategies: Map<string, Map<string, StrategyV2[]>>;
|
|
7
|
+
authority: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface StrategyV2 {
|
|
10
|
+
id: string;
|
|
11
|
+
vault_index: string;
|
|
12
|
+
signal_index: string;
|
|
13
|
+
user: string;
|
|
14
|
+
price_percentage: string;
|
|
15
|
+
size: string;
|
|
16
|
+
max_times: string;
|
|
17
|
+
target_rounds: string[];
|
|
18
|
+
receipts: TypusBidReceipt[];
|
|
19
|
+
active: boolean;
|
|
20
|
+
string_padding: string[];
|
|
21
|
+
bid_times: string;
|
|
22
|
+
bid_round: string;
|
|
23
|
+
bid_ts_ms: string;
|
|
24
|
+
bid_rounds: string[];
|
|
25
|
+
accumulated_profit: string;
|
|
26
|
+
}
|
|
27
|
+
export interface TypusBidReceipt {
|
|
28
|
+
id: string;
|
|
29
|
+
vid: string;
|
|
30
|
+
index: string;
|
|
31
|
+
metadata: string;
|
|
32
|
+
u64_padding: string[];
|
|
33
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __values = (this && this.__values) || function(o) {
|
|
39
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
40
|
+
if (m) return m.call(o);
|
|
41
|
+
if (o && typeof o.length === "number") return {
|
|
42
|
+
next: function () {
|
|
43
|
+
if (o && i >= o.length) o = void 0;
|
|
44
|
+
return { value: o && o[i++], done: !o };
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.getVaults = exports.getUserStrategies = void 0;
|
|
51
|
+
var bcs_1 = require("@mysten/bcs");
|
|
52
|
+
var transactions_1 = require("@mysten/sui.js/transactions");
|
|
53
|
+
var tools_1 = require("../tools");
|
|
54
|
+
var bcs = new bcs_1.BCS((0, bcs_1.getSuiMoveConfig)());
|
|
55
|
+
bcs.registerStructType("StrategyV2", {
|
|
56
|
+
id: "address",
|
|
57
|
+
vault_index: "u64",
|
|
58
|
+
signal_index: "u64",
|
|
59
|
+
user: "address",
|
|
60
|
+
price_percentage: "u64",
|
|
61
|
+
size: "u64",
|
|
62
|
+
max_times: "u64",
|
|
63
|
+
target_rounds: "vector<u64>",
|
|
64
|
+
receipts: "vector<TypusBidReceipt>",
|
|
65
|
+
active: "bool",
|
|
66
|
+
u64_padding: "vector<u64>",
|
|
67
|
+
bid_times: "u64",
|
|
68
|
+
bid_round: "u64",
|
|
69
|
+
bid_ts_ms: "u64",
|
|
70
|
+
bid_rounds: "vector<u64>",
|
|
71
|
+
accumulated_profit: "u64",
|
|
72
|
+
strategy_index: "u64",
|
|
73
|
+
});
|
|
74
|
+
// struct StrategyV2 has key, store {
|
|
75
|
+
// id: UID,
|
|
76
|
+
// vault_index: u64,
|
|
77
|
+
// signal_index: u64,
|
|
78
|
+
// user: address,
|
|
79
|
+
// // balance: Balance<B_TOKEN>,
|
|
80
|
+
// // profit: Balance<D_TOKEN>,
|
|
81
|
+
// price_percentage: u64,
|
|
82
|
+
// size: u64,
|
|
83
|
+
// max_times: u64,
|
|
84
|
+
// target_rounds: vector<u64>,
|
|
85
|
+
// receipts: vector<TypusBidReceipt>,
|
|
86
|
+
// active: bool,
|
|
87
|
+
// u64_padding: vector<u64>,
|
|
88
|
+
// // log
|
|
89
|
+
// bid_times: u64,
|
|
90
|
+
// bid_round: u64,
|
|
91
|
+
// bid_ts_ms: u64,
|
|
92
|
+
// bid_rounds: vector<u64>,
|
|
93
|
+
// accumulated_profit: u64,
|
|
94
|
+
// }
|
|
95
|
+
bcs.registerStructType("TypusBidReceipt", {
|
|
96
|
+
id: "address",
|
|
97
|
+
vid: "address",
|
|
98
|
+
index: "u64",
|
|
99
|
+
metadata: "String",
|
|
100
|
+
u64_padding: "vector<u64>",
|
|
101
|
+
});
|
|
102
|
+
function getUserStrategies(provider, packageId, strategyPool, user) {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
104
|
+
var transactionBlock, target, transactionBlockArguments, results, objBCS, reader, strategies;
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
switch (_a.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
transactionBlock = new transactions_1.TransactionBlock();
|
|
109
|
+
target = "".concat(packageId, "::auto_bid::get_user_strategies");
|
|
110
|
+
transactionBlockArguments = [transactionBlock.pure(strategyPool), transactionBlock.pure(user)];
|
|
111
|
+
transactionBlock.moveCall({
|
|
112
|
+
target: target,
|
|
113
|
+
typeArguments: [],
|
|
114
|
+
arguments: transactionBlockArguments,
|
|
115
|
+
});
|
|
116
|
+
return [4 /*yield*/, provider.devInspectTransactionBlock({ transactionBlock: transactionBlock, sender: user })];
|
|
117
|
+
case 1:
|
|
118
|
+
results = (_a.sent()).results;
|
|
119
|
+
objBCS = results[0].returnValues[0][0];
|
|
120
|
+
reader = new bcs_1.BcsReader(new Uint8Array(objBCS));
|
|
121
|
+
strategies = [];
|
|
122
|
+
reader.readVec(function (reader, i) {
|
|
123
|
+
reader.read16();
|
|
124
|
+
var strategy = {
|
|
125
|
+
id: (0, tools_1.AddressFromBytes)(reader.readBytes(32)),
|
|
126
|
+
vault_index: reader.read64(),
|
|
127
|
+
signal_index: reader.read64(),
|
|
128
|
+
user: (0, tools_1.AddressFromBytes)(reader.readBytes(32)),
|
|
129
|
+
price_percentage: reader.read64(),
|
|
130
|
+
size: reader.read64(),
|
|
131
|
+
max_times: reader.read64(),
|
|
132
|
+
target_rounds: reader.readVec(function (reader) {
|
|
133
|
+
return reader.read64();
|
|
134
|
+
}),
|
|
135
|
+
receipts: reader.readVec(function (reader) {
|
|
136
|
+
return {
|
|
137
|
+
id: (0, tools_1.AddressFromBytes)(reader.readBytes(32)),
|
|
138
|
+
vid: (0, tools_1.AddressFromBytes)(reader.readBytes(32)),
|
|
139
|
+
index: reader.read64(),
|
|
140
|
+
metadata: String.fromCharCode.apply(null, Array.from(reader.readBytes(reader.read8()))),
|
|
141
|
+
u64_padding: reader.readVec(function (reader) {
|
|
142
|
+
return reader.read64();
|
|
143
|
+
}),
|
|
144
|
+
};
|
|
145
|
+
}),
|
|
146
|
+
active: reader.read8(),
|
|
147
|
+
u64_padding: reader.readVec(function (reader) {
|
|
148
|
+
return reader.read64();
|
|
149
|
+
}),
|
|
150
|
+
bid_times: reader.read64(),
|
|
151
|
+
bid_round: reader.read64(),
|
|
152
|
+
bid_ts_ms: reader.read64(),
|
|
153
|
+
bid_rounds: reader.readVec(function (reader) {
|
|
154
|
+
return reader.read64();
|
|
155
|
+
}),
|
|
156
|
+
accumulated_profit: reader.read64(),
|
|
157
|
+
strategy_index: reader.read64(),
|
|
158
|
+
};
|
|
159
|
+
// console.log(strategy);
|
|
160
|
+
strategies.push(strategy);
|
|
161
|
+
});
|
|
162
|
+
return [2 /*return*/, strategies];
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
exports.getUserStrategies = getUserStrategies;
|
|
168
|
+
function getVaults(provider, strategyPool) {
|
|
169
|
+
var _a;
|
|
170
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
+
var pool, vaults, vaults_1, vaults_1_1, vault, signals, signals_1, signals_1_1, signal, strategyTable;
|
|
172
|
+
var e_1, _b, e_2, _c;
|
|
173
|
+
return __generator(this, function (_d) {
|
|
174
|
+
switch (_d.label) {
|
|
175
|
+
case 0: return [4 /*yield*/, provider.getObject({ id: strategyPool, options: { showContent: true } })];
|
|
176
|
+
case 1:
|
|
177
|
+
pool = (_a = (_d.sent()).data) === null || _a === void 0 ? void 0 : _a.content.fields;
|
|
178
|
+
console.log(pool);
|
|
179
|
+
vaults = pool.strategies.fields.contents;
|
|
180
|
+
console.log(vaults);
|
|
181
|
+
try {
|
|
182
|
+
for (vaults_1 = __values(vaults), vaults_1_1 = vaults_1.next(); !vaults_1_1.done; vaults_1_1 = vaults_1.next()) {
|
|
183
|
+
vault = vaults_1_1.value;
|
|
184
|
+
signals = vault.fields.value.fields.contents;
|
|
185
|
+
console.log(signals);
|
|
186
|
+
try {
|
|
187
|
+
for (signals_1 = (e_2 = void 0, __values(signals)), signals_1_1 = signals_1.next(); !signals_1_1.done; signals_1_1 = signals_1.next()) {
|
|
188
|
+
signal = signals_1_1.value;
|
|
189
|
+
strategyTable = signal.fields.value.fields.contents;
|
|
190
|
+
console.log(strategyTable);
|
|
191
|
+
// dynamic fields
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
195
|
+
finally {
|
|
196
|
+
try {
|
|
197
|
+
if (signals_1_1 && !signals_1_1.done && (_c = signals_1.return)) _c.call(signals_1);
|
|
198
|
+
}
|
|
199
|
+
finally { if (e_2) throw e_2.error; }
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
204
|
+
finally {
|
|
205
|
+
try {
|
|
206
|
+
if (vaults_1_1 && !vaults_1_1.done && (_b = vaults_1.return)) _b.call(vaults_1);
|
|
207
|
+
}
|
|
208
|
+
finally { if (e_1) throw e_1.error; }
|
|
209
|
+
}
|
|
210
|
+
return [2 /*return*/];
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
exports.getVaults = getVaults;
|
|
@@ -252,6 +252,7 @@ function getRebateTx(input) {
|
|
|
252
252
|
});
|
|
253
253
|
var balance = input.tx.moveCall({
|
|
254
254
|
target: "0x1::option::destroy_some",
|
|
255
|
+
typeArguments: ["0x2::balance::Balance<" + input.typeArgument + ">"],
|
|
255
256
|
arguments: [input.tx.object(result[0])],
|
|
256
257
|
});
|
|
257
258
|
var mfud_coin = input.tx.moveCall({
|
|
@@ -146,6 +146,21 @@ export declare function getRedeemTx(input: {
|
|
|
146
146
|
receipts: string[] | TransactionObjectArgument[];
|
|
147
147
|
user: string;
|
|
148
148
|
}): TransactionBlock;
|
|
149
|
+
export declare function getWithdrawHarvestClaimTx(input: {
|
|
150
|
+
tx: TransactionBlock;
|
|
151
|
+
typusFrameworkOriginPackageId: string;
|
|
152
|
+
typusFrameworkPackageId: string;
|
|
153
|
+
typusDovSinglePackageId: string;
|
|
154
|
+
typusDovSingleRegistry: string;
|
|
155
|
+
typeArguments: string[];
|
|
156
|
+
index: string;
|
|
157
|
+
receipts: string[] | TransactionObjectArgument[];
|
|
158
|
+
user: string;
|
|
159
|
+
withdraw: boolean;
|
|
160
|
+
harvest: boolean;
|
|
161
|
+
claim: boolean;
|
|
162
|
+
incentiveToken?: string;
|
|
163
|
+
}): TransactionBlock;
|
|
149
164
|
/**
|
|
150
165
|
public(friend) entry fun new_bid<D_TOKEN, B_TOKEN>(
|
|
151
166
|
registry: &mut Registry,
|
|
@@ -222,18 +237,3 @@ export declare function getRebateTx(input: {
|
|
|
222
237
|
typeArgument: string;
|
|
223
238
|
user: string;
|
|
224
239
|
}): TransactionBlock;
|
|
225
|
-
/**
|
|
226
|
-
entry fun new_strategy<B_TOKEN>(
|
|
227
|
-
strategy_pool: &mut StrategyPool,
|
|
228
|
-
vault_index: u64,
|
|
229
|
-
signal_index: u64,
|
|
230
|
-
size: u64,
|
|
231
|
-
price_percentage: u64,
|
|
232
|
-
max_times: u64,
|
|
233
|
-
target_rounds: vector<u64>,
|
|
234
|
-
coin: Coin<B_TOKEN>,
|
|
235
|
-
ctx: &mut TxContext
|
|
236
|
-
)
|
|
237
|
-
*/
|
|
238
|
-
export declare function getNewStrategyTx(gasBudget: number, packageId: string, typeArguments: string[], // B_TOKEN
|
|
239
|
-
strategy_pool: string, vault_index: string, signal_index: string, coins: string[], amount: string, size: string, price_percentage: string, max_times: string, target_rounds: string[]): TransactionBlock;
|
|
@@ -16,8 +16,7 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
16
16
|
return ar;
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.
|
|
20
|
-
var transactions_1 = require("@mysten/sui.js/transactions");
|
|
19
|
+
exports.getRebateTx = exports.getTransferBidReceiptTx = exports.getExerciseTx = exports.getNewBidTx = exports.getWithdrawHarvestClaimTx = exports.getRedeemTx = exports.getHarvestTx = exports.getClaimTx = exports.getCompoundTx = exports.getUnsubscribeTx = exports.getWithdrawTx = exports.getDepositTx = void 0;
|
|
21
20
|
var constants_1 = require("../../constants");
|
|
22
21
|
/**
|
|
23
22
|
public fun deposit<D_TOKEN, B_TOKEN>(
|
|
@@ -311,6 +310,103 @@ function getRedeemTx(input) {
|
|
|
311
310
|
return input.tx;
|
|
312
311
|
}
|
|
313
312
|
exports.getRedeemTx = getRedeemTx;
|
|
313
|
+
function getWithdrawHarvestClaimTx(input) {
|
|
314
|
+
var result = input.withdraw
|
|
315
|
+
? input.tx.moveCall({
|
|
316
|
+
target: "".concat(input.typusDovSinglePackageId, "::tails_staking::withdraw"),
|
|
317
|
+
typeArguments: input.typeArguments,
|
|
318
|
+
arguments: [
|
|
319
|
+
input.tx.object(input.typusDovSingleRegistry),
|
|
320
|
+
input.tx.pure(input.index),
|
|
321
|
+
input.tx.makeMoveVec({
|
|
322
|
+
type: "".concat(input.typusFrameworkOriginPackageId, "::vault::TypusDepositReceipt"),
|
|
323
|
+
objects: input.receipts.map(function (receipt) { return input.tx.object(receipt); }),
|
|
324
|
+
}),
|
|
325
|
+
input.tx.pure([]),
|
|
326
|
+
input.tx.pure(constants_1.CLOCK),
|
|
327
|
+
],
|
|
328
|
+
})
|
|
329
|
+
: undefined;
|
|
330
|
+
if (input.withdraw) {
|
|
331
|
+
input.tx.moveCall({
|
|
332
|
+
target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_balance"),
|
|
333
|
+
typeArguments: [input.typeArguments[0]],
|
|
334
|
+
arguments: [input.tx.object(result[0]), input.tx.pure(input.user)],
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
result = input.harvest
|
|
338
|
+
? input.tx.moveCall({
|
|
339
|
+
target: "".concat(input.typusDovSinglePackageId, "::tds_user_entry::harvest"),
|
|
340
|
+
typeArguments: input.typeArguments,
|
|
341
|
+
arguments: [
|
|
342
|
+
input.tx.object(input.typusDovSingleRegistry),
|
|
343
|
+
input.tx.pure(input.index),
|
|
344
|
+
input.tx.makeMoveVec({
|
|
345
|
+
type: "".concat(input.typusFrameworkOriginPackageId, "::vault::TypusDepositReceipt"),
|
|
346
|
+
objects: result ? [result[1]] : input.receipts.map(function (receipt) { return input.tx.object(receipt); }),
|
|
347
|
+
}),
|
|
348
|
+
],
|
|
349
|
+
})
|
|
350
|
+
: result;
|
|
351
|
+
if (input.harvest) {
|
|
352
|
+
input.tx.moveCall({
|
|
353
|
+
target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_balance"),
|
|
354
|
+
typeArguments: [input.typeArguments[1]],
|
|
355
|
+
arguments: [input.tx.object(result[0]), input.tx.pure(input.user)],
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
result = input.claim
|
|
359
|
+
? input.tx.moveCall({
|
|
360
|
+
target: "".concat(input.typusDovSinglePackageId, "::tds_user_entry::claim"),
|
|
361
|
+
typeArguments: input.typeArguments,
|
|
362
|
+
arguments: [
|
|
363
|
+
input.tx.object(input.typusDovSingleRegistry),
|
|
364
|
+
input.tx.pure(input.index),
|
|
365
|
+
input.tx.makeMoveVec({
|
|
366
|
+
type: "".concat(input.typusFrameworkOriginPackageId, "::vault::TypusDepositReceipt"),
|
|
367
|
+
objects: result ? [result[1]] : input.receipts.map(function (receipt) { return input.tx.object(receipt); }),
|
|
368
|
+
}),
|
|
369
|
+
],
|
|
370
|
+
})
|
|
371
|
+
: result;
|
|
372
|
+
if (input.claim) {
|
|
373
|
+
input.tx.moveCall({
|
|
374
|
+
target: "".concat(input.typusFrameworkPackageId, "::utils::transfer_balance"),
|
|
375
|
+
typeArguments: [input.typeArguments[0]],
|
|
376
|
+
arguments: [input.tx.object(result[0]), input.tx.pure(input.user)],
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
if (input.incentiveToken) {
|
|
380
|
+
input.typeArguments.push(input.incentiveToken);
|
|
381
|
+
var receipts = result
|
|
382
|
+
? [
|
|
383
|
+
input.tx.object(input.tx.moveCall({
|
|
384
|
+
target: "0x1::option::destroy_some",
|
|
385
|
+
arguments: [input.tx.object(result[1])],
|
|
386
|
+
})),
|
|
387
|
+
]
|
|
388
|
+
: input.receipts.map(function (receipt) { return input.tx.object(receipt); });
|
|
389
|
+
input.tx = getRedeemTx({
|
|
390
|
+
tx: input.tx,
|
|
391
|
+
typusFrameworkOriginPackageId: input.typusFrameworkOriginPackageId,
|
|
392
|
+
typusFrameworkPackageId: input.typusFrameworkPackageId,
|
|
393
|
+
typusDovSinglePackageId: input.typusDovSinglePackageId,
|
|
394
|
+
typusDovSingleRegistry: input.typusDovSingleRegistry,
|
|
395
|
+
typeArguments: input.typeArguments,
|
|
396
|
+
index: input.index,
|
|
397
|
+
receipts: receipts,
|
|
398
|
+
user: input.user,
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
input.tx.moveCall({
|
|
403
|
+
target: "".concat(input.typusFrameworkPackageId, "::vault::transfer_deposit_receipt"),
|
|
404
|
+
arguments: [input.tx.object(result[1]), input.tx.pure(input.user)],
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
return input.tx;
|
|
408
|
+
}
|
|
409
|
+
exports.getWithdrawHarvestClaimTx = getWithdrawHarvestClaimTx;
|
|
314
410
|
/**
|
|
315
411
|
public(friend) entry fun new_bid<D_TOKEN, B_TOKEN>(
|
|
316
412
|
registry: &mut Registry,
|
|
@@ -427,6 +523,7 @@ function getRebateTx(input) {
|
|
|
427
523
|
});
|
|
428
524
|
var balance = input.tx.moveCall({
|
|
429
525
|
target: "0x1::option::destroy_some",
|
|
526
|
+
typeArguments: ["0x2::balance::Balance<" + input.typeArgument + ">"],
|
|
430
527
|
arguments: [input.tx.object(result[0])],
|
|
431
528
|
});
|
|
432
529
|
input.tx.moveCall({
|
|
@@ -437,62 +534,3 @@ function getRebateTx(input) {
|
|
|
437
534
|
return input.tx;
|
|
438
535
|
}
|
|
439
536
|
exports.getRebateTx = getRebateTx;
|
|
440
|
-
/**
|
|
441
|
-
entry fun new_strategy<B_TOKEN>(
|
|
442
|
-
strategy_pool: &mut StrategyPool,
|
|
443
|
-
vault_index: u64,
|
|
444
|
-
signal_index: u64,
|
|
445
|
-
size: u64,
|
|
446
|
-
price_percentage: u64,
|
|
447
|
-
max_times: u64,
|
|
448
|
-
target_rounds: vector<u64>,
|
|
449
|
-
coin: Coin<B_TOKEN>,
|
|
450
|
-
ctx: &mut TxContext
|
|
451
|
-
)
|
|
452
|
-
*/
|
|
453
|
-
function getNewStrategyTx(gasBudget, packageId, typeArguments, // B_TOKEN
|
|
454
|
-
strategy_pool, vault_index, signal_index, coins, amount, size, price_percentage, max_times, target_rounds) {
|
|
455
|
-
var tx = new transactions_1.TransactionBlock();
|
|
456
|
-
if (typeArguments[0] == "0x2::sui::SUI" ||
|
|
457
|
-
typeArguments[0] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI") {
|
|
458
|
-
var _a = __read(tx.splitCoins(tx.gas, [tx.pure(amount)]), 1), input_coin = _a[0];
|
|
459
|
-
tx.moveCall({
|
|
460
|
-
target: "".concat(packageId, "::auto_bid::new_strategy"),
|
|
461
|
-
typeArguments: typeArguments,
|
|
462
|
-
arguments: [
|
|
463
|
-
tx.object(strategy_pool),
|
|
464
|
-
tx.pure(vault_index),
|
|
465
|
-
tx.pure(signal_index),
|
|
466
|
-
tx.pure(size),
|
|
467
|
-
tx.pure(price_percentage),
|
|
468
|
-
tx.pure(max_times),
|
|
469
|
-
tx.pure(target_rounds),
|
|
470
|
-
input_coin,
|
|
471
|
-
],
|
|
472
|
-
});
|
|
473
|
-
}
|
|
474
|
-
else {
|
|
475
|
-
var coin = coins.pop();
|
|
476
|
-
if (coins.length > 0) {
|
|
477
|
-
tx.mergeCoins(tx.object(coin), coins.map(function (coin) { return tx.object(coin); }));
|
|
478
|
-
}
|
|
479
|
-
var _b = __read(tx.splitCoins(tx.object(coin), [tx.pure(amount)]), 1), input_coin = _b[0];
|
|
480
|
-
tx.moveCall({
|
|
481
|
-
target: "".concat(packageId, "::auto_bid::new_strategy"),
|
|
482
|
-
typeArguments: typeArguments,
|
|
483
|
-
arguments: [
|
|
484
|
-
tx.object(strategy_pool),
|
|
485
|
-
tx.pure(vault_index),
|
|
486
|
-
tx.pure(signal_index),
|
|
487
|
-
tx.pure(size),
|
|
488
|
-
tx.pure(price_percentage),
|
|
489
|
-
tx.pure(max_times),
|
|
490
|
-
tx.pure(target_rounds),
|
|
491
|
-
input_coin,
|
|
492
|
-
],
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
tx.setGasBudget(gasBudget);
|
|
496
|
-
return tx;
|
|
497
|
-
}
|
|
498
|
-
exports.getNewStrategyTx = getNewStrategyTx;
|