diff --git a/.changeset/dirty-guests-turn.md b/.changeset/dirty-guests-turn.md new file mode 100644 index 00000000000..631b540ac07 --- /dev/null +++ b/.changeset/dirty-guests-turn.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/wallets": patch +--- + +add onAuthSuccess callback for paperWallet diff --git a/.changeset/metal-ants-taste.md b/.changeset/metal-ants-taste.md new file mode 100644 index 00000000000..086db481442 --- /dev/null +++ b/.changeset/metal-ants-taste.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/react": patch +--- + +Add onAuthSuccess for paperWallet diff --git a/packages/react/src/wallet/wallets/paper/types.ts b/packages/react/src/wallet/wallets/paper/types.ts index 98b0be72faa..822d3e5d5e7 100644 --- a/packages/react/src/wallet/wallets/paper/types.ts +++ b/packages/react/src/wallet/wallets/paper/types.ts @@ -5,7 +5,7 @@ export type PaperConfig = Omit< "chain" | "clientId" > & { /** - * If true, the wallet will be tagged as "reccomended" in ConnectWallet Modal + * If true, the wallet will be tagged as "recomended" in ConnectWallet Modal */ recommended?: boolean; }; diff --git a/packages/wallets/package.json b/packages/wallets/package.json index 8c6a893498e..4e6b54a92f7 100644 --- a/packages/wallets/package.json +++ b/packages/wallets/package.json @@ -382,7 +382,7 @@ "@magic-ext/oauth": "^7.6.2", "@magic-sdk/provider": "^13.6.2", "@metamask/eth-sig-util": "^4.0.0", - "@paperxyz/embedded-wallet-service-sdk": "^1.2.4", + "@paperxyz/embedded-wallet-service-sdk": "^1.2.5", "@paperxyz/sdk-common-utilities": "^0.1.0", "@safe-global/safe-core-sdk": "^3.3.4", "@safe-global/safe-ethers-adapters": "0.1.0-alpha.17", @@ -455,8 +455,8 @@ "ethereum-provider": "^0.7.7", "ethers": "^5.7.2", "ethers-aws-kms-signer": "^1.3.2", - "tweetnacl": "^1.0.3", "rimraf": "^3.0.2", + "tweetnacl": "^1.0.3", "typedoc": "^0.25.2", "typescript": "^5.1.6" }, diff --git a/packages/wallets/src/evm/connectors/paper/index.ts b/packages/wallets/src/evm/connectors/paper/index.ts index bb1f01f6483..d2ebcbdcf1a 100644 --- a/packages/wallets/src/evm/connectors/paper/index.ts +++ b/packages/wallets/src/evm/connectors/paper/index.ts @@ -62,6 +62,7 @@ export class PaperWalletConnector extends Connector> { clientId: this.options.clientId, chain: "Ethereum", styles: this.options.styles, + onAuthSuccess: this.options.onAuthSuccess, }), ); } catch (err) { diff --git a/packages/wallets/src/evm/connectors/paper/types.ts b/packages/wallets/src/evm/connectors/paper/types.ts index 320896e426d..c211366a050 100644 --- a/packages/wallets/src/evm/connectors/paper/types.ts +++ b/packages/wallets/src/evm/connectors/paper/types.ts @@ -1,4 +1,5 @@ import type { + AuthAndWalletRpcReturnType, PaperConstructorType, RecoveryShareManagement, } from "@paperxyz/embedded-wallet-service-sdk"; @@ -14,6 +15,7 @@ export type PaperWalletAdditionalOptions = { styles?: PaperConstructorType["styles"]; paperClientId?: string; clientId?: string; + onAuthSuccess?: (authResult: AuthAndWalletRpcReturnType) => void; }; export interface PaperWalletConnectorOptions { @@ -22,6 +24,7 @@ export interface PaperWalletConnectorOptions { chains: Chain[]; advancedOptions?: PaperAdvanceOptions; styles?: PaperConstructorType["styles"]; + onAuthSuccess?: (authResult: AuthAndWalletRpcReturnType) => void; } export interface PaperWalletConnectionArgs { diff --git a/packages/wallets/src/evm/wallets/paper-wallet.ts b/packages/wallets/src/evm/wallets/paper-wallet.ts index 00c3125000d..b4fb33018a1 100644 --- a/packages/wallets/src/evm/wallets/paper-wallet.ts +++ b/packages/wallets/src/evm/wallets/paper-wallet.ts @@ -32,6 +32,7 @@ export class PaperWallet extends AbstractClientWallet< paperClientId: string; chain: PaperWalletAdditionalOptions_["chain"]; + onAuthSuccess: PaperWalletAdditionalOptions_["onAuthSuccess"]; constructor(options: PaperWalletOptions) { super(PaperWallet.id, { @@ -84,6 +85,7 @@ export class PaperWallet extends AbstractClientWallet< // cast is okay because we assert that either clientId or paperClientId is defined above this.paperClientId = (options.paperClientId ?? options.clientId) as string; + this.onAuthSuccess = options.onAuthSuccess; } private isClientIdLegacyPaper(clientId: string): boolean { return clientId.indexOf("-") > 0 && clientId.length === 36; @@ -96,6 +98,7 @@ export class PaperWallet extends AbstractClientWallet< clientId: this.paperClientId, chain: this.chain, chains: this.chains, + onAuthSuccess: this.onAuthSuccess, advancedOptions: { recoveryShareManagement: this.options?.advancedOptions?.recoveryShareManagement, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 149a12ed992..be400587285 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,9 +1,5 @@ lockfileVersion: '6.0' -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - overrides: got@<11.8.5: '>=11.8.5' glob-parent@<5.1.2: '>=5.1.2' @@ -161,7 +157,7 @@ importers: version: link:../eslint-config-thirdweb eslint-plugin-import: specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-inclusive-language: specifier: ^2.2.0 version: 2.2.0 @@ -605,7 +601,7 @@ importers: version: 0.0.4(eslint@8.45.0) eslint-plugin-import: specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-inclusive-language: specifier: ^2.2.0 version: 2.2.0 @@ -644,7 +640,7 @@ importers: dependencies: '@tanstack/react-query': specifier: ^4.33.0 - version: 4.33.0(react-dom@18.2.0)(react@18.2.0) + version: 4.33.0(react-native@0.71.11)(react@18.2.0) '@thirdweb-dev/auth': specifier: workspace:* version: link:../auth @@ -729,7 +725,7 @@ importers: version: 0.0.4(eslint@8.45.0) eslint-plugin-import: specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-inclusive-language: specifier: ^2.2.0 version: 2.2.0 @@ -905,7 +901,7 @@ importers: version: 6.0.3 eslint-plugin-import: specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-inclusive-language: specifier: ^2.2.0 version: 2.2.0 @@ -1123,7 +1119,7 @@ importers: version: 0.0.4(eslint@8.45.0) eslint-plugin-import: specifier: ^2.26.0 - version: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + version: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-inclusive-language: specifier: ^2.2.0 version: 2.2.0 @@ -1370,8 +1366,8 @@ importers: specifier: ^4.0.0 version: 4.0.0 '@paperxyz/embedded-wallet-service-sdk': - specifier: ^1.2.4 - version: 1.2.4 + specifier: ^1.2.5 + version: 1.2.5 '@paperxyz/sdk-common-utilities': specifier: ^0.1.0 version: 0.1.0 @@ -9446,6 +9442,19 @@ packages: - utf-8-validate dev: false + /@paperxyz/embedded-wallet-service-sdk@1.2.5: + resolution: {integrity: sha512-FuAMdMmpB55K5jNS2Em6TtqJdXNLPdFxReITd2uS2lMgCtmlUP4aLLFsx+fDEVsAP3hg4FVueqGQWilII/7i0A==} + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/providers': 5.7.2 + '@paperxyz/sdk-common-utilities': 0.1.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + /@paperxyz/sdk-common-utilities@0.1.0: resolution: {integrity: sha512-+zE2wp9gI5kjI6yHdrigeqLRDueAFz70v6hUKOT98Nyy4yL8YUR3OvXFAnAyZLXrr0v1uLlDYQdBz0fI2StmGg==} dev: false @@ -17107,7 +17116,7 @@ packages: eslint: 8.45.0 eslint-import-resolver-node: 0.3.7 eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.45.0) eslint-plugin-react: 7.33.0(eslint@8.45.0) eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.45.0) @@ -17143,7 +17152,7 @@ packages: confusing-browser-globals: 1.0.11 eslint: 8.45.0 eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.22.5)(@babel/plugin-transform-react-jsx@7.22.5)(eslint@8.45.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.45.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.60.1)(eslint@8.45.0)(jest@27.5.1)(typescript@5.1.6) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.45.0) eslint-plugin-react: 7.33.0(eslint@8.45.0) @@ -17187,7 +17196,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.12.0 eslint: 8.45.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0) get-tsconfig: 4.4.0 globby: 13.1.3 is-core-module: 2.11.0 @@ -17224,35 +17233,6 @@ packages: eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.45.0) transitivePeerDependencies: - supports-color - dev: false - - /eslint-module-utils@2.7.4(@typescript-eslint/parser@6.2.0)(eslint-import-resolver-node@0.3.7)(eslint@8.45.0): - resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 6.2.0(eslint@8.45.0)(typescript@5.1.6) - debug: 3.2.7 - eslint: 8.45.0 - eslint-import-resolver-node: 0.3.7 - transitivePeerDependencies: - - supports-color /eslint-plugin-better-tree-shaking@0.0.4(eslint@8.45.0): resolution: {integrity: sha512-Silr3osATHKt3i4SNhqIV52hvZKNvhxs042vlPsw4pUfOkOI9eCZIFg+Q5qZ2zFSNWRAfLbXfG0oHCIz7CbN7w==} @@ -17309,7 +17289,7 @@ packages: requireindex: 1.1.0 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint@8.45.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.3)(eslint@8.45.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -17340,39 +17320,6 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: false - - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@6.2.0)(eslint@8.45.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 6.2.0(eslint@8.45.0)(typescript@5.1.6) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.45.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@6.2.0)(eslint-import-resolver-node@0.3.7)(eslint@8.45.0) - has: 1.0.3 - is-core-module: 2.11.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.1 - semver: 7.5.3 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color /eslint-plugin-inclusive-language@2.2.0: resolution: {integrity: sha512-RzPeSjuw1NYiTSQyFzYl2uTDgiPQWDUmFCiGAMCITmXN627DsWZ9rR4KNzrb8vnk/gLL5qdYr8oxh44xsrcO5Q==} @@ -25401,7 +25348,7 @@ packages: engines: {node: '>=12.0.0'} hasBin: true peerDependencies: - protobufjs: '>=7.2.4' + protobufjs: ^7.0.0 dependencies: chalk: 4.1.2 escodegen: 1.14.3 @@ -30208,3 +30155,7 @@ packages: /zod@3.22.3: resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false