@suilend/sui-fe 0.3.10 → 0.3.12

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.
@@ -4,3 +4,4 @@ export type Token = CoinMetadata & {
4
4
  };
5
5
  export declare const getToken: (coinType: string, coinMetadata: CoinMetadata) => Token;
6
6
  export declare const getCoinMetadataMap: (uniqueCoinTypes: string[]) => Promise<Record<string, Token>>;
7
+ export declare const removeCoinMetadataFromIndexedDB: (coinTypes: string[]) => Promise<void>;
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  var _a;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.getCoinMetadataMap = exports.getToken = void 0;
16
+ exports.removeCoinMetadataFromIndexedDB = exports.getCoinMetadataMap = exports.getToken = void 0;
17
17
  const lodash_1 = require("lodash");
18
18
  const p_limit_1 = __importDefault(require("p-limit"));
19
19
  const coinType_1 = require("./coinType");
@@ -82,3 +82,12 @@ const getCoinMetadataMap = (uniqueCoinTypes) => __awaiter(void 0, void 0, void 0
82
82
  }
83
83
  });
84
84
  exports.getCoinMetadataMap = getCoinMetadataMap;
85
+ const removeCoinMetadataFromIndexedDB = (coinTypes) => __awaiter(void 0, void 0, void 0, function* () {
86
+ try {
87
+ yield (0, indexedDB_1.removeTokensFromIndexedDB)(coinTypes);
88
+ }
89
+ catch (err) {
90
+ // Silently fail if IndexedDB is not available
91
+ }
92
+ });
93
+ exports.removeCoinMetadataFromIndexedDB = removeCoinMetadataFromIndexedDB;
@@ -2,3 +2,4 @@ import { Token } from "./coinMetadata";
2
2
  export declare const initDB: () => Promise<IDBDatabase>;
3
3
  export declare const getTokenMapByCoinTypeFromIndexedDB: (coinTypes: string[]) => Promise<Record<string, Token>>;
4
4
  export declare const setTokenMapToIndexedDB: (tokenMap: Record<string, Token>) => Promise<void>;
5
+ export declare const removeTokensFromIndexedDB: (coinTypes: string[]) => Promise<void>;
package/lib/indexedDB.js CHANGED
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.setTokenMapToIndexedDB = exports.getTokenMapByCoinTypeFromIndexedDB = exports.initDB = void 0;
12
+ exports.removeTokensFromIndexedDB = exports.setTokenMapToIndexedDB = exports.getTokenMapByCoinTypeFromIndexedDB = exports.initDB = void 0;
13
13
  const DB_NAME = "suilend";
14
14
  const DB_VERSION = 1;
15
15
  const TOKEN_STORE = "token";
@@ -70,3 +70,22 @@ const setTokenMapToIndexedDB = (tokenMap) => __awaiter(void 0, void 0, void 0, f
70
70
  });
71
71
  });
72
72
  exports.setTokenMapToIndexedDB = setTokenMapToIndexedDB;
73
+ const removeTokensFromIndexedDB = (coinTypes) => __awaiter(void 0, void 0, void 0, function* () {
74
+ if (coinTypes.length === 0)
75
+ return;
76
+ const db = yield (0, exports.initDB)();
77
+ return new Promise((resolve, reject) => {
78
+ const transaction = db.transaction(TOKEN_STORE, "readwrite");
79
+ const store = transaction.objectStore(TOKEN_STORE);
80
+ const promises = coinTypes.map((coinType) => new Promise((resolve, reject) => {
81
+ const request = store.delete(coinType);
82
+ request.onsuccess = () => resolve();
83
+ request.onerror = () => reject(request.error);
84
+ }));
85
+ Promise.all(promises)
86
+ .then(() => resolve())
87
+ .catch(reject)
88
+ .finally(() => db.close());
89
+ });
90
+ });
91
+ exports.removeTokensFromIndexedDB = removeTokensFromIndexedDB;
package/lib/keypair.js CHANGED
@@ -187,7 +187,8 @@ onSign, onExecute) => __awaiter(void 0, void 0, void 0, function* () {
187
187
  coinType: t.coinType,
188
188
  amount: t.amount.toString(),
189
189
  })));
190
- const fundKeypairTransaction = new transactions_1.Transaction();
190
+ const transaction = new transactions_1.Transaction();
191
+ transaction.setSender(keypair.toSuiAddress());
191
192
  const coinsWithBalance = tokens.map((token) => (0, transactions_1.coinWithBalance)({
192
193
  balance: BigInt(token
193
194
  .amount.times(10 ** token.decimals)
@@ -195,9 +196,9 @@ onSign, onExecute) => __awaiter(void 0, void 0, void 0, function* () {
195
196
  .toString()),
196
197
  type: token.coinType,
197
198
  useGasCoin: (0, coinType_1.isSui)(token.coinType),
198
- })(fundKeypairTransaction));
199
- fundKeypairTransaction.transferObjects(coinsWithBalance, keypair.toSuiAddress());
200
- const res = yield signExecuteAndWaitForTransaction(fundKeypairTransaction, undefined, undefined, onSign, onExecute);
199
+ })(transaction));
200
+ transaction.transferObjects(coinsWithBalance, keypair.toSuiAddress());
201
+ const res = yield signExecuteAndWaitForTransaction(transaction, undefined, undefined, onSign, onExecute);
201
202
  return { res };
202
203
  });
203
204
  exports.fundKeypair = fundKeypair;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sui-fe","version":"0.3.10","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"}}
1
+ {"name":"@suilend/sui-fe","version":"0.3.12","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"}}