From 2afe2ac0890e9abac945e8abb6d859820f50ab4c Mon Sep 17 00:00:00 2001 From: "Hong Jing (Jingles)" Date: Sat, 17 Aug 2024 09:19:08 +0800 Subject: [PATCH] update collateral and bump version --- .../submitters/submit-transaction.tsx | 2 +- package-lock.json | 9 +++-- packages/mesh-common/package.json | 2 +- packages/mesh-contract/package.json | 2 +- packages/mesh-core-csl/package.json | 2 +- packages/mesh-core-cst/package.json | 2 +- packages/mesh-core/package.json | 2 +- packages/mesh-provider/package.json | 2 +- packages/mesh-react/package.json | 2 +- packages/mesh-transaction/package.json | 2 +- packages/mesh-wallet/package.json | 2 +- packages/mesh-wallet/src/browser/index.ts | 36 +++++++++---------- packages/mesh-wallet/src/mesh/index.ts | 17 --------- packages/mesh-wallet/src/types/index.ts | 1 + 14 files changed, 31 insertions(+), 52 deletions(-) diff --git a/apps/playground/src/pages/providers/submitters/submit-transaction.tsx b/apps/playground/src/pages/providers/submitters/submit-transaction.tsx index 3de4c69d5..48cc1d36d 100644 --- a/apps/playground/src/pages/providers/submitters/submit-transaction.tsx +++ b/apps/playground/src/pages/providers/submitters/submit-transaction.tsx @@ -22,7 +22,7 @@ function Left() { return ( <>

Submit a serialized transaction to the network.

- + ); } diff --git a/package-lock.json b/package-lock.json index 6d5351c66..f5df6c63f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -217,8 +217,7 @@ }, "apps/docs/node_modules/use-sync-external-store": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -9602,9 +9601,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz", - "integrity": "sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==" + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.8.tgz", + "integrity": "sha512-4Nx0gP2tPNBLTrFxBMHpkQbtn2hidPVr/+/FTtcCiBYTucqc70zRyVZiOLj17Ui3wTO7SQ1/N+hkHYzJjBzt6A==" }, "node_modules/elliptic": { "version": "6.5.4", diff --git a/packages/mesh-common/package.json b/packages/mesh-common/package.json index fb5f2087b..37cf7f852 100644 --- a/packages/mesh-common/package.json +++ b/packages/mesh-common/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/common", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-contract/package.json b/packages/mesh-contract/package.json index 3d3bbc7a7..86b476b74 100644 --- a/packages/mesh-contract/package.json +++ b/packages/mesh-contract/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/contract", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-core-csl/package.json b/packages/mesh-core-csl/package.json index 99a6f9ec8..f591a9827 100644 --- a/packages/mesh-core-csl/package.json +++ b/packages/mesh-core-csl/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/core-csl", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-core-cst/package.json b/packages/mesh-core-cst/package.json index 8498accc7..ab4e49e19 100644 --- a/packages/mesh-core-cst/package.json +++ b/packages/mesh-core-cst/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/core-cst", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-core/package.json b/packages/mesh-core/package.json index 155fba185..4f423ff06 100644 --- a/packages/mesh-core/package.json +++ b/packages/mesh-core/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/core", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-provider/package.json b/packages/mesh-provider/package.json index cc2a0356b..524c6936f 100644 --- a/packages/mesh-provider/package.json +++ b/packages/mesh-provider/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/provider", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-react/package.json b/packages/mesh-react/package.json index 7d73cb148..8e1213761 100644 --- a/packages/mesh-react/package.json +++ b/packages/mesh-react/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/react", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-transaction/package.json b/packages/mesh-transaction/package.json index 4caa512a4..7b0d79aad 100644 --- a/packages/mesh-transaction/package.json +++ b/packages/mesh-transaction/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/transaction", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-wallet/package.json b/packages/mesh-wallet/package.json index 08cadb246..39f2d393d 100644 --- a/packages/mesh-wallet/package.json +++ b/packages/mesh-wallet/package.json @@ -1,6 +1,6 @@ { "name": "@meshsdk/wallet", - "version": "1.6.8", + "version": "1.6.9", "description": "", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/mesh-wallet/src/browser/index.ts b/packages/mesh-wallet/src/browser/index.ts index 0751da3f4..e618b2e7c 100644 --- a/packages/mesh-wallet/src/browser/index.ts +++ b/packages/mesh-wallet/src/browser/index.ts @@ -232,21 +232,6 @@ export class BrowserWallet implements IInitiator, ISigner, ISubmitter { return usedAddresses.map((usa) => addressToBech32(deserializeAddress(usa))); } - /** - * Get a list of UTXOs to be used as collateral inputs for transactions with plutus script inputs. - * - * This is used in transaction building. - * - * @returns a list of UTXOs - */ - async getUsedCollateral( - limit = DEFAULT_PROTOCOL_PARAMETERS.maxCollateralInputs, - ): Promise { - const collateral = - (await this._walletInstance.experimental.getCollateral()) ?? []; - return collateral.map((c) => deserializeTxUnspentOutput(c)).slice(0, limit); - } - /** * Return a list of all UTXOs (unspent transaction outputs) controlled by the wallet. * @@ -335,7 +320,7 @@ export class BrowserWallet implements IInitiator, ISigner, ISubmitter { const unsignedTx = unsignedTxs[i]!; const cWitness = witnessSets[i]!; if (cWitness === "") { - // It's possible that txs are signed just to give + // It's possible that txs are signed just to give // browser wallet the tx context signedTxs.push(unsignedTx); } else { @@ -382,10 +367,21 @@ export class BrowserWallet implements IInitiator, ISigner, ISubmitter { * * @returns a list of UTXOs */ - async getCollateralUnspentOutput(): Promise { - const collateral = - (await this._walletInstance.experimental.getCollateral()) ?? []; - return collateral.map((c) => deserializeTxUnspentOutput(c)); + async getCollateralUnspentOutput( + limit = DEFAULT_PROTOCOL_PARAMETERS.maxCollateralInputs, + ): Promise { + let collateral: string[] = []; + try { + collateral = (await this._walletInstance.getCollateral()) ?? []; + } catch (e) { + try { + collateral = + (await this._walletInstance.experimental.getCollateral()) ?? []; + } catch (e) { + console.error(e); + } + } + return collateral.map((c) => deserializeTxUnspentOutput(c)).slice(0, limit); } /** diff --git a/packages/mesh-wallet/src/mesh/index.ts b/packages/mesh-wallet/src/mesh/index.ts index 39768d1ff..a3d0b8ad1 100644 --- a/packages/mesh-wallet/src/mesh/index.ts +++ b/packages/mesh-wallet/src/mesh/index.ts @@ -283,23 +283,6 @@ export class MeshWallet implements IInitiator, ISigner, ISubmitter { return [this.getChangeAddress()]; } - /** - * Get a list of UTXOs to be used as collateral inputs for transactions with plutus script inputs. - * - * This is used in transaction building. - * - * @returns a list of UTXOs - */ - async getUsedCollateral(): Promise { - const collateralUtxo = await this.getCollateral(); - - const unspentOutput = collateralUtxo.map((utxo) => { - return toTxUnspentOutput(utxo); - }); - - return unspentOutput; - } - /** * Get a list of UTXOs to be used for transaction building. * diff --git a/packages/mesh-wallet/src/types/index.ts b/packages/mesh-wallet/src/types/index.ts index f9758fdb4..1ae1baac4 100644 --- a/packages/mesh-wallet/src/types/index.ts +++ b/packages/mesh-wallet/src/types/index.ts @@ -23,6 +23,7 @@ export interface Cip30WalletApi { getBalance(): Promise; getChangeAddress(): Promise; getExtensions(): Promise<{ cip: number }[]>; + getCollateral(): Promise; getNetworkId(): Promise; getRewardAddresses(): Promise; getUnusedAddresses(): Promise;