hybrid 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +2 -0
- package/dist/cli.mjs +5 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/components/DefaultButton.d.ts +10 -0
- package/dist/components/MintButton.d.ts +10 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/internal/index.d.ts +1 -0
- package/dist/hooks/internal/useContext.d.ts +4 -0
- package/dist/hooks/useMinting.d.ts +8 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/Web3Provider.d.ts +16 -0
- package/dist/providers/helpers.d.ts +7 -0
- package/dist/stats.html +6177 -0
- package/dist/style.css +2 -0
- package/dist/style.css.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/utils/basisPoints.d.ts +3 -0
- package/dist/utils/conversion.d.ts +3 -0
- package/dist/utils/etherscan.d.ts +3 -0
- package/dist/utils/formatting.d.ts +7 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/wallets/ConnectButton.d.ts +2 -0
- package/package.json +104 -39
- package/README.md +0 -11
package/dist/cli.d.ts
ADDED
package/dist/cli.mjs
ADDED
package/dist/cli.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.mjs","sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { run } from \"@hybrd/cli\"\n\nrun()\n"],"names":[],"mappings":";;;AAIA,CAAG,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export type DefaultButtonProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
intent?: "default" | "success" | "error";
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const DefaultButton: (props: DefaultButtonProps) => JSX.Element;
|
|
10
|
+
export default DefaultButton;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DefaultButtonProps } from "./DefaultButton";
|
|
3
|
+
import { Contract } from "types";
|
|
4
|
+
type MintButtonProps = {
|
|
5
|
+
className?: string;
|
|
6
|
+
contract: Contract;
|
|
7
|
+
button?: React.FC<DefaultButtonProps>;
|
|
8
|
+
};
|
|
9
|
+
declare const MintButton: (props: MintButtonProps) => JSX.Element;
|
|
10
|
+
export default MintButton;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as MintButton } from "./MintButton";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useMinting";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./useContext";
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{getDefaultWallets as e}from"@rainbow-me/rainbowkit";import{jsonRpcProvider as n}from"wagmi/providers/jsonRpc";import{configureChains as r,createClient as o,WagmiConfig as c,useBlockNumber as i,useProvider as s,useSigner as a,useContract as u,useConnect as l,useNetwork as d,useSwitchNetwork as m}from"wagmi";import*as f from"wagmi/chains";import h,{useMemo as p,useContext as b,useState as B,useCallback as D}from"react";import{useAsyncMemo as w}from"use-async-memo";import v from"clsx";import{utils as S,ethers as N}from"ethers";const _=h.createContext({address:void 0,chainId:void 0}),k=i=>{const{appName:s,children:a,address:u,chainId:l,...d}=i,{chains:m,provider:h,webSocketProvider:b}=p((()=>{const t=Object.values(f).find((t=>t.id===l)),e=function(t){const e=[];return e.push(n({rpc:()=>({http:"http://localhost:8545",ws:"ws://localhost:8545"})})),e}(),{chains:o,provider:c,webSocketProvider:i}=r([t],e);return{chains:o,provider:c,webSocketProvider:i}}),[d]),B={address:u,chainId:l},{connectors:D}=e({appName:s||"Hybrid App",chains:m}),w=o({autoConnect:!0,connectors:D,provider:h,webSocketProvider:b});return t(_.Provider,{value:B,children:t(c,{client:w,children:a})})};const g=t=>{const{abi:e}=t,{address:n,chainId:r}=b(_),{data:o}=i(),c=s({chainId:r}),{data:l}=a({chainId:r}),[d,m]=B(!1),[f,h]=B(!1),[p,v]=B(!1),S=u({address:n,abi:e});return{isMinting:d,isSuccess:f,isError:p,totalSupply:w((()=>{if(S)return S.connect(c).totalSupply().then((t=>t.toNumber()))}),[S,o]),mint:D((()=>{S&&(m(!0),S.connect(l).mint(1).then((t=>t.wait())).then((()=>{h(!0),setTimeout((()=>h(!1)),3e3)})).catch((t=>{console.error(t),v(!0),setTimeout((()=>v(!1)),1e3)})).finally((()=>m(!1))))}),[l,S])}};var y={DefaultButton:"DefaultButton-module_DefaultButton__Px-Zc",DefaultButtonBase:"DefaultButton-module_DefaultButtonBase__KRytO",DefaultButtonSuccess:"DefaultButton-module_DefaultButtonSuccess__eaosU",DefaultButtonError:"DefaultButton-module_DefaultButtonError__B7CKv",DefaultButtonDisabled:"DefaultButton-module_DefaultButtonDisabled__-PIdK"};const C={default:y.DefaultButtonBase,success:y.DefaultButtonSuccess,error:y.DefaultButtonError},E=e=>{const{className:n=y.DefaultButton,intent:r="default",onClick:o,children:c,disabled:i}=e;return t("button",{className:v(n,C[r],i&&y.DefaultButtonDisabled),onClick:o,children:c})},I=e=>{const{button:n=E,className:r,contract:o}=e,{data:c}=a(),{connect:i,connectors:s}=l(),{chain:u}=d(),{switchNetwork:f}=m(),{isMinting:h,isSuccess:p,isError:b,mint:B}=g(o);if(h)return t(n,{disabled:!0,className:r,children:"Minting"});if(p)return t(n,{disabled:!0,className:r,intent:"success",children:"Minted"});if(b)return t(n,{disabled:!0,className:r,intent:"error",children:"Error Occurred"});if(!c){const e=s[0];return t(n,{className:r,onClick:()=>i({connector:e}),children:"Connect Wallet"})}return t(n,1337!==u?.id&&f?{onClick:()=>f(1337),className:r,intent:"error",children:"Switch Network"}:{className:r,onClick:B,children:"Mint Now"})};function x(t){return"number"!=typeof t?null:parseInt(t.toString())/100}function P(t){return 100*t}function M(t){return"number"!=typeof t?0:parseInt(t.toString())/1e4}function j(t){return parseFloat(S.formatEther(t.toString()))}function K(t){return void 0===t?null:N.utils.parseUnits(t.toString(),"ether")}function O(t,e=1){return R(e)+"/address/"+t}function U(t,e=1){return R(e)+"/tx/"+t}function R(t=1){switch(t){case 1:return"https://etherscan.io";case 3:return"https://ropsten.etherscan.io";case 4:return"https://rinkeby.etherscan.io";case 5:return"https://goerli.etherscan.io";case 137:return"https://polygonscan.com";case 80001:return"https://mumbai.polygonscan.com";default:throw new Error("Etherscan: Unknown chain id "+t)}}export{I as MintButton,k as Web3Provider,M as bipsToDecimal,x as bipsToPercent,K as ethToWei,O as etherscanAddressURL,R as etherscanHost,U as etherscanTxURL,P as percentToBips,g as useMinting,j as weiToEth};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/providers/Web3Provider.tsx","../src/providers/helpers.ts","../src/hooks/useMinting.ts","../src/hooks/internal/useContext.ts","../src/components/DefaultButton.tsx","../src/components/MintButton.tsx","../src/utils/basisPoints.ts","../src/utils/conversion.ts","../src/utils/etherscan.ts"],"sourcesContent":["import { getDefaultWallets } from \"@rainbow-me/rainbowkit\"\nimport { buildProviders } from \"./helpers\"\n\nimport { configureChains, createClient, WagmiConfig } from \"wagmi\"\nimport * as Chains from \"wagmi/chains\"\n\nimport React, { useMemo } from \"react\"\n\ntype Config = {\n appName?: string\n alchemyKey?: string\n infuraKey?: string\n\n // Deprecated\n address: string\n chainId: number\n}\n\nexport const Context = React.createContext<{\n address: string\n chainId: number\n}>({\n address: undefined,\n chainId: undefined\n})\n\nexport const Web3Provider = (props: { children: React.ReactNode } & Config) => {\n const { appName, children, address, chainId, ...keys } = props\n\n const { chains, provider, webSocketProvider } = useMemo(() => {\n const chain = Object.values(Chains).find((chain) => chain.id === chainId)\n const providers = buildProviders(keys)\n const { chains, provider, webSocketProvider } = configureChains(\n [chain],\n providers\n )\n return { chains, provider, webSocketProvider }\n }, [keys])\n\n const value = {\n address,\n chainId\n }\n\n const { connectors } = getDefaultWallets({\n appName: appName || \"Hybrid App\",\n chains\n })\n\n const wagmiClient = createClient({\n autoConnect: true,\n connectors,\n provider,\n webSocketProvider\n })\n\n return (\n <Context.Provider value={value}>\n <WagmiConfig client={wagmiClient}>\n {/* <RainbowKitProvider chains={chains}>{children}</RainbowKitProvider> */}\n {children}\n </WagmiConfig>\n </Context.Provider>\n )\n}\n","import { ChainProviderFn } from \"wagmi\"\n\nimport { alchemyProvider } from \"wagmi/providers/alchemy\"\nimport { infuraProvider } from \"wagmi/providers/infura\"\nimport { publicProvider } from \"wagmi/providers/public\"\nimport { jsonRpcProvider } from \"wagmi/providers/jsonRpc\"\n\nexport type Config = {\n\talchemyKey?: string\n\tinfuraKey?: string\n\tpublic?: boolean\n}\n\nexport function buildProviders(config: Config) {\n\tconst { alchemyKey, infuraKey, public: usePublic = true } = config\n\tconst providers: ChainProviderFn[] = []\n\n\t// if (alchemyKey) {\n\t// \tproviders.push(\n\t// \t\talchemyProvider({\n\t// \t\t\tapiKey: alchemyKey\n\t// \t\t})\n\t// \t)\n\t// }\n\t// if (infuraKey) {\n\t// \tproviders.push(\n\t// \t\tinfuraProvider({\n\t// \t\t\tapiKey: infuraKey\n\t// \t\t})\n\t// \t)\n\t// }\n\n\t// if (usePublic) {\n\t// \tproviders.push(publicProvider())\n\t// }\n\n\tproviders.push(\n\t\tjsonRpcProvider({\n\t\t\trpc: () => ({\n\t\t\t\thttp: \"http://localhost:8545\",\n\t\t\t\tws: \"ws://localhost:8545\"\n\t\t\t})\n\t\t})\n\t)\n\n\treturn providers\n}\n","import type { TransactionResponse } from \"@ethersproject/providers\"\nimport { BigNumber } from \"ethers\"\nimport { useCallback, useState } from \"react\"\nimport { useAsyncMemo } from \"use-async-memo\"\nimport { useBlockNumber, useContract, useProvider, useSigner } from \"wagmi\"\nimport { useContext } from \"./internal\"\nimport { Contract } from \"types\"\n\nexport const useMinting = (config: Contract) => {\n const { abi } = config\n const { address, chainId } = useContext()\n\n const { data: block } = useBlockNumber()\n const provider = useProvider({ chainId })\n const { data: signer } = useSigner({ chainId })\n\n const [isMinting, setMinting] = useState<boolean>(false)\n const [isSuccess, setSuccess] = useState<boolean>(false)\n const [isError, setError] = useState<boolean>(false)\n\n const contract = useContract({\n address,\n abi\n })\n\n const totalSupply = useAsyncMemo(() => {\n if (!contract) return\n return contract\n .connect(provider)\n .totalSupply()\n .then((res: BigNumber) => res.toNumber())\n }, [contract, block])\n\n const mint = useCallback(() => {\n if (!contract) return\n\n setMinting(true)\n contract\n .connect(signer)\n .mint(1)\n .then((tx: TransactionResponse) => tx.wait())\n .then(() => {\n setSuccess(true)\n setTimeout(() => setSuccess(false), 3000)\n })\n .catch((err: Error) => {\n console.error(err)\n setError(true)\n setTimeout(() => setError(false), 1000)\n })\n .finally(() => setMinting(false))\n }, [signer, contract])\n\n return {\n isMinting,\n isSuccess,\n isError,\n totalSupply,\n mint\n }\n}\n","import { useContext as useReactContext } from \"react\"\n\nimport { Context } from \"../../providers/Web3Provider\"\n\nexport function useContext() {\n return useReactContext(Context)\n}\n","import clsx from \"clsx\"\nimport styles from \"./DefaultButton.module.css\"\n\nexport type DefaultButtonProps = {\n className?: string\n intent?: \"default\" | \"success\" | \"error\"\n onClick?: () => void\n children: React.ReactNode\n disabled?: boolean\n}\n\nconst INTENTS = {\n default: styles.DefaultButtonBase,\n success: styles.DefaultButtonSuccess,\n error: styles.DefaultButtonError\n}\n\nconst DefaultButton = (props: DefaultButtonProps) => {\n const {\n // className = \"px-8 py-3 transition-all cursor-pointer duration-250 hover:scale-[1.05] rounded-xl font-bold\",\n className = styles.DefaultButton,\n intent = \"default\",\n onClick,\n children,\n disabled\n } = props\n\n return (\n <button\n className={clsx(\n className,\n INTENTS[intent],\n disabled && styles.DefaultButtonDisabled\n )}\n onClick={onClick}\n >\n {children}\n </button>\n )\n}\n\nexport default DefaultButton\n","import { useMinting } from \"hooks/useMinting\"\nimport { useConnect, useNetwork, useSigner, useSwitchNetwork } from \"wagmi\"\nimport DefaultButton, { DefaultButtonProps } from \"./DefaultButton\"\nimport { Contract } from \"types\"\n\ntype MintButtonProps = {\n className?: string\n contract: Contract\n button?: React.FC<DefaultButtonProps>\n}\n\nconst chainId = 1337\n\nconst MintButton = (props: MintButtonProps) => {\n const { button: Button = DefaultButton, className, contract } = props\n const { data: signer } = useSigner()\n const { connect, connectors } = useConnect()\n const { chain: network } = useNetwork()\n const { switchNetwork } = useSwitchNetwork()\n\n const { isMinting, isSuccess, isError, mint } = useMinting(contract)\n\n if (isMinting) {\n return (\n <Button disabled className={className}>\n Minting\n </Button>\n )\n }\n\n if (isSuccess) {\n return (\n <Button disabled className={className} intent=\"success\">\n Minted\n </Button>\n )\n }\n\n if (isError) {\n return (\n <Button disabled className={className} intent=\"error\">\n Error Occurred\n </Button>\n )\n }\n\n if (!signer) {\n const connector = connectors[0]\n return (\n <Button className={className} onClick={() => connect({ connector })}>\n Connect Wallet\n </Button>\n )\n }\n\n if (network?.id !== chainId && switchNetwork) {\n return (\n <Button\n onClick={() => switchNetwork(chainId)}\n className={className}\n intent=\"error\"\n >\n Switch Network\n </Button>\n )\n }\n\n return (\n <Button className={className} onClick={mint}>\n Mint Now\n </Button>\n )\n}\n\nexport default MintButton\n","export function bipsToPercent(bp: number | string) {\n if (typeof bp !== \"number\") return null\n return parseInt(bp.toString()) / 100\n}\n\nexport function percentToBips(percent: number) {\n return percent * 100\n}\n\nexport function bipsToDecimal(bp: number | string) {\n if (typeof bp !== \"number\") return 0\n return parseInt(bp.toString()) / 10000\n}\n","import { BigNumber, BigNumberish, ethers, utils } from \"ethers\"\n\nexport function weiToEth(wei: BigNumberish): number {\n return parseFloat(utils.formatEther(wei.toString()))\n}\n\nexport function ethToWei(eth: number): BigNumber | null {\n if (typeof eth === \"undefined\") return null\n return ethers.utils.parseUnits(eth.toString(), \"ether\")\n}\n","export function etherscanAddressURL(address: string, chainId = 1) {\n return etherscanHost(chainId) + \"/address/\" + address\n}\n\nexport function etherscanTxURL(hash: string, chainId = 1) {\n return etherscanHost(chainId) + \"/tx/\" + hash\n}\n\nexport function etherscanHost(chainId = 1) {\n switch (chainId) {\n case 1:\n return `https://etherscan.io`\n case 3:\n return `https://ropsten.etherscan.io`\n case 4:\n return `https://rinkeby.etherscan.io`\n case 5:\n return `https://goerli.etherscan.io`\n case 137:\n return `https://polygonscan.com`\n case 80001:\n return `https://mumbai.polygonscan.com`\n default:\n throw new Error(\"Etherscan: Unknown chain id \" + chainId)\n }\n}\n"],"names":["Context","React","createContext","address","undefined","chainId","Web3Provider","props","appName","children","keys","chains","provider","webSocketProvider","useMemo","chain","Object","values","Chains","find","id","providers","config","push","jsonRpcProvider","rpc","http","ws","buildProviders","configureChains","value","connectors","getDefaultWallets","wagmiClient","createClient","autoConnect","_jsx","Provider","WagmiConfig","client","useMinting","abi","useReactContext","data","block","useBlockNumber","useProvider","signer","useSigner","isMinting","setMinting","useState","isSuccess","setSuccess","isError","setError","contract","useContract","totalSupply","useAsyncMemo","connect","then","res","toNumber","mint","useCallback","tx","wait","setTimeout","catch","err","console","error","finally","INTENTS","default","styles","DefaultButtonBase","success","DefaultButtonSuccess","DefaultButtonError","DefaultButton","className","intent","onClick","disabled","clsx","DefaultButtonDisabled","MintButton","button","Button","useConnect","network","useNetwork","switchNetwork","useSwitchNetwork","connector","bipsToPercent","bp","parseInt","toString","percentToBips","percent","bipsToDecimal","weiToEth","wei","parseFloat","utils","formatEther","ethToWei","eth","ethers","parseUnits","etherscanAddressURL","etherscanHost","etherscanTxURL","hash","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type Config = {
|
|
3
|
+
appName?: string;
|
|
4
|
+
alchemyKey?: string;
|
|
5
|
+
infuraKey?: string;
|
|
6
|
+
address: string;
|
|
7
|
+
chainId: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const Context: React.Context<{
|
|
10
|
+
address: string;
|
|
11
|
+
chainId: number;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const Web3Provider: (props: {
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
} & Config) => JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ChainProviderFn } from "wagmi";
|
|
2
|
+
export type Config = {
|
|
3
|
+
alchemyKey?: string;
|
|
4
|
+
infuraKey?: string;
|
|
5
|
+
public?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function buildProviders(config: Config): ChainProviderFn<import("@wagmi/chains").Chain, import("@ethersproject/providers").BaseProvider, import("@ethersproject/providers").WebSocketProvider>[];
|