@coin-voyage/crypto 0.0.5 → 0.0.7
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/dist/evm/use-evm-transaction.js +4 -3
- package/dist/evm/use-evm-transaction.js.map +1 -1
- package/dist/solana/use-solana-transaction.js +4 -1
- package/dist/solana/use-solana-transaction.js.map +1 -1
- package/dist/sui/use-sui-transaction.js +1 -1
- package/dist/sui/use-sui-transaction.js.map +1 -1
- package/dist/utxo/use-utxo-transaction.js +1 -1
- package/dist/utxo/use-utxo-transaction.js.map +1 -1
- package/package.json +4 -2
|
@@ -4,16 +4,17 @@ export function useEVMTransaction() {
|
|
|
4
4
|
const { writeContractAsync } = useWriteContract();
|
|
5
5
|
const { sendTransactionAsync } = useSendTransaction();
|
|
6
6
|
const execute = async (paymentDetails) => {
|
|
7
|
-
const value = paymentDetails.source_amount.raw_amount;
|
|
7
|
+
const value = BigInt(paymentDetails.source_amount.raw_amount);
|
|
8
8
|
const isNative = !paymentDetails.source_currency.address;
|
|
9
9
|
const to = paymentDetails.deposit_address;
|
|
10
10
|
const chainId = paymentDetails.source_currency.chain_id;
|
|
11
|
-
if (
|
|
12
|
-
|
|
11
|
+
if (isNative) {
|
|
12
|
+
const tx = await sendTransactionAsync({
|
|
13
13
|
to,
|
|
14
14
|
value,
|
|
15
15
|
chainId,
|
|
16
16
|
});
|
|
17
|
+
return tx;
|
|
17
18
|
}
|
|
18
19
|
const contractAddress = paymentDetails.source_currency.address;
|
|
19
20
|
const tx = await writeContractAsync({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-evm-transaction.js","sourceRoot":"","sources":["../../src/evm/use-evm-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,UAAU,iBAAiB;IAG7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAClD,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"use-evm-transaction.js","sourceRoot":"","sources":["../../src/evm/use-evm-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,UAAU,iBAAiB;IAG7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAClD,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAA;QACxD,MAAM,EAAE,GAAG,cAAc,CAAC,eAA0B,CAAA;QACpD,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAA;QAEvD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC;gBAClC,EAAE;gBACF,KAAK;gBACL,OAAO;aACV,CAAC,CAAC;YACH,OAAO,EAAY,CAAA;QACvB,CAAC;QACD,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;QAC/D,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChC,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,eAA0B;YACnC,YAAY,EAAE,UAAU;YACxB,OAAO;YACP,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;SACpB,CAAC,CAAC;QACH,OAAO,EAAY,CAAA;IACvB,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACtB,CAAC"}
|
|
@@ -15,7 +15,7 @@ export function useSolanaTransaction() {
|
|
|
15
15
|
microLamports: 1000000
|
|
16
16
|
})
|
|
17
17
|
];
|
|
18
|
-
const value = paymentDetails.source_amount.raw_amount;
|
|
18
|
+
const value = BigInt(paymentDetails.source_amount.raw_amount);
|
|
19
19
|
// Native SOL transfer
|
|
20
20
|
if (!paymentDetails.source_currency.address) {
|
|
21
21
|
instructions.push(SystemProgram.transfer({
|
|
@@ -37,10 +37,13 @@ export function useSolanaTransaction() {
|
|
|
37
37
|
senderPubKey, // from's owner
|
|
38
38
|
value, paymentDetails.source_currency.decimals));
|
|
39
39
|
}
|
|
40
|
+
const { context: { slot: minContextSlot }, value: { blockhash } } = await connection.getLatestBlockhashAndContext();
|
|
41
|
+
transaction.recentBlockhash = blockhash;
|
|
40
42
|
transaction.instructions = instructions;
|
|
41
43
|
return await wallet.sendTransaction(transaction, connection, {
|
|
42
44
|
maxRetries: 3,
|
|
43
45
|
skipPreflight: true,
|
|
46
|
+
minContextSlot
|
|
44
47
|
});
|
|
45
48
|
};
|
|
46
49
|
return { execute };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAGlC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACvD,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEpC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAElE,MAAM,YAAY,GAA6B;YAC7C,oBAAoB;YACpB,oBAAoB,CAAC,mBAAmB,CAAC;gBACvC,aAAa,EAAE,OAAS;aACzB,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAGlC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACvD,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEpC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAElE,MAAM,YAAY,GAA6B;YAC7C,oBAAoB;YACpB,oBAAoB,CAAC,mBAAmB,CAAC;gBACvC,aAAa,EAAE,OAAS;aACzB,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE9D,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CACf,aAAa,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,KAAK;aAChB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAE/E,MAAM,+BAA+B,GAAG,MAAM,iCAAiC,CAC7E,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,CACf,CAAC;YACF,IAAI,+BAA+B,YAAY,sBAAsB,EAAE,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAED,YAAY,CAAC,IAAI,CACf,gCAAgC,CAC9B,QAAQ,EAAE,OAAO;YACjB,IAAI,EACJ,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,eAAe;YAC7B,KAAK,EACL,cAAc,CAAC,eAAe,CAAC,QAAQ,CACxC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EACjC,KAAK,EAAE,EAAE,SAAS,EAAE,EACrB,GAAG,MAAM,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAEpD,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;QAExC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE;YAC3D,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI;YACnB,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
|
|
@@ -13,7 +13,7 @@ export function useSUITransaction() {
|
|
|
13
13
|
owner: paymentDetails.refund_address,
|
|
14
14
|
coinType: SUI_PACKAGE_IDS["sui"]
|
|
15
15
|
});
|
|
16
|
-
const value = paymentDetails.source_amount.raw_amount;
|
|
16
|
+
const value = BigInt(paymentDetails.source_amount.raw_amount);
|
|
17
17
|
if (BigInt(balance.totalBalance) < value) {
|
|
18
18
|
throw new Error(`[CHECKOUT] Insufficient balance: ${balance}`);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sui-transaction.js","sourceRoot":"","sources":["../../src/sui/use-sui-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,GAAG,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,UAAU,iBAAiB;IAG/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,2BAA2B,EAAE,CAAA;IAE1E,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5J,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAE7B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,cAAc,CAAC,cAAc;gBACpC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC;aACjC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"use-sui-transaction.js","sourceRoot":"","sources":["../../src/sui/use-sui-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,WAAW,GAAG,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,UAAU,iBAAiB;IAG/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,2BAA2B,EAAE,CAAA;IAE1E,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5J,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAE7B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBACtC,KAAK,EAAE,cAAc,CAAC,cAAc;gBACpC,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC;aACjC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;YAE3D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC;gBACjD,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;gBACzD,gBAAgB,EAAE,KAAK;gBACvB,SAAS;gBACT,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI;iBACrB;aACF,CAAC,CAAC;YAEH,kEAAkE;YAClE,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,wBAAwB,CAAC;oBACvB,OAAO,EAAE,aAAa,CAAC,UAAU;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,qCAAqC;QACrC,OAAM;IACR,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export function useUTXOTransaction() {
|
|
|
9
9
|
throw new Error("No connection found");
|
|
10
10
|
}
|
|
11
11
|
const recipient = paymentDetails.deposit_address;
|
|
12
|
-
const amount = paymentDetails.source_amount.raw_amount;
|
|
12
|
+
const amount = BigInt(paymentDetails.source_amount.raw_amount);
|
|
13
13
|
const txhash = await sendBtc(recipient, amount, connection);
|
|
14
14
|
if (!txhash) {
|
|
15
15
|
throw new Error("Failed to send BTC");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-utxo-transaction.js","sourceRoot":"","sources":["../../src/utxo/use-utxo-transaction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,kBAAkB;IAG9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAmB,EAAE;QACtE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAA;QAChD,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"use-utxo-transaction.js","sourceRoot":"","sources":["../../src/utxo/use-utxo-transaction.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,kBAAkB;IAG9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAmB,EAAE;QACtE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAA;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,CAAA;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coin-voyage/crypto",
|
|
3
|
-
"
|
|
3
|
+
"description": "Crypto utilities for Coin Voyage",
|
|
4
|
+
"version": "0.0.7",
|
|
4
5
|
"private": false,
|
|
5
6
|
"sideEffects": false,
|
|
6
7
|
"exports": {
|
|
@@ -55,8 +56,9 @@
|
|
|
55
56
|
"@solana/web3.js": "^1.98.0"
|
|
56
57
|
},
|
|
57
58
|
"scripts": {
|
|
59
|
+
"watch": "tsc -w -p ./tsconfig.json",
|
|
58
60
|
"build": "tsc --build --force",
|
|
59
|
-
"release:build": "pnpm build",
|
|
61
|
+
"release:build": "pnpm build && rm -rf tsconfig.tsbuildinfo",
|
|
60
62
|
"clean": "rm -rf node_modules",
|
|
61
63
|
"type-check": "tsc --noEmit",
|
|
62
64
|
"test": "vitest run"
|