Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

init unity-js-bridge package #420

Merged
merged 11 commits into from
Nov 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/fresh-cobras-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@thirdweb-dev/wallets": minor
---

Init wallet package
5 changes: 5 additions & 0 deletions .changeset/real-hats-cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@thirdweb-dev/unity-js-bridge": minor
---

Initial Release
6 changes: 6 additions & 0 deletions .changeset/twenty-tips-brake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@thirdweb-dev/react": patch
"@thirdweb-dev/sdk": patch
---

update deps
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ export const SupportedNetworkSelect: React.FC<SupportedNetworkSelectProps> = ({
const deprecatedNetworks = useMemo(() => {
return SUPPORTED_CHAIN_IDS.map((supportedChain) => {
return getChainFromChainId(supportedChain);
}).filter((n) => !!n.deprecated);
});
}, []);

const testnets = useMemo(() => {
return SUPPORTED_CHAIN_IDS.map((supportedChain) => {
return getChainFromChainId(supportedChain);
}).filter((n) => n.testnet && !n.deprecated);
});
}, []);

const mainnets = useMemo(() => {
return SUPPORTED_CHAIN_IDS.map((supportedChain) => {
return getChainFromChainId(supportedChain);
}).filter((n) => !n.testnet && !n.deprecated);
});
}, []);
return (
<Select {...selectProps}>
Expand Down
5 changes: 4 additions & 1 deletion packages/react/src/evm/connectors/gnosis-safe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,10 @@ export class GnosisSafeConnector extends Connector {
import("@gnosis.pm/safe-ethers-lib"),
]);

const ethAdapter = new safeEthersLib.default({ ethers, signer });
const ethAdapter = new safeEthersLib.default({
ethers,
signerOrProvider: signer,
});

const safe = await safeCoreSdk.default.create({
ethAdapter: ethAdapter as any,
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/evm/constants/chain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { NATIVE_TOKENS, SUPPORTED_CHAIN_ID } from "@thirdweb-dev/sdk";
import { ChainId } from "@thirdweb-dev/sdk";
import type { Chain as WagmiChain } from "wagmi";

export type Chain = WagmiChain & { deprecated?: boolean };
export type Chain = WagmiChain;
const chain: Record<string, Chain> = {
mainnet: {
id: ChainId.Mainnet,
Expand Down
6 changes: 3 additions & 3 deletions packages/sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@
},
"peerDependencies": {
"@aws-sdk/client-secrets-manager": "^3.215.0",
"ethers-aws-kms-signer": "^1.3.2",
"ethers": "^5"
"ethers": "^5",
"ethers-aws-kms-signer": "^1.3.2"
},
"peerDependenciesMeta": {
"@aws-sdk/client-secrets-manager": {
Expand All @@ -127,7 +127,7 @@
"bn.js": "^5.2.1",
"bs58": "^5.0.0",
"cross-fetch": "^3.1.5",
"eventemitter3": "^4.0.7",
"eventemitter3": "^5.0.0",
"fast-deep-equal": "^3.1.3",
"merkletreejs": "^0.2.24",
"tiny-invariant": "^1.2.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/sdk/src/evm/core/classes/contract-events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ContractEvent, EventQueryOptions } from "../../types/index";
import { ContractWrapper } from "./contract-wrapper";
import { EventFragment } from "@ethersproject/abi";
import { BaseContract, Event, providers } from "ethers";
import { ListenerFn } from "eventemitter3";
import type { EventEmitter } from "eventemitter3";

/**
* Listen to Contract events in real time
Expand All @@ -28,7 +28,7 @@ export class ContractEvents<TContract extends BaseContract> {
* @param listener - the callback function that will be called on every transaction
* @public
*/
public addTransactionListener(listener: ListenerFn) {
public addTransactionListener(listener: EventEmitter.ListenerFn) {
this.contractWrapper.addListener(EventType.Transaction, listener);
}

Expand All @@ -44,7 +44,7 @@ export class ContractEvents<TContract extends BaseContract> {
* @param listener - the callback function to remove
* @public
*/
public removeTransactionListener(listener: ListenerFn) {
public removeTransactionListener(listener: EventEmitter.ListenerFn) {
this.contractWrapper.off(EventType.Transaction, listener);
}

Expand Down
4 changes: 4 additions & 0 deletions packages/unity-js-bridge/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# folders
dist/

# files
4 changes: 4 additions & 0 deletions packages/unity-js-bridge/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: ["thirdweb"],
};
16 changes: 16 additions & 0 deletions packages/unity-js-bridge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<p align="center">
<br />
<a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/packages/sdk/logo.svg?raw=true" width="200" alt=""/></a>
<br />
</p>
<h1 align="center">thirdweb Unity JS bridge</h1>
<p align="center">
<!-- <a href="https://www.npmjs.com/package/@thirdweb-dev/sdk"><img src="https://img.shields.io/npm/v/@thirdweb-dev/sdk?color=red&label=npm&logo=npm" alt="npm version"/></a> -->
<!-- <a href="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml"><img alt="Build Status" src="https://github.com/thirdweb-dev/js/actions/workflows/CI.yml/badge.svg"/></a> -->
<!-- <a href="https://discord.gg/thirdweb"><img alt="Join our Discord!" src="https://img.shields.io/discord/834227967404146718.svg?color=7289da&label=discord&logo=discord&style=flat"/></a> -->

</p>
<!-- <p align="center"><strong>Best in class Web3 SDK for Browser, Node and Mobile apps</strong></p> -->
<br />

### todo
33 changes: 33 additions & 0 deletions packages/unity-js-bridge/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "@thirdweb-dev/unity-js-bridge",
"version": "0.0.0",
"main": "dist/thirdweb-unity-bridge.js",
"repository": "https://github.com/thirdweb-dev/js/tree/main/packages/unity-js-bridge",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/thirdweb-dev/js/issues"
},
"author": "thirdweb eng <eng@thirdweb.com>",
"files": [
"dist/"
],
"dependencies": {
"@thirdweb-dev/sdk": "*",
"@thirdweb-dev/storage": "*",
"@thirdweb-dev/wallets": "*",
"ethers": "^5.7.2"
},
"devDependencies": {
"esbuild": "^0.15.16",
"node-stdlib-browser": "^1.2.0",
"typescript": "^4.7.4"
},
"scripts": {
"format": "prettier --write 'src/**/*'",
"lint": "eslint src/",
"fix": "eslint src/ --fix",
"clean": "rm -rf dist/",
"build": "yarn clean && tsc && node scripts/build.js",
"push": "yalc push"
}
}
28 changes: 28 additions & 0 deletions packages/unity-js-bridge/scripts/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const esbuild = require("esbuild");
const plugin = require("node-stdlib-browser/helpers/esbuild/plugin");
const stdLibBrowser = require("node-stdlib-browser");

// const DIST_PATH = path.resolve(process.cwd(), "dist/");

// fs.rmSync(DIST_PATH, { recursive: true, force: true });

esbuild.build({
jsx: "automatic",
entryPoints: ["src/thirdweb-bridge.ts"],
bundle: true,
minify: true,
platform: "browser",
target: "es2020",
outfile: "dist/thirdweb-unity-bridge.js",
splitting: false,
write: true,
sourcemap: false,
inject: [require.resolve("node-stdlib-browser/helpers/esbuild/shim")],
define: {
process: JSON.stringify({
env: "production",
}),
Buffer: "Buffer",
},
plugins: [plugin(stdLibBrowser)],
});