diff --git a/packages/examples/sdk-frontend-react/src/app/components/Connect.tsx b/packages/examples/sdk-frontend-react/src/app/components/Connect.tsx index c792f7ebe..bb86a0764 100644 --- a/packages/examples/sdk-frontend-react/src/app/components/Connect.tsx +++ b/packages/examples/sdk-frontend-react/src/app/components/Connect.tsx @@ -12,7 +12,7 @@ const NETWORK_MAPPING: NwMappingType = { 11155111: 'ETH_SEPOLIA', 3: 'ETH_ROPSTEN', 137: 'POLYGON_MAINNET', - 80001: 'POLYGON_MUMBAI', + 80002: 'POLYGON_AMOY', 56: 'BSC_MAINNET', 97: 'BSC_TESTNET', 11155420: 'OPTIMISM_TESTNET', @@ -28,7 +28,7 @@ const NETWORK_MAPPING: NwMappingType = { const injected = new InjectedConnector({ supportedChainIds: [ - 1, 3, 4, 11155111, 42, 137, 80001, 56, 97, 10, 11155420, 1442, 1101, 421614, + 1, 3, 4, 11155111, 42, 137, 80002, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, 80085, ], }); diff --git a/packages/examples/sdk-frontend-react/src/app/helpers.ts b/packages/examples/sdk-frontend-react/src/app/helpers.ts index f4b43cd0d..f7a467193 100644 --- a/packages/examples/sdk-frontend-react/src/app/helpers.ts +++ b/packages/examples/sdk-frontend-react/src/app/helpers.ts @@ -19,7 +19,7 @@ const Constants = { DEFAULT_CHAIN_ID: 11155111, DEV_CHAIN_ID: 99999, NON_ETH_CHAINS: [ - 137, 80001, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, + 137, 80002, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, 80085, ], ETH_CHAINS: [1, 11155111], diff --git a/packages/examples/sdk-react-native/src/screens/NotificationScreen.tsx b/packages/examples/sdk-react-native/src/screens/NotificationScreen.tsx index c8fdd5533..d7b36bbc4 100644 --- a/packages/examples/sdk-react-native/src/screens/NotificationScreen.tsx +++ b/packages/examples/sdk-react-native/src/screens/NotificationScreen.tsx @@ -16,7 +16,7 @@ export const NotificationScreen = () => { image: undefined, url: 'https://push.org/', theme: 'light', - chainName: 'POLYGON_TEST_MUMBAI', + chainName: 'POLYGON_TEST_AMOY', cta: 'https://github.com/ethereum-push-notification-service/', }, { diff --git a/packages/restapi/src/lib/chat/getChatInfo.ts b/packages/restapi/src/lib/chat/getChatInfo.ts index 55cdbe5a0..907e39303 100644 --- a/packages/restapi/src/lib/chat/getChatInfo.ts +++ b/packages/restapi/src/lib/chat/getChatInfo.ts @@ -13,7 +13,8 @@ export interface ChatInfoResponse { }; list: string; participants: string[]; - chatId: string + chatId: string; + receipient: string; } /** diff --git a/packages/restapi/src/lib/config.ts b/packages/restapi/src/lib/config.ts index 4b79cb2de..c70c38087 100644 --- a/packages/restapi/src/lib/config.ts +++ b/packages/restapi/src/lib/config.ts @@ -5,7 +5,6 @@ import { tokenABI } from './abis/token'; import { mainnet, polygon, - polygonMumbai, bsc, bscTestnet, optimism, @@ -20,6 +19,30 @@ import { } from 'viem/chains'; import { defineChain } from 'viem'; +const polygonAmoy = defineChain({ + id: 80002, + name: 'Polygon Amoy Testnet', + network: 'polygon-amoy', + nativeCurrency: { + decimals: 18, + name: 'MATIC', + symbol: 'MATIC', + }, + rpcUrls: { + default: { http: ['https://rpc-amoy.polygon.technology/'] }, + public: { http: ['https://rpc-amoy.polygon.technology/'] }, + }, + blockExplorers: { + default: { + name: 'Polygon Amoy', + url: 'https://www.oklink.com/amoy', + }, + }, + testnet: true, +}); + + + const berachainTestnet = defineChain({ id: 80085, name: 'Berachain Artio', @@ -58,7 +81,7 @@ const BLOCKCHAIN_NETWORK = { ETH_MAINNET: 'eip155:1', ETH_SEPOLIA: 'eip155:11155111', POLYGON_MAINNET: 'eip155:137', - POLYGON_MUMBAI: 'eip155:80001', + POLYGON_AMOY: 'eip155:80002', BSC_MAINNET: 'eip155:56', BSC_TESTNET: 'eip155:97', OPTIMISM_TESTNET: 'eip155:11155420', @@ -92,9 +115,9 @@ export const ALIAS_CHAIN_ID: { } = { POLYGON: { [ENV.PROD]: 137, - [ENV.STAGING]: 80001, - [ENV.DEV]: 80001, - [ENV.LOCAL]: 80001, + [ENV.STAGING]: 80002, + [ENV.DEV]: 80002, + [ENV.LOCAL]: 80002, }, BSC: { [ENV.PROD]: 56, @@ -145,7 +168,7 @@ export const CHAIN_NAME: { [key: number]: string } = { 11155111: 'ETHEREUM', // polygon 137: 'POLYGON', - 80001: 'POLYGON', + 80002: 'POLYGON', // bsc 56: 'BSC', 97: 'BSC', @@ -247,7 +270,7 @@ const CONFIG = { API_BASE_URL: API_BASE_URL[ENV.STAGING], EPNS_COMMUNICATOR_CONTRACT: '0x0c34d54a09cfe75bccd878a469206ae77e0fe6e7', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { API_BASE_URL: API_BASE_URL[ENV.STAGING], EPNS_COMMUNICATOR_CONTRACT: '0xb3971BCef2D791bc4027BbfedFb47319A4AAaaAa', }, @@ -281,9 +304,9 @@ const CONFIG = { API_BASE_URL: API_BASE_URL[ENV.DEV], EPNS_COMMUNICATOR_CONTRACT: '0x9dDCD7ed7151afab43044E4D694FA064742C428c', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { API_BASE_URL: API_BASE_URL[ENV.DEV], - EPNS_COMMUNICATOR_CONTRACT: '0xAf55BE8e6b0d6107891bA76eADeEa032ef8A4504', + EPNS_COMMUNICATOR_CONTRACT: '0x9cb3bd7550b5c92baa056fc0f08132f49508145f', }, [BLOCKCHAIN_NETWORK.BSC_TESTNET]: { API_BASE_URL: API_BASE_URL[ENV.DEV], @@ -315,9 +338,9 @@ const CONFIG = { API_BASE_URL: API_BASE_URL[ENV.LOCAL], EPNS_COMMUNICATOR_CONTRACT: '0x9dDCD7ed7151afab43044E4D694FA064742C428c', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { API_BASE_URL: API_BASE_URL[ENV.LOCAL], - EPNS_COMMUNICATOR_CONTRACT: '0xAf55BE8e6b0d6107891bA76eADeEa032ef8A4504', + EPNS_COMMUNICATOR_CONTRACT: '0x9cb3bd7550b5c92baa056fc0f08132f49508145f', }, [BLOCKCHAIN_NETWORK.BSC_TESTNET]: { API_BASE_URL: API_BASE_URL[ENV.LOCAL], @@ -422,8 +445,8 @@ export const VIEM_CONFIG = { API_BASE_URL: API_BASE_URL[ENV.STAGING], EPNS_COMMUNICATOR_CONTRACT: '0x0c34d54a09cfe75bccd878a469206ae77e0fe6e7', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { - NETWORK: polygonMumbai, + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { + NETWORK: polygonAmoy, API_BASE_URL: API_BASE_URL[ENV.STAGING], EPNS_COMMUNICATOR_CONTRACT: '0xb3971BCef2D791bc4027BbfedFb47319A4AAaaAa', }, @@ -464,10 +487,10 @@ export const VIEM_CONFIG = { API_BASE_URL: API_BASE_URL[ENV.DEV], EPNS_COMMUNICATOR_CONTRACT: '0x9dDCD7ed7151afab43044E4D694FA064742C428c', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { - NETWORK: polygonMumbai, + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { + NETWORK: polygonAmoy, API_BASE_URL: API_BASE_URL[ENV.DEV], - EPNS_COMMUNICATOR_CONTRACT: '0xAf55BE8e6b0d6107891bA76eADeEa032ef8A4504', + EPNS_COMMUNICATOR_CONTRACT: '0x9cb3bd7550b5c92baa056fc0f08132f49508145f', }, [BLOCKCHAIN_NETWORK.BSC_TESTNET]: { NETWORK: bscTestnet, @@ -506,10 +529,10 @@ export const VIEM_CONFIG = { API_BASE_URL: API_BASE_URL[ENV.DEV], EPNS_COMMUNICATOR_CONTRACT: '0x9dDCD7ed7151afab43044E4D694FA064742C428c', }, - [BLOCKCHAIN_NETWORK.POLYGON_MUMBAI]: { - NETWORK: polygonMumbai, + [BLOCKCHAIN_NETWORK.POLYGON_AMOY]: { + NETWORK: polygonAmoy, API_BASE_URL: API_BASE_URL[ENV.DEV], - EPNS_COMMUNICATOR_CONTRACT: '0xAf55BE8e6b0d6107891bA76eADeEa032ef8A4504', + EPNS_COMMUNICATOR_CONTRACT: '0x9cb3bd7550b5c92baa056fc0f08132f49508145f', }, [BLOCKCHAIN_NETWORK.BSC_TESTNET]: { NETWORK: bscTestnet, diff --git a/packages/restapi/src/lib/constants.ts b/packages/restapi/src/lib/constants.ts index 1b10f7460..e31535276 100644 --- a/packages/restapi/src/lib/constants.ts +++ b/packages/restapi/src/lib/constants.ts @@ -66,7 +66,7 @@ const Constants = { DEFAULT_CHAIN_ID: 11155111, DEV_CHAIN_ID: 99999, NON_ETH_CHAINS: [ - 137, 80001, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, + 137, 80002, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, 80085, ], ETH_CHAINS: [1, 11155111], diff --git a/packages/restapi/src/lib/payloads/constants.ts b/packages/restapi/src/lib/payloads/constants.ts index 18f4bee0b..4dc57268d 100644 --- a/packages/restapi/src/lib/payloads/constants.ts +++ b/packages/restapi/src/lib/payloads/constants.ts @@ -6,7 +6,7 @@ export const CHAIN_ID_TO_SOURCE: ChainIdToSourceType = { 1: 'ETH_MAINNET', 11155111: 'ETH_TEST_SEPOLIA', 137: 'POLYGON_MAINNET', - 80001: 'POLYGON_TEST_MUMBAI', + 80002: 'POLYGON_TEST_AMOY', 56: 'BSC_MAINNET', 97: 'BSC_TESTNET', 10: 'OPTIMISM_MAINNET', @@ -24,7 +24,7 @@ export const SOURCE_TYPES = { ETH_MAINNET: 'ETH_MAINNET', ETH_TEST_SEPOLIA: 'ETH_TEST_SEPOLIA', POLYGON_MAINNET: 'POLYGON_MAINNET', - POLYGON_TEST_MUMBAI: 'POLYGON_TEST_MUMBAI', + POLYGON_TEST_AMOY: 'POLYGON_TEST_AMOY', BSC_MAINNET: 'BSC_MAINNET', BSC_TESTNET: 'BSC_TESTNET', OPTIMISM_MAINNET: 'OPTIMISM_MAINNET', diff --git a/packages/restapi/src/lib/payloads/helpers.ts b/packages/restapi/src/lib/payloads/helpers.ts index ca26b2a03..228cbb77b 100644 --- a/packages/restapi/src/lib/payloads/helpers.ts +++ b/packages/restapi/src/lib/payloads/helpers.ts @@ -329,7 +329,7 @@ export function getCAIPFormat(chainId: number, address: string) { // EVM based chains if ( [ - 1, 11155111, 42, 137, 80001, 56, 97, 10, 11155420, 1442, 1101, 421614, + 1, 11155111, 42, 137, 80002, 56, 97, 10, 11155420, 1442, 1101, 421614, 42161, 122, 123, 80085, ].includes(chainId) ) { diff --git a/packages/restapi/src/lib/pushapi/PushAPI.ts b/packages/restapi/src/lib/pushapi/PushAPI.ts index 577754196..6165b77fb 100644 --- a/packages/restapi/src/lib/pushapi/PushAPI.ts +++ b/packages/restapi/src/lib/pushapi/PushAPI.ts @@ -21,6 +21,7 @@ import { Video } from './video'; import { isValidCAIP10NFTAddress } from '../helpers'; import { LRUCache } from 'lru-cache'; import { cache } from '../helpers/cache'; +import { v4 as uuidv4 } from 'uuid'; export class PushAPI { private signer?: SignerType; @@ -44,7 +45,7 @@ export class PushAPI { // Notification public channel!: Channel; public notification!: Notification; - + public uid: string; // error object to maintain errors and warnings public errors: { type: 'WARN' | 'ERROR'; message: string }[]; @@ -70,7 +71,7 @@ export class PushAPI { // Instantiate the notification classes this.channel = new Channel(this.signer, this.env, this.account); this.notification = new Notification(this.signer, this.env, this.account); - + this.uid = uuidv4(); this.cache = cache; // Initialize the instances of the four classes @@ -314,7 +315,7 @@ export class PushAPI { this.pgpPublicKey = newUser.publicKey; this.readMode = false; this.errors = []; - + this.uid = uuidv4(); // Initialize the instances of the four classes this.chat = new Chat( this.account, diff --git a/packages/restapi/src/lib/pushapi/chat.ts b/packages/restapi/src/lib/pushapi/chat.ts index 074bc6dfb..ad5ffcb37 100644 --- a/packages/restapi/src/lib/pushapi/chat.ts +++ b/packages/restapi/src/lib/pushapi/chat.ts @@ -283,15 +283,33 @@ export class Chat { }); } - async info(receipient: string): Promise { - const options: PUSH_CHAT.GetChatInfoType = { + async info( + receipient: string, + options?: { + overrideAccount?: string; + } + ): Promise { + const accountToUse = options?.overrideAccount || this.account; + const request: PUSH_CHAT.GetChatInfoType = { receipient: receipient, - sender: this.account, + sender: accountToUse, env: this.env, }; - try { - const chatInfo = await PUSH_CHAT.getChatInfo(options); + const chatInfo = await PUSH_CHAT.getChatInfo(request); + const finalRecipient = chatInfo.meta.group + ? chatInfo.chatId + : receipient; + + const response: ChatInfoResponse = { + meta: chatInfo.meta, + list: chatInfo.list, + participants: chatInfo.participants, + chatId: chatInfo.chatId, + receipient: finalRecipient, + }; + + return response; return chatInfo; } catch (error) { console.error(`Error in Chat.info: `, error); diff --git a/packages/restapi/src/lib/pushstream/PushStream.ts b/packages/restapi/src/lib/pushstream/PushStream.ts index 92edcff5e..7f2863d2d 100644 --- a/packages/restapi/src/lib/pushstream/PushStream.ts +++ b/packages/restapi/src/lib/pushstream/PushStream.ts @@ -17,7 +17,7 @@ import { Chat } from '../pushapi/chat'; import { ProgressHookType, SignerType } from '../types'; import { ALPHA_FEATURE_CONFIG } from '../config'; import { ADDITIONAL_META_TYPE } from '../payloads'; - +import { v4 as uuidv4 } from 'uuid'; export class PushStream extends EventEmitter { private pushChatSocket: any; private pushNotificationSocket: any; @@ -28,7 +28,7 @@ export class PushStream extends EventEmitter { private chatInstance: Chat; private listen: STREAM[]; private disconnected: boolean; - + public uid: string; constructor( account: string, private _listen: STREAM[], @@ -45,6 +45,7 @@ export class PushStream extends EventEmitter { this.options = options; this.listen = _listen; this.disconnected = false; + this.uid = uuidv4(); this.chatInstance = new Chat( this.account, this.options.env as ENV, @@ -101,6 +102,7 @@ export class PushStream extends EventEmitter { listen: STREAM[], newOptions: PushStreamInitializeProps ): Promise { + this.uid = uuidv4(); this.listen = listen; this.options = { ...this.options, ...newOptions }; await this.disconnect(); diff --git a/packages/restapi/tests/.env.sample b/packages/restapi/tests/.env.sample index 4c4067f9a..fbfbf384a 100644 --- a/packages/restapi/tests/.env.sample +++ b/packages/restapi/tests/.env.sample @@ -7,6 +7,7 @@ ENV=env_name BERACHAIN_CHANNEL_PRIVATE_KEY=your_berachain_channel_private_key ARBITRUM_CHANNEL_PRIVATE_KEY=your_arbitrum_channel_private_key OPTIMISM_CHANNEL_PRIVATE_KEY=your_optimism_channel_private_key +POLYGON_CHANNEL_PRIVATE_KEY=your_polygon_channel_private_key WALLET_PRIVATE_KEY=your_wallet_private_key WALLET_PRIVATE_KEY_2=your_wallet_private_key_2 diff --git a/packages/restapi/tests/lib/alias/polygon.test.ts b/packages/restapi/tests/lib/alias/polygon.test.ts new file mode 100644 index 000000000..5aa2cfc2e --- /dev/null +++ b/packages/restapi/tests/lib/alias/polygon.test.ts @@ -0,0 +1,84 @@ +import { ethers } from 'ethers'; +import { PushAPI } from '../../../src'; +import { ENV } from '../../../src/lib/constants'; + +describe('POLYGON ALIAS functionality', () => { + let userAlice: PushAPI; + let userBob: PushAPI; + let account: string; + let account2: string; + + // accessing env dynamically using process.env + type EnvStrings = keyof typeof ENV; + const envMode = process.env.ENV as EnvStrings; + const _env = ENV[envMode]; + + before(async () => { + const provider = new ethers.providers.JsonRpcProvider( + 'https://rpc-amoy.polygon.technology/' + ); + const signer = new ethers.Wallet( + `0x${process.env['POLYGON_CHANNEL_PRIVATE_KEY']}`, + provider + ); + account = signer.address; + userAlice = await PushAPI.initialize(signer, { + env: _env, + }); + + const signer2 = new ethers.Wallet(ethers.Wallet.createRandom().privateKey); + account2 = signer2.address; + userBob = await PushAPI.initialize(signer2, { env: _env }); + }); + + it.skip('Should be able to create channel', async () => { + const res = await userAlice.channel.create({ + name: 'SDK Alias Test', + description: 'Testing using sdk', + url: 'https://push.org', + icon: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAz0lEQVR4AcXBsU0EQQyG0e+saWJ7oACiKYDMEZVs6GgSpC2BIhzRwAS0sgk9HKn3gpFOAv3v3V4/3+4U4Z1q5KTy42Ql940qvFONnFSGmCFmiN2+fj7uCBlihpgh1ngwcvKfwjuVIWaIGWKNB+GdauSk8uNkJfeNKryzYogZYoZY40m5b/wlQ8wQM8TayMlKeKcaOVkJ71QjJyuGmCFmiDUe+HFy4VyEd57hx0mV+0ZliBlihlgL71w4FyMnVXhnZeSkiu93qheuDDFDzBD7BcCyMAOfy204AAAAAElFTkSuQmCC', + alias: `eip155:80002:${account}`, + progressHook: (progress: any) => console.log(progress), + }); + }); + + it('Should be able to send notifications', async () => { + await userAlice.channel.send(['*'], { + notification: { + title: 'hi', + body: 'test-broadcast', + }, + payload: { + title: 'testing broadcast notification', + body: 'testing with random body', + cta: 'https://google.com/', + embed: 'https://avatars.githubusercontent.com/u/64157541?s=200&v=4', + }, + channel: `eip155:80002:${account}`, + }); + }); + + it('Should be able to add delegatee', async () => { + await userAlice.channel.delegate.add(account2); + }); + + it('Should be able to send notifications from delegate', async () => { + await userBob.channel.send(['*'], { + notification: { + title: 'hi', + body: 'test-broadcast', + }, + payload: { + title: 'testing broadcast notification', + body: 'testing with random body', + cta: 'https://google.com/', + embed: 'https://avatars.githubusercontent.com/u/64157541?s=200&v=4', + }, + channel: `eip155:80002:${account}`, + }); + }); + + it('Should be able to remove delegatee', async () => { + await userAlice.channel.delegate.remove(account2); + }); +}); diff --git a/packages/uireactnative/src/lib/components/notification/NotificationItem.tsx b/packages/uireactnative/src/lib/components/notification/NotificationItem.tsx index 5ba18de4d..6cb29da2c 100644 --- a/packages/uireactnative/src/lib/components/notification/NotificationItem.tsx +++ b/packages/uireactnative/src/lib/components/notification/NotificationItem.tsx @@ -43,7 +43,7 @@ function extractTimeStamp(notificationBody: string): { type chainNameType = | 'ETH_TEST_SEPOLIA' - | 'POLYGON_TEST_MUMBAI' + | 'POLYGON_TEST_AMOY' | 'ETH_MAINNET' | 'POLYGON_MAINNET' | 'BSC_MAINNET' diff --git a/packages/uireactnative/src/lib/constants.ts b/packages/uireactnative/src/lib/constants.ts index cb7a6425c..ea82aed95 100644 --- a/packages/uireactnative/src/lib/constants.ts +++ b/packages/uireactnative/src/lib/constants.ts @@ -70,8 +70,8 @@ export const GLOBALS = { label: 'ETHEREUM MAINNET', icon: EthereumSVG, }, - POLYGON_TEST_MUMBAI: { - label: 'POLYGON MUMBAI', + POLYGON_TEST_AMOY: { + label: 'POLYGON AMOY', icon: PolygonSVG, }, POLYGON_MAINNET: { diff --git a/packages/uiweb/README.md b/packages/uiweb/README.md index 13c496fe5..a1406b96f 100644 --- a/packages/uiweb/README.md +++ b/packages/uiweb/README.md @@ -149,7 +149,7 @@ where | cta | string | Call To Action Link (given during notification creation) | | image | string | Any media link (given during notification creation) | | url | string | Channel Link (given during channel setup) | -| chainName | string | Can be anyone of the following blockchain networks on which the notification was sent - "ETH_MAINNET", "ETH_TEST_SEPOLIA", "POLYGON_MAINNET", "POLYGON_TEST_MUMBAI", "BSC_MAINNET, "BSC_TESTNET", "OPTIMISM_MAINNET", "OPTIMISM_TESTNET", "POLYGON_ZK_EVM_TESTNET", "POLYGON_ZK_EVM_MAINNET", "ARBITRUM_TESTNET", "ARBITRUMONE_MAINNET", "FUSE_TESTNET", "FUSE_MAINNET", "BERACHIAN_TESTNET", "THE_GRAPH" | +| chainName | string | Can be anyone of the following blockchain networks on which the notification was sent - "ETH_MAINNET", "ETH_TEST_SEPOLIA", "POLYGON_MAINNET", "POLYGON_TEST_AMOY", "BSC_MAINNET, "BSC_TESTNET", "OPTIMISM_MAINNET", "OPTIMISM_TESTNET", "POLYGON_ZK_EVM_TESTNET", "POLYGON_ZK_EVM_MAINNET", "ARBITRUM_TESTNET", "ARBITRUMONE_MAINNET", "FUSE_TESTNET", "FUSE_MAINNET", "BERACHIAN_TESTNET", "THE_GRAPH" | | theme | string | 'light' or 'dark' (customization to be given by the dApp) | | customTheme | INotificationItemTheme | custom theme object for the component | | isSpam | boolean | whether a spam notification or not | diff --git a/packages/uiweb/src/lib/components/chat/ConnectButton/index.tsx b/packages/uiweb/src/lib/components/chat/ConnectButton/index.tsx index ca758fb37..a339765e3 100644 --- a/packages/uiweb/src/lib/components/chat/ConnectButton/index.tsx +++ b/packages/uiweb/src/lib/components/chat/ConnectButton/index.tsx @@ -1,13 +1,13 @@ import { IChatTheme } from '../theme'; -import coinbaseWalletModule from '@web3-onboard/coinbase' +import coinbaseWalletModule from '@web3-onboard/coinbase'; import { ConnectButtonSub } from './ConnectButton'; import { BLOCKNATIVE_PROJECT_ID, InfuraAPIKey } from '../../../config'; import { Web3OnboardProvider } from '@web3-onboard/react'; import injectedModule, { ProviderLabel } from '@web3-onboard/injected-wallets'; -import walletConnectModule from '@web3-onboard/walletconnect' +import walletConnectModule from '@web3-onboard/walletconnect'; import init from '@web3-onboard/core'; -import PushIcon from "../../../icons/Bell.svg" +import PushIcon from '../../../icons/Bell.svg'; const APP_META_DATA = { name: 'Push Protocol', @@ -17,86 +17,84 @@ const APP_META_DATA = { recommendedInjectedWallets: [ { name: 'MetaMask', url: 'https://metamask.io' }, - ] -} + ], +}; const wcv2InitOptions = { projectId: BLOCKNATIVE_PROJECT_ID, - requiredChains: [1, 56] -} + requiredChains: [1, 56], +}; -const walletConnect = walletConnectModule(wcv2InitOptions) -const coinbaseWalletSdk = coinbaseWalletModule({ darkMode: true }) +const walletConnect = walletConnectModule(wcv2InitOptions); +const coinbaseWalletSdk = coinbaseWalletModule({ darkMode: true }); const CHAINS = [ { id: '0x1', token: 'ETH', label: 'Ethereum Mainnet', - rpcUrl: `https://mainnet.infura.io/v3/${InfuraAPIKey}` + rpcUrl: `https://mainnet.infura.io/v3/${InfuraAPIKey}`, }, { id: '0xAA36A7', token: 'ETH', label: 'Sepolia', - rpcUrl: `https://sepolia.infura.io/v3/${InfuraAPIKey}` + rpcUrl: `https://sepolia.infura.io/v3/${InfuraAPIKey}`, }, { - id: '0x13881', + id: '0x13882', token: 'MATIC', - label: 'Polygon - Mumbai', - rpcUrl: 'https://matic-mumbai.chainstacklabs.com' + label: 'Polygon - Amoy', + rpcUrl: 'https://rpc-amoy.polygon.technology', }, { id: '0x38', token: 'BNB', label: 'Binance', - rpcUrl: 'https://bsc-dataseed.binance.org/' + rpcUrl: 'https://bsc-dataseed.binance.org/', }, { id: '0xA', token: 'OETH', label: 'Optimism', - rpcUrl: 'https://mainnet.optimism.io' + rpcUrl: 'https://mainnet.optimism.io', }, { id: '0xA4B1', token: 'ARB-ETH', label: 'Arbitrum', - rpcUrl: 'https://rpc.ankr.com/arbitrum' - } -] - - -const wallets = [injectedModule(), walletConnect, coinbaseWalletSdk] - - + rpcUrl: 'https://rpc.ankr.com/arbitrum', + }, +]; +const wallets = [injectedModule(), walletConnect, coinbaseWalletSdk]; const web3OnBoard = init({ wallets, - chains:CHAINS, - appMetadata:APP_META_DATA, + chains: CHAINS, + appMetadata: APP_META_DATA, accountCenter: { desktop: { - enabled: false + enabled: false, }, mobile: { - enabled: false - } + enabled: false, + }, }, connect: { autoConnectLastWallet: true, - } -}) + }, +}); interface IConnectButtonCompProps { autoConnect?: boolean; } -export const ConnectButtonComp: React.FC = ({ autoConnect }) => { +export const ConnectButtonComp: React.FC = ({ + autoConnect, +}) => { return ( ); -}; \ No newline at end of file +}; diff --git a/packages/uiweb/src/lib/components/chat/CreateGroup/AddCriteria.tsx b/packages/uiweb/src/lib/components/chat/CreateGroup/AddCriteria.tsx index f99fa58b2..1c893821f 100644 --- a/packages/uiweb/src/lib/components/chat/CreateGroup/AddCriteria.tsx +++ b/packages/uiweb/src/lib/components/chat/CreateGroup/AddCriteria.tsx @@ -266,6 +266,7 @@ const AddCriteria = ({ } as DropdownValueType) } + const onQuantityChange = (e: any) => { setQuantity({ ...quantity, value: e.target.value }); }; diff --git a/packages/uiweb/src/lib/components/chat/CreateGroup/CreateGroupModal.tsx b/packages/uiweb/src/lib/components/chat/CreateGroup/CreateGroupModal.tsx index 7534d0a13..4114e71f5 100644 --- a/packages/uiweb/src/lib/components/chat/CreateGroup/CreateGroupModal.tsx +++ b/packages/uiweb/src/lib/components/chat/CreateGroup/CreateGroupModal.tsx @@ -29,15 +29,9 @@ import { ProfilePicture, device } from '../../../config'; import { CriteriaValidationErrorType } from '../types'; import { MODAL_BACKGROUND_TYPE, MODAL_POSITION_TYPE } from '../../../types'; -import { - CreateGroupModalProps, - IChatTheme, - -} from '../exportedTypes'; +import { CreateGroupModalProps, IChatTheme } from '../exportedTypes'; import AutoImageClipper from '../reusables/AutoImageClipper'; - - export const CREATE_GROUP_STEP_KEYS = { INPUT_DETAILS: 1, GROUP_TYPE: 2, @@ -61,6 +55,7 @@ export const CreateGroupModal: React.FC = ({ onClose, modalBackground = MODAL_BACKGROUND_TYPE.OVERLAY, modalPositionType = MODAL_POSITION_TYPE.GLOBAL, + onSuccess, }) => { const [activeComponent, setActiveComponent] = useState( // replace it with info one @@ -107,7 +102,6 @@ export const CreateGroupModal: React.FC = ({ }); const [isImageUploaded, setIsImageUploaded] = useState(false); - const showError = (errorMessage: string) => { groupInfoToast.showMessageToast({ toastTitle: 'Error', @@ -118,7 +112,7 @@ export const CreateGroupModal: React.FC = ({ }; const getEncryptionType = () => { - console.debug(groupInputDetails.groupEncryptionType, "encryptionTypeee"); + console.debug(groupInputDetails.groupEncryptionType, 'encryptionTypeee'); if (groupInputDetails.groupEncryptionType === 'encrypted') { return false; } @@ -139,8 +133,10 @@ export const CreateGroupModal: React.FC = ({ .map((member: any) => member.wallets), }; const rules: any = checked ? criteriaStateManager.generateRule() : {}; - const isSuccess = await createGatedGroup(groupInfo, rules); - if (isSuccess === true) { + const { success: isGroupCreated, data: APIResponse } = + await createGatedGroup(groupInfo, rules); + if (isGroupCreated === true) { + onSuccess && onSuccess(APIResponse); groupInfoToast.showMessageToast({ toastTitle: 'Success', toastMessage: 'Group created successfully', @@ -211,7 +207,7 @@ export const CreateGroupModal: React.FC = ({ onClose={onClose} /> ); - + case CREATE_GROUP_STEP_KEYS.ADD_MEMBERS: return ( = ({ onClose={onClose} handlePrevious={handlePreviousfromAddWallets} memberList={groupInputDetails.groupMembers} - handleMemberList={(members: any)=>{ - setGroupInputDetails( - (prev: GroupInputDetailsType) => ({ ...prev, groupMembers: members}) - )}} + handleMemberList={(members: any) => { + setGroupInputDetails((prev: GroupInputDetailsType) => ({ + ...prev, + groupMembers: members, + })); + }} isLoading={loading} isPublic={getEncryptionType()} /> - ); default: return ( @@ -264,7 +261,9 @@ export interface ModalHeaderProps { handleAddWallets?: () => void; isImageUploaded?: boolean; setIsImageUploaded?: React.Dispatch>; - setGroupInputDetails?: React.Dispatch>; + setGroupInputDetails?: React.Dispatch< + React.SetStateAction + >; groupInputDetails?: GroupInputDetailsType; } @@ -494,4 +493,4 @@ const ErrorSpan = styled(Span)` font-size: 12px; font-weight: 500; color: #ed5858; -`; \ No newline at end of file +`; diff --git a/packages/uiweb/src/lib/components/chat/constants/chainDetails.tsx b/packages/uiweb/src/lib/components/chat/constants/chainDetails.tsx index 71df6f491..cd6e2d67f 100644 --- a/packages/uiweb/src/lib/components/chat/constants/chainDetails.tsx +++ b/packages/uiweb/src/lib/components/chat/constants/chainDetails.tsx @@ -28,9 +28,9 @@ export const NETWORK_ICON_DETAILS = { label: 'ETHEREUM MAINNET', icon: createSVGIcon(, 'Ethereum Mainnet'), }, - 80001: { - label: 'POLYGON MUMBAI', - icon: createSVGIcon(, 'Polygon Mumbai'), + 80002: { + label: 'POLYGON AMOY', + icon: createSVGIcon(, 'Polygon Amoy'), }, 137: { label: 'POLYGON MAINNET', diff --git a/packages/uiweb/src/lib/components/chat/exportedTypes.ts b/packages/uiweb/src/lib/components/chat/exportedTypes.ts index e389a3f80..cccffd782 100644 --- a/packages/uiweb/src/lib/components/chat/exportedTypes.ts +++ b/packages/uiweb/src/lib/components/chat/exportedTypes.ts @@ -1,7 +1,11 @@ -import type { CONSTANTS, GroupDTO, GroupInfoDTO, IMessageIPFS } from '@pushprotocol/restapi'; -import { IChatTheme } from "./theme"; -import { IGroup, ModalBackgroundType, ModalPositionType } from '../../types' - +import type { + CONSTANTS, + GroupDTO, + GroupInfoDTO, + IMessageIPFS, +} from '@pushprotocol/restapi'; +import { IChatTheme } from './theme'; +import { IGroup, ModalBackgroundType, ModalPositionType } from '../../types'; export interface IChatPreviewPayload { chatId: string | undefined; @@ -12,29 +16,34 @@ export interface IChatPreviewPayload { chatMsg?: { messageType: string; messageContent: string | object; - } + }; } export interface IChatPreviewProps { chatPreviewPayload: IChatPreviewPayload; selected?: boolean; - setSelected?: (chatId: string,chatParticipant: string) => void; + setSelected?: (chatId: string, chatParticipant: string) => void; badge?: { count?: number; }; } -export type Group = GroupInfoDTO| GroupDTO | undefined; +export type Group = GroupInfoDTO | GroupDTO | undefined; export interface IChatPreviewListProps { overrideAccount?: string; listType?: 'CHATS' | 'REQUESTS' | 'SEARCH'; prefillChatPreviewList?: Array; searchParamter?: string; - onChatSelected?: (chatId: string,chatParticipant: string) => void; + onChatSelected?: (chatId: string, chatParticipant: string) => void; onUnreadCountChange?: (count: number) => void; onPreload?: (chats: Array) => void; onPaging?: (chats: Array) => void; - onLoading?: (loadingData:{loading:boolean,preload:boolean,paging:boolean,finished:boolean}) => void; + onLoading?: (loadingData: { + loading: boolean; + preload: boolean; + paging: boolean; + finished: boolean; + }) => void; } export interface IChatViewListProps { @@ -43,7 +52,6 @@ export interface IChatViewListProps { limit?: number; } - export interface IChatViewComponentProps { messageInput?: boolean; chatViewList?: boolean; @@ -55,7 +63,7 @@ export interface IChatViewComponentProps { gif?: boolean; file?: boolean; isConnected?: boolean; - autoConnect?:boolean; + autoConnect?: boolean; groupInfoModalBackground?: ModalBackgroundType; groupInfoModalPositionType?: ModalPositionType; verificationFailModalBackground?: ModalBackgroundType; @@ -63,7 +71,7 @@ export interface IChatViewComponentProps { onVerificationFail?: () => void; chatProfileRightHelperComponent?: React.ReactNode; chatProfileLeftHelperComponent?: React.ReactNode; - welcomeComponent?:React.ReactNode; + welcomeComponent?: React.ReactNode; } export interface IChatProfile { @@ -103,28 +111,25 @@ export interface MessageInputProps { gif?: boolean; file?: boolean; isConnected?: boolean; - autoConnect?:boolean; + autoConnect?: boolean; verificationFailModalBackground?: ModalBackgroundType; verificationFailModalPosition?: ModalPositionType; onVerificationFail?: () => void; } - - - export interface MessageIPFS { - fromCAIP10: string - toCAIP10: string - fromDID: string - toDID: string - messageType: string - messageContent: string - signature: string - sigType: string - link: string | null - timestamp?: number - encType: string - encryptedSecret: string + fromCAIP10: string; + toCAIP10: string; + fromDID: string; + toDID: string; + messageType: string; + messageContent: string; + signature: string; + sigType: string; + link: string | null; + timestamp?: number; + encType: string; + encryptedSecret: string; } export interface Feeds { @@ -141,7 +146,7 @@ export interface Feeds { intentTimestamp: Date; combinedDID: string; cid?: string; - groupInformation?: IGroup + groupInformation?: IGroup; } export interface User { @@ -158,26 +163,26 @@ export interface User { numMsg: number; allowedNumMsg: number; linkedListHash?: string | null; - isAdmin?:boolean; + isAdmin?: boolean; } export interface CreateGroupModalProps { - onClose: ()=>void; + onClose: () => void; modalBackground?: ModalBackgroundType; modalPositionType?: ModalPositionType; -}; + onSuccess?: (group: GroupInfoDTO | GroupDTO | undefined) => void; +} export interface UserProfileProps { updateUserProfileModalBackground?: ModalBackgroundType; updateUserProfileModalPositionType?: ModalPositionType; -}; +} export interface ModalButtonProps { memberListCount?: boolean; theme?: IChatTheme; isLoading?: boolean; -}; - +} export { IChatTheme } from './theme'; @@ -201,4 +206,4 @@ export enum ChatPreviewListErrorCodes { export interface IChatPreviewListError { code: ChatPreviewListErrorCodes; message: string; -} \ No newline at end of file +} diff --git a/packages/uiweb/src/lib/components/chat/helpers/tokenHelpers/chain.ts b/packages/uiweb/src/lib/components/chat/helpers/tokenHelpers/chain.ts index 1f15f8058..e53db5b32 100644 --- a/packages/uiweb/src/lib/components/chat/helpers/tokenHelpers/chain.ts +++ b/packages/uiweb/src/lib/components/chat/helpers/tokenHelpers/chain.ts @@ -1,4 +1,4 @@ -import { InfuraAPIKey } from "../../../../config"; +import { InfuraAPIKey } from '../../../../config'; const getInfuraUrlFor = (network: string, key: string) => `https://${network}.infura.io/v3/${key}`; @@ -8,26 +8,26 @@ const getRpcURL = (network: string, key: string) => { }; export const getChainRPC = (chainId: number): string => { - const key = InfuraAPIKey; - + const key = InfuraAPIKey; + switch (chainId) { case 1: - return getRpcURL("mainnet", key); + return getRpcURL('mainnet', key); case 137: - return getRpcURL("polygon-mainnet", key); + return getRpcURL('polygon-mainnet', key); case 10: - return getRpcURL("optimism-mainnet", key); + return getRpcURL('optimism-mainnet', key); case 56: - return "https://bsc-dataseed.binance.org/"; + return 'https://bsc-dataseed.binance.org/'; case 11155111: - return getRpcURL("sepolia", key); + return getRpcURL('sepolia', key); case 11155420: - return getRpcURL("optimism-sepolia", key); - case 80001: - return getRpcURL("polygon-mumbai", key); + return getRpcURL('optimism-sepolia', key); + case 80002: + return getRpcURL('polygon-amoy', key); case 97: - return "https://data-seed-prebsc-1-s1.binance.org:8545"; + return 'https://data-seed-prebsc-1-s1.binance.org:8545'; default: - return getRpcURL("mainnet", key); + return getRpcURL('mainnet', key); } }; diff --git a/packages/uiweb/src/lib/components/chat/reusables/ProfileContainer.tsx b/packages/uiweb/src/lib/components/chat/reusables/ProfileContainer.tsx index 27a8cb1ea..02af5aebc 100644 --- a/packages/uiweb/src/lib/components/chat/reusables/ProfileContainer.tsx +++ b/packages/uiweb/src/lib/components/chat/reusables/ProfileContainer.tsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { copyToClipboard } from '../../../helpers'; +import { copyToClipboard, pCAIP10ToWallet } from '../../../helpers'; import { CopySvg2 } from '../../../icons/CopySvg2'; import { Section, Span, Image, Div, Tooltip } from '../../reusables'; import { IChatTheme } from '../theme'; @@ -74,7 +74,7 @@ export const ProfileContainer = ({ setCopyText(''); }} onClick={() => { - copyToClipboard(member?.completeWallet || ''); + copyToClipboard(pCAIP10ToWallet(member?.completeWallet || '')); setCopyText('copied'); }} > diff --git a/packages/uiweb/src/lib/components/notification/chainDetails.tsx b/packages/uiweb/src/lib/components/notification/chainDetails.tsx index f4a3ebf6b..6c3ed2827 100644 --- a/packages/uiweb/src/lib/components/notification/chainDetails.tsx +++ b/packages/uiweb/src/lib/components/notification/chainDetails.tsx @@ -24,9 +24,9 @@ export default { label: 'ETHEREUM MAINNET', icon: createSVGIcon(, 'Ethereum Mainnet'), }, - POLYGON_TEST_MUMBAI: { - label: 'POLYGON MUMBAI', - icon: createSVGIcon(, 'Polygon Mumbai'), + POLYGON_TEST_AMOY: { + label: 'POLYGON AMOY', + icon: createSVGIcon(, 'Polygon Amoy'), }, POLYGON_MAINNET: { label: 'POLYGON MAINNET', diff --git a/packages/uiweb/src/lib/components/notification/index.tsx b/packages/uiweb/src/lib/components/notification/index.tsx index 7db49a5fa..0a4922a03 100644 --- a/packages/uiweb/src/lib/components/notification/index.tsx +++ b/packages/uiweb/src/lib/components/notification/index.tsx @@ -25,7 +25,7 @@ export {lightTheme as notificationLightTheme,darkTheme as notificationDarkTheme, // ================= Define types export type chainNameType = | 'ETH_TEST_SEPOLIA' - | 'POLYGON_TEST_MUMBAI' + | 'POLYGON_TEST_AMOY' | 'ETH_MAINNET' | 'POLYGON_MAINNET' | 'BSC_MAINNET' diff --git a/packages/uiweb/src/lib/components/widget/ConnectButton/index.tsx b/packages/uiweb/src/lib/components/widget/ConnectButton/index.tsx index 25c631a52..9e50b9aca 100644 --- a/packages/uiweb/src/lib/components/widget/ConnectButton/index.tsx +++ b/packages/uiweb/src/lib/components/widget/ConnectButton/index.tsx @@ -1,12 +1,11 @@ - -import coinbaseWalletModule from '@web3-onboard/coinbase' +import coinbaseWalletModule from '@web3-onboard/coinbase'; import { ConnectButtonSub } from './ConnectButton'; import { BLOCKNATIVE_PROJECT_ID, InfuraAPIKey } from '../../../config'; import { Web3OnboardProvider } from '@web3-onboard/react'; import injectedModule from '@web3-onboard/injected-wallets'; -import walletConnectModule from '@web3-onboard/walletconnect' +import walletConnectModule from '@web3-onboard/walletconnect'; import init from '@web3-onboard/core'; -import PushIcon from "../../../icons/Bell.svg" +import PushIcon from '../../../icons/Bell.svg'; import { SignerType } from '@pushprotocol/restapi'; const APP_META_DATA = { @@ -17,90 +16,95 @@ const APP_META_DATA = { recommendedInjectedWallets: [ { name: 'MetaMask', url: 'https://metamask.io' }, - ] -} + ], +}; const wcv2InitOptions = { projectId: BLOCKNATIVE_PROJECT_ID, - requiredChains: [1, 56] -} + requiredChains: [1, 56], +}; -const walletConnect = walletConnectModule(wcv2InitOptions) -const coinbaseWalletSdk = coinbaseWalletModule({ darkMode: true }) +const walletConnect = walletConnectModule(wcv2InitOptions); +const coinbaseWalletSdk = coinbaseWalletModule({ darkMode: true }); const CHAINS = [ { id: '0x1', token: 'ETH', label: 'Ethereum Mainnet', - rpcUrl: `https://mainnet.infura.io/v3/${InfuraAPIKey}` + rpcUrl: `https://mainnet.infura.io/v3/${InfuraAPIKey}`, }, { id: '0xAA36A7', token: 'ETH', label: 'Sepolia', - rpcUrl: `https://sepolia.infura.io/v3/${InfuraAPIKey}` + rpcUrl: `https://sepolia.infura.io/v3/${InfuraAPIKey}`, }, { id: '0x13881', token: 'MATIC', - label: 'Polygon - Mumbai', - rpcUrl: 'https://matic-mumbai.chainstacklabs.com' + label: 'Polygon - Amoy', + rpcUrl: 'https://rpc-amoy.polygon.technology', }, { id: '0x38', token: 'BNB', label: 'Binance', - rpcUrl: 'https://bsc-dataseed.binance.org/' + rpcUrl: 'https://bsc-dataseed.binance.org/', }, { id: '0xA', token: 'OETH', label: 'Optimism', - rpcUrl: 'https://mainnet.optimism.io' + rpcUrl: 'https://mainnet.optimism.io', }, { id: '0xA4B1', token: 'ARB-ETH', label: 'Arbitrum', - rpcUrl: 'https://rpc.ankr.com/arbitrum' - } -] - - -const wallets = [injectedModule(), walletConnect, coinbaseWalletSdk] - - + rpcUrl: 'https://rpc.ankr.com/arbitrum', + }, +]; +const wallets = [injectedModule(), walletConnect, coinbaseWalletSdk]; const web3OnBoard = init({ wallets, - chains:CHAINS, - appMetadata:APP_META_DATA, + chains: CHAINS, + appMetadata: APP_META_DATA, accountCenter: { desktop: { - enabled: false + enabled: false, }, mobile: { - enabled: false - } + enabled: false, + }, }, connect: { autoConnectLastWallet: true, }, -}) +}); interface IConnectButtonCompProps { autoconnect?: boolean; - setAccount: React.Dispatch>; + setAccount: React.Dispatch>; signer: SignerType | undefined; setSigner: React.Dispatch>; - } -export const ConnectButtonComp: React.FC = ({ autoconnect,setAccount,setSigner,signer }) => { +export const ConnectButtonComp: React.FC = ({ + autoconnect, + setAccount, + setSigner, + signer, +}) => { return ( - + ); -}; \ No newline at end of file +}; diff --git a/packages/uiweb/src/lib/config/constants.ts b/packages/uiweb/src/lib/config/constants.ts index 4381fb23e..6084e97a5 100644 --- a/packages/uiweb/src/lib/config/constants.ts +++ b/packages/uiweb/src/lib/config/constants.ts @@ -22,8 +22,8 @@ export const NETWORK_DETAILS = { 11155111: { network: 'sepolia', }, - 80001: { - network: 'polygon-mumbai', + 80002: { + network: 'polygon-amoy', }, 1: { network: 'mainnet', @@ -53,7 +53,7 @@ export const CoreRPC = { const TESTNET_NETWORK = { ETHEREUM: 'eip155:11155111', - POLYGON: 'eip155:80001', + POLYGON: 'eip155:80002', BSC: 'eip155:97', OPTIMISM: 'eip155:11155420', POLYGON_ZK_EVM: 'eip155:1442', @@ -89,7 +89,7 @@ export const allowedNetworks = { ], dev: [ 11155111, // for eth sepolia - 80001, //for mumbai polygon + 80002, //for polygon amoy 97, // bnb testnet 11155420, // optimism sepolia testnet 421614, // for arbitrum testnet @@ -99,7 +99,7 @@ export const allowedNetworks = { staging: [ // 42, //for kovan 11155111, // for sepolia - 80001, //for mumbai polygon + 80002, //for polygon amoy 97, // bnb testnet 11155420, // optimism sepolia testnet 421614, // for arbitrum testnet @@ -108,7 +108,7 @@ export const allowedNetworks = { ], local: [ 11155111, // for eth sepolia - 80001, //for mumbai polygon + 80002, //for polygon amoy 97, // bnb testnet 11155420, // optimism sepolia testnet 421614, // for arbitrum testnet diff --git a/packages/uiweb/src/lib/helpers/udResolver.ts b/packages/uiweb/src/lib/helpers/udResolver.ts index 3391a09d4..b2ea60086 100644 --- a/packages/uiweb/src/lib/helpers/udResolver.ts +++ b/packages/uiweb/src/lib/helpers/udResolver.ts @@ -5,7 +5,7 @@ import type { Env } from '@pushprotocol/restapi'; export const getUdResolver = (env:Env): Resolution => { const l1ChainId = allowedNetworks[env].includes(1) ? 1 : 5; - const l2ChainId = allowedNetworks[env].includes(137) ? 137 : 80001; + const l2ChainId = allowedNetworks[env].includes(137) ? 137 : 80002; // ToDo: Enable for sepolia chainId once UD supports it // const l1ChainId = appConfig.allowedNetworks.includes(1) ? 1 : 11155111; return Resolution.fromEthersProvider({ diff --git a/packages/uiweb/src/lib/hooks/chat/useCreateGatedGroup.ts b/packages/uiweb/src/lib/hooks/chat/useCreateGatedGroup.ts index 25ff2253f..48b8dd16b 100644 --- a/packages/uiweb/src/lib/hooks/chat/useCreateGatedGroup.ts +++ b/packages/uiweb/src/lib/hooks/chat/useCreateGatedGroup.ts @@ -9,24 +9,27 @@ export const useCreateGatedGroup = () => { const { env, account, user } = useChatData(); const createGatedGroup = useCallback( - async (groupInfoType:GrouInfoType,rules: any) => { + async (groupInfoType: GrouInfoType, rules: any) => { setLoading(true); console.debug('user in create group ',user) try { const payload = { - description:groupInfoType.groupDescription, - image:groupInfoType.groupImage, + description: groupInfoType.groupDescription, + image: groupInfoType.groupImage, private: !groupInfoType.isPublic, members: groupInfoType.members, admins: groupInfoType.admins, rules: rules, }; - const response = await user?.chat.group.create(groupInfoType.groupName, payload); + const response = await user?.chat.group.create( + groupInfoType.groupName, + payload + ); setLoading(false); if (!response) { - return false; + return { success: false, data: 'Something went wrong' }; } - return true; + return { success: true, data: response }; } catch (error: Error | any) { setLoading(false); setError(error.message); @@ -37,4 +40,4 @@ export const useCreateGatedGroup = () => { ); return { createGatedGroup, error, loading }; -}; \ No newline at end of file +};