@suilend/sui-fe 0.3.14 → 0.3.16
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/keypair.d.ts +1 -1
- package/lib/keypair.js +18 -11
- package/package.json +1 -1
package/lib/keypair.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export type FundKeypairResult = {
|
|
|
29
29
|
};
|
|
30
30
|
export declare const fundKeypair: (tokens: (Token & {
|
|
31
31
|
amount: BigNumber;
|
|
32
|
-
})[], address: string, keypair: Ed25519Keypair, signExecuteAndWaitForTransaction: (transaction: Transaction, options?: {
|
|
32
|
+
})[], address: string, keypair: Ed25519Keypair, suiClient: SuiClient, signExecuteAndWaitForTransaction: (transaction: Transaction, options?: {
|
|
33
33
|
auction?: boolean;
|
|
34
34
|
}, onSetGasBudget?: (transaction: Transaction) => void, onSign?: (signedTransaction: SignatureWithBytes) => void, onExecute?: (res: SuiTransactionBlockResponse) => void) => Promise<SuiTransactionBlockResponse>, // From WalletContext
|
|
35
35
|
onSign?: (signedTransaction: SignatureWithBytes) => void, onExecute?: (res: SuiTransactionBlockResponse) => void) => Promise<{
|
package/lib/keypair.js
CHANGED
|
@@ -164,7 +164,7 @@ const checkIfKeypairCanBeUsed = (lastSignedTransaction, currentFlowDigests, keyp
|
|
|
164
164
|
else {
|
|
165
165
|
// 4) Check if last transaction from previous flow is recent
|
|
166
166
|
const timestampMs = mostRecentFromOrToAddressTransaction.timestampMs;
|
|
167
|
-
const isRecent = !!timestampMs && +timestampMs > Date.now() - 1000 * 60 *
|
|
167
|
+
const isRecent = !!timestampMs && +timestampMs > Date.now() - 1000 * 60 * 2; // Less than 2 minutes ago
|
|
168
168
|
console.log("[checkIfKeypairCanBeUsed] isRecent:", isRecent);
|
|
169
169
|
if (isRecent) {
|
|
170
170
|
// Last transaction from previous flow is recent
|
|
@@ -181,23 +181,30 @@ const checkIfKeypairCanBeUsed = (lastSignedTransaction, currentFlowDigests, keyp
|
|
|
181
181
|
}
|
|
182
182
|
});
|
|
183
183
|
exports.checkIfKeypairCanBeUsed = checkIfKeypairCanBeUsed;
|
|
184
|
-
const fundKeypair = (tokens, address, keypair, signExecuteAndWaitForTransaction, // From WalletContext
|
|
184
|
+
const fundKeypair = (tokens, address, keypair, suiClient, signExecuteAndWaitForTransaction, // From WalletContext
|
|
185
185
|
onSign, onExecute) => __awaiter(void 0, void 0, void 0, function* () {
|
|
186
186
|
console.log("[fundKeypair] tokens:", tokens.map((t) => ({
|
|
187
187
|
coinType: t.coinType,
|
|
188
188
|
amount: t.amount.toString(),
|
|
189
189
|
})));
|
|
190
|
+
const allCoins = yield Promise.all(tokens.map((token) => (0, transactions_2.getAllCoins)(suiClient, address, token.coinType)));
|
|
190
191
|
const transaction = new transactions_1.Transaction();
|
|
191
192
|
transaction.setSender(address);
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
193
|
+
const mergeCoins = tokens.map((token, index) => (0, transactions_2.mergeAllCoins)(token.coinType, transaction, allCoins[index]));
|
|
194
|
+
const coins = [];
|
|
195
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
196
|
+
const token = tokens[i];
|
|
197
|
+
const [coin] = transaction.splitCoins((0, coinType_1.isSui)(token.coinType)
|
|
198
|
+
? transaction.gas
|
|
199
|
+
: transaction.object(mergeCoins[i].coinObjectId), [
|
|
200
|
+
BigInt(token
|
|
201
|
+
.amount.times(10 ** token.decimals)
|
|
202
|
+
.integerValue(bignumber_js_1.default.ROUND_DOWN)
|
|
203
|
+
.toString()),
|
|
204
|
+
]);
|
|
205
|
+
coins.push(coin);
|
|
206
|
+
}
|
|
207
|
+
transaction.transferObjects(coins, keypair.toSuiAddress());
|
|
201
208
|
const res = yield signExecuteAndWaitForTransaction(transaction, undefined, undefined, onSign, onExecute);
|
|
202
209
|
return { res };
|
|
203
210
|
});
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sui-fe","version":"0.3.
|
|
1
|
+
{"name":"@suilend/sui-fe","version":"0.3.16","private":false,"description":"A collection of TypeScript frontend libraries","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./lib/api":"./lib/api.js","./lib/coin":"./lib/coin.js","./lib/coinMetadata":"./lib/coinMetadata.js","./lib/coinType":"./lib/coinType.js","./lib/constants":"./lib/constants.js","./lib/format":"./lib/format.js","./lib":"./lib/index.js","./lib/indexedDB":"./lib/indexedDB.js","./lib/keypair":"./lib/keypair.js","./lib/ledger":"./lib/ledger.js","./lib/msafe":"./lib/msafe.js","./lib/track":"./lib/track.js","./lib/transactions":"./lib/transactions.js"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix \"./src/**/*.ts\"","prettier":"prettier --write \"./src/**/*\"","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ts-node ./release.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/suilend/sui-fe.git"},"bugs":{"url":"https://github.com/suilend/sui-fe/issues"},"dependencies":{"@mysten/wallet-standard":"0.14.7","@pythnetwork/pyth-sui-js":"^2.1.0","bignumber.js":"^9.1.2","blake2b":"^2.1.4","lodash":"^4.17.21","mixpanel-browser":"^2.56.0","next":"^15.0.3","p-limit":"3.1.0"},"devDependencies":{"@tsconfig/recommended":"^1.0.8","@types/blake2b":"^2.1.3","@types/lodash":"^4.17.13","@types/mixpanel-browser":"^2.50.2","@types/node":"^22.9.0","@typescript-eslint/eslint-plugin":"^8.14.0","@typescript-eslint/parser":"^8.14.0","eslint":"^9.14.0","eslint-config-next":"^15.0.3","eslint-config-prettier":"^9.1.0","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.1","prettier":"^3.3.3","ts-node":"^10.9.2","typescript":"^5.6.3"},"peerDependencies":{"@mysten/sui":"1.28.2","date-fns":"^4.1.0"}}
|