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

Support dApp Providers (Bitcoin Provider) #162

Merged
merged 60 commits into from
Jun 28, 2024
Merged
Changes from 1 commit
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
9a16db3
Update EVM provider folder structure
saltict Jun 6, 2024
148107d
Init provider core
saltict Jun 10, 2024
c5019c5
[Issue-85] Update getAddresses method for dApp provider
Jun 11, 2024
668e8f5
[Issue-85] Update getAddresses type
Jun 11, 2024
d682f4b
Add method signMessage for bitcoin provider
Thiendekaco Jun 12, 2024
50fe756
[Issue-85] Add type bitcoinSignPsbtRequest
Jun 12, 2024
c36ae34
[Issue-85] Init BitcoinSignPsbtConfirmation
Jun 12, 2024
23a85ad
Add method signPsbt for bitcoin provider
Thiendekaco Jun 13, 2024
0e1245d
Merge remote-tracking branch 'origin/openbit-provider-dev' into openb…
Jun 13, 2024
d23be2a
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provider
Jun 13, 2024
73b2069
Add message to get psbt from transaction
Jun 13, 2024
f507590
Add method signPsbt for bitcoin provider #2
Thiendekaco Jun 13, 2024
d778225
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provider
Jun 14, 2024
55fcdd7
[UI] Update manage website access logic
Jun 14, 2024
d8fdcb6
Update NotSupportConfirmation
Jun 14, 2024
ccea3ab
Update broadcast logic for signPsbt
Jun 14, 2024
d466411
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provider
Jun 18, 2024
69ca415
[UI] Update response type for getAddresses
Jun 18, 2024
3117a86
Merge remote-tracking branch 'origin/master' into openbit-provider
Jun 21, 2024
30770a2
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provider
Jun 21, 2024
5b378aa
Merge remote-tracking branch 'refs/remotes/origin/openbit-provider' i…
Thiendekaco Jun 22, 2024
40ad089
Update logic for showing auth accounts
Jun 22, 2024
7cce940
Update keyring lib
Jun 22, 2024
ff5937c
Merge remote-tracking branch 'refs/remotes/origin/openbit-provider' i…
Thiendekaco Jun 22, 2024
0a1b897
update: Bip-322 standard sign message for bitcoin provider
Thiendekaco Jun 22, 2024
cef32cc
Highlight current account proxy on connect dApp modal
Jun 22, 2024
df8ce1c
update: sign Psbt for bitcoin provider
Thiendekaco Jun 22, 2024
d12ed94
Merge remote-tracking branch 'origin/openbit-provider-dev' into openb…
Jun 22, 2024
7dd3969
update: send Transfer for bitcoin provider
Thiendekaco Jun 22, 2024
af7e081
update: send Transfer for bitcoin provider #1
Thiendekaco Jun 22, 2024
1808bd8
update: send Transfer for bitcoin provider #2
Thiendekaco Jun 22, 2024
125617c
update: send Transfer for bitcoin provider #3
Thiendekaco Jun 22, 2024
b4c68b3
update: send Transfer for bitcoin provider #4
Thiendekaco Jun 22, 2024
5f184be
update: send Transfer for bitcoin provider #5
Thiendekaco Jun 22, 2024
58704e7
Merge branch 'openbit-provider-dev' into openbit-provider
Jun 22, 2024
4be5763
update: send Transfer for bitcoin provider #6
Thiendekaco Jun 22, 2024
5433b7a
Merge remote-tracking branch 'origin/openbit-provider-dev' into openb…
Jun 24, 2024
5ba0ecb
update: send Transfer for bitcoin provider #7
Thiendekaco Jun 24, 2024
b9fedb9
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provid…
Jun 25, 2024
4817d1c
Update sendTransfer confirmation
Jun 26, 2024
322ba31
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provid…
Jun 26, 2024
4db4590
Merge branch 'openbit-provider-dev' into openbit-provider
Jun 26, 2024
62aaf97
Update yarn.lock
dungnguyen-art Jun 26, 2024
d16cce0
Fix eslint issues
Jun 26, 2024
5ba6605
update: send Transfer for bitcoin provider #8
Thiendekaco Jun 26, 2024
2972e76
Fix eslint issues
Jun 26, 2024
80f425f
Update yarn.lock
dungnguyen-art Jun 26, 2024
2859659
update: completed send Transfer for bitcoin provider
Thiendekaco Jun 26, 2024
36d5501
Merge remote-tracking branch 'refs/remotes/origin/openbit-provider' i…
Thiendekaco Jun 26, 2024
358d874
Fix sign issue
Jun 27, 2024
1884455
Merge remote-tracking branch 'refs/remotes/origin/openbit-provider' i…
Thiendekaco Jun 27, 2024
f92c3a4
fix: optional signAtIndex of signPsbt method
Thiendekaco Jun 27, 2024
48a6d6f
fix: type address follow bittest-84 standard
Thiendekaco Jun 27, 2024
cbeecc9
Update yarn lock
Jun 27, 2024
95a1f0d
Merge remote-tracking branch 'origin/openbit-dev' into openbit-provider
Jun 27, 2024
62e3301
Fix eslint issue
Jun 27, 2024
02fa41d
fix: loading page after transfer
Thiendekaco Jun 27, 2024
719fa35
fix: transaction response for dapp
Thiendekaco Jun 27, 2024
93d510f
Update signPSBT logic
Jun 28, 2024
8b0dee1
Fix issue related to send fund
Jun 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix eslint issues
  • Loading branch information
lw committed Jun 26, 2024

Verified

This commit was signed with the committer’s verified signature.
mike182uk Michael Barrett
commit d16cce0deca8149aeca1b016438844d1f6d2ead9
6 changes: 1 addition & 5 deletions packages/extension-base/src/page/bitcoin/OpenBitProvider.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
// Copyright 2019-2022 @subwallet/extension authors & contributors
// SPDX-License-Identifier: Apache-2.0

import { StacksProvider } from '@stacks/connect';
import { BitcoinProviderError } from '@subwallet/extension-base/background/errors/BitcoinProviderError';
import { version } from '@subwallet/extension-base/page/params';
import { OpenBitProviderType } from '@subwallet/extension-inject/types';

import { sendMessage } from '../message';

export interface OpenBitProviderType extends StacksProvider {
isOpenBit: boolean;
}

export const OpenBitProvider: OpenBitProviderType = {
isOpenBit: true,
getURL: () => {
3 changes: 2 additions & 1 deletion packages/extension-base/src/page/substrate/Injected.ts
Original file line number Diff line number Diff line change
@@ -2,7 +2,8 @@
// SPDX-License-Identifier: Apache-2.0

import type { Injected } from '@subwallet/extension-inject/types';
import type { SendRequest } from './types';

import { SendRequest } from '@subwallet/extension-base/page/types';

import Accounts from './Accounts';
import Metadata from './Metadata';
2 changes: 1 addition & 1 deletion packages/extension-base/src/page/substrate/Metadata.ts
Original file line number Diff line number Diff line change
@@ -2,9 +2,9 @@
// SPDX-License-Identifier: Apache-2.0

import type { InjectedMetadata, InjectedMetadataKnown, MetadataDef } from '@subwallet/extension-inject/types';
import type { SendRequest } from './types';

import { RequestAddPspToken } from '@subwallet/extension-base/background/KoniTypes';
import { SendRequest } from '@subwallet/extension-base/page/types';

// External to class, this.# is not private enough (yet)
let sendRequest: SendRequest;
Original file line number Diff line number Diff line change
@@ -4,8 +4,8 @@
import type { InjectedProvider, ProviderList, ProviderMeta } from '@subwallet/extension-inject/types';
import type { ProviderInterfaceEmitCb, ProviderInterfaceEmitted } from '@polkadot/rpc-provider/types';
import type { AnyFunction } from '@polkadot/types/types';
import type { SendRequest } from './types';

import { SendRequest } from '@subwallet/extension-base/page/types';
import EventEmitter from 'eventemitter3';

import { isUndefined, logger } from '@polkadot/util';
3 changes: 2 additions & 1 deletion packages/extension-base/src/page/substrate/Signer.ts
Original file line number Diff line number Diff line change
@@ -3,7 +3,8 @@

import type { Signer as SignerInterface, SignerResult } from '@polkadot/api/types';
import type { SignerPayloadJSON, SignerPayloadRaw } from '@polkadot/types/types';
import type { SendRequest } from './types';

import { SendRequest } from '@subwallet/extension-base/page/types';

// External to class, this.# is not private enough (yet)
let sendRequest: SendRequest;
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import { _ChainInfo } from '@subwallet/chain-list/types';
import { AuthRequestV2, ResultResolver } from '@subwallet/extension-base/background/KoniTypes';
import { AccountAuthType, AuthorizeRequest, RequestAuthorizeTab, Resolver } from '@subwallet/extension-base/background/types';
import { ChainService } from '@subwallet/extension-base/services/chain-service';
import {_isChainBitcoinCompatible, _isChainEvmCompatible} from '@subwallet/extension-base/services/chain-service/utils';
import { _isChainBitcoinCompatible, _isChainEvmCompatible } from '@subwallet/extension-base/services/chain-service/utils';
import { KeyringService } from '@subwallet/extension-base/services/keyring-service';
import RequestService from '@subwallet/extension-base/services/request-service';
import { PREDEFINED_CHAIN_DAPP_CHAIN_MAP, WEB_APP_URL } from '@subwallet/extension-base/services/request-service/constants';
10 changes: 3 additions & 7 deletions packages/extension-inject/src/bundle.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
// Copyright 2019-2022 @polkadot/extension-inject authors & contributors
// SPDX-License-Identifier: Apache-2.0

import type { Injected, InjectedWindow, InjectOptions } from './types';

import { OpenBitProvider } from '@subwallet/extension-base/page';

import { EIP6963ProviderDetail, EIP6963ProviderInfo, EvmProvider } from './types';
import { EIP6963ProviderDetail, EIP6963ProviderInfo, EvmProvider, Injected, InjectedWindow, InjectOptions, OpenBitProviderType } from './types';

export { packageInfo } from './packageInfo';

@@ -94,8 +90,8 @@ export const inject6963EIP = (provider: EvmProvider) => {
announceProvider();
};

export function injectBitcoinProvider () {
export function injectBitcoinProvider (openBitProvider: OpenBitProviderType) {
const windowInject = window as Window & InjectedWindow;

windowInject.OpenBitProvider = OpenBitProvider;
windowInject.OpenBitProvider = openBitProvider;
}
7 changes: 5 additions & 2 deletions packages/extension-inject/src/types.ts
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import type { Signer as InjectedSigner } from '@polkadot/api/types';
import type { ProviderInterface } from '@polkadot/rpc-provider/types';
import type { ExtDef } from '@polkadot/types/extrinsic/signedExtensions/types';

import { OpenBitProviderType } from '@subwallet/extension-base/page';
import { StacksProvider } from '@stacks/connect';
import { KeypairType } from '@subwallet/keyring/types';

// eslint-disable-next-line no-undef
@@ -107,6 +107,10 @@ export interface EvmProvider {
isConnected(): boolean,
}

export interface OpenBitProviderType extends StacksProvider {
isOpenBit: boolean;
}

export interface InjectedWindowProvider {
enable: (origin: string) => Promise<Injected>;
version: string;
@@ -117,7 +121,6 @@ export interface InjectedWindow extends This {
ethereum: EvmProvider;
OpenBit: EvmProvider;
OpenBitProvider: OpenBitProviderType;
LeatherProvider: OpenBitProviderType;
}

export type InjectedExtension = InjectedExtensionInfo & Injected;
4 changes: 2 additions & 2 deletions packages/extension-koni/src/page.ts
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ import type { RequestSignatures, TransportRequestMessage } from '@subwallet/exte
import type { Message } from '@subwallet/extension-base/types';

import { MESSAGE_ORIGIN_CONTENT } from '@subwallet/extension-base/defaults';
import { handleResponse, initEvmProvider } from '@subwallet/extension-base/page';
import { handleResponse, initEvmProvider, OpenBitProvider } from '@subwallet/extension-base/page';
import { injectBitcoinProvider, injectEvmExtension } from '@subwallet/extension-inject';

function inject () {
@@ -14,7 +14,7 @@ function inject () {
// version: version
// });
injectEvmExtension(initEvmProvider());
injectBitcoinProvider();
injectBitcoinProvider(OpenBitProvider);
}

// setup a response listener (events created by the loader for extension responses)
Loading