Skip to content

Initial Handshake Implementation#14

Open
AcoSmrkas wants to merge 14 commits into
rosen-bridge:devfrom
AcoSmrkas:handshake
Open

Initial Handshake Implementation#14
AcoSmrkas wants to merge 14 commits into
rosen-bridge:devfrom
AcoSmrkas:handshake

Conversation

@AcoSmrkas

Copy link
Copy Markdown

Implementation following RCS-003 - https://github.com/rosen-bridge/rcs/tree/master/rcs-003

@vercel

vercel Bot commented Nov 1, 2025

Copy link
Copy Markdown

@AcoSmrkas is attempting to deploy a commit to the rosen-bridge Team on Vercel.

A member of the Team first needs to authorize it.

Comment thread apps/rosen/package.json Outdated
"@rosen-network/ergo": "^2.5.6",
"@rosen-network/ethereum": "^0.4.6",
"@rosen-network/evm": "^0.3.7",
"@rosen-network/handshake": "^0.1.0",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version should be set to ^0.0.0

Comment thread apps/rosen/package.json Outdated
"@rosen-ui/nautilus-wallet": "^3.1.7",
"@rosen-ui/okx-wallet": "^2.2.2",
"@rosen-ui/public-status": "^0.1.1",
"@rosen-ui/shake-wallet": "^0.1.0",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version should be set to ^0.0.0

Comment thread networks/handshake/package.json Outdated
@@ -0,0 +1,34 @@
{
"name": "@rosen-network/handshake",
"version": "0.1.0",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version should be set to 0.0.0

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the following sections:

"repository": {
  "type": "git",
  "url": "git+https://github.com/rosen-bridge/ui.git"
},
"engines": {
  "node": ">=22.18.0",
  "npm": "11.6.2"
}

Then run the following command to sort the package.json keys:

npx --yes sort-package-json

Comment thread networks/handshake/package.json Outdated
"axios": "^1.7.2",
"hsd": "^8.0.0"
},
"devDependencies": {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this section, as it is already handled by the root package.json

Comment thread wallets/shake/README.md Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We usually don’t write separate markdown files for individual wallets, since the structure is standardized. In the future, documentation will be added for the base wallet in the @rosen-ui/wallet-api package. Therefore, this file can be removed.

Comment on lines +93 to +107
const totalInputHns = utxos.reduce(
(sum, walletUtxo) => sum + BigInt(walletUtxo.value),
0n,
);
throw new Error(
`Available boxes didn't cover required assets. HNS: ${
unwrappedAmount + minSatoshi
}`,
{
cause: {
totalInputHns,
fromAddress: fromAddress,
},
},
);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section should be implemented using our existing utility handleUncoveredAssets. For example:

handleUncoveredAssets(
  tokenMap,
  NETWORKS.handshake.key,
  coveredBoxes.uncoveredAssets,
);

Comment thread package-lock.json

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert these changes, then pull the latest updates from the dev branch. After that, reinstall the dependencies to ensure the latest fixes (including vulnerability patches) are applied and to avoid any merge conflicts.

Comment thread wallets/shake/src/wallet.ts Outdated
throw new UnsupportedChainError(this.name, this.currentChain);
}

if (!this.wallet) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition will never occur because it is already validated by the parent before this function is called.

transfer = async (params: WalletTransferParams): Promise<string> => {
  this.requireAvailable();
  await this.requireConnection();
  ...
};

Comment thread wallets/shake/src/wallet.ts Outdated

private wallet: ShakeWalletAPI | null = null;

performConnect = async (): Promise<void> => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function should be reimplemented. The current logic is unnecessarily complicated. Please check the other wallet implementations in the UI repository for reference and follow the same approach.

@technohippi3

Copy link
Copy Markdown

What's holding this up?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants