diff --git a/packages/tsconfig/tsconfig.module.json b/packages/tsconfig/tsconfig.module.json index 38449ad33..a8e98c940 100644 --- a/packages/tsconfig/tsconfig.module.json +++ b/packages/tsconfig/tsconfig.module.json @@ -1,6 +1,6 @@ { "extends": "./tsconfig.lib.json", - "display": "Saber NodeNext TSConfig (recommended)", + "display": "Saber Node16 TSConfig (recommended)", "compilerOptions": { "moduleResolution": "node16" } diff --git a/packages/tsconfig/tsconfig.module.react.json b/packages/tsconfig/tsconfig.module.react.json new file mode 100644 index 000000000..e956a953c --- /dev/null +++ b/packages/tsconfig/tsconfig.module.react.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.react.json", + "display": "Saber Node16 React TSConfig (recommended)", + "compilerOptions": { + "moduleResolution": "node16" + } +} diff --git a/packages/use-solana/package.json b/packages/use-solana/package.json index ee550c69c..9aa777ca6 100644 --- a/packages/use-solana/package.json +++ b/packages/use-solana/package.json @@ -32,6 +32,7 @@ "@ledgerhq/hw-transport": "^6.27.1", "@ledgerhq/hw-transport-webusb": "^6.27.1", "@saberhq/solana-contrib": "workspace:^", + "@saberhq/wallet-adapter-icons": "workspace:^", "@solana/wallet-adapter-base": "^0.9.5", "@solana/wallet-adapter-clover": "^0.4.4", "@solana/wallet-adapter-coin98": "^0.5.4", diff --git a/packages/use-solana/src/index.tsx b/packages/use-solana/src/index.tsx index a2868e688..036b13467 100644 --- a/packages/use-solana/src/index.tsx +++ b/packages/use-solana/src/index.tsx @@ -2,10 +2,10 @@ export * from "./adapters"; export * from "./context"; export * from "./error"; export * from "./hooks"; -export * as icons from "./icons"; export * from "./providers"; export * from "./storage"; export * from "./utils/provider"; +export * as icons from "@saberhq/wallet-adapter-icons"; // re-export solana utils export * as solana from "@saberhq/solana-contrib"; diff --git a/packages/use-solana/src/providers.tsx b/packages/use-solana/src/providers.tsx index b6e84a470..c34c0b2f6 100644 --- a/packages/use-solana/src/providers.tsx +++ b/packages/use-solana/src/providers.tsx @@ -1,3 +1,18 @@ +import { + CLOVER, + COIN98, + EXODUS, + FILE, + GLOW, + HUOBI, + LEDGER, + MAGNIFYING_GLASS, + MATHWALLET, + PHANTOM, + SLOPE, + SOLFLARE, + SOLLET, +} from "@saberhq/wallet-adapter-icons"; import type { WalletAdapterNetwork } from "@solana/wallet-adapter-base"; import { CloverWalletAdapter } from "@solana/wallet-adapter-clover"; import { Coin98WalletAdapter } from "@solana/wallet-adapter-coin98"; @@ -20,21 +35,6 @@ import { LedgerWalletAdapter, SolanaWalletAdapter } from "./adapters"; import { ReadonlyAdapter } from "./adapters/readonly"; import { SecretKeyAdapter } from "./adapters/secret-key"; import { SolflareAdapter } from "./adapters/solflare"; -import { - CLOVER, - COIN98, - EXODUS, - FILE, - GLOW, - HUOBI, - LEDGER, - MAGNIFYING_GLASS, - MATHWALLET, - PHANTOM, - SLOPE, - SOLFLARE, - SOLLET, -} from "./icons"; export enum DefaultWalletType { Clover = "Clover", diff --git a/packages/wallet-adapter-icons/LICENSE.txt b/packages/wallet-adapter-icons/LICENSE.txt new file mode 100644 index 000000000..d36997624 --- /dev/null +++ b/packages/wallet-adapter-icons/LICENSE.txt @@ -0,0 +1,209 @@ + + 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: + + 1. You must give any other recipients of the Work or Derivative Works a + copy of this License; and + + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + + 3. 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 + + 4. 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 + + APPENDIX: How to apply the Apache License to your work + + To apply the Apache License to your work, attach the following boilerplate + notice, with the fields enclosed by brackets "[]" replaced with your own + identifying information. (Don't include the brackets!) The text should be + enclosed in the appropriate comment syntax for the file format. We also + recommend that a file or class name and description of purpose be included + on the same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2022 Ian Macalinao + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + or implied. See the License for the specific language governing + permissions and limitations under the License. + diff --git a/packages/wallet-adapter-icons/README.md b/packages/wallet-adapter-icons/README.md new file mode 100644 index 000000000..100264216 --- /dev/null +++ b/packages/wallet-adapter-icons/README.md @@ -0,0 +1,7 @@ +# `@saberhq/wallet-adapter-icons` + +Icons of wallet adapters. + +## License + +Saber Common is licensed under the Apache License, Version 2.0. diff --git a/packages/wallet-adapter-icons/package.json b/packages/wallet-adapter-icons/package.json new file mode 100644 index 000000000..1362169d4 --- /dev/null +++ b/packages/wallet-adapter-icons/package.json @@ -0,0 +1,48 @@ +{ + "name": "@saberhq/wallet-adapter-icons", + "version": "1.13.20", + "description": "Solana wallet adapter icons.", + "homepage": "https://github.com/saber-hq/saber-common/packages/solana-wallet-adapters#readme", + "repository": "git+https://github.com/saber-hq/saber-common.git", + "bugs": "https://github.com/saber-hq/saber-common/issues", + "funding": "https://www.coingecko.com/en/coins/saber", + "author": "Saber Team ", + "license": "Apache-2.0", + "exports": { + ".": { + "import": "./dist/esm/index.js", + "require": "./dist/cjs/index.js" + } + }, + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "files": [ + "src/", + "dist/" + ], + "publishConfig": { + "access": "public" + }, + "keywords": [ + "typescript", + "saber", + "solana", + "wallet" + ], + "scripts": { + "build": "tsc && tsc -P tsconfig.cjs.json", + "clean": "rm -fr dist/" + }, + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "react": "^17.0.2 || ^18" + }, + "devDependencies": { + "@saberhq/tsconfig": "workspace:^", + "@types/react": "^18.0.9", + "react": "^18.1.0", + "typescript": "^4.7.2" + } +} diff --git a/packages/use-solana/src/icons/coin98.tsx b/packages/wallet-adapter-icons/src/coin98.tsx similarity index 100% rename from packages/use-solana/src/icons/coin98.tsx rename to packages/wallet-adapter-icons/src/coin98.tsx diff --git a/packages/use-solana/src/icons/index.tsx b/packages/wallet-adapter-icons/src/index.tsx similarity index 99% rename from packages/use-solana/src/icons/index.tsx rename to packages/wallet-adapter-icons/src/index.tsx index bda19f04b..9ff178bba 100644 --- a/packages/use-solana/src/icons/index.tsx +++ b/packages/wallet-adapter-icons/src/index.tsx @@ -1,7 +1,7 @@ import React from "react"; -export * from "./coin98"; -export * from "./mathwallet"; +export * from "./coin98.js"; +export * from "./mathwallet.js"; export const LEDGER: React.FC> = (props) => (