Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(bitcoin): Add phantom wallet adapter #1267

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open

Conversation

gin-lsl
Copy link
Collaborator

@gin-lsl gin-lsl commented Nov 29, 2024

添加 Phantom Wallet 的 比特币钱包适配器。

Phantom 的文档见:https://docs.phantom.app/bitcoin/integrating-phantom

注:

  1. 目前 Phantom 的 bitcoin 目前没有提供 sendTransfer 或类似方法,所以修改了 BitcoinWallet 接口;
  2. Phantom 对 signPsbt 的支持似乎有些问题,所以在 sign 的 demo 中另外添加了 psbt 测试值;
  3. signPsbt 不支持 broadcast 选项;
  4. 添加了 uint8array-tools 依赖,用于对 Uint8Array 值做转换;

💡 Background and solution

🔗 Related issue link

Copy link

changeset-bot bot commented Nov 29, 2024

🦋 Changeset detected

Latest commit: e56d9c3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@ant-design/web3-bitcoin Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

vercel bot commented Nov 29, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
ant-design-web3 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 29, 2024 6:56am

Copy link

github-actions bot commented Nov 29, 2024

Preview is ready

@LCJove
Copy link
Collaborator

LCJove commented Nov 29, 2024

看到这个 psbt 想到一个问题,钱包更关心的是如何发起一笔交易,其中的 psbt 数据应该是不感知的。
这个后续可以提一个需求,参考 unisat 组装 psbt 的方法。

Copy link

codecov bot commented Nov 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.99%. Comparing base (1c18695) to head (e56d9c3).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1267   +/-   ##
=======================================
  Coverage   99.99%   99.99%           
=======================================
  Files         858      859    +1     
  Lines       14726    14729    +3     
  Branches     1589     1589           
=======================================
+ Hits        14725    14728    +3     
  Misses          1        1           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@@ -10,7 +10,7 @@ export interface BitcoinWallet<Provider = any> {
getBalance: () => Promise<Balance>;
connect: () => Promise<void>;
signMessage: (message: string) => Promise<string>;
sendTransfer: (params: TransferParams) => Promise<string>;
sendTransfer?: (params: TransferParams) => Promise<string>;
Copy link
Collaborator

Choose a reason for hiding this comment

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

这个为啥加上 ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

根据这里的文档,Phantom 只支持 psbt 转账
https://docs.phantom.app/bitcoin/sending-a-transaction

Copy link
Collaborator

Choose a reason for hiding this comment

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

感觉这个算是钱包自己的特点,可以不要改这里,而是实现一个空的 sendTransfer 方法,里面抛出一个错误提醒开发者?

@yutingzhao1991
Copy link
Collaborator

有冲突了

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.

4 participants