From 0fcfbf409650f3c168ea65d38807d22354cf1b9f Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Fri, 1 Aug 2025 13:18:37 -0700 Subject: [PATCH 01/47] scaffolds evm extension --- packages/@magic-ext/avalanche/package.json | 2 +- packages/@magic-ext/evm/.lintstagedrc.yml | 2 + packages/@magic-ext/evm/.prettierrc.js | 1 + packages/@magic-ext/evm/CHANGELOG.md | 0 packages/@magic-ext/evm/LICENSE | 176 ++++++++++++++++++++ packages/@magic-ext/evm/eslint.config.mjs | 21 +++ packages/@magic-ext/evm/package.json | 33 ++++ packages/@magic-ext/evm/src/index.cdn.ts | 3 + packages/@magic-ext/evm/src/index.native.ts | 1 + packages/@magic-ext/evm/src/index.ts | 26 +++ packages/@magic-ext/evm/src/types.ts | 3 + packages/@magic-ext/evm/tsconfig.json | 4 + yarn.lock | 96 ++++++----- 13 files changed, 323 insertions(+), 45 deletions(-) create mode 100644 packages/@magic-ext/evm/.lintstagedrc.yml create mode 100644 packages/@magic-ext/evm/.prettierrc.js create mode 100644 packages/@magic-ext/evm/CHANGELOG.md create mode 100644 packages/@magic-ext/evm/LICENSE create mode 100644 packages/@magic-ext/evm/eslint.config.mjs create mode 100644 packages/@magic-ext/evm/package.json create mode 100644 packages/@magic-ext/evm/src/index.cdn.ts create mode 100644 packages/@magic-ext/evm/src/index.native.ts create mode 100644 packages/@magic-ext/evm/src/index.ts create mode 100644 packages/@magic-ext/evm/src/types.ts create mode 100644 packages/@magic-ext/evm/tsconfig.json diff --git a/packages/@magic-ext/avalanche/package.json b/packages/@magic-ext/avalanche/package.json index 4323cfc0a..52290a00b 100644 --- a/packages/@magic-ext/avalanche/package.json +++ b/packages/@magic-ext/avalanche/package.json @@ -12,7 +12,7 @@ "dist" ], "target": "neutral", - "cdnGlobalName": "MagicSolanaExtension", + "cdnGlobalName": "MagicAvalancheExtension", "main": "./dist/cjs/index.js", "module": "./dist/es/index.js", "types": "./dist/types/index.d.ts", diff --git a/packages/@magic-ext/evm/.lintstagedrc.yml b/packages/@magic-ext/evm/.lintstagedrc.yml new file mode 100644 index 000000000..1c250ad65 --- /dev/null +++ b/packages/@magic-ext/evm/.lintstagedrc.yml @@ -0,0 +1,2 @@ +'*.{ts,tsx}': + - eslint --fix diff --git a/packages/@magic-ext/evm/.prettierrc.js b/packages/@magic-ext/evm/.prettierrc.js new file mode 100644 index 000000000..6177cac66 --- /dev/null +++ b/packages/@magic-ext/evm/.prettierrc.js @@ -0,0 +1 @@ +module.exports = require('../../../.prettierrc.js'); diff --git a/packages/@magic-ext/evm/CHANGELOG.md b/packages/@magic-ext/evm/CHANGELOG.md new file mode 100644 index 000000000..e69de29bb diff --git a/packages/@magic-ext/evm/LICENSE b/packages/@magic-ext/evm/LICENSE new file mode 100644 index 000000000..d9a10c0d8 --- /dev/null +++ b/packages/@magic-ext/evm/LICENSE @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/packages/@magic-ext/evm/eslint.config.mjs b/packages/@magic-ext/evm/eslint.config.mjs new file mode 100644 index 000000000..a94768e85 --- /dev/null +++ b/packages/@magic-ext/evm/eslint.config.mjs @@ -0,0 +1,21 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import rootEslintConfig from '../../../eslint.config.mjs'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +export default [ + ...rootEslintConfig, + { + ignores: ['node_modules', 'coverage', 'dist', 'eslint.config.mjs', 'jest.config.ts'], + }, + { + languageOptions: { + parserOptions: { + project: ['./tsconfig.json'], + tsconfigRootDir: __dirname, + }, + }, + }, +]; diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json new file mode 100644 index 000000000..6f1501bd9 --- /dev/null +++ b/packages/@magic-ext/evm/package.json @@ -0,0 +1,33 @@ +{ + "name": "@magic-ext/evm", + "version": "24.4.1", + "description": "magic evm extension", + "author": "Magic (https://magic.link/)", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/magiclabs/magic-js" + }, + "files": [ + "dist" + ], + "target": "neutral", + "cdnGlobalName": "MagicEVMExtension", + "main": "./dist/cjs/index.js", + "module": "./dist/es/index.js", + "types": "./dist/types/index.d.ts", + "jsdelivr": "./dist/extension.js", + "exports": { + "import": "./dist/es/index.mjs", + "types": "./dist/types/index.d.ts", + "require": "./dist/cjs/index.js" + }, + "externals": { + "include": [ + "@magic-sdk/commons" + ] + }, + "devDependencies": { + "@magic-sdk/commons": "^25.4.1" + } +} diff --git a/packages/@magic-ext/evm/src/index.cdn.ts b/packages/@magic-ext/evm/src/index.cdn.ts new file mode 100644 index 000000000..709493ea9 --- /dev/null +++ b/packages/@magic-ext/evm/src/index.cdn.ts @@ -0,0 +1,3 @@ +import { AvalancheExtension } from './index'; + +export default AvalancheExtension; diff --git a/packages/@magic-ext/evm/src/index.native.ts b/packages/@magic-ext/evm/src/index.native.ts new file mode 100644 index 000000000..ea465c2a3 --- /dev/null +++ b/packages/@magic-ext/evm/src/index.native.ts @@ -0,0 +1 @@ +export * from './index'; diff --git a/packages/@magic-ext/evm/src/index.ts b/packages/@magic-ext/evm/src/index.ts new file mode 100644 index 000000000..7e289c534 --- /dev/null +++ b/packages/@magic-ext/evm/src/index.ts @@ -0,0 +1,26 @@ +import { CustomNodeConfiguration, Extension } from '@magic-sdk/commons'; +import { EVMPayloadMethod } from './types'; + +export class EVMExtension extends Extension.Internal<'evm', any> { + name = 'evm' as const; + config: any = {}; + + constructor(public evmConfig: CustomNodeConfiguration[]) { + super(); + + this.config = { + networks: evmConfig, + }; + } + + public switchEVMChain = (chainId: number) => { + return this.request({ + id: 42, + jsonrpc: '2.0', + method: EVMPayloadMethod.SwitchEVMChain, + params: { + chainId, + }, + }); + }; +} diff --git a/packages/@magic-ext/evm/src/types.ts b/packages/@magic-ext/evm/src/types.ts new file mode 100644 index 000000000..577fe141e --- /dev/null +++ b/packages/@magic-ext/evm/src/types.ts @@ -0,0 +1,3 @@ +export enum EVMPayloadMethod { + SwitchEVMChain = 'evm_switchChain', +} diff --git a/packages/@magic-ext/evm/tsconfig.json b/packages/@magic-ext/evm/tsconfig.json new file mode 100644 index 000000000..c268bce54 --- /dev/null +++ b/packages/@magic-ext/evm/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../../tsconfig.settings.json", +} + diff --git a/yarn.lock b/yarn.lock index 3ef696a89..bef8f7161 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3483,7 +3483,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/algorand@workspace:packages/@magic-ext/algorand" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3492,8 +3492,8 @@ __metadata: resolution: "@magic-ext/aptos@workspace:packages/@magic-ext/aptos" dependencies: "@aptos-labs/wallet-adapter-core": ^2.2.0 - "@magic-sdk/commons": ^25.4.0 - "@magic-sdk/provider": ^29.4.0 + "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/provider": ^29.4.1 aptos: ^1.8.5 peerDependencies: "@aptos-labs/wallet-adapter-core": ^2.2.0 @@ -3505,7 +3505,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/avalanche@workspace:packages/@magic-ext/avalanche" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3513,7 +3513,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/bitcoin@workspace:packages/@magic-ext/bitcoin" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3521,7 +3521,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/conflux@workspace:packages/@magic-ext/conflux" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3529,7 +3529,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/cosmos@workspace:packages/@magic-ext/cosmos" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3537,7 +3537,15 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/ed25519@workspace:packages/@magic-ext/ed25519" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 + languageName: unknown + linkType: soft + +"@magic-ext/evm@workspace:packages/@magic-ext/evm": + version: 0.0.0-use.local + resolution: "@magic-ext/evm@workspace:packages/@magic-ext/evm" + dependencies: + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3545,7 +3553,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/farcaster@workspace:packages/@magic-ext/farcaster" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3553,7 +3561,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/flow@workspace:packages/@magic-ext/flow" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@onflow/fcl": ^1.4.1 "@onflow/types": ^1.1.0 peerDependencies: @@ -3566,7 +3574,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/gdkms@workspace:packages/@magic-ext/gdkms" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@magic-sdk/types": ^24.21.0 languageName: unknown linkType: soft @@ -3575,7 +3583,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/harmony@workspace:packages/@magic-ext/harmony" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3593,7 +3601,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/icon@workspace:packages/@magic-ext/icon" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3601,7 +3609,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/kadena@workspace:packages/@magic-ext/kadena" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3609,7 +3617,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/near@workspace:packages/@magic-ext/near" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3617,17 +3625,17 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/oauth2@workspace:packages/@magic-ext/oauth2" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@types/crypto-js": 4.2.0 crypto-js: ^4.2.0 languageName: unknown linkType: soft -"@magic-ext/oauth@^23.4.0, @magic-ext/oauth@workspace:packages/@magic-ext/oauth": +"@magic-ext/oauth@^23.4.1, @magic-ext/oauth@workspace:packages/@magic-ext/oauth": version: 0.0.0-use.local resolution: "@magic-ext/oauth@workspace:packages/@magic-ext/oauth" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@types/crypto-js": ~4.2.0 crypto-js: ^4.2.0 languageName: unknown @@ -3637,7 +3645,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/oidc@workspace:packages/@magic-ext/oidc" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3645,7 +3653,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/polkadot@workspace:packages/@magic-ext/polkadot" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3653,7 +3661,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/react-native-bare-oauth@workspace:packages/@magic-ext/react-native-bare-oauth" dependencies: - "@magic-sdk/react-native-bare": ^30.4.0 + "@magic-sdk/react-native-bare": ^30.4.1 "@magic-sdk/types": ^24.21.0 "@types/crypto-js": ~4.2.0 crypto-js: ^4.2.0 @@ -3669,7 +3677,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/react-native-expo-oauth@workspace:packages/@magic-ext/react-native-expo-oauth" dependencies: - "@magic-sdk/react-native-expo": ^30.4.0 + "@magic-sdk/react-native-expo": ^30.4.1 "@magic-sdk/types": ^10.0.0 "@types/crypto-js": ~4.2.0 crypto-js: ^4.2.0 @@ -3684,7 +3692,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/solana@workspace:packages/@magic-ext/solana" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@solana/web3.js": ^1.87.2 peerDependencies: "@solana/web3.js": ^1.87.2 @@ -3695,7 +3703,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/sui@workspace:packages/@magic-ext/sui" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3703,7 +3711,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/taquito@workspace:packages/@magic-ext/taquito" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3711,7 +3719,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/terra@workspace:packages/@magic-ext/terra" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3719,7 +3727,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/tezos@workspace:packages/@magic-ext/tezos" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3727,7 +3735,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/web3modal-ethers5@workspace:packages/@magic-ext/web3modal-ethers5" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 "@magic-sdk/types": 24.0.6-canary.742.10067162636.0 "@web3modal/ethers5": 5.0.3 ethers: 5.7.2 @@ -3738,7 +3746,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/webauthn@workspace:packages/@magic-ext/webauthn" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft @@ -3746,15 +3754,15 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/zilliqa@workspace:packages/@magic-ext/zilliqa" dependencies: - "@magic-sdk/commons": ^25.4.0 + "@magic-sdk/commons": ^25.4.1 languageName: unknown linkType: soft -"@magic-sdk/commons@^25.4.0, @magic-sdk/commons@workspace:packages/@magic-sdk/commons": +"@magic-sdk/commons@^25.4.1, @magic-sdk/commons@workspace:packages/@magic-sdk/commons": version: 0.0.0-use.local resolution: "@magic-sdk/commons@workspace:packages/@magic-sdk/commons" dependencies: - "@magic-sdk/provider": ^29.4.0 + "@magic-sdk/provider": ^29.4.1 "@magic-sdk/types": ^24.21.0 peerDependencies: "@magic-sdk/provider": ">=18.6.0" @@ -3777,12 +3785,12 @@ __metadata: resolution: "@magic-sdk/pnp@workspace:packages/@magic-sdk/pnp" dependencies: "@babel/plugin-proposal-optional-chaining": ^7.9.0 - "@magic-ext/oauth": ^23.4.0 - magic-sdk: ^29.4.0 + "@magic-ext/oauth": ^23.4.1 + magic-sdk: ^29.4.1 languageName: unknown linkType: soft -"@magic-sdk/provider@^29.4.0, @magic-sdk/provider@workspace:packages/@magic-sdk/provider": +"@magic-sdk/provider@^29.4.1, @magic-sdk/provider@workspace:packages/@magic-sdk/provider": version: 0.0.0-use.local resolution: "@magic-sdk/provider@workspace:packages/@magic-sdk/provider" dependencies: @@ -3796,14 +3804,14 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-bare@^30.4.0, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": +"@magic-sdk/react-native-bare@^30.4.1, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare" dependencies: "@aveq-research/localforage-asyncstorage-driver": ^3.0.1 "@babel/plugin-transform-class-static-block": ^7.26.0 - "@magic-sdk/commons": ^25.4.0 - "@magic-sdk/provider": ^29.4.0 + "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/provider": ^29.4.1 "@magic-sdk/types": ^24.21.0 "@react-native-async-storage/async-storage": ^2.1.2 "@react-native-community/netinfo": ">11.0.0" @@ -3835,15 +3843,15 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-expo@^30.4.0, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": +"@magic-sdk/react-native-expo@^30.4.1, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo" dependencies: "@aveq-research/localforage-asyncstorage-driver": ^3.0.1 "@babel/plugin-transform-class-static-block": ^7.26.0 "@babel/preset-env": ^7.26.9 - "@magic-sdk/commons": ^25.4.0 - "@magic-sdk/provider": ^29.4.0 + "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/provider": ^29.4.1 "@magic-sdk/types": ^24.21.0 "@react-native-async-storage/async-storage": ^1.15.5 "@react-native-community/netinfo": ">11.0.0" @@ -14857,12 +14865,12 @@ __metadata: languageName: unknown linkType: soft -"magic-sdk@^29.4.0, magic-sdk@workspace:packages/magic-sdk": +"magic-sdk@^29.4.1, magic-sdk@workspace:packages/magic-sdk": version: 0.0.0-use.local resolution: "magic-sdk@workspace:packages/magic-sdk" dependencies: - "@magic-sdk/commons": ^25.4.0 - "@magic-sdk/provider": ^29.4.0 + "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/provider": ^29.4.1 "@magic-sdk/types": ^24.21.0 localforage: ^1.7.4 languageName: unknown From 2d75b49e33076fcf3453a41134cf54c3c809d58f Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Fri, 1 Aug 2025 13:43:33 -0700 Subject: [PATCH 02/47] fix import --- packages/@magic-ext/evm/src/index.cdn.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@magic-ext/evm/src/index.cdn.ts b/packages/@magic-ext/evm/src/index.cdn.ts index 709493ea9..6b286f29e 100644 --- a/packages/@magic-ext/evm/src/index.cdn.ts +++ b/packages/@magic-ext/evm/src/index.cdn.ts @@ -1,3 +1,3 @@ -import { AvalancheExtension } from './index'; +import { EVMExtension } from './index'; -export default AvalancheExtension; +export default EVMExtension; From 2be5eb8201683e1524ccfb7d6b4d75e474d877e1 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 09:02:36 -0700 Subject: [PATCH 03/47] change version --- packages/@magic-ext/evm/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 6f1501bd9..6ff6202eb 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -1,6 +1,6 @@ { "name": "@magic-ext/evm", - "version": "24.4.1", + "version": "0.0.0", "description": "magic evm extension", "author": "Magic (https://magic.link/)", "license": "MIT", From e62eed96359cde694fe40c1dce89c30b6ef794bf Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 15:39:07 -0700 Subject: [PATCH 04/47] adds default param --- packages/@magic-ext/evm/src/index.ts | 4 ++-- packages/@magic-ext/evm/src/types.ts | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/@magic-ext/evm/src/index.ts b/packages/@magic-ext/evm/src/index.ts index 7e289c534..ff011f7e4 100644 --- a/packages/@magic-ext/evm/src/index.ts +++ b/packages/@magic-ext/evm/src/index.ts @@ -1,11 +1,11 @@ import { CustomNodeConfiguration, Extension } from '@magic-sdk/commons'; -import { EVMPayloadMethod } from './types'; +import { EVMNetworkConfig, EVMPayloadMethod } from './types'; export class EVMExtension extends Extension.Internal<'evm', any> { name = 'evm' as const; config: any = {}; - constructor(public evmConfig: CustomNodeConfiguration[]) { + constructor(public evmConfig: EVMNetworkConfig[]) { super(); this.config = { diff --git a/packages/@magic-ext/evm/src/types.ts b/packages/@magic-ext/evm/src/types.ts index 577fe141e..f95cc3c66 100644 --- a/packages/@magic-ext/evm/src/types.ts +++ b/packages/@magic-ext/evm/src/types.ts @@ -1,3 +1,9 @@ +import { CustomNodeConfiguration } from 'magic-sdk'; + export enum EVMPayloadMethod { SwitchEVMChain = 'evm_switchChain', } + +export interface EVMNetworkConfig extends CustomNodeConfiguration { + default?: boolean; +} From 3b40afb1c0e0a2e991dafb85faa4c2dc85f72caa Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 15:50:01 -0700 Subject: [PATCH 05/47] removes unused type --- packages/@magic-ext/evm/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@magic-ext/evm/src/index.ts b/packages/@magic-ext/evm/src/index.ts index ff011f7e4..aaecfaeb6 100644 --- a/packages/@magic-ext/evm/src/index.ts +++ b/packages/@magic-ext/evm/src/index.ts @@ -1,4 +1,4 @@ -import { CustomNodeConfiguration, Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/commons'; import { EVMNetworkConfig, EVMPayloadMethod } from './types'; export class EVMExtension extends Extension.Internal<'evm', any> { From 1500996a925e853cfc4ad0272f28a0868158c14a Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 16:04:01 -0700 Subject: [PATCH 06/47] updates dev dependencies --- packages/@magic-ext/evm/package.json | 6 ++++-- yarn.lock | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 6ff6202eb..7e9f1128b 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -24,10 +24,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/commons", + "@magic-sdk/types" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.1" + "@magic-sdk/commons": "^25.4.1", + "@magic-sdk/types": "^24.21.0" } } diff --git a/yarn.lock b/yarn.lock index bef8f7161..91f27ccf6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3546,6 +3546,7 @@ __metadata: resolution: "@magic-ext/evm@workspace:packages/@magic-ext/evm" dependencies: "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/types": ^24.21.0 languageName: unknown linkType: soft From 22ca3f951270276483c1f69605b0d44540ecd508 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 16:08:48 -0700 Subject: [PATCH 07/47] again --- packages/@magic-ext/evm/package.json | 4 ++-- yarn.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 7e9f1128b..c0c3f7977 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -25,11 +25,11 @@ "externals": { "include": [ "@magic-sdk/commons", - "@magic-sdk/types" + "magic-sdk" ] }, "devDependencies": { "@magic-sdk/commons": "^25.4.1", - "@magic-sdk/types": "^24.21.0" + "magic-sdk": "29.4.1" } } diff --git a/yarn.lock b/yarn.lock index 91f27ccf6..b075d6cd0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3546,7 +3546,7 @@ __metadata: resolution: "@magic-ext/evm@workspace:packages/@magic-ext/evm" dependencies: "@magic-sdk/commons": ^25.4.1 - "@magic-sdk/types": ^24.21.0 + magic-sdk: 29.4.1 languageName: unknown linkType: soft @@ -14866,7 +14866,7 @@ __metadata: languageName: unknown linkType: soft -"magic-sdk@^29.4.1, magic-sdk@workspace:packages/magic-sdk": +"magic-sdk@29.4.1, magic-sdk@^29.4.1, magic-sdk@workspace:packages/magic-sdk": version: 0.0.0-use.local resolution: "magic-sdk@workspace:packages/magic-sdk" dependencies: From 5b26c56e97aa24144c29b5557219783aff97ce69 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 16:11:05 -0700 Subject: [PATCH 08/47] again again --- packages/@magic-ext/evm/package.json | 4 ++-- packages/@magic-ext/evm/src/types.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index c0c3f7977..7e9f1128b 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -25,11 +25,11 @@ "externals": { "include": [ "@magic-sdk/commons", - "magic-sdk" + "@magic-sdk/types" ] }, "devDependencies": { "@magic-sdk/commons": "^25.4.1", - "magic-sdk": "29.4.1" + "@magic-sdk/types": "^24.21.0" } } diff --git a/packages/@magic-ext/evm/src/types.ts b/packages/@magic-ext/evm/src/types.ts index f95cc3c66..017813a0f 100644 --- a/packages/@magic-ext/evm/src/types.ts +++ b/packages/@magic-ext/evm/src/types.ts @@ -1,4 +1,4 @@ -import { CustomNodeConfiguration } from 'magic-sdk'; +import { CustomNodeConfiguration } from '@magic-sdk/types'; export enum EVMPayloadMethod { SwitchEVMChain = 'evm_switchChain', From 3773321e762c53ac2348032b1bc9f08c6a3d7297 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Mon, 4 Aug 2025 16:16:46 -0700 Subject: [PATCH 09/47] updates yarn lock --- yarn.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index b075d6cd0..91f27ccf6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3546,7 +3546,7 @@ __metadata: resolution: "@magic-ext/evm@workspace:packages/@magic-ext/evm" dependencies: "@magic-sdk/commons": ^25.4.1 - magic-sdk: 29.4.1 + "@magic-sdk/types": ^24.21.0 languageName: unknown linkType: soft @@ -14866,7 +14866,7 @@ __metadata: languageName: unknown linkType: soft -"magic-sdk@29.4.1, magic-sdk@^29.4.1, magic-sdk@workspace:packages/magic-sdk": +"magic-sdk@^29.4.1, magic-sdk@workspace:packages/magic-sdk": version: 0.0.0-use.local resolution: "magic-sdk@workspace:packages/magic-sdk" dependencies: From 138c84739afdfc0000f26e25d4a0ef651adae9ac Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 5 Aug 2025 13:41:49 -0700 Subject: [PATCH 10/47] adds sol public address --- packages/@magic-ext/solana/src/constants.ts | 1 + packages/@magic-ext/solana/src/index.ts | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/packages/@magic-ext/solana/src/constants.ts b/packages/@magic-ext/solana/src/constants.ts index 16ab140bb..44e1aa0a1 100644 --- a/packages/@magic-ext/solana/src/constants.ts +++ b/packages/@magic-ext/solana/src/constants.ts @@ -2,4 +2,5 @@ export const SOLANA_PAYLOAD_METHODS = { SIGN_TRANSACTION: 'sol_signTransaction', SIGN_MESSAGE: 'sol_signMessage', PARTIAL_SIGN_TRANSACTION: 'sol_partialSignTransaction', + GET_PUBLIC_ADDRESS: 'get_multichain_public_address', } as const; diff --git a/packages/@magic-ext/solana/src/index.ts b/packages/@magic-ext/solana/src/index.ts index db39be6aa..a5b6e5004 100644 --- a/packages/@magic-ext/solana/src/index.ts +++ b/packages/@magic-ext/solana/src/index.ts @@ -56,4 +56,15 @@ export class SolanaExtension extends Extension.Internal<'solana', any> { }, }); }; + + public getPublicAddress = () => { + return this.request({ + id: 42, + jsonrpc: '2.0', + method: SOLANA_PAYLOAD_METHODS.GET_PUBLIC_ADDRESS, + params: { + chain: 'SOLANA', + }, + }); + }; } From fa76a665dcb707f355b9f2c4b108b84a3c3f25e6 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 5 Aug 2025 14:04:29 -0700 Subject: [PATCH 11/47] adds hedera get address --- packages/@magic-ext/hedera/src/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index a17acf22f..224ecd015 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -27,4 +27,10 @@ export class HederaExtension extends Extension.Internal<'hedera', any> { public async sign(message: Uint8Array) { return this.request(this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaSign, [{ message }])); } + + public async getPublicAddress() { + return this.request( + this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaGetPublicKey, [{ chain: 'HEDERA' }]), + ); + } } From 71c91317121edbbdf94a306ef5c33bf3e7aa637a Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 5 Aug 2025 14:26:29 -0700 Subject: [PATCH 12/47] fix payload --- packages/@magic-ext/hedera/src/index.ts | 2 +- packages/@magic-ext/hedera/src/types.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index 224ecd015..d74248b58 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -30,7 +30,7 @@ export class HederaExtension extends Extension.Internal<'hedera', any> { public async getPublicAddress() { return this.request( - this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaGetPublicKey, [{ chain: 'HEDERA' }]), + this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaGetPublicAddress, [{ chain: 'HEDERA' }]), ); } } diff --git a/packages/@magic-ext/hedera/src/types.ts b/packages/@magic-ext/hedera/src/types.ts index 45cdd756b..1cfab56ba 100644 --- a/packages/@magic-ext/hedera/src/types.ts +++ b/packages/@magic-ext/hedera/src/types.ts @@ -5,4 +5,5 @@ export interface HederaConfig { export enum HederaPayloadMethod { HederaSign = 'hedera_sign', HederaGetPublicKey = 'hedera_getPublicKey', + HederaGetPublicAddress = 'get_multichain_public_address', } From 554c1d684e5f5b24b7e7759dc0f17ae2b76eeed7 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 10:47:54 -0700 Subject: [PATCH 13/47] adds multichain extension class --- packages/@magic-ext/hedera/src/index.ts | 25 +++++++------------ packages/@magic-sdk/provider/src/index.ts | 2 +- .../provider/src/modules/base-extension.ts | 22 ++++++++++++++++ 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index d74248b58..c847462c4 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -1,23 +1,22 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { HederaConfig, HederaPayloadMethod } from './types'; export * from './utils'; -export class HederaExtension extends Extension.Internal<'hedera', any> { +export class HederaExtension extends MultichainExtension<'hedera'> { name = 'hedera' as const; - config: any = {}; network: string; constructor(public hederaConfig: HederaConfig) { - super(); + super( + { + chainType: 'HEDERA', + options: { network: hederaConfig.network }, + }, + 'HEDERA', + ); this.network = hederaConfig.network; - this.config = { - chainType: 'HEDERA', - options: { - network: hederaConfig.network, - }, - }; } public async getPublicKey() { @@ -27,10 +26,4 @@ export class HederaExtension extends Extension.Internal<'hedera', any> { public async sign(message: Uint8Array) { return this.request(this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaSign, [{ message }])); } - - public async getPublicAddress() { - return this.request( - this.utils.createJsonRpcRequestPayload(HederaPayloadMethod.HederaGetPublicAddress, [{ chain: 'HEDERA' }]), - ); - } } diff --git a/packages/@magic-sdk/provider/src/index.ts b/packages/@magic-sdk/provider/src/index.ts index 5b48c91cb..f1bd419dd 100644 --- a/packages/@magic-sdk/provider/src/index.ts +++ b/packages/@magic-sdk/provider/src/index.ts @@ -5,6 +5,6 @@ export type { MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from ' export { createSDK } from './core/sdk-environment'; export { ViewController } from './core/view-controller'; export * from './core/sdk-exceptions'; -export { Extension } from './modules/base-extension'; +export { Extension, MultichainExtension } from './modules/base-extension'; export type { WithExtensions, InstanceWithExtensions } from './modules/base-extension'; export * from './util'; diff --git a/packages/@magic-sdk/provider/src/modules/base-extension.ts b/packages/@magic-sdk/provider/src/modules/base-extension.ts index 9c9ddc7b0..5de2526bd 100644 --- a/packages/@magic-sdk/provider/src/modules/base-extension.ts +++ b/packages/@magic-sdk/provider/src/modules/base-extension.ts @@ -167,6 +167,28 @@ export class Extension { public static Internal = InternalExtension; } +/** + * Base class for multi-chain extensions, extracting getPublicAddress logic. + */ +export abstract class MultichainExtension extends InternalExtension< + TName, + TConfig +> { + constructor( + public readonly config: TConfig, + public readonly chain: string, + ) { + super(); + // derived classes can access config and chain directly + } + + public async getPublicAddress(): Promise { + return this.request( + this.utils.createJsonRpcRequestPayload('get_multichain_public_address', [{ chain: this.chain }]), + ); + } +} + /** * These fields are exposed on the `Extension` type, * but should be hidden from the public interface. From ed959896a790cfa65230c99080b7e32306d2368e Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 11:31:46 -0700 Subject: [PATCH 14/47] fix import --- packages/@magic-ext/hedera/src/index.ts | 2 +- packages/@magic-sdk/commons/src/index.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index c847462c4..b5032e461 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/provider'; +import { MultichainExtension } from '@magic-sdk/commons'; import { HederaConfig, HederaPayloadMethod } from './types'; export * from './utils'; diff --git a/packages/@magic-sdk/commons/src/index.ts b/packages/@magic-sdk/commons/src/index.ts index c4eca1a26..deafd524d 100644 --- a/packages/@magic-sdk/commons/src/index.ts +++ b/packages/@magic-sdk/commons/src/index.ts @@ -3,6 +3,7 @@ export { Extension, + MultichainExtension, MagicSDKError as SDKError, MagicExtensionError as ExtensionError, MagicExtensionWarning as ExtensionWarning, From b9e9674959d2e230674480d46e970d89015e0f86 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 13:35:31 -0700 Subject: [PATCH 15/47] updates remaining multichain extensions --- packages/@magic-ext/algorand/src/index.ts | 18 +++++----- packages/@magic-ext/aptos/src/index.ts | 22 ++++++------ packages/@magic-ext/avalanche/src/index.ts | 24 ++++++------- packages/@magic-ext/bitcoin/src/index.ts | 22 ++++++------ packages/@magic-ext/conflux/src/index.ts | 22 ++++++------ packages/@magic-ext/cosmos/src/index.ts | 22 ++++++------ packages/@magic-ext/flow/src/index.ts | 20 +++++------ packages/@magic-ext/harmony/src/index.ts | 22 ++++++------ packages/@magic-ext/hedera/src/index.ts | 1 - packages/@magic-ext/hedera/src/types.ts | 1 - packages/@magic-ext/icon/src/index.ts | 19 +++++------ packages/@magic-ext/kadena/src/index.ts | 34 ++++++++++--------- packages/@magic-ext/near/src/index.ts | 18 +++++----- packages/@magic-ext/polkadot/src/index.ts | 19 +++++------ packages/@magic-ext/solana/src/constants.ts | 1 - packages/@magic-ext/solana/src/index.ts | 30 +++++----------- packages/@magic-ext/sui/src/index.ts | 17 +++++----- packages/@magic-ext/taquito/src/index.ts | 17 +++++----- packages/@magic-ext/terra/src/index.ts | 17 +++++----- packages/@magic-ext/tezos/src/index.ts | 21 ++++++------ packages/@magic-ext/zilliqa/src/index.ts | 25 +++++++------- .../provider/src/modules/base-extension.ts | 3 +- .../types/src/core/json-rpc-types.ts | 1 + 23 files changed, 192 insertions(+), 204 deletions(-) diff --git a/packages/@magic-ext/algorand/src/index.ts b/packages/@magic-ext/algorand/src/index.ts index b166a73a6..017d458dd 100644 --- a/packages/@magic-ext/algorand/src/index.ts +++ b/packages/@magic-ext/algorand/src/index.ts @@ -1,17 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { AlgorandConfig, AlgorandPayloadMethod } from './types'; -export class AlgorandExtension extends Extension.Internal<'algod', any> { +export class AlgorandExtension extends MultichainExtension<'algod'> { name = 'algod' as const; - config: any = {}; constructor(public algorandConfig: AlgorandConfig) { - super(); - - this.config = { - rpcUrl: algorandConfig.rpcUrl, - chainType: 'ALGOD', - }; + super( + { + rpcUrl: algorandConfig.rpcUrl, + chainType: 'ALGOD', + }, + 'ALGOD', + ); } public async signTransaction(txn: any) { diff --git a/packages/@magic-ext/aptos/src/index.ts b/packages/@magic-ext/aptos/src/index.ts index 627727d9f..68216c529 100644 --- a/packages/@magic-ext/aptos/src/index.ts +++ b/packages/@magic-ext/aptos/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; // @ts-ignore import { AptosClient, BCS, TxnBuilderTypes, Types, getAddressFromAccountOrAddress } from 'aptos'; @@ -7,20 +7,20 @@ import { AptosConfig, AptosPayloadMethod } from './type'; import { APTOS_PAYLOAD_TYPE } from './constants'; export { MagicAptosWallet } from './MagicAptosWallet'; -export class AptosExtension extends Extension.Internal<'aptos', any> { +export class AptosExtension extends MultichainExtension<'aptos'> { name = 'aptos' as const; - config: any = {}; constructor(public aptosConfig: AptosConfig) { - super(); - - this.config = { - rpcUrl: '', - chainType: 'APTOS', - options: { - nodeUrl: aptosConfig.nodeUrl, + super( + { + rpcUrl: aptosConfig.nodeUrl, + chainType: 'APTOS', + options: { + nodeUrl: aptosConfig.nodeUrl, + }, }, - }; + 'APTOS', + ); } private serializeRawTransaction = (rawTransaction: TxnBuilderTypes.RawTransaction) => { diff --git a/packages/@magic-ext/avalanche/src/index.ts b/packages/@magic-ext/avalanche/src/index.ts index e9f0a0a28..c3155f17b 100644 --- a/packages/@magic-ext/avalanche/src/index.ts +++ b/packages/@magic-ext/avalanche/src/index.ts @@ -1,21 +1,21 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { AvaxConfig } from './types'; -export class AvalancheExtension extends Extension.Internal<'avax', any> { +export class AvalancheExtension extends MultichainExtension<'avax'> { name = 'avax' as const; - config: any = {}; constructor(public avalancheConfig: AvaxConfig) { - super(); - - this.config = { - rpcUrl: avalancheConfig.rpcUrl, - chainType: 'AVAX', - options: { - chainId: avalancheConfig.chainId, - networkId: avalancheConfig.networkId, + super( + { + rpcUrl: avalancheConfig.rpcUrl, + chainType: 'AVAX', + options: { + chainId: avalancheConfig.chainId, + networkId: avalancheConfig.networkId, + }, }, - }; + 'AVAX', + ); } public signTransaction = ( diff --git a/packages/@magic-ext/bitcoin/src/index.ts b/packages/@magic-ext/bitcoin/src/index.ts index fd0e09586..c2c81a4c6 100644 --- a/packages/@magic-ext/bitcoin/src/index.ts +++ b/packages/@magic-ext/bitcoin/src/index.ts @@ -1,20 +1,20 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { BitcoinConfig, BitcoinPayloadMethod } from './types'; -export class BitcoinExtension extends Extension.Internal<'bitcoin', any> { +export class BitcoinExtension extends MultichainExtension<'bitcoin'> { name = 'bitcoin' as const; - config: any = {}; constructor(public bitcoinConfig: BitcoinConfig) { - super(); - - this.config = { - rpcUrl: bitcoinConfig.rpcUrl, - chainType: 'BITCOIN', - options: { - network: bitcoinConfig.network, + super( + { + rpcUrl: bitcoinConfig.rpcUrl, + chainType: 'BITCOIN', + options: { + network: bitcoinConfig.network, + }, }, - }; + 'BITCOIN', + ); } public async signTransaction(txn: string, inputIndex: number) { diff --git a/packages/@magic-ext/conflux/src/index.ts b/packages/@magic-ext/conflux/src/index.ts index 86cf2ac2f..9dc006348 100644 --- a/packages/@magic-ext/conflux/src/index.ts +++ b/packages/@magic-ext/conflux/src/index.ts @@ -1,20 +1,20 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { ConfluxPayloadMethod, ConfluxConfig } from './types'; -export class ConfluxExtension extends Extension.Internal<'conflux', any> { +export class ConfluxExtension extends MultichainExtension<'conflux'> { name = 'conflux' as const; - config: any = {}; constructor(public confluxConfig: ConfluxConfig) { - super(); - - this.config = { - chainType: 'CONFLUX', - options: { - rpcUrl: confluxConfig.rpcUrl, - networkId: confluxConfig.networkId, + super( + { + chainType: 'CONFLUX', + options: { + rpcUrl: confluxConfig.rpcUrl, + networkId: confluxConfig.networkId, + }, }, - }; + 'CONFLUX', + ); } public async sendTransaction(txObject: any) { diff --git a/packages/@magic-ext/cosmos/src/index.ts b/packages/@magic-ext/cosmos/src/index.ts index 87ab57882..d1bd751c1 100644 --- a/packages/@magic-ext/cosmos/src/index.ts +++ b/packages/@magic-ext/cosmos/src/index.ts @@ -1,20 +1,20 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { CosmosConfig, CosmosPayloadMethod } from './type'; -export class CosmosExtension extends Extension.Internal<'cosmos', any> { +export class CosmosExtension extends MultichainExtension<'cosmos'> { name = 'cosmos' as const; - config: any = {}; constructor(public cosmosConfig: CosmosConfig) { - super(); - - this.config = { - rpcUrl: cosmosConfig.rpcUrl, - chainType: 'COSMOS', - options: { - chain: cosmosConfig.chain, + super( + { + rpcUrl: cosmosConfig.rpcUrl, + chainType: 'COSMOS', + options: { + chain: cosmosConfig.chain, + }, }, - }; + 'COSMOS', + ); } public signAndBroadcast = async (message: any, fee: any) => { diff --git a/packages/@magic-ext/flow/src/index.ts b/packages/@magic-ext/flow/src/index.ts index c4452cc72..df68b83ee 100644 --- a/packages/@magic-ext/flow/src/index.ts +++ b/packages/@magic-ext/flow/src/index.ts @@ -1,21 +1,21 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; // @ts-ignore import * as fcl from '@onflow/fcl'; import { FlowConfig, FlowPayloadMethod } from './type'; -export class FlowExtension extends Extension.Internal<'flow', any> { +export class FlowExtension extends MultichainExtension<'flow'> { name = 'flow' as const; - config: any = {}; constructor(public flowConfig: FlowConfig) { - super(); - - this.config = { - rpcUrl: flowConfig.rpcUrl, - chainType: 'FLOW', - network: flowConfig.network, - }; + super( + { + rpcUrl: flowConfig.rpcUrl, + chainType: 'FLOW', + network: flowConfig.network, + }, + 'FLOW', + ); } getAccount = () => { diff --git a/packages/@magic-ext/harmony/src/index.ts b/packages/@magic-ext/harmony/src/index.ts index cc74c3dbc..6dca669a2 100644 --- a/packages/@magic-ext/harmony/src/index.ts +++ b/packages/@magic-ext/harmony/src/index.ts @@ -1,20 +1,20 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { HarmonyPayloadMethod, HarmonyConfig } from './types'; -export class HarmonyExtension extends Extension.Internal<'harmony', any> { +export class HarmonyExtension extends MultichainExtension<'harmony'> { name = 'harmony' as const; - config: any = {}; constructor(public harmonyConfig: HarmonyConfig) { - super(); - - this.config = { - rpcUrl: harmonyConfig.rpcUrl, - chainType: 'HARMONY', - options: { - chainId: harmonyConfig.chainId, + super( + { + rpcUrl: harmonyConfig.rpcUrl, + chainType: 'HARMONY', + options: { + chainId: harmonyConfig.chainId, + }, }, - }; + 'HARMONY', + ); } public async sendTransaction(params: any) { diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index b5032e461..5c04fe5e6 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -15,7 +15,6 @@ export class HederaExtension extends MultichainExtension<'hedera'> { }, 'HEDERA', ); - this.network = hederaConfig.network; } diff --git a/packages/@magic-ext/hedera/src/types.ts b/packages/@magic-ext/hedera/src/types.ts index 1cfab56ba..45cdd756b 100644 --- a/packages/@magic-ext/hedera/src/types.ts +++ b/packages/@magic-ext/hedera/src/types.ts @@ -5,5 +5,4 @@ export interface HederaConfig { export enum HederaPayloadMethod { HederaSign = 'hedera_sign', HederaGetPublicKey = 'hedera_getPublicKey', - HederaGetPublicAddress = 'get_multichain_public_address', } diff --git a/packages/@magic-ext/icon/src/index.ts b/packages/@magic-ext/icon/src/index.ts index 334a682c5..d2f5b8ce8 100644 --- a/packages/@magic-ext/icon/src/index.ts +++ b/packages/@magic-ext/icon/src/index.ts @@ -1,18 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { IconConfig, ConfigType } from './type'; -export class IconExtension extends Extension.Internal<'icon', IconConfig> { +export class IconExtension extends MultichainExtension<'icon'> { name = 'icon' as const; - config: ConfigType; - constructor(public iconConfig: IconConfig) { - super(); - - this.config = { - rpcUrl: iconConfig.rpcUrl, - chainType: 'ICON', - }; + super( + { + rpcUrl: iconConfig.rpcUrl, + chainType: 'ICON', + }, + 'ICON', + ); } public sendTransaction = (txObj: any): Promise => { diff --git a/packages/@magic-ext/kadena/src/index.ts b/packages/@magic-ext/kadena/src/index.ts index 13ee4d6ce..cace332fb 100644 --- a/packages/@magic-ext/kadena/src/index.ts +++ b/packages/@magic-ext/kadena/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { UnsignedCommand, KadenaConfig, @@ -10,36 +10,38 @@ import { OptimalTransactionsAccount, } from './types'; -export class KadenaExtension extends Extension.Internal<'kadena'> { +export class KadenaExtension extends MultichainExtension<'kadena'> { name = 'kadena' as const; - config = {}; constructor(public kadenaConfig: KadenaConfig) { - super(); - - this.config = { - chainType: 'KADENA', - rpcUrl: kadenaConfig.rpcUrl, - chainId: kadenaConfig.chainId, - options: { - networkId: kadenaConfig.networkId, - createAccountsOnChain: Boolean(kadenaConfig.createAccountsOnChain), + super( + { + rpcUrl: kadenaConfig.rpcUrl, + chainType: 'KADENA', + chainId: kadenaConfig.chainId, + options: { + networkId: kadenaConfig.networkId, + createAccountsOnChain: Boolean(kadenaConfig.createAccountsOnChain), + }, }, - }; + 'KADENA', + ); } public signTransaction(hash: string): Promise { - return this.request(this.utils.createJsonRpcRequestPayload(KadenaPayloadMethod.KadenaSignTransaction, [{ hash }])); + return this.request( + this.utils.createJsonRpcRequestPayload(KadenaPayloadMethod.KadenaSignTransaction, [{ hash }]), + ); } public async signTransactionWithSpireKey( transaction: UnsignedCommand, - accounts?: OptimalTransactionsAccount[] + accounts?: OptimalTransactionsAccount[], ): Promise { const signedTransaction = await this.request( this.utils.createJsonRpcRequestPayload(KadenaPayloadMethod.KadenaSignTransactionWithSpireKey, [ { transaction, accounts: accounts || undefined }, - ]) + ]), ); return signedTransaction; } diff --git a/packages/@magic-ext/near/src/index.ts b/packages/@magic-ext/near/src/index.ts index 82c878eb3..ace10d7e9 100644 --- a/packages/@magic-ext/near/src/index.ts +++ b/packages/@magic-ext/near/src/index.ts @@ -1,17 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { NearPayloadMethod, NearConfig } from './types'; -export class NearExtension extends Extension.Internal<'near', any> { +export class NearExtension extends MultichainExtension<'near'> { name = 'near' as const; - config: any = {}; constructor(public nearConfig: NearConfig) { - super(); - - this.config = { - rpcUrl: nearConfig.rpcUrl, - chainType: 'NEAR', - }; + super( + { + rpcUrl: nearConfig.rpcUrl, + chainType: 'NEAR', + }, + 'NEAR', + ); } public async signTransaction(params: any) { diff --git a/packages/@magic-ext/polkadot/src/index.ts b/packages/@magic-ext/polkadot/src/index.ts index 65a8d4103..d96f38433 100644 --- a/packages/@magic-ext/polkadot/src/index.ts +++ b/packages/@magic-ext/polkadot/src/index.ts @@ -1,18 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { PolkadotConfig, ConfigType } from './type'; -export class PolkadotExtension extends Extension.Internal<'polkadot', PolkadotConfig> { +export class PolkadotExtension extends MultichainExtension<'polkadot'> { name = 'polkadot' as const; - config: ConfigType; - constructor(public polkadotConfig: PolkadotConfig) { - super(); - - this.config = { - rpcUrl: polkadotConfig.rpcUrl, - chainType: 'POLKADOT', - }; + super( + { + rpcUrl: polkadotConfig.rpcUrl, + chainType: 'POLKADOT', + }, + 'POLKADOT', + ); } public sendTransaction = (to: string, value: number): Promise => { diff --git a/packages/@magic-ext/solana/src/constants.ts b/packages/@magic-ext/solana/src/constants.ts index 44e1aa0a1..16ab140bb 100644 --- a/packages/@magic-ext/solana/src/constants.ts +++ b/packages/@magic-ext/solana/src/constants.ts @@ -2,5 +2,4 @@ export const SOLANA_PAYLOAD_METHODS = { SIGN_TRANSACTION: 'sol_signTransaction', SIGN_MESSAGE: 'sol_signMessage', PARTIAL_SIGN_TRANSACTION: 'sol_partialSignTransaction', - GET_PUBLIC_ADDRESS: 'get_multichain_public_address', } as const; diff --git a/packages/@magic-ext/solana/src/index.ts b/packages/@magic-ext/solana/src/index.ts index a5b6e5004..82e81b0c1 100644 --- a/packages/@magic-ext/solana/src/index.ts +++ b/packages/@magic-ext/solana/src/index.ts @@ -1,20 +1,19 @@ -import { Extension } from '@magic-sdk/commons'; - +import { MultichainExtension } from '@magic-sdk/commons'; import { SerializeConfig, Transaction, VersionedTransaction } from '@solana/web3.js'; import { SolanaConfig } from './type'; import { SOLANA_PAYLOAD_METHODS } from './constants'; -export class SolanaExtension extends Extension.Internal<'solana', any> { +export class SolanaExtension extends MultichainExtension<'solana'> { name = 'solana' as const; - config: any = {}; constructor(public solanaConfig: SolanaConfig) { - super(); - - this.config = { - rpcUrl: solanaConfig.rpcUrl, - chainType: 'SOLANA', - }; + super( + { + rpcUrl: solanaConfig.rpcUrl, + chainType: 'SOLANA', + }, + 'SOLANA', + ); } public signTransaction = (transaction: Transaction | VersionedTransaction, serializeConfig?: SerializeConfig) => { @@ -56,15 +55,4 @@ export class SolanaExtension extends Extension.Internal<'solana', any> { }, }); }; - - public getPublicAddress = () => { - return this.request({ - id: 42, - jsonrpc: '2.0', - method: SOLANA_PAYLOAD_METHODS.GET_PUBLIC_ADDRESS, - params: { - chain: 'SOLANA', - }, - }); - }; } diff --git a/packages/@magic-ext/sui/src/index.ts b/packages/@magic-ext/sui/src/index.ts index 6141cab5c..cb0fcfb0c 100644 --- a/packages/@magic-ext/sui/src/index.ts +++ b/packages/@magic-ext/sui/src/index.ts @@ -1,16 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { SuiConfig, SuiPayloadMethod } from './types'; -export class SuiExtension extends Extension.Internal<'sui', any> { +export class SuiExtension extends MultichainExtension<'sui'> { name = 'sui' as const; - config: any = {}; constructor(public suiConfig: SuiConfig) { - super(); - this.config = { - rpcUrl: suiConfig.rpcUrl, - chainType: 'SUI', - }; + super( + { + rpcUrl: suiConfig.rpcUrl, + chainType: 'SUI', + }, + 'SUI', + ); } public signAndSendTransaction(params: any) { diff --git a/packages/@magic-ext/taquito/src/index.ts b/packages/@magic-ext/taquito/src/index.ts index fb82d6716..2501519af 100644 --- a/packages/@magic-ext/taquito/src/index.ts +++ b/packages/@magic-ext/taquito/src/index.ts @@ -1,17 +1,18 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { TaquitoConfig, TaquitoPayloadMethod } from './type'; import { MagicSigner } from './MagicSigner'; -export class TaquitoExtension extends Extension.Internal<'taquito', any> { +export class TaquitoExtension extends MultichainExtension<'taquito'> { name = 'taquito' as const; - config: any = {}; constructor(public taquitoConfig: TaquitoConfig) { - super(); - - this.config = { - rpcUrl: taquitoConfig.rpcUrl, - }; + super( + { + rpcUrl: taquitoConfig.rpcUrl, + chainType: 'TAQUITO', + }, + 'TAQUITO', + ); } public async getPublicKey() { diff --git a/packages/@magic-ext/terra/src/index.ts b/packages/@magic-ext/terra/src/index.ts index ce1119422..f0c51ee87 100644 --- a/packages/@magic-ext/terra/src/index.ts +++ b/packages/@magic-ext/terra/src/index.ts @@ -1,16 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { TerraPayloadMethod, TerraConfig } from './types'; -export class TerraExtension extends Extension.Internal<'terra', any> { +export class TerraExtension extends MultichainExtension<'terra'> { name = 'terra' as const; - config: any = {}; constructor(public terraConfig: TerraConfig) { - super(); - - this.config = { - rpcUrl: terraConfig.rpcUrl, - }; + super( + { + rpcUrl: terraConfig.rpcUrl, + chainType: 'TERRA', + }, + 'TERRA', + ); } public async getPublicKey() { diff --git a/packages/@magic-ext/tezos/src/index.ts b/packages/@magic-ext/tezos/src/index.ts index 3230e5f6f..495b703dc 100644 --- a/packages/@magic-ext/tezos/src/index.ts +++ b/packages/@magic-ext/tezos/src/index.ts @@ -1,18 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; -import { TezosConfig, ConfigType } from './type'; +import { MultichainExtension } from '@magic-sdk/commons'; +import { TezosConfig } from './type'; -export class TezosExtension extends Extension.Internal<'tezos', TezosConfig> { +export class TezosExtension extends MultichainExtension<'tezos'> { name = 'tezos' as const; - config: ConfigType; - constructor(public tezosConfig: TezosConfig) { - super(); - - this.config = { - rpcUrl: tezosConfig.rpcUrl, - chainType: 'TEZOS', - }; + super( + { + rpcUrl: tezosConfig.rpcUrl, + chainType: 'TEZOS', + }, + 'TEZOS', + ); } public sendTransactionOperation = ( diff --git a/packages/@magic-ext/zilliqa/src/index.ts b/packages/@magic-ext/zilliqa/src/index.ts index be90bb9e9..d3b6bfe75 100644 --- a/packages/@magic-ext/zilliqa/src/index.ts +++ b/packages/@magic-ext/zilliqa/src/index.ts @@ -1,18 +1,17 @@ -import { Extension } from '@magic-sdk/commons'; -import { ZilliqaConfig, ConfigType } from './type'; +import { MultichainExtension, PromiEvent } from '@magic-sdk/commons'; +import { ZilliqaConfig } from './type'; -export class ZilliqaExtension extends Extension.Internal<'zilliqa', ZilliqaConfig> { +export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { name = 'zilliqa' as const; - config: ConfigType; - constructor(public zilliqaConfig: ZilliqaConfig) { - super(); - - this.config = { - rpcUrl: zilliqaConfig.rpcUrl, - chainType: 'ZILLIQA', - }; + super( + { + rpcUrl: zilliqaConfig.rpcUrl, + chainType: 'ZILLIQA', + }, + 'ZILLIQA', + ); } public sendTransaction = (params: any, toDs: boolean): Promise => { @@ -93,8 +92,8 @@ export class ZilliqaExtension extends Extension.Internal<'zilliqa', ZilliqaConfi }); }; - public getWallet = (): Promise => { - return this.request({ + public getWallet = (): PromiEvent => { + return this.request({ id: 42, jsonrpc: '2.0', method: 'zil_getWallet', diff --git a/packages/@magic-sdk/provider/src/modules/base-extension.ts b/packages/@magic-sdk/provider/src/modules/base-extension.ts index 5de2526bd..65bd83e17 100644 --- a/packages/@magic-sdk/provider/src/modules/base-extension.ts +++ b/packages/@magic-sdk/provider/src/modules/base-extension.ts @@ -3,6 +3,7 @@ import { BaseModule } from './base-module'; import { SDKBase, MagicSDKAdditionalConfiguration, MagicSDKExtensionsOption } from '../core/sdk'; import { createExtensionNotInitializedError, MagicExtensionError, MagicExtensionWarning } from '../core/sdk-exceptions'; import { createPromiEvent, encodeJSON, decodeJSON, storage, isPromiEvent } from '../util'; +import { MagicPayloadMethod } from '@magic-sdk/types'; const sdkAccessFields = ['request', 'overlay', 'sdk']; @@ -184,7 +185,7 @@ export abstract class MultichainExtension(): Promise { return this.request( - this.utils.createJsonRpcRequestPayload('get_multichain_public_address', [{ chain: this.chain }]), + this.utils.createJsonRpcRequestPayload(MagicPayloadMethod.GetMultichainPublicAddress, [{ chain: this.chain }]), ); } } diff --git a/packages/@magic-sdk/types/src/core/json-rpc-types.ts b/packages/@magic-sdk/types/src/core/json-rpc-types.ts index 0f0feb2a1..7cba2ff3a 100644 --- a/packages/@magic-sdk/types/src/core/json-rpc-types.ts +++ b/packages/@magic-sdk/types/src/core/json-rpc-types.ts @@ -129,6 +129,7 @@ export enum MagicPayloadMethod { RevealPK = 'magic_reveal_key', EnableMFA = 'magic_auth_enable_mfa_flow', DisableMFA = 'magic_auth_disable_mfa_flow', + GetMultichainPublicAddress = 'get_multichain_public_address', } // Methods to not route if connected to third party wallet From d3bf34c3e9a404e4b4c4bcd12ae0df3d8591d0e2 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 13:45:57 -0700 Subject: [PATCH 16/47] revert type change --- packages/@magic-ext/zilliqa/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@magic-ext/zilliqa/src/index.ts b/packages/@magic-ext/zilliqa/src/index.ts index d3b6bfe75..2854fc53c 100644 --- a/packages/@magic-ext/zilliqa/src/index.ts +++ b/packages/@magic-ext/zilliqa/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension, PromiEvent } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/commons'; import { ZilliqaConfig } from './type'; export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { @@ -92,8 +92,8 @@ export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { }); }; - public getWallet = (): PromiEvent => { - return this.request({ + public getWallet = (): Promise => { + return this.request({ id: 42, jsonrpc: '2.0', method: 'zil_getWallet', From 4c20c4f634de9e8638b0f211f115d69e9e725167 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 13:46:57 -0700 Subject: [PATCH 17/47] type fix --- packages/@magic-ext/zilliqa/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@magic-ext/zilliqa/src/index.ts b/packages/@magic-ext/zilliqa/src/index.ts index 2854fc53c..41a14fba6 100644 --- a/packages/@magic-ext/zilliqa/src/index.ts +++ b/packages/@magic-ext/zilliqa/src/index.ts @@ -93,7 +93,7 @@ export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { }; public getWallet = (): Promise => { - return this.request({ + return this.request({ id: 42, jsonrpc: '2.0', method: 'zil_getWallet', From ff9f8d892da5f8a19e1386035bbf12beea8aec93 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 6 Aug 2025 13:55:03 -0700 Subject: [PATCH 18/47] fix deepsource errors --- packages/@magic-ext/icon/src/index.ts | 2 +- packages/@magic-ext/polkadot/src/index.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@magic-ext/icon/src/index.ts b/packages/@magic-ext/icon/src/index.ts index d2f5b8ce8..903dc101a 100644 --- a/packages/@magic-ext/icon/src/index.ts +++ b/packages/@magic-ext/icon/src/index.ts @@ -1,5 +1,5 @@ import { MultichainExtension } from '@magic-sdk/commons'; -import { IconConfig, ConfigType } from './type'; +import { IconConfig } from './type'; export class IconExtension extends MultichainExtension<'icon'> { name = 'icon' as const; diff --git a/packages/@magic-ext/polkadot/src/index.ts b/packages/@magic-ext/polkadot/src/index.ts index d96f38433..898999ac7 100644 --- a/packages/@magic-ext/polkadot/src/index.ts +++ b/packages/@magic-ext/polkadot/src/index.ts @@ -1,5 +1,5 @@ import { MultichainExtension } from '@magic-sdk/commons'; -import { PolkadotConfig, ConfigType } from './type'; +import { PolkadotConfig } from './type'; export class PolkadotExtension extends MultichainExtension<'polkadot'> { name = 'polkadot' as const; From a4d22a1ea4fc6f5b8907a3f69b91c37d6889c783 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 12 Aug 2025 11:43:38 -0700 Subject: [PATCH 19/47] consolidates chain name and chain type --- packages/@magic-ext/algorand/src/index.ts | 11 ++++------- packages/@magic-ext/aptos/src/index.ts | 15 +++++---------- packages/@magic-ext/avalanche/src/index.ts | 17 +++++++---------- packages/@magic-ext/bitcoin/src/index.ts | 15 ++++++--------- packages/@magic-ext/conflux/src/index.ts | 15 ++++++--------- packages/@magic-ext/cosmos/src/index.ts | 15 ++++++--------- packages/@magic-ext/flow/src/index.ts | 13 +++++-------- packages/@magic-ext/harmony/src/index.ts | 15 ++++++--------- packages/@magic-ext/hedera/src/index.ts | 11 ++++------- packages/@magic-ext/icon/src/index.ts | 11 ++++------- packages/@magic-ext/kadena/src/index.ts | 19 ++++++++----------- packages/@magic-ext/near/src/index.ts | 11 ++++------- packages/@magic-ext/polkadot/src/index.ts | 11 ++++------- packages/@magic-ext/solana/src/index.ts | 11 ++++------- packages/@magic-ext/sui/src/index.ts | 11 ++++------- packages/@magic-ext/taquito/src/index.ts | 11 ++++------- packages/@magic-ext/terra/src/index.ts | 11 ++++------- packages/@magic-ext/tezos/src/index.ts | 11 ++++------- packages/@magic-ext/zilliqa/src/index.ts | 11 ++++------- .../provider/src/modules/base-extension.ts | 8 +++----- 20 files changed, 96 insertions(+), 157 deletions(-) diff --git a/packages/@magic-ext/algorand/src/index.ts b/packages/@magic-ext/algorand/src/index.ts index 017d458dd..bf040dda4 100644 --- a/packages/@magic-ext/algorand/src/index.ts +++ b/packages/@magic-ext/algorand/src/index.ts @@ -5,13 +5,10 @@ export class AlgorandExtension extends MultichainExtension<'algod'> { name = 'algod' as const; constructor(public algorandConfig: AlgorandConfig) { - super( - { - rpcUrl: algorandConfig.rpcUrl, - chainType: 'ALGOD', - }, - 'ALGOD', - ); + super({ + rpcUrl: algorandConfig.rpcUrl, + chainType: 'ALGOD', + }); } public async signTransaction(txn: any) { diff --git a/packages/@magic-ext/aptos/src/index.ts b/packages/@magic-ext/aptos/src/index.ts index 68216c529..718b53a0c 100644 --- a/packages/@magic-ext/aptos/src/index.ts +++ b/packages/@magic-ext/aptos/src/index.ts @@ -11,16 +11,11 @@ export class AptosExtension extends MultichainExtension<'aptos'> { name = 'aptos' as const; constructor(public aptosConfig: AptosConfig) { - super( - { - rpcUrl: aptosConfig.nodeUrl, - chainType: 'APTOS', - options: { - nodeUrl: aptosConfig.nodeUrl, - }, - }, - 'APTOS', - ); + super({ + rpcUrl: aptosConfig.nodeUrl, + chainType: 'APTOS', + options: { nodeUrl: aptosConfig.nodeUrl }, + }); } private serializeRawTransaction = (rawTransaction: TxnBuilderTypes.RawTransaction) => { diff --git a/packages/@magic-ext/avalanche/src/index.ts b/packages/@magic-ext/avalanche/src/index.ts index c3155f17b..1682de3c8 100644 --- a/packages/@magic-ext/avalanche/src/index.ts +++ b/packages/@magic-ext/avalanche/src/index.ts @@ -5,17 +5,14 @@ export class AvalancheExtension extends MultichainExtension<'avax'> { name = 'avax' as const; constructor(public avalancheConfig: AvaxConfig) { - super( - { - rpcUrl: avalancheConfig.rpcUrl, - chainType: 'AVAX', - options: { - chainId: avalancheConfig.chainId, - networkId: avalancheConfig.networkId, - }, + super({ + rpcUrl: avalancheConfig.rpcUrl, + chainType: 'AVAX', + options: { + chainId: avalancheConfig.chainId, + networkId: avalancheConfig.networkId, }, - 'AVAX', - ); + }); } public signTransaction = ( diff --git a/packages/@magic-ext/bitcoin/src/index.ts b/packages/@magic-ext/bitcoin/src/index.ts index c2c81a4c6..a415815ac 100644 --- a/packages/@magic-ext/bitcoin/src/index.ts +++ b/packages/@magic-ext/bitcoin/src/index.ts @@ -5,16 +5,13 @@ export class BitcoinExtension extends MultichainExtension<'bitcoin'> { name = 'bitcoin' as const; constructor(public bitcoinConfig: BitcoinConfig) { - super( - { - rpcUrl: bitcoinConfig.rpcUrl, - chainType: 'BITCOIN', - options: { - network: bitcoinConfig.network, - }, + super({ + rpcUrl: bitcoinConfig.rpcUrl, + chainType: 'BITCOIN', + options: { + network: bitcoinConfig.network, }, - 'BITCOIN', - ); + }); } public async signTransaction(txn: string, inputIndex: number) { diff --git a/packages/@magic-ext/conflux/src/index.ts b/packages/@magic-ext/conflux/src/index.ts index 9dc006348..e6d9561ba 100644 --- a/packages/@magic-ext/conflux/src/index.ts +++ b/packages/@magic-ext/conflux/src/index.ts @@ -5,16 +5,13 @@ export class ConfluxExtension extends MultichainExtension<'conflux'> { name = 'conflux' as const; constructor(public confluxConfig: ConfluxConfig) { - super( - { - chainType: 'CONFLUX', - options: { - rpcUrl: confluxConfig.rpcUrl, - networkId: confluxConfig.networkId, - }, + super({ + chainType: 'CONFLUX', + options: { + rpcUrl: confluxConfig.rpcUrl, + networkId: confluxConfig.networkId, }, - 'CONFLUX', - ); + }); } public async sendTransaction(txObject: any) { diff --git a/packages/@magic-ext/cosmos/src/index.ts b/packages/@magic-ext/cosmos/src/index.ts index d1bd751c1..86504e80a 100644 --- a/packages/@magic-ext/cosmos/src/index.ts +++ b/packages/@magic-ext/cosmos/src/index.ts @@ -5,16 +5,13 @@ export class CosmosExtension extends MultichainExtension<'cosmos'> { name = 'cosmos' as const; constructor(public cosmosConfig: CosmosConfig) { - super( - { - rpcUrl: cosmosConfig.rpcUrl, - chainType: 'COSMOS', - options: { - chain: cosmosConfig.chain, - }, + super({ + rpcUrl: cosmosConfig.rpcUrl, + chainType: 'COSMOS', + options: { + chain: cosmosConfig.chain, }, - 'COSMOS', - ); + }); } public signAndBroadcast = async (message: any, fee: any) => { diff --git a/packages/@magic-ext/flow/src/index.ts b/packages/@magic-ext/flow/src/index.ts index df68b83ee..2e040b1c4 100644 --- a/packages/@magic-ext/flow/src/index.ts +++ b/packages/@magic-ext/flow/src/index.ts @@ -8,14 +8,11 @@ export class FlowExtension extends MultichainExtension<'flow'> { name = 'flow' as const; constructor(public flowConfig: FlowConfig) { - super( - { - rpcUrl: flowConfig.rpcUrl, - chainType: 'FLOW', - network: flowConfig.network, - }, - 'FLOW', - ); + super({ + rpcUrl: flowConfig.rpcUrl, + chainType: 'FLOW', + network: flowConfig.network, + }); } getAccount = () => { diff --git a/packages/@magic-ext/harmony/src/index.ts b/packages/@magic-ext/harmony/src/index.ts index 6dca669a2..98c909a8a 100644 --- a/packages/@magic-ext/harmony/src/index.ts +++ b/packages/@magic-ext/harmony/src/index.ts @@ -5,16 +5,13 @@ export class HarmonyExtension extends MultichainExtension<'harmony'> { name = 'harmony' as const; constructor(public harmonyConfig: HarmonyConfig) { - super( - { - rpcUrl: harmonyConfig.rpcUrl, - chainType: 'HARMONY', - options: { - chainId: harmonyConfig.chainId, - }, + super({ + rpcUrl: harmonyConfig.rpcUrl, + chainType: 'HARMONY', + options: { + chainId: harmonyConfig.chainId, }, - 'HARMONY', - ); + }); } public async sendTransaction(params: any) { diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index 5c04fe5e6..355e53c10 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -8,13 +8,10 @@ export class HederaExtension extends MultichainExtension<'hedera'> { network: string; constructor(public hederaConfig: HederaConfig) { - super( - { - chainType: 'HEDERA', - options: { network: hederaConfig.network }, - }, - 'HEDERA', - ); + super({ + chainType: 'HEDERA', + options: { network: hederaConfig.network }, + }); this.network = hederaConfig.network; } diff --git a/packages/@magic-ext/icon/src/index.ts b/packages/@magic-ext/icon/src/index.ts index 903dc101a..15f117469 100644 --- a/packages/@magic-ext/icon/src/index.ts +++ b/packages/@magic-ext/icon/src/index.ts @@ -5,13 +5,10 @@ export class IconExtension extends MultichainExtension<'icon'> { name = 'icon' as const; constructor(public iconConfig: IconConfig) { - super( - { - rpcUrl: iconConfig.rpcUrl, - chainType: 'ICON', - }, - 'ICON', - ); + super({ + rpcUrl: iconConfig.rpcUrl, + chainType: 'ICON', + }); } public sendTransaction = (txObj: any): Promise => { diff --git a/packages/@magic-ext/kadena/src/index.ts b/packages/@magic-ext/kadena/src/index.ts index cace332fb..45635f70a 100644 --- a/packages/@magic-ext/kadena/src/index.ts +++ b/packages/@magic-ext/kadena/src/index.ts @@ -14,18 +14,15 @@ export class KadenaExtension extends MultichainExtension<'kadena'> { name = 'kadena' as const; constructor(public kadenaConfig: KadenaConfig) { - super( - { - rpcUrl: kadenaConfig.rpcUrl, - chainType: 'KADENA', - chainId: kadenaConfig.chainId, - options: { - networkId: kadenaConfig.networkId, - createAccountsOnChain: Boolean(kadenaConfig.createAccountsOnChain), - }, + super({ + rpcUrl: kadenaConfig.rpcUrl, + chainType: 'KADENA', + chainId: kadenaConfig.chainId, + options: { + networkId: kadenaConfig.networkId, + createAccountsOnChain: Boolean(kadenaConfig.createAccountsOnChain), }, - 'KADENA', - ); + }); } public signTransaction(hash: string): Promise { diff --git a/packages/@magic-ext/near/src/index.ts b/packages/@magic-ext/near/src/index.ts index ace10d7e9..31f2c73ff 100644 --- a/packages/@magic-ext/near/src/index.ts +++ b/packages/@magic-ext/near/src/index.ts @@ -5,13 +5,10 @@ export class NearExtension extends MultichainExtension<'near'> { name = 'near' as const; constructor(public nearConfig: NearConfig) { - super( - { - rpcUrl: nearConfig.rpcUrl, - chainType: 'NEAR', - }, - 'NEAR', - ); + super({ + rpcUrl: nearConfig.rpcUrl, + chainType: 'NEAR', + }); } public async signTransaction(params: any) { diff --git a/packages/@magic-ext/polkadot/src/index.ts b/packages/@magic-ext/polkadot/src/index.ts index 898999ac7..c9831729d 100644 --- a/packages/@magic-ext/polkadot/src/index.ts +++ b/packages/@magic-ext/polkadot/src/index.ts @@ -5,13 +5,10 @@ export class PolkadotExtension extends MultichainExtension<'polkadot'> { name = 'polkadot' as const; constructor(public polkadotConfig: PolkadotConfig) { - super( - { - rpcUrl: polkadotConfig.rpcUrl, - chainType: 'POLKADOT', - }, - 'POLKADOT', - ); + super({ + rpcUrl: polkadotConfig.rpcUrl, + chainType: 'POLKADOT', + }); } public sendTransaction = (to: string, value: number): Promise => { diff --git a/packages/@magic-ext/solana/src/index.ts b/packages/@magic-ext/solana/src/index.ts index 82e81b0c1..0141bd47d 100644 --- a/packages/@magic-ext/solana/src/index.ts +++ b/packages/@magic-ext/solana/src/index.ts @@ -7,13 +7,10 @@ export class SolanaExtension extends MultichainExtension<'solana'> { name = 'solana' as const; constructor(public solanaConfig: SolanaConfig) { - super( - { - rpcUrl: solanaConfig.rpcUrl, - chainType: 'SOLANA', - }, - 'SOLANA', - ); + super({ + rpcUrl: solanaConfig.rpcUrl, + chainType: 'SOLANA', + }); } public signTransaction = (transaction: Transaction | VersionedTransaction, serializeConfig?: SerializeConfig) => { diff --git a/packages/@magic-ext/sui/src/index.ts b/packages/@magic-ext/sui/src/index.ts index cb0fcfb0c..488b4f686 100644 --- a/packages/@magic-ext/sui/src/index.ts +++ b/packages/@magic-ext/sui/src/index.ts @@ -5,13 +5,10 @@ export class SuiExtension extends MultichainExtension<'sui'> { name = 'sui' as const; constructor(public suiConfig: SuiConfig) { - super( - { - rpcUrl: suiConfig.rpcUrl, - chainType: 'SUI', - }, - 'SUI', - ); + super({ + rpcUrl: suiConfig.rpcUrl, + chainType: 'SUI', + }); } public signAndSendTransaction(params: any) { diff --git a/packages/@magic-ext/taquito/src/index.ts b/packages/@magic-ext/taquito/src/index.ts index 2501519af..be11e998b 100644 --- a/packages/@magic-ext/taquito/src/index.ts +++ b/packages/@magic-ext/taquito/src/index.ts @@ -6,13 +6,10 @@ export class TaquitoExtension extends MultichainExtension<'taquito'> { name = 'taquito' as const; constructor(public taquitoConfig: TaquitoConfig) { - super( - { - rpcUrl: taquitoConfig.rpcUrl, - chainType: 'TAQUITO', - }, - 'TAQUITO', - ); + super({ + rpcUrl: taquitoConfig.rpcUrl, + chainType: 'TAQUITO', + }); } public async getPublicKey() { diff --git a/packages/@magic-ext/terra/src/index.ts b/packages/@magic-ext/terra/src/index.ts index f0c51ee87..2d7a0362c 100644 --- a/packages/@magic-ext/terra/src/index.ts +++ b/packages/@magic-ext/terra/src/index.ts @@ -5,13 +5,10 @@ export class TerraExtension extends MultichainExtension<'terra'> { name = 'terra' as const; constructor(public terraConfig: TerraConfig) { - super( - { - rpcUrl: terraConfig.rpcUrl, - chainType: 'TERRA', - }, - 'TERRA', - ); + super({ + rpcUrl: terraConfig.rpcUrl, + chainType: 'TERRA', + }); } public async getPublicKey() { diff --git a/packages/@magic-ext/tezos/src/index.ts b/packages/@magic-ext/tezos/src/index.ts index 495b703dc..c9b128564 100644 --- a/packages/@magic-ext/tezos/src/index.ts +++ b/packages/@magic-ext/tezos/src/index.ts @@ -5,13 +5,10 @@ export class TezosExtension extends MultichainExtension<'tezos'> { name = 'tezos' as const; constructor(public tezosConfig: TezosConfig) { - super( - { - rpcUrl: tezosConfig.rpcUrl, - chainType: 'TEZOS', - }, - 'TEZOS', - ); + super({ + rpcUrl: tezosConfig.rpcUrl, + chainType: 'TEZOS', + }); } public sendTransactionOperation = ( diff --git a/packages/@magic-ext/zilliqa/src/index.ts b/packages/@magic-ext/zilliqa/src/index.ts index 41a14fba6..58eb0cd88 100644 --- a/packages/@magic-ext/zilliqa/src/index.ts +++ b/packages/@magic-ext/zilliqa/src/index.ts @@ -5,13 +5,10 @@ export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { name = 'zilliqa' as const; constructor(public zilliqaConfig: ZilliqaConfig) { - super( - { - rpcUrl: zilliqaConfig.rpcUrl, - chainType: 'ZILLIQA', - }, - 'ZILLIQA', - ); + super({ + rpcUrl: zilliqaConfig.rpcUrl, + chainType: 'ZILLIQA', + }); } public sendTransaction = (params: any, toDs: boolean): Promise => { diff --git a/packages/@magic-sdk/provider/src/modules/base-extension.ts b/packages/@magic-sdk/provider/src/modules/base-extension.ts index 65bd83e17..c3bf172d5 100644 --- a/packages/@magic-sdk/provider/src/modules/base-extension.ts +++ b/packages/@magic-sdk/provider/src/modules/base-extension.ts @@ -175,12 +175,10 @@ export abstract class MultichainExtension { - constructor( - public readonly config: TConfig, - public readonly chain: string, - ) { + public readonly chain: string; + constructor(public readonly config: TConfig) { super(); - // derived classes can access config and chain directly + this.chain = (config as any).chainType; } public async getPublicAddress(): Promise { From 908a76aedbd4b056668d22e642179a68c12b388f Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Fri, 15 Aug 2025 15:48:13 -0700 Subject: [PATCH 20/47] adds missing tests --- .../multichain-extension.spec.ts | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 packages/@magic-sdk/provider/test/spec/modules/base-extension/multichain-extension.spec.ts diff --git a/packages/@magic-sdk/provider/test/spec/modules/base-extension/multichain-extension.spec.ts b/packages/@magic-sdk/provider/test/spec/modules/base-extension/multichain-extension.spec.ts new file mode 100644 index 000000000..995ea5521 --- /dev/null +++ b/packages/@magic-sdk/provider/test/spec/modules/base-extension/multichain-extension.spec.ts @@ -0,0 +1,49 @@ +import { MultichainExtension } from '../../../../src/modules/base-extension'; +import { createMagicSDK } from '../../../factories'; +import { MagicPayloadMethod } from '@magic-sdk/types'; + +class TestMultichainExtension extends MultichainExtension<'test'> { + name = 'test' as const; +} + +beforeEach(() => { + jest.resetAllMocks(); +}); + +test('Initializes MultichainExtension with config', () => { + const config = { chainType: 'TEST', rpcUrl: 'http://test.com' }; + const extension = new TestMultichainExtension(config); + + expect(extension.config).toBe(config); + expect(extension.chain).toBe('TEST'); + expect(extension.name).toBe('test'); +}); + +test('getPublicAddress calls request with correct payload', async () => { + const config = { chainType: 'TEST', rpcUrl: 'http://test.com' }; + const extension = new TestMultichainExtension(config); + const sdk = createMagicSDK(); + + // Initialize the extension + extension.init(sdk); + + // Mock the request method + const requestSpy = jest.spyOn(extension as any, 'request').mockResolvedValue('0x123'); + + const result = await extension.getPublicAddress(); + + expect(requestSpy).toHaveBeenCalledWith( + expect.objectContaining({ + method: MagicPayloadMethod.GetMultichainPublicAddress, + params: [{ chain: 'TEST' }], + }), + ); + expect(result).toBe('0x123'); +}); + +test('derives chain from config.chainType', () => { + const config = { chainType: 'ETHEREUM', rpcUrl: 'http://test.com' }; + const extension = new TestMultichainExtension(config); + + expect(extension.chain).toBe('ETHEREUM'); +}); From 7a696d418474e3fcc23241fd9930f42e85bc882e Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Fri, 15 Aug 2025 16:06:50 -0700 Subject: [PATCH 21/47] updates yarn lock --- packages/@magic-ext/evm/package.json | 2 +- yarn.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 7e9f1128b..3a5258c20 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -29,7 +29,7 @@ ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.1", + "@magic-sdk/commons": "^25.4.2", "@magic-sdk/types": "^24.21.0" } } diff --git a/yarn.lock b/yarn.lock index 6c9747caa..f97f5d3e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3545,7 +3545,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/evm@workspace:packages/@magic-ext/evm" dependencies: - "@magic-sdk/commons": ^25.4.1 + "@magic-sdk/commons": ^25.4.2 "@magic-sdk/types": ^24.21.0 languageName: unknown linkType: soft From 1548f0d83e3e1cb53408b1cc9f02f307885eceb5 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 19 Aug 2025 14:52:43 -0700 Subject: [PATCH 22/47] hardcode sdk version --- packages/magic-sdk/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/magic-sdk/src/index.ts b/packages/magic-sdk/src/index.ts index fbae24bb1..be945aadb 100644 --- a/packages/magic-sdk/src/index.ts +++ b/packages/magic-sdk/src/index.ts @@ -11,7 +11,7 @@ export * from '@magic-sdk/commons'; export const Magic = createSDK(SDKBase, { platform: 'web', sdkName: 'magic-sdk', - version: process.env.WEB_VERSION!, + version: '30.0.0', defaultEndpoint: 'https://auth.magic.link/', ViewController: IframeController, configureStorage: async () => { From 5a2596cc368436f88bf490df0f7d2383aaf9a1a8 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Tue, 19 Aug 2025 15:21:34 -0700 Subject: [PATCH 23/47] increase hardcoded version --- packages/magic-sdk/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/magic-sdk/src/index.ts b/packages/magic-sdk/src/index.ts index be945aadb..dfc1ba391 100644 --- a/packages/magic-sdk/src/index.ts +++ b/packages/magic-sdk/src/index.ts @@ -11,7 +11,7 @@ export * from '@magic-sdk/commons'; export const Magic = createSDK(SDKBase, { platform: 'web', sdkName: 'magic-sdk', - version: '30.0.0', + version: '31.0.0', defaultEndpoint: 'https://auth.magic.link/', ViewController: IframeController, configureStorage: async () => { From 4ed5f51107085039962f1badb38512f30b05bb73 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 20 Aug 2025 13:43:47 -0700 Subject: [PATCH 24/47] hard codes rn versions --- packages/@magic-sdk/react-native-bare/package.json | 2 +- packages/@magic-sdk/react-native-expo/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@magic-sdk/react-native-bare/package.json b/packages/@magic-sdk/react-native-bare/package.json index b944c302e..29c4d487d 100644 --- a/packages/@magic-sdk/react-native-bare/package.json +++ b/packages/@magic-sdk/react-native-bare/package.json @@ -1,6 +1,6 @@ { "name": "@magic-sdk/react-native-bare", - "version": "30.4.2", + "version": "31.0.0", "description": "Passwordless authentication for React Native (Bare).", "author": "Magic Labs (https://magic.link/)", "license": "MIT", diff --git a/packages/@magic-sdk/react-native-expo/package.json b/packages/@magic-sdk/react-native-expo/package.json index 314f0de9d..757bebdf7 100644 --- a/packages/@magic-sdk/react-native-expo/package.json +++ b/packages/@magic-sdk/react-native-expo/package.json @@ -1,6 +1,6 @@ { "name": "@magic-sdk/react-native-expo", - "version": "30.4.2", + "version": "31.0.0", "description": "Passwordless authentication for React Native (Expo).", "author": "Magic Labs (https://magic.link/)", "license": "MIT", From fc2a32866f2c0236677f2d395b14d25d01a66f6e Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 20 Aug 2025 13:57:27 -0700 Subject: [PATCH 25/47] update lock file --- yarn.lock | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/yarn.lock b/yarn.lock index f97f5d3e7..905ef14d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3805,7 +3805,38 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-bare@^30.4.2, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": +"@magic-sdk/react-native-bare@npm:^30.4.2": + version: 30.4.2 + resolution: "@magic-sdk/react-native-bare@npm:30.4.2" + dependencies: + "@aveq-research/localforage-asyncstorage-driver": ^3.0.1 + "@magic-sdk/commons": ^25.4.2 + "@magic-sdk/provider": ^29.4.2 + "@magic-sdk/types": ^24.21.0 + "@react-native-async-storage/async-storage": ^2.1.2 + "@types/lodash": ^4.14.158 + buffer: ~5.6.0 + localforage: ^1.7.4 + lodash: ^4.17.19 + process: ~0.11.10 + react-native-device-info: ^10.3.0 + react-native-event-listeners: ^1.0.7 + regenerator-runtime: 0.13.9 + tslib: ^2.0.3 + whatwg-url: ~8.1.0 + peerDependencies: + "@react-native-async-storage/async-storage": ">=1.15.5" + "@react-native-community/netinfo": ">=9.0.0" + react: ">=16" + react-native: ">=0.60" + react-native-device-info: ">=10.3.0" + react-native-safe-area-context: ">=4.4.1" + react-native-webview: ">=12.4.0" + checksum: df4ead951f865cb8b2404a0b9c931c86a3940d58d1b78f7d0c720c84ca78f94c74069592ef7c28853eb56649067fda87112723aaaacf729dedf3c910593df665 + languageName: node + linkType: hard + +"@magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare" dependencies: @@ -3844,7 +3875,36 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-expo@^30.4.2, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": +"@magic-sdk/react-native-expo@npm:^30.4.2": + version: 30.4.2 + resolution: "@magic-sdk/react-native-expo@npm:30.4.2" + dependencies: + "@aveq-research/localforage-asyncstorage-driver": ^3.0.1 + "@magic-sdk/commons": ^25.4.2 + "@magic-sdk/provider": ^29.4.2 + "@magic-sdk/types": ^24.21.0 + "@react-native-async-storage/async-storage": ^1.15.5 + "@types/lodash": ^4.14.158 + buffer: ~5.6.0 + expo-application: ^5.0.1 + localforage: ^1.7.4 + lodash: ^4.17.19 + process: ~0.11.10 + react-native-event-listeners: ^1.0.7 + tslib: ^2.0.3 + whatwg-url: ~8.1.0 + peerDependencies: + "@react-native-community/netinfo": ">=9.0.0" + expo: "*" + react: ">=16" + react-native: ">=0.60" + react-native-safe-area-context: ">=4.4.1" + react-native-webview: ">=12.4.0" + checksum: 85c4f95b0abd99bd80fadbf594a0126d49c13f9632ccae9e7c78a65ad626c6e8e31c8906daa8d607664345876c02ab2406cdb6514cd0fb581cdadb231e460e61 + languageName: node + linkType: hard + +"@magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo" dependencies: From 0192a069b83e1190e697559d500336745731aeab Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 27 Aug 2025 09:27:42 -0700 Subject: [PATCH 26/47] test --- packages/@magic-ext/evm/package.json | 4 ++-- packages/@magic-ext/solana/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 3a5258c20..8193808fd 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -29,7 +29,7 @@ ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/types": "^24.21.0" + "@magic-sdk/commons": "latest", + "@magic-sdk/types": "latest" } } diff --git a/packages/@magic-ext/solana/package.json b/packages/@magic-ext/solana/package.json index 9b84208ea..2be3d515a 100644 --- a/packages/@magic-ext/solana/package.json +++ b/packages/@magic-ext/solana/package.json @@ -28,7 +28,7 @@ ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/commons": "latest" }, "dependencies": { "@solana/web3.js": "^1.87.2" From 995f2a9536a8ea3c4909a1cbccdf299ebaf4e151 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 27 Aug 2025 09:33:18 -0700 Subject: [PATCH 27/47] revert --- packages/@magic-ext/evm/package.json | 4 ++-- packages/@magic-ext/solana/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 8193808fd..3a5258c20 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -29,7 +29,7 @@ ] }, "devDependencies": { - "@magic-sdk/commons": "latest", - "@magic-sdk/types": "latest" + "@magic-sdk/commons": "^25.4.2", + "@magic-sdk/types": "^24.21.0" } } diff --git a/packages/@magic-ext/solana/package.json b/packages/@magic-ext/solana/package.json index 2be3d515a..9b84208ea 100644 --- a/packages/@magic-ext/solana/package.json +++ b/packages/@magic-ext/solana/package.json @@ -28,7 +28,7 @@ ] }, "devDependencies": { - "@magic-sdk/commons": "latest" + "@magic-sdk/commons": "^25.4.2" }, "dependencies": { "@solana/web3.js": "^1.87.2" From 4f71477617ddfe857aaea6be0ece0831953607d8 Mon Sep 17 00:00:00 2001 From: Josh Scanlan Date: Wed, 27 Aug 2025 14:13:19 -0700 Subject: [PATCH 28/47] replace commons references --- packages/@magic-ext/algorand/package.json | 4 ++-- packages/@magic-ext/algorand/src/index.ts | 2 +- packages/@magic-ext/aptos/package.json | 4 +--- packages/@magic-ext/aptos/src/index.ts | 2 +- packages/@magic-ext/avalanche/package.json | 4 ++-- packages/@magic-ext/avalanche/src/index.ts | 2 +- packages/@magic-ext/bitcoin/package.json | 4 ++-- packages/@magic-ext/bitcoin/src/index.ts | 2 +- packages/@magic-ext/conflux/package.json | 4 ++-- packages/@magic-ext/conflux/src/index.ts | 2 +- packages/@magic-ext/cosmos/package.json | 4 ++-- packages/@magic-ext/cosmos/src/index.ts | 2 +- packages/@magic-ext/ed25519/package.json | 4 ++-- packages/@magic-ext/ed25519/src/index.ts | 2 +- packages/@magic-ext/evm/package.json | 6 +++--- packages/@magic-ext/evm/src/index.ts | 2 +- packages/@magic-ext/farcaster/package.json | 6 ++++-- packages/@magic-ext/farcaster/src/index.ts | 3 ++- packages/@magic-ext/flow/package.json | 4 ++-- packages/@magic-ext/flow/src/index.ts | 2 +- packages/@magic-ext/gdkms/package.json | 6 +++--- packages/@magic-ext/gdkms/src/index.ts | 3 ++- packages/@magic-ext/harmony/package.json | 4 ++-- packages/@magic-ext/harmony/src/index.ts | 2 +- packages/@magic-ext/hedera/package.json | 4 ++-- packages/@magic-ext/hedera/src/index.ts | 2 +- packages/@magic-ext/icon/package.json | 4 ++-- packages/@magic-ext/icon/src/index.ts | 2 +- packages/@magic-ext/kadena/package.json | 4 ++-- packages/@magic-ext/kadena/src/index.ts | 2 +- packages/@magic-ext/near/package.json | 4 ++-- packages/@magic-ext/near/src/index.ts | 2 +- packages/@magic-ext/oauth/package.json | 3 +-- packages/@magic-ext/oauth/src/index.ts | 2 +- packages/@magic-ext/oauth2/package.json | 3 +-- packages/@magic-ext/oauth2/src/index.ts | 2 +- packages/@magic-ext/oidc/package.json | 4 ++-- packages/@magic-ext/oidc/src/index.ts | 2 +- packages/@magic-ext/polkadot/package.json | 4 ++-- packages/@magic-ext/polkadot/src/index.ts | 2 +- packages/@magic-ext/react-native-bare-oauth/package.json | 2 +- packages/@magic-ext/react-native-expo-oauth/package.json | 2 +- packages/@magic-ext/solana/package.json | 4 ++-- packages/@magic-ext/solana/src/index.ts | 2 +- packages/@magic-ext/sui/package.json | 4 ++-- packages/@magic-ext/sui/src/index.ts | 2 +- packages/@magic-ext/taquito/package.json | 4 ++-- packages/@magic-ext/taquito/src/index.ts | 2 +- packages/@magic-ext/terra/package.json | 4 ++-- packages/@magic-ext/terra/src/index.ts | 2 +- packages/@magic-ext/tezos/package.json | 4 ++-- packages/@magic-ext/tezos/src/index.ts | 2 +- packages/@magic-ext/web3modal-ethers5/package.json | 6 +++--- packages/@magic-ext/web3modal-ethers5/src/index.ts | 2 +- .../web3modal-ethers5/test/spec/connectToWeb3Modal.spec.ts | 2 +- packages/@magic-ext/webauthn/package.json | 4 ++-- packages/@magic-ext/webauthn/src/index.ts | 2 +- packages/@magic-ext/zilliqa/package.json | 4 ++-- packages/@magic-ext/zilliqa/src/index.ts | 2 +- packages/@magic-sdk/commons/src/index.ts | 1 - packages/@magic-sdk/react-native-bare/package.json | 5 ++--- packages/@magic-sdk/react-native-bare/src/index.ts | 3 ++- packages/@magic-sdk/react-native-expo/package.json | 5 ++--- packages/@magic-sdk/react-native-expo/src/index.ts | 3 ++- packages/magic-sdk/package.json | 5 ++--- packages/magic-sdk/src/index.cdn.ts | 2 +- packages/magic-sdk/src/index.ts | 3 ++- scripts/bin/scaffold/run.tsx | 7 ++----- scripts/bin/scaffold/template/hybrid/package.json | 4 ++-- scripts/bin/scaffold/template/hybrid/src/index.ts | 2 +- scripts/bin/wsrun/build-package.ts | 6 +++--- 71 files changed, 112 insertions(+), 116 deletions(-) diff --git a/packages/@magic-ext/algorand/package.json b/packages/@magic-ext/algorand/package.json index 601d5a5f5..3421a06a8 100644 --- a/packages/@magic-ext/algorand/package.json +++ b/packages/@magic-ext/algorand/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/algorand/src/index.ts b/packages/@magic-ext/algorand/src/index.ts index bf040dda4..3a60a50f9 100644 --- a/packages/@magic-ext/algorand/src/index.ts +++ b/packages/@magic-ext/algorand/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { AlgorandConfig, AlgorandPayloadMethod } from './types'; export class AlgorandExtension extends MultichainExtension<'algod'> { diff --git a/packages/@magic-ext/aptos/package.json b/packages/@magic-ext/aptos/package.json index f59821059..cdca29003 100644 --- a/packages/@magic-ext/aptos/package.json +++ b/packages/@magic-ext/aptos/package.json @@ -23,14 +23,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons", "@magic-sdk/provider" ] }, "devDependencies": { "@aptos-labs/wallet-adapter-core": "^2.2.0", - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/provider": "^29.4.2", + "@magic-sdk/provider": "^29.5.0", "aptos": "^1.8.5" }, "peerDependencies": { diff --git a/packages/@magic-ext/aptos/src/index.ts b/packages/@magic-ext/aptos/src/index.ts index 718b53a0c..0f3139588 100644 --- a/packages/@magic-ext/aptos/src/index.ts +++ b/packages/@magic-ext/aptos/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; // @ts-ignore import { AptosClient, BCS, TxnBuilderTypes, Types, getAddressFromAccountOrAddress } from 'aptos'; diff --git a/packages/@magic-ext/avalanche/package.json b/packages/@magic-ext/avalanche/package.json index 9e7362ccd..5e0c928c5 100644 --- a/packages/@magic-ext/avalanche/package.json +++ b/packages/@magic-ext/avalanche/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/avalanche/src/index.ts b/packages/@magic-ext/avalanche/src/index.ts index 1682de3c8..8e21bd8ad 100644 --- a/packages/@magic-ext/avalanche/src/index.ts +++ b/packages/@magic-ext/avalanche/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { AvaxConfig } from './types'; export class AvalancheExtension extends MultichainExtension<'avax'> { diff --git a/packages/@magic-ext/bitcoin/package.json b/packages/@magic-ext/bitcoin/package.json index cc2512483..917f099db 100644 --- a/packages/@magic-ext/bitcoin/package.json +++ b/packages/@magic-ext/bitcoin/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/bitcoin/src/index.ts b/packages/@magic-ext/bitcoin/src/index.ts index a415815ac..0f7360c31 100644 --- a/packages/@magic-ext/bitcoin/src/index.ts +++ b/packages/@magic-ext/bitcoin/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { BitcoinConfig, BitcoinPayloadMethod } from './types'; export class BitcoinExtension extends MultichainExtension<'bitcoin'> { diff --git a/packages/@magic-ext/conflux/package.json b/packages/@magic-ext/conflux/package.json index 5d7e75822..d49c19a92 100644 --- a/packages/@magic-ext/conflux/package.json +++ b/packages/@magic-ext/conflux/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/conflux/src/index.ts b/packages/@magic-ext/conflux/src/index.ts index e6d9561ba..988f3d843 100644 --- a/packages/@magic-ext/conflux/src/index.ts +++ b/packages/@magic-ext/conflux/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { ConfluxPayloadMethod, ConfluxConfig } from './types'; export class ConfluxExtension extends MultichainExtension<'conflux'> { diff --git a/packages/@magic-ext/cosmos/package.json b/packages/@magic-ext/cosmos/package.json index 0ef67a313..a15bf2ca2 100644 --- a/packages/@magic-ext/cosmos/package.json +++ b/packages/@magic-ext/cosmos/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/cosmos/src/index.ts b/packages/@magic-ext/cosmos/src/index.ts index 86504e80a..95287746a 100644 --- a/packages/@magic-ext/cosmos/src/index.ts +++ b/packages/@magic-ext/cosmos/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { CosmosConfig, CosmosPayloadMethod } from './type'; export class CosmosExtension extends MultichainExtension<'cosmos'> { diff --git a/packages/@magic-ext/ed25519/package.json b/packages/@magic-ext/ed25519/package.json index efe589dfc..3b3093f99 100644 --- a/packages/@magic-ext/ed25519/package.json +++ b/packages/@magic-ext/ed25519/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/ed25519/src/index.ts b/packages/@magic-ext/ed25519/src/index.ts index 3d45b230c..ff575670e 100644 --- a/packages/@magic-ext/ed25519/src/index.ts +++ b/packages/@magic-ext/ed25519/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { Ed25519PayloadMethod } from './types'; export class Ed25519Extension extends Extension.Internal<'ed', any> { diff --git a/packages/@magic-ext/evm/package.json b/packages/@magic-ext/evm/package.json index 3a5258c20..576e7988b 100644 --- a/packages/@magic-ext/evm/package.json +++ b/packages/@magic-ext/evm/package.json @@ -24,12 +24,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons", + "@magic-sdk/provider", "@magic-sdk/types" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/types": "^24.21.0" + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0" } } diff --git a/packages/@magic-ext/evm/src/index.ts b/packages/@magic-ext/evm/src/index.ts index aaecfaeb6..04b433d83 100644 --- a/packages/@magic-ext/evm/src/index.ts +++ b/packages/@magic-ext/evm/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { EVMNetworkConfig, EVMPayloadMethod } from './types'; export class EVMExtension extends Extension.Internal<'evm', any> { diff --git a/packages/@magic-ext/farcaster/package.json b/packages/@magic-ext/farcaster/package.json index f2397d462..aa589d1c5 100644 --- a/packages/@magic-ext/farcaster/package.json +++ b/packages/@magic-ext/farcaster/package.json @@ -24,10 +24,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider", + "@magic-sdk/types" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0" } } diff --git a/packages/@magic-ext/farcaster/src/index.ts b/packages/@magic-ext/farcaster/src/index.ts index 84e857d07..3032171e0 100644 --- a/packages/@magic-ext/farcaster/src/index.ts +++ b/packages/@magic-ext/farcaster/src/index.ts @@ -1,4 +1,5 @@ -import {Extension, FarcasterLoginEventEmit} from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; +import { FarcasterLoginEventEmit } from '@magic-sdk/types'; import { FarcasterPayloadMethod } from './types'; import { isMainFrame, isMobile } from './utils'; diff --git a/packages/@magic-ext/flow/package.json b/packages/@magic-ext/flow/package.json index 7774bb6e3..6ca7fc88d 100644 --- a/packages/@magic-ext/flow/package.json +++ b/packages/@magic-ext/flow/package.json @@ -24,11 +24,11 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", + "@magic-sdk/provider": "^29.5.0", "@onflow/fcl": "^1.4.1", "@onflow/types": "^1.1.0" }, diff --git a/packages/@magic-ext/flow/src/index.ts b/packages/@magic-ext/flow/src/index.ts index 2e040b1c4..087ffa827 100644 --- a/packages/@magic-ext/flow/src/index.ts +++ b/packages/@magic-ext/flow/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; // @ts-ignore import * as fcl from '@onflow/fcl'; diff --git a/packages/@magic-ext/gdkms/package.json b/packages/@magic-ext/gdkms/package.json index f24d93376..183602dbf 100644 --- a/packages/@magic-ext/gdkms/package.json +++ b/packages/@magic-ext/gdkms/package.json @@ -24,12 +24,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons", + "@magic-sdk/provider", "@magic-sdk/types" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/types": "^24.21.0" + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0" } } diff --git a/packages/@magic-ext/gdkms/src/index.ts b/packages/@magic-ext/gdkms/src/index.ts index 77d516e05..3544a3574 100644 --- a/packages/@magic-ext/gdkms/src/index.ts +++ b/packages/@magic-ext/gdkms/src/index.ts @@ -1,4 +1,5 @@ -import { Extension, MagicPayloadMethod } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; +import { MagicPayloadMethod } from '@magic-sdk/types'; export class GDKMSExtension extends Extension.Internal<'gdkms', any> { name = 'gdkms' as const; diff --git a/packages/@magic-ext/harmony/package.json b/packages/@magic-ext/harmony/package.json index 6667d4777..7861ae052 100644 --- a/packages/@magic-ext/harmony/package.json +++ b/packages/@magic-ext/harmony/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/harmony/src/index.ts b/packages/@magic-ext/harmony/src/index.ts index 98c909a8a..70bccfee5 100644 --- a/packages/@magic-ext/harmony/src/index.ts +++ b/packages/@magic-ext/harmony/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { HarmonyPayloadMethod, HarmonyConfig } from './types'; export class HarmonyExtension extends MultichainExtension<'harmony'> { diff --git a/packages/@magic-ext/hedera/package.json b/packages/@magic-ext/hedera/package.json index 2433b558c..fd29d9e27 100644 --- a/packages/@magic-ext/hedera/package.json +++ b/packages/@magic-ext/hedera/package.json @@ -24,11 +24,11 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^14.6.0" + "@magic-sdk/provider": "^29.5.0" }, "peerDependencies": { "@hashgraph/sdk": "^2.31.0" diff --git a/packages/@magic-ext/hedera/src/index.ts b/packages/@magic-ext/hedera/src/index.ts index 355e53c10..2875a6a45 100644 --- a/packages/@magic-ext/hedera/src/index.ts +++ b/packages/@magic-ext/hedera/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { HederaConfig, HederaPayloadMethod } from './types'; export * from './utils'; diff --git a/packages/@magic-ext/icon/package.json b/packages/@magic-ext/icon/package.json index 99926d900..71c67466b 100644 --- a/packages/@magic-ext/icon/package.json +++ b/packages/@magic-ext/icon/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/icon/src/index.ts b/packages/@magic-ext/icon/src/index.ts index 15f117469..b48c38a47 100644 --- a/packages/@magic-ext/icon/src/index.ts +++ b/packages/@magic-ext/icon/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { IconConfig } from './type'; export class IconExtension extends MultichainExtension<'icon'> { diff --git a/packages/@magic-ext/kadena/package.json b/packages/@magic-ext/kadena/package.json index d7a887122..1d5164299 100644 --- a/packages/@magic-ext/kadena/package.json +++ b/packages/@magic-ext/kadena/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/kadena/src/index.ts b/packages/@magic-ext/kadena/src/index.ts index 45635f70a..695147045 100644 --- a/packages/@magic-ext/kadena/src/index.ts +++ b/packages/@magic-ext/kadena/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { UnsignedCommand, KadenaConfig, diff --git a/packages/@magic-ext/near/package.json b/packages/@magic-ext/near/package.json index 5b2719bf3..0c295f04f 100644 --- a/packages/@magic-ext/near/package.json +++ b/packages/@magic-ext/near/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/near/src/index.ts b/packages/@magic-ext/near/src/index.ts index 31f2c73ff..016b002ac 100644 --- a/packages/@magic-ext/near/src/index.ts +++ b/packages/@magic-ext/near/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { NearPayloadMethod, NearConfig } from './types'; export class NearExtension extends MultichainExtension<'near'> { diff --git a/packages/@magic-ext/oauth/package.json b/packages/@magic-ext/oauth/package.json index 01dc3dcfd..bc717fda2 100644 --- a/packages/@magic-ext/oauth/package.json +++ b/packages/@magic-ext/oauth/package.json @@ -24,7 +24,6 @@ }, "externals": { "include": [ - "@magic-sdk/commons", "@magic-sdk/provider" ] }, @@ -32,7 +31,7 @@ "crypto-js": "^4.2.0" }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", + "@magic-sdk/provider": "^29.5.0", "@types/crypto-js": "~4.2.0" } } diff --git a/packages/@magic-ext/oauth/src/index.ts b/packages/@magic-ext/oauth/src/index.ts index 84398f0c8..69f6c3a65 100644 --- a/packages/@magic-ext/oauth/src/index.ts +++ b/packages/@magic-ext/oauth/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { OAuthErrorData, OAuthPayloadMethods, diff --git a/packages/@magic-ext/oauth2/package.json b/packages/@magic-ext/oauth2/package.json index 5cc2e3e21..f6cf7784f 100644 --- a/packages/@magic-ext/oauth2/package.json +++ b/packages/@magic-ext/oauth2/package.json @@ -24,7 +24,6 @@ }, "externals": { "include": [ - "@magic-sdk/commons", "@magic-sdk/provider" ] }, @@ -32,7 +31,7 @@ "crypto-js": "^4.2.0" }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", + "@magic-sdk/provider": "^29.5.0", "@types/crypto-js": "4.2.0" } } diff --git a/packages/@magic-ext/oauth2/src/index.ts b/packages/@magic-ext/oauth2/src/index.ts index 604b3a269..a8053c53c 100644 --- a/packages/@magic-ext/oauth2/src/index.ts +++ b/packages/@magic-ext/oauth2/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { OAuthErrorData, OAuthRedirectError, diff --git a/packages/@magic-ext/oidc/package.json b/packages/@magic-ext/oidc/package.json index 61db4dd43..c1b9973cb 100644 --- a/packages/@magic-ext/oidc/package.json +++ b/packages/@magic-ext/oidc/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/oidc/src/index.ts b/packages/@magic-ext/oidc/src/index.ts index c2949236d..a6ab0201e 100644 --- a/packages/@magic-ext/oidc/src/index.ts +++ b/packages/@magic-ext/oidc/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { MagicOpenIdConnectPayloadMethod, LoginWithOpenIdParams } from './types'; export class OpenIdExtension extends Extension.Internal<'openid', any> { diff --git a/packages/@magic-ext/polkadot/package.json b/packages/@magic-ext/polkadot/package.json index 2dfc711e4..ce27ceb6c 100644 --- a/packages/@magic-ext/polkadot/package.json +++ b/packages/@magic-ext/polkadot/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/polkadot/src/index.ts b/packages/@magic-ext/polkadot/src/index.ts index c9831729d..252afb649 100644 --- a/packages/@magic-ext/polkadot/src/index.ts +++ b/packages/@magic-ext/polkadot/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { PolkadotConfig } from './type'; export class PolkadotExtension extends MultichainExtension<'polkadot'> { diff --git a/packages/@magic-ext/react-native-bare-oauth/package.json b/packages/@magic-ext/react-native-bare-oauth/package.json index 97aec0e2d..7071accd8 100644 --- a/packages/@magic-ext/react-native-bare-oauth/package.json +++ b/packages/@magic-ext/react-native-bare-oauth/package.json @@ -31,7 +31,7 @@ }, "devDependencies": { "@magic-sdk/react-native-bare": "^30.4.2", - "@magic-sdk/types": "^24.21.0", + "@magic-sdk/types": "^24.22.0", "@types/crypto-js": "~4.2.0", "react-native-inappbrowser-reborn": "^3.7.0" }, diff --git a/packages/@magic-ext/react-native-expo-oauth/package.json b/packages/@magic-ext/react-native-expo-oauth/package.json index 252cc39a8..b5d1e2beb 100644 --- a/packages/@magic-ext/react-native-expo-oauth/package.json +++ b/packages/@magic-ext/react-native-expo-oauth/package.json @@ -26,7 +26,7 @@ ] }, "dependencies": { - "@magic-sdk/types": "^10.0.0", + "@magic-sdk/types": "^24.22.0", "crypto-js": "^4.2.0", "expo-application": "^5.0.1", "expo-web-browser": ">=12.0.0" diff --git a/packages/@magic-ext/solana/package.json b/packages/@magic-ext/solana/package.json index 9b84208ea..3b58a5cf6 100644 --- a/packages/@magic-ext/solana/package.json +++ b/packages/@magic-ext/solana/package.json @@ -24,11 +24,11 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" }, "dependencies": { "@solana/web3.js": "^1.87.2" diff --git a/packages/@magic-ext/solana/src/index.ts b/packages/@magic-ext/solana/src/index.ts index 0141bd47d..100836ba7 100644 --- a/packages/@magic-ext/solana/src/index.ts +++ b/packages/@magic-ext/solana/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { SerializeConfig, Transaction, VersionedTransaction } from '@solana/web3.js'; import { SolanaConfig } from './type'; import { SOLANA_PAYLOAD_METHODS } from './constants'; diff --git a/packages/@magic-ext/sui/package.json b/packages/@magic-ext/sui/package.json index 93bc19b44..352dea20e 100644 --- a/packages/@magic-ext/sui/package.json +++ b/packages/@magic-ext/sui/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/sui/src/index.ts b/packages/@magic-ext/sui/src/index.ts index 488b4f686..d0d6eb1ff 100644 --- a/packages/@magic-ext/sui/src/index.ts +++ b/packages/@magic-ext/sui/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { SuiConfig, SuiPayloadMethod } from './types'; export class SuiExtension extends MultichainExtension<'sui'> { diff --git a/packages/@magic-ext/taquito/package.json b/packages/@magic-ext/taquito/package.json index 237bb897f..c4fee1db8 100644 --- a/packages/@magic-ext/taquito/package.json +++ b/packages/@magic-ext/taquito/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/taquito/src/index.ts b/packages/@magic-ext/taquito/src/index.ts index be11e998b..d71d55212 100644 --- a/packages/@magic-ext/taquito/src/index.ts +++ b/packages/@magic-ext/taquito/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { TaquitoConfig, TaquitoPayloadMethod } from './type'; import { MagicSigner } from './MagicSigner'; diff --git a/packages/@magic-ext/terra/package.json b/packages/@magic-ext/terra/package.json index 0b66f7b2e..e0b81392c 100644 --- a/packages/@magic-ext/terra/package.json +++ b/packages/@magic-ext/terra/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/terra/src/index.ts b/packages/@magic-ext/terra/src/index.ts index 2d7a0362c..1f3c12fa5 100644 --- a/packages/@magic-ext/terra/src/index.ts +++ b/packages/@magic-ext/terra/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { TerraPayloadMethod, TerraConfig } from './types'; export class TerraExtension extends MultichainExtension<'terra'> { diff --git a/packages/@magic-ext/tezos/package.json b/packages/@magic-ext/tezos/package.json index 3baae377a..8cef113a8 100644 --- a/packages/@magic-ext/tezos/package.json +++ b/packages/@magic-ext/tezos/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/tezos/src/index.ts b/packages/@magic-ext/tezos/src/index.ts index c9b128564..fe1432e54 100644 --- a/packages/@magic-ext/tezos/src/index.ts +++ b/packages/@magic-ext/tezos/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { TezosConfig } from './type'; export class TezosExtension extends MultichainExtension<'tezos'> { diff --git a/packages/@magic-ext/web3modal-ethers5/package.json b/packages/@magic-ext/web3modal-ethers5/package.json index b04b30e8e..fdd857cc7 100644 --- a/packages/@magic-ext/web3modal-ethers5/package.json +++ b/packages/@magic-ext/web3modal-ethers5/package.json @@ -24,12 +24,12 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/types": "24.0.6-canary.742.10067162636.0" + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0" }, "dependencies": { "@web3modal/ethers5": "5.0.3", diff --git a/packages/@magic-ext/web3modal-ethers5/src/index.ts b/packages/@magic-ext/web3modal-ethers5/src/index.ts index 29dc64c5a..88ecaba09 100644 --- a/packages/@magic-ext/web3modal-ethers5/src/index.ts +++ b/packages/@magic-ext/web3modal-ethers5/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { Web3Modal, createWeb3Modal, defaultConfig } from '@web3modal/ethers5'; import { LocalStorageKeys, ThirdPartyWalletEvents } from '@magic-sdk/types'; import { Web3ModalExtensionOptions } from './types'; diff --git a/packages/@magic-ext/web3modal-ethers5/test/spec/connectToWeb3Modal.spec.ts b/packages/@magic-ext/web3modal-ethers5/test/spec/connectToWeb3Modal.spec.ts index 97cb7a305..f1808c728 100644 --- a/packages/@magic-ext/web3modal-ethers5/test/spec/connectToWeb3Modal.spec.ts +++ b/packages/@magic-ext/web3modal-ethers5/test/spec/connectToWeb3Modal.spec.ts @@ -1,7 +1,7 @@ import { Web3ModalExtension } from '../../src/index'; import { createMagicSDKWithExtension } from '../../../../@magic-sdk/provider/test/factories'; import { mockLocalStorage } from '../../../../@magic-sdk/provider/test/mocks'; -import { isPromiEvent } from '../../../../@magic-sdk/commons'; +import { isPromiEvent } from '@magic-sdk/provider'; jest.mock('@web3modal/ethers5', () => ({ Web3Modal: jest.fn(), diff --git a/packages/@magic-ext/webauthn/package.json b/packages/@magic-ext/webauthn/package.json index e94987887..9f88973cc 100644 --- a/packages/@magic-ext/webauthn/package.json +++ b/packages/@magic-ext/webauthn/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/webauthn/src/index.ts b/packages/@magic-ext/webauthn/src/index.ts index d3124547e..8164c075e 100644 --- a/packages/@magic-ext/webauthn/src/index.ts +++ b/packages/@magic-ext/webauthn/src/index.ts @@ -1,4 +1,4 @@ -import { Extension } from '@magic-sdk/commons'; +import { Extension } from '@magic-sdk/provider'; import { RegisterNewUserConfiguration, LoginWithWebAuthnConfiguration, diff --git a/packages/@magic-ext/zilliqa/package.json b/packages/@magic-ext/zilliqa/package.json index 7444fe19c..56e127a95 100644 --- a/packages/@magic-ext/zilliqa/package.json +++ b/packages/@magic-ext/zilliqa/package.json @@ -24,10 +24,10 @@ }, "externals": { "include": [ - "@magic-sdk/commons" + "@magic-sdk/provider" ] }, "devDependencies": { - "@magic-sdk/commons": "^25.4.2" + "@magic-sdk/provider": "^29.5.0" } } diff --git a/packages/@magic-ext/zilliqa/src/index.ts b/packages/@magic-ext/zilliqa/src/index.ts index 58eb0cd88..85f12f293 100644 --- a/packages/@magic-ext/zilliqa/src/index.ts +++ b/packages/@magic-ext/zilliqa/src/index.ts @@ -1,4 +1,4 @@ -import { MultichainExtension } from '@magic-sdk/commons'; +import { MultichainExtension } from '@magic-sdk/provider'; import { ZilliqaConfig } from './type'; export class ZilliqaExtension extends MultichainExtension<'zilliqa'> { diff --git a/packages/@magic-sdk/commons/src/index.ts b/packages/@magic-sdk/commons/src/index.ts index deafd524d..c4eca1a26 100644 --- a/packages/@magic-sdk/commons/src/index.ts +++ b/packages/@magic-sdk/commons/src/index.ts @@ -3,7 +3,6 @@ export { Extension, - MultichainExtension, MagicSDKError as SDKError, MagicExtensionError as ExtensionError, MagicExtensionWarning as ExtensionWarning, diff --git a/packages/@magic-sdk/react-native-bare/package.json b/packages/@magic-sdk/react-native-bare/package.json index 29c4d487d..565436a74 100644 --- a/packages/@magic-sdk/react-native-bare/package.json +++ b/packages/@magic-sdk/react-native-bare/package.json @@ -18,9 +18,8 @@ "types": "./dist/types/index.d.ts", "dependencies": { "@aveq-research/localforage-asyncstorage-driver": "^3.0.1", - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/provider": "^29.4.2", - "@magic-sdk/types": "^24.21.0", + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0", "@react-native-async-storage/async-storage": "^2.1.2", "@types/lodash": "^4.14.158", "buffer": "~5.6.0", diff --git a/packages/@magic-sdk/react-native-bare/src/index.ts b/packages/@magic-sdk/react-native-bare/src/index.ts index a37771110..ec0736bfa 100644 --- a/packages/@magic-sdk/react-native-bare/src/index.ts +++ b/packages/@magic-sdk/react-native-bare/src/index.ts @@ -35,7 +35,8 @@ global.btoa = str => Buffer.from(str, 'binary').toString('base64'); /* istanbul ignore next */ global.atob = b64Encoded => Buffer.from(b64Encoded, 'base64').toString('binary'); -export * from '@magic-sdk/commons'; +export * from '@magic-sdk/provider'; +export * from '@magic-sdk/types'; export const Magic = createSDK(SDKBaseReactNative, { platform: 'react-native', diff --git a/packages/@magic-sdk/react-native-expo/package.json b/packages/@magic-sdk/react-native-expo/package.json index 757bebdf7..6b530585c 100644 --- a/packages/@magic-sdk/react-native-expo/package.json +++ b/packages/@magic-sdk/react-native-expo/package.json @@ -18,9 +18,8 @@ "types": "./dist/types/index.d.ts", "dependencies": { "@aveq-research/localforage-asyncstorage-driver": "^3.0.1", - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/provider": "^29.4.2", - "@magic-sdk/types": "^24.21.0", + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0", "@react-native-async-storage/async-storage": "^1.15.5", "@types/lodash": "^4.14.158", "buffer": "~5.6.0", diff --git a/packages/@magic-sdk/react-native-expo/src/index.ts b/packages/@magic-sdk/react-native-expo/src/index.ts index c725e69ed..003a649c8 100644 --- a/packages/@magic-sdk/react-native-expo/src/index.ts +++ b/packages/@magic-sdk/react-native-expo/src/index.ts @@ -35,7 +35,8 @@ global.btoa = str => Buffer.from(str, 'binary').toString('base64'); /* istanbul ignore next */ global.atob = b64Encoded => Buffer.from(b64Encoded, 'base64').toString('binary'); -export * from '@magic-sdk/commons'; +export * from '@magic-sdk/provider'; +export * from '@magic-sdk/types'; export const Magic = createSDK(SDKBaseReactNative, { platform: 'react-native', diff --git a/packages/magic-sdk/package.json b/packages/magic-sdk/package.json index 3e4c75853..863990830 100644 --- a/packages/magic-sdk/package.json +++ b/packages/magic-sdk/package.json @@ -29,9 +29,8 @@ ] }, "dependencies": { - "@magic-sdk/commons": "^25.4.2", - "@magic-sdk/provider": "^29.4.2", - "@magic-sdk/types": "^24.21.0", + "@magic-sdk/provider": "^29.5.0", + "@magic-sdk/types": "^24.22.0", "localforage": "^1.7.4" }, "gitHead": "1ef062ea699d48d5e9a9375a93b7c147632b05ca" diff --git a/packages/magic-sdk/src/index.cdn.ts b/packages/magic-sdk/src/index.cdn.ts index b8081a863..8048f0465 100644 --- a/packages/magic-sdk/src/index.cdn.ts +++ b/packages/magic-sdk/src/index.cdn.ts @@ -1,7 +1,7 @@ /* istanbul ignore file */ import { SDKBase, createSDK } from '@magic-sdk/provider'; -import * as publicAPI from '@magic-sdk/commons'; +import * as publicAPI from '@magic-sdk/provider'; import localForage from 'localforage'; import * as memoryDriver from 'localforage-driver-memory'; import { IframeController } from './iframe-controller'; diff --git a/packages/magic-sdk/src/index.ts b/packages/magic-sdk/src/index.ts index dfc1ba391..13c02e4ff 100644 --- a/packages/magic-sdk/src/index.ts +++ b/packages/magic-sdk/src/index.ts @@ -6,7 +6,8 @@ import localForage from 'localforage'; import * as memoryDriver from 'localforage-driver-memory'; import { IframeController } from './iframe-controller'; -export * from '@magic-sdk/commons'; +export * from '@magic-sdk/provider'; +export * from '@magic-sdk/types'; export const Magic = createSDK(SDKBase, { platform: 'web', diff --git a/scripts/bin/scaffold/run.tsx b/scripts/bin/scaffold/run.tsx index 334ca29e6..7d18c29f7 100755 --- a/scripts/bin/scaffold/run.tsx +++ b/scripts/bin/scaffold/run.tsx @@ -1,8 +1,5 @@ #!/usr/bin/env ts-node-script - - - import React from 'react'; import { Zombi, Template, Directory, scaffold } from 'zombi'; import execa from 'execa'; @@ -50,7 +47,7 @@ const template = ( }, ]} > - {(props) => ( + {props => (