From 03838ff36d5cd1698d1cc3218665f278c906ba7e Mon Sep 17 00:00:00 2001 From: aman035 Date: Tue, 19 Nov 2024 20:01:05 +0530 Subject: [PATCH 1/9] fix: publish command --- packages/core/package.json | 4 +--- packages/core/project.json | 21 ++++++++++++++++++++- packages/core/src/index.ts | 15 +-------------- packages/core/src/lib/index.ts | 13 +++++++++++++ 4 files changed, 35 insertions(+), 18 deletions(-) create mode 100644 packages/core/src/lib/index.ts diff --git a/packages/core/package.json b/packages/core/package.json index 41652126..c7de560f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@pushprotocol/node-core", - "version": "0.0.23", + "version": "0.0.27", "dependencies": { "@bufbuild/protobuf": "^2.0.0", "@noble/hashes": "^1.5.0", @@ -14,8 +14,6 @@ "build:proto": "scripts/protoc-generate.sh" }, "type": "commonjs", - "main": "./src/index.js", - "typings": "./src/index.d.ts", "private": false, "publishConfig": { "access": "public" diff --git a/packages/core/project.json b/packages/core/project.json index ae141e4e..f178515a 100644 --- a/packages/core/project.json +++ b/packages/core/project.json @@ -12,7 +12,26 @@ "outputPath": "dist/packages/core", "main": "packages/core/src/index.ts", "tsConfig": "packages/core/tsconfig.lib.json", - "assets": ["packages/core/*.md"] + "assets": ["packages/core/*.md"], + "updateBuildableProjectDepsInPackageJson": true, + "buildableProjectDepsInPackageJsonType": "dependencies" + } + }, + "publish": { + "executor": "nx:run-commands", + "options": { + "command": "nx run core:build && npm publish dist/packages/core --access public --otp=${args.otp}" + }, + "optionsDescription": "Pass OTP as an argument with --otp", + "schema": { + "type": "object", + "properties": { + "otp": { + "type": "string", + "description": "One-time password for 2FA" + } + }, + "required": ["otp"] } } } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 99191093..f41a696f 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,14 +1 @@ -import { PushNetwork } from './lib/pushNetwork'; -import { Block } from './lib/block/block'; -import { Tx } from './lib/tx/tx'; -import { Validator } from './lib/validator/validator'; -import { Address } from './lib/address/address'; -import { CONSTANTS } from './lib/constants'; - -/** - * FOR ADVANCE USECASES - * serialization / deserialization capabilities for block & tx - * Validator calls - */ -export { CONSTANTS, Block, Tx, Validator, Address }; -export default PushNetwork; +export * from './lib'; diff --git a/packages/core/src/lib/index.ts b/packages/core/src/lib/index.ts new file mode 100644 index 00000000..5850e833 --- /dev/null +++ b/packages/core/src/lib/index.ts @@ -0,0 +1,13 @@ +import { PushNetwork } from './pushNetwork'; +import { Block } from './block/block'; +import { Tx } from './tx/tx'; +import { Validator } from './validator/validator'; +import { Address } from './address/address'; +import { CONSTANTS } from './constants'; + +/** + * FOR ADVANCE USECASES + * serialization / deserialization capabilities for block & tx + * Validator calls + */ +export { CONSTANTS, Block, Tx, Validator, Address, PushNetwork }; From a60cf50e1fbe13dfdfdfa58a9f52db466c9df312 Mon Sep 17 00:00:00 2001 From: aman035 Date: Wed, 20 Nov 2024 14:16:19 +0530 Subject: [PATCH 2/9] change test address --- packages/core/tests/tx/tx.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/tests/tx/tx.test.ts b/packages/core/tests/tx/tx.test.ts index d78017df..f3239e15 100644 --- a/packages/core/tests/tx/tx.test.ts +++ b/packages/core/tests/tx/tx.test.ts @@ -175,7 +175,7 @@ describe('Tx', () => { it('should get transactions with a specific Sender', async () => { const txInstance = await Tx.initialize(env); const res = await txInstance.getBySender( - 'push:devnet:push18zc5t7jjnzyvzjs0707gy5axtntzqgv5w6lnuh', + 'eip155:1:0x35B84d6848D16415177c64D64504663b998A6ab4', Math.floor(Date.now()), 'DESC', 10, From 3749b110002e212a665e62e58b09418e5b46ca30 Mon Sep 17 00:00:00 2001 From: Igx22 Date: Wed, 20 Nov 2024 20:14:25 +0700 Subject: [PATCH 3/9] add: tests to read/write vnodes via DEV ENV --- packages/core/src/lib/config/index.ts | 2 +- packages/core/src/lib/tx/tx.ts | 9 +- packages/core/src/lib/tx/tx.types.ts | 31 +++++ packages/core/src/lib/validator/validator.ts | 82 +++++++++++- .../validator/backend-smoke-test.test.ts | 120 ++++++++++++++++++ 5 files changed, 240 insertions(+), 4 deletions(-) create mode 100644 packages/core/tests/validator/backend-smoke-test.test.ts diff --git a/packages/core/src/lib/config/index.ts b/packages/core/src/lib/config/index.ts index 630a548d..e3e18d78 100644 --- a/packages/core/src/lib/config/index.ts +++ b/packages/core/src/lib/config/index.ts @@ -18,7 +18,7 @@ const config: Config = { }, [ENV.DEV]: { NETWORK: sepolia, - VALIDATOR_CONTRACT: '0x18Fa54e372e7F5993b2233449e8ab2086eCA3fAE', + VALIDATOR_CONTRACT: '0x98dBfb001cB2623cF7BfE2A17755592E151f0779', }, [ENV.LOCAL]: { NETWORK: localhost, diff --git a/packages/core/src/lib/tx/tx.ts b/packages/core/src/lib/tx/tx.ts index dec58cdd..b9ecc196 100644 --- a/packages/core/src/lib/tx/tx.ts +++ b/packages/core/src/lib/tx/tx.ts @@ -1,6 +1,6 @@ import { v4 as uuidv4, parse } from 'uuid'; import { bytesToHex, utf8ToBytes } from '@noble/hashes/utils'; -import { TxCategory } from './tx.types'; +import { ReplyGrouped, TxCategory } from './tx.types'; import { Transaction } from '../generated/tx'; import { InitDid } from '../generated/txData/init_did'; import { InitSessionKey } from '../generated/txData/init_session_key'; @@ -201,4 +201,11 @@ export class Tx { token.apiUrl ); }; + + /** + * Get Transactions + */ + async getTransactionsFromVNode(accountInCaip: string, category: string, ts: string = '' + Math.floor(Date.now()/1000), direction: 'ASC' | 'DESC' = 'DESC') { + return await this.validator.callVNode('push_getTransactions', [accountInCaip, category, ts, direction]); + } } diff --git a/packages/core/src/lib/tx/tx.types.ts b/packages/core/src/lib/tx/tx.types.ts index 9e1f9971..798944a7 100644 --- a/packages/core/src/lib/tx/tx.types.ts +++ b/packages/core/src/lib/tx/tx.types.ts @@ -16,3 +16,34 @@ export type TxResponse = { txnData: string; sig: string; }; + + +export class ReplyGrouped { + items: TxInfo[] = []; + summary: ResultMeta = new ResultMeta(); +} + +export class ResultMeta { + quorumResult!: QuorumResult; + itemCount!: number; + lastTs!: string; + keysWithoutQuorumCount!: number; + keysWithoutQuorum!: string[]; +} + +export enum QuorumResult { + QUORUM_OK = 'QUORUM_OK', + QUORUM_OK_PARTIAL = 'QUORUM_OK_PARTIAL', + QUORUM_FAILED_NODE_REPLIES = 'QUORUM_FAILED_NODE_REPLIES', + QUORUM_FAILED_BY_MIN_ITEMS = 'QUORUM_FAILED_BY_MIN_ITEMS', +} + +export type TxInfo = { + type: number; + category: string; + sender: string; + recipients: string[]; + data: string; + ts: string; + salt: string; +}; \ No newline at end of file diff --git a/packages/core/src/lib/validator/validator.ts b/packages/core/src/lib/validator/validator.ts index 0575b284..2b74bae3 100644 --- a/packages/core/src/lib/validator/validator.ts +++ b/packages/core/src/lib/validator/validator.ts @@ -15,10 +15,21 @@ import { ENV } from '../constants'; * - Interact with validator.sol ( Only Read calls ) * - Get token to interact with a random validator node * - Ping a random validator node to check if it is alive + * + * + * todo rename to transport + * we're talking to 3 very different entities + * Validator.sol + * anodes + * vnodes + * ! + * the 'validator' name does not represent the right thing here + * */ export class Validator { private static instance: Validator; private static idCounter = 0; + private static printTraces = false; private constructor( /** @@ -27,7 +38,11 @@ export class Validator { private activeValidatorURL: string, private env: ENV, private validatorContractClient: ValidatorContract - ) {} + ) { + if(this.env === ENV.DEV || this.env === ENV.LOCAL) { + Validator.printTraces = true; + } + } static initalize = async (options?: { env?: ENV }): Promise => { const settings = { @@ -95,12 +110,22 @@ export class Validator { }; try { - const response = await axios.post>(url, requestBody); + if (this.printTraces) { + console.log(`>> Calling RPC POST ${url} (req${requestBody.id}) with body %o`, requestBody); + } + const response = await axios.post>(url, requestBody, + { + timeout: 5000, + headers: { 'Content-Type': 'application/json' } + }); if (response.data.error) { console.error('JSON-RPC Error:', response.data.error); throw Error(response.data.error.message); } + if (this.printTraces) { + console.log(`<< RPC Reply POST ${url} (req${requestBody.id}) code: ${response.status} with body: %o`, response?.data); + } return response.data.result; } catch (error) { console.error('Error sending JSON-RPC request:', error); @@ -190,6 +215,8 @@ export class Validator { /** * @description Get calls to validator * @returns Reply of the call + * + * todo rename to callANode */ public call = async ( fnName: string, @@ -203,4 +230,55 @@ export class Validator { params ); }; + + + /** + * @description Get calls to validator without any modifications + * @returns Reply of the call + */ + public async callVNode( + fnName: string, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + params: any[] = [], + vNodeUrl: string = this.activeValidatorURL + ): Promise { + // url = "https://vv1.dev.push.org/api/v1/rpc/" + const apiUrl = Validator.fixVNodeUrl(vNodeUrl); + return await Validator.sendJsonRpcRequest( + apiUrl, + fnName, + params); + } + + + /** + * Applies 4 rules to url + * 1) .local -> replace everything with localhost + * 2) http -> replace with https + * 3) domain.com -> appends /api/v1/rpc path + * 4) domain.com/api/ -> replace with domain.com/api + * + * @param url - url to fix + */ + private static fixVNodeUrl(url: string) { + if (url == null || url.length == 0) { + return url; + } + const urlObj = new URL(url); + const isLocal = urlObj.hostname.endsWith('.local'); + if (isLocal) { + urlObj.hostname = 'localhost'; + urlObj.protocol = 'http:'; + } else { + urlObj.protocol = 'https:'; + } + if (urlObj.pathname.trim().length == 0 || urlObj.pathname.trim() === '/') { + urlObj.pathname = '/api/v1/rpc'; + } + if (urlObj.pathname.endsWith('/')) { + urlObj.pathname = urlObj.pathname.slice(0, -1); + } + return urlObj.toString(); + } + } diff --git a/packages/core/tests/validator/backend-smoke-test.test.ts b/packages/core/tests/validator/backend-smoke-test.test.ts new file mode 100644 index 00000000..2eb0ea0c --- /dev/null +++ b/packages/core/tests/validator/backend-smoke-test.test.ts @@ -0,0 +1,120 @@ +import { Address, Tx } from '../../src'; +import { TxCategory } from '../../src/lib/tx/tx.types'; +import { InitDid } from '../../src/lib/generated/txData/init_did'; +import { config } from '../config'; +import { TxResponse } from '../../src/lib/tx/tx.types'; +import { + generatePrivateKey, + privateKeyToAccount, + privateKeyToAddress, +} from 'viem/accounts'; +import { hexToBytes, toHex, verifyMessage } from 'viem'; +import { ENV } from '../../src/lib/constants'; +import { sha256 } from '@noble/hashes/sha256'; +import * as nacl from 'tweetnacl'; +import bs58 from 'bs58'; +import { INIT_DID_TX, INIT_DID_TX_2 } from '../data'; + +const test_pk = generatePrivateKey(); +const test_account = privateKeyToAccount(test_pk); +// Mock data for testing +const mockInitDidTxData: InitDid = { + masterPubKey: test_account.publicKey.slice(2), // remove 0x + derivedKeyIndex: 0, + derivedPubKey: '00000', + walletToEncDerivedKey: { + 'push:devnet:push1xkuy66zg69jp29muvnty2prx8wvc5645f9y5ux': { + encDerivedPrivKey: { + ciphertext: 'sample_ciphertext', + salt: 'sample_salt', + nonce: 'sample_nonce', + version: 'push:v5', + preKey: 'sample_prekey', + }, + signature: new Uint8Array([1, 2, 3]), + }, + }, +}; +const mockRecipients = [ + `eip155:1:${privateKeyToAddress(generatePrivateKey())}`, + `eip155:137:${privateKeyToAddress(generatePrivateKey())}`, + `eip155:97:${privateKeyToAddress(generatePrivateKey())}`, +]; + +// add .skip if needed +describe('validator smoke test', () => { + + // switch to ENV.LOCAL or ENV.DEV + const env = config.ENV; + + it('write :: itx :: send INIT_DID tx', async () => { + const account = privateKeyToAccount( + INIT_DID_TX_2.masterPrivateKey as `0x${string}` + ); + const signer = { + account: Address.toPushCAIP(account.address, ENV.DEV), + signMessage: async (data: Uint8Array) => { + const signature = await account.signMessage({ + message: { raw: data }, + }); + return hexToBytes(signature); + }, + }; + const txInstance = await Tx.initialize(env); + const res = await txInstance.send(INIT_DID_TX_2.unsignedInitDIDTx, signer); + expect(typeof res).toEqual('string'); + }); + + + it('write :: ctx :: write custom tx THEN read', async () => { + const txInstance = await Tx.initialize(env); + const recipients = [ + `eip155:1:${privateKeyToAddress(generatePrivateKey())}`, + `eip155:137:${privateKeyToAddress(generatePrivateKey())}`, + `eip155:97:${privateKeyToAddress(generatePrivateKey())}`, + ]; + const sampleTx = txInstance.createUnsigned( + 'CUSTOM:CORE_SDK', + recipients, + new Uint8Array([1, 2, 3, 4, 5]) + ); + + const pk = generatePrivateKey(); + const account = privateKeyToAccount(pk); + const signer = { + account: Address.toPushCAIP(account.address, ENV.DEV), + signMessage: async (data: Uint8Array) => { + const signature = await account.signMessage({ + message: { raw: data }, + }); + return hexToBytes(signature); + }, + }; + const res = await txInstance.send(sampleTx, signer); + expect(typeof res).toEqual('string'); + + // read + for (const recipient of recipients) { + const res = await txInstance.getTransactionsFromVNode(recipient, "CUSTOM:CORE_SDK"); + expect(res.items).toBeInstanceOf(Array); + const item0 = res.items[0]; + expect(item0.sender).toEqual(signer.account); + expect(item0.recipients).toEqual(sampleTx.recipients); + const sampleDataBase16 = toHex(sampleTx.data).substring(2); + expect(item0.data).toEqual(sampleDataBase16); + console.log("OK %o", res); + } + }); + + + it('read :: should get transactions with custom parameters', async () => { + const txInstance = await Tx.initialize(env); + const res = await txInstance.getTransactionsFromVNode( + "eip155:1:0x76cfb79DA0f91b2C162cA2a23f7f0117bD8cDB2c", + "CUSTOM:CORE_SDK"); + expect(res.items).toBeInstanceOf(Array); + console.log("%o", res); + }); + + +}); From 0420167f8735eb7fc483fcaaf4ead0c3d866fd5b Mon Sep 17 00:00:00 2001 From: aman035 Date: Wed, 20 Nov 2024 20:24:31 +0530 Subject: [PATCH 4/9] fix anode --- packages/core/package.json | 2 +- packages/core/src/lib/validator/validator.ts | 31 ++++++++++---------- packages/core/tests/tx/tx.test.ts | 2 +- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index c7de560f..b996b23c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@pushprotocol/node-core", - "version": "0.0.27", + "version": "0.0.28", "dependencies": { "@bufbuild/protobuf": "^2.0.0", "@noble/hashes": "^1.5.0", diff --git a/packages/core/src/lib/validator/validator.ts b/packages/core/src/lib/validator/validator.ts index 2b74bae3..10fe8ddb 100644 --- a/packages/core/src/lib/validator/validator.ts +++ b/packages/core/src/lib/validator/validator.ts @@ -39,7 +39,7 @@ export class Validator { private env: ENV, private validatorContractClient: ValidatorContract ) { - if(this.env === ENV.DEV || this.env === ENV.LOCAL) { + if (this.env === ENV.DEV || this.env === ENV.LOCAL) { Validator.printTraces = true; } } @@ -111,20 +111,25 @@ export class Validator { try { if (this.printTraces) { - console.log(`>> Calling RPC POST ${url} (req${requestBody.id}) with body %o`, requestBody); + console.log( + `>> Calling RPC POST ${url} (req${requestBody.id}) with body %o`, + requestBody + ); } - const response = await axios.post>(url, requestBody, - { - timeout: 5000, - headers: { 'Content-Type': 'application/json' } - }); + const response = await axios.post>(url, requestBody, { + timeout: 5000, + headers: { 'Content-Type': 'application/json' }, + }); if (response.data.error) { console.error('JSON-RPC Error:', response.data.error); throw Error(response.data.error.message); } if (this.printTraces) { - console.log(`<< RPC Reply POST ${url} (req${requestBody.id}) code: ${response.status} with body: %o`, response?.data); + console.log( + `<< RPC Reply POST ${url} (req${requestBody.id}) code: ${response.status} with body: %o`, + response?.data + ); } return response.data.result; } catch (error) { @@ -189,7 +194,7 @@ export class Validator { modifiedUrl = 'http://localhost:5001/rpc'; } if (this.env === ENV.DEV) { - modifiedUrl = 'https://anode1.push.org/rpc'; + modifiedUrl = 'https://aa1.dev.push.org/rpc'; } modifiedFnName = `RpcService.${fnName.replace('push_', '')}`; @@ -231,7 +236,6 @@ export class Validator { ); }; - /** * @description Get calls to validator without any modifications * @returns Reply of the call @@ -244,13 +248,9 @@ export class Validator { ): Promise { // url = "https://vv1.dev.push.org/api/v1/rpc/" const apiUrl = Validator.fixVNodeUrl(vNodeUrl); - return await Validator.sendJsonRpcRequest( - apiUrl, - fnName, - params); + return await Validator.sendJsonRpcRequest(apiUrl, fnName, params); } - /** * Applies 4 rules to url * 1) .local -> replace everything with localhost @@ -280,5 +280,4 @@ export class Validator { } return urlObj.toString(); } - } diff --git a/packages/core/tests/tx/tx.test.ts b/packages/core/tests/tx/tx.test.ts index f3239e15..130719cc 100644 --- a/packages/core/tests/tx/tx.test.ts +++ b/packages/core/tests/tx/tx.test.ts @@ -190,7 +190,7 @@ describe('Tx', () => { it('should get transactions with a specific Recipient', async () => { const txInstance = await Tx.initialize(env); const res = await txInstance.getByRecipient( - 'eip155:1:0x35B84d6848D16415177c64D64504663b998A6ab4', + 'eip155:1:0x76cfb79DA0f91b2C162cA2a23f7f0117bD8cDB2c', Math.floor(Date.now()), 'DESC', 10, From 9e74f00c5c9c888fb9f271bfa7a47566675c6b7e Mon Sep 17 00:00:00 2001 From: aman035 Date: Wed, 20 Nov 2024 22:20:39 +0530 Subject: [PATCH 5/9] fix: mail app --- examples/email-app/package-lock.json | 719 +++++++++++++++++- examples/email-app/package.json | 4 +- .../email-app/src/components/new-email.tsx | 2 +- .../email-app/src/context/app-context.tsx | 2 +- .../email-app/src/providers/app-provider.tsx | 2 +- 5 files changed, 704 insertions(+), 25 deletions(-) diff --git a/examples/email-app/package-lock.json b/examples/email-app/package-lock.json index 7c7eed2b..5b5462ae 100644 --- a/examples/email-app/package-lock.json +++ b/examples/email-app/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@privy-io/react-auth": "^1.91.0", "@privy-io/wagmi": "^0.2.12", - "@pushprotocol/node-core": "^0.0.23", + "@pushprotocol/node-core": "^0.0.28", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-scroll-area": "^1.2.0", @@ -22,7 +22,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "^0.453.0", - "push-mail": "^0.0.6", + "push-mail": "^0.0.8", "react": "^18.3.1", "react-dom": "^18.3.1", "react-resizable-panels": "^2.1.4", @@ -3735,6 +3735,18 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdoc/salty": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz", + "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==", + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", @@ -4783,26 +4795,126 @@ "wagmi": "^2" } }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/@pushprotocol/node-core": { - "version": "0.0.23", - "resolved": "https://registry.npmjs.org/@pushprotocol/node-core/-/node-core-0.0.23.tgz", - "integrity": "sha512-/FvYcBIBkHzx7ugy+g3tqt3JDsJDv0v42vcxUxjitvcMZao+Af/z4/I5PROiXK4F/EJG6adSFC9+sI373x59YQ==", + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/@pushprotocol/node-core/-/node-core-0.0.28.tgz", + "integrity": "sha512-Z99G+VAy2XKHKkKCJntPGYbLearBpgQUN4qgY8kIO40JXMNPAeKxdx6B9LTHDqgitqiSWDBJOMADpQJg6GcKyg==", "dependencies": { "@bufbuild/protobuf": "^2.0.0", "@noble/hashes": "^1.5.0", + "@types/uuid": "10.0.0", "axios": "^1.7.7", "bech32": "^2.0.0", + "bs58": "^6.0.0", + "protobufjs-cli": "1.1.3", + "ts-proto": "2.2.4", "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", "uuid": "^10.0.0", "viem": "^2.21.1" } }, + "node_modules/@pushprotocol/node-core/node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", + "license": "MIT" + }, + "node_modules/@pushprotocol/node-core/node_modules/base-x": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.0.tgz", + "integrity": "sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==", + "license": "MIT" + }, "node_modules/@pushprotocol/node-core/node_modules/bech32": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==", "license": "MIT" }, + "node_modules/@pushprotocol/node-core/node_modules/bs58": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "license": "MIT", + "dependencies": { + "base-x": "^5.0.0" + } + }, "node_modules/@pushprotocol/node-core/node_modules/uuid": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", @@ -8579,6 +8691,28 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "license": "MIT" + }, "node_modules/@types/ms": { "version": "0.7.34", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", @@ -9735,7 +9869,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -10254,6 +10387,12 @@ "ieee754": "^1.1.13" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -10701,6 +10840,30 @@ ], "license": "CC-BY-4.0" }, + "node_modules/case-anything": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz", + "integrity": "sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/cbw-sdk": { "name": "@coinbase/wallet-sdk", "version": "3.9.3", @@ -11645,7 +11808,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, "license": "MIT" }, "node_modules/deepmerge": { @@ -11874,6 +12036,15 @@ "url": "https://dotenvx.com" } }, + "node_modules/dprint-node": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.8.tgz", + "integrity": "sha512-iVKnUtYfGrYcW1ZAlfR/F59cUVL8QIhWoBJoSjkkdua/dkWIgjZfiLMeTjiB06X0ZLkQ0M2C1VbUj/CxkIf1zg==", + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3" + } + }, "node_modules/duplexify": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", @@ -12021,6 +12192,18 @@ "node": ">=10.0.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -12219,6 +12402,97 @@ "node": ">=0.8.0" } }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/eslint": { "version": "9.12.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", @@ -12460,7 +12734,6 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "license": "BSD-2-Clause", - "peer": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -12499,7 +12772,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -12893,7 +13165,6 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, "license": "MIT" }, "node_modules/fast-password-entropy": { @@ -13299,8 +13570,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -13483,8 +13753,7 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", @@ -13843,7 +14112,6 @@ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "license": "ISC", - "peer": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -14816,6 +15084,15 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, "node_modules/jsc-android": { "version": "250231.0.0", "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", @@ -14940,6 +15217,56 @@ "node": ">=8" } }, + "node_modules/jsdoc": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz", + "integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==", + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^14.1.1", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^8.6.7", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdoc/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -15109,6 +15436,15 @@ "node": ">=0.10.0" } }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -15192,6 +15528,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, "node_modules/listhen": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.9.0.tgz", @@ -15424,6 +15769,13 @@ "integrity": "sha512-Q5ALD6JiS6xAUWCwX3taQmgwxyveCtIIuL08+ml0nHwT3k0S/GIFJN+Hd38b1qYIMaE5X++iqsqWVksz7SYW+Q==", "license": "MIT" }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -15508,6 +15860,45 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/marky": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", @@ -15538,6 +15929,12 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "license": "MIT" + }, "node_modules/memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", @@ -17866,6 +18263,199 @@ "node": ">= 6" } }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs-cli": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.3.tgz", + "integrity": "sha512-MqD10lqF+FMsOayFiNOdOGNlXc4iKDCf0ZQPkPR+gizYh9gqUeGTWulABUCdI+N67w5RfJ6xhgX4J8pa8qmMXQ==", + "license": "BSD-3-Clause", + "dependencies": { + "chalk": "^4.0.0", + "escodegen": "^1.13.0", + "espree": "^9.0.0", + "estraverse": "^5.1.0", + "glob": "^8.0.0", + "jsdoc": "^4.0.0", + "minimist": "^1.2.0", + "semver": "^7.1.2", + "tmp": "^0.2.1", + "uglify-js": "^3.7.7" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "protobufjs": "^7.0.0" + } + }, + "node_modules/protobufjs-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/protobufjs-cli/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/protobufjs-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/protobufjs-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/protobufjs-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/protobufjs-cli/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/protobufjs-cli/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/protobufjs-cli/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/protobufjs-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/protobufjs-cli/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/protobufjs-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/proxy-compare": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", @@ -17920,16 +18510,25 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/push-mail": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/push-mail/-/push-mail-0.0.6.tgz", - "integrity": "sha512-AKLM+OY5eY8vWe6vhdiSvly5znGfNxkb0W/8UecEjuasBO+d8doZD7jUe4LBy8/ZuB8g+VdqfEaOXRpRIDFX3g==", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/push-mail/-/push-mail-0.0.8.tgz", + "integrity": "sha512-ec6sahp1XKbkcH79g1mDABIPQ17P5K4NwLjEKmjY/PRCrDRIHo9JSwbCV0FgxjfOTQc2qOT4Dltm0OCUeFQIvQ==", "dependencies": { "@bufbuild/protobuf": "^2.0.0", "tslib": "^2.3.0" }, "peerDependencies": { - "@pushprotocol/node-core": "^0.0.23", + "@pushprotocol/node-core": "^0.0.28", "viem": "^2" } }, @@ -18740,6 +19339,15 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "license": "ISC" }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -20397,6 +21005,15 @@ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "license": "MIT" }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -20460,6 +21077,39 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "license": "Apache-2.0" }, + "node_modules/ts-poet": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.9.0.tgz", + "integrity": "sha512-roe6W6MeZmCjRmppyfOURklO5tQFQ6Sg7swURKkwYJvV7dbGCrK28um5+51iW3twdPRKtwarqFAVMU6G1mvnuQ==", + "license": "Apache-2.0", + "dependencies": { + "dprint-node": "^1.0.8" + } + }, + "node_modules/ts-proto": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-2.2.4.tgz", + "integrity": "sha512-YvximLyhYaEDq02w18bFsesrQydN/V7N0ZqYEc86mxTA3tp68BbWOdshwZUKfddp/Tjh9JqHs4d9LiGndd2uVg==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0", + "case-anything": "^2.1.13", + "ts-poet": "^6.7.0", + "ts-proto-descriptors": "2.0.0" + }, + "bin": { + "protoc-gen-ts_proto": "protoc-gen-ts_proto" + } + }, + "node_modules/ts-proto-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-2.0.0.tgz", + "integrity": "sha512-wHcTH3xIv11jxgkX5OyCSFfw27agpInAd6yh89hKG6zqIXnjW9SYqSER2CVQxdPj4czeOhGagNvZBEbJPy7qkw==", + "license": "ISC", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0" + } + }, "node_modules/tslib": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", @@ -20596,12 +21246,30 @@ "node": "*" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "license": "MIT" + }, "node_modules/ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "license": "MIT" }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "license": "BSD-2-Clause", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/uint8arrays": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", @@ -20617,6 +21285,12 @@ "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", "license": "MIT" }, + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "license": "MIT" + }, "node_modules/undici-types": { "version": "6.19.8", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", @@ -21540,7 +22214,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -21713,6 +22386,12 @@ } } }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "license": "Apache-2.0" + }, "node_modules/xmlhttprequest-ssl": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz", diff --git a/examples/email-app/package.json b/examples/email-app/package.json index 592e55d1..b17c1270 100644 --- a/examples/email-app/package.json +++ b/examples/email-app/package.json @@ -13,7 +13,7 @@ "dependencies": { "@privy-io/react-auth": "^1.91.0", "@privy-io/wagmi": "^0.2.12", - "@pushprotocol/node-core": "^0.0.23", + "@pushprotocol/node-core": "^0.0.28", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-scroll-area": "^1.2.0", @@ -25,7 +25,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "lucide-react": "^0.453.0", - "push-mail": "^0.0.6", + "push-mail": "^0.0.8", "react": "^18.3.1", "react-dom": "^18.3.1", "react-resizable-panels": "^2.1.4", diff --git a/examples/email-app/src/components/new-email.tsx b/examples/email-app/src/components/new-email.tsx index 7f6befca..0de878ec 100644 --- a/examples/email-app/src/components/new-email.tsx +++ b/examples/email-app/src/components/new-email.tsx @@ -25,7 +25,7 @@ import { IEmail } from '@/types'; import { X } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { trimAddress, formatTimestamp } from '@/lib/utils'; -import PushNetwork from '@pushprotocol/node-core'; +import { PushNetwork } from '@pushprotocol/node-core'; interface FileData { filename: string; diff --git a/examples/email-app/src/context/app-context.tsx b/examples/email-app/src/context/app-context.tsx index 0791b697..ec702828 100644 --- a/examples/email-app/src/context/app-context.tsx +++ b/examples/email-app/src/context/app-context.tsx @@ -1,6 +1,6 @@ 'use client'; import { IEmail } from '@/types'; -import PushNetwork from '@pushprotocol/node-core'; +import { PushNetwork } from '@pushprotocol/node-core'; import React, { createContext, useContext } from 'react'; interface AppContextType { diff --git a/examples/email-app/src/providers/app-provider.tsx b/examples/email-app/src/providers/app-provider.tsx index 669982ae..d3b0212c 100644 --- a/examples/email-app/src/providers/app-provider.tsx +++ b/examples/email-app/src/providers/app-provider.tsx @@ -2,7 +2,7 @@ import { AppContext } from '@/context/app-context'; import { IEmail } from '@/types'; import { usePrivy } from '@privy-io/react-auth'; -import PushNetwork from '@pushprotocol/node-core'; +import { PushNetwork } from '@pushprotocol/node-core'; import { ENV } from '@pushprotocol/node-core/src/lib/constants'; import PushMail from 'push-mail'; From 99f57c406b323ea2b63c21924a65b52dc611aeb6 Mon Sep 17 00:00:00 2001 From: aman035 Date: Thu, 21 Nov 2024 14:52:31 +0530 Subject: [PATCH 6/9] email : rename --- examples/{email-app => email}/.gitignore | 0 examples/{email-app => email}/README.md | 0 examples/{email-app => email}/components.json | 0 examples/{email-app => email}/eslint.config.js | 0 examples/{email-app => email}/index.html | 0 examples/{email-app => email}/package-lock.json | 0 examples/{email-app => email}/package.json | 2 +- examples/{email-app => email}/postcss.config.js | 0 examples/{email-app => email}/public/vite.svg | 0 examples/{email-app => email}/src/App.tsx | 0 examples/{email-app => email}/src/assets/react.svg | 0 .../src/components/connected-wallet-info.tsx | 0 examples/{email-app => email}/src/components/email-card.tsx | 0 examples/{email-app => email}/src/components/email-layout.tsx | 0 examples/{email-app => email}/src/components/email-list.tsx | 0 examples/{email-app => email}/src/components/email-viewer.tsx | 0 examples/{email-app => email}/src/components/logged-in-view.tsx | 0 examples/{email-app => email}/src/components/login.tsx | 0 examples/{email-app => email}/src/components/new-email.tsx | 0 examples/{email-app => email}/src/components/ui/badge.tsx | 0 examples/{email-app => email}/src/components/ui/button.tsx | 0 examples/{email-app => email}/src/components/ui/card.tsx | 0 examples/{email-app => email}/src/components/ui/input.tsx | 0 examples/{email-app => email}/src/components/ui/popover.tsx | 0 examples/{email-app => email}/src/components/ui/resizable.tsx | 0 examples/{email-app => email}/src/components/ui/scroll-area.tsx | 0 examples/{email-app => email}/src/components/ui/search-bar.tsx | 0 examples/{email-app => email}/src/components/ui/select.tsx | 0 examples/{email-app => email}/src/components/ui/tabs.tsx | 0 examples/{email-app => email}/src/components/ui/textarea.tsx | 0 examples/{email-app => email}/src/constants/index.ts | 0 examples/{email-app => email}/src/context/app-context.tsx | 0 examples/{email-app => email}/src/index.css | 0 examples/{email-app => email}/src/lib/utils.ts | 0 examples/{email-app => email}/src/main.tsx | 0 examples/{email-app => email}/src/providers/app-provider.tsx | 0 .../src/providers/privy-wallet-provider.tsx | 0 examples/{email-app => email}/src/types/index.ts | 0 examples/{email-app => email}/src/vite-env.d.ts | 0 examples/{email-app => email}/tailwind.config.js | 0 examples/{email-app => email}/tsconfig.app.json | 0 examples/{email-app => email}/tsconfig.app.tsbuildinfo | 0 examples/{email-app => email}/tsconfig.json | 0 examples/{email-app => email}/tsconfig.node.json | 0 examples/{email-app => email}/tsconfig.node.tsbuildinfo | 0 examples/{email-app => email}/vite.config.ts | 0 46 files changed, 1 insertion(+), 1 deletion(-) rename examples/{email-app => email}/.gitignore (100%) rename examples/{email-app => email}/README.md (100%) rename examples/{email-app => email}/components.json (100%) rename examples/{email-app => email}/eslint.config.js (100%) rename examples/{email-app => email}/index.html (100%) rename examples/{email-app => email}/package-lock.json (100%) rename examples/{email-app => email}/package.json (98%) rename examples/{email-app => email}/postcss.config.js (100%) rename examples/{email-app => email}/public/vite.svg (100%) rename examples/{email-app => email}/src/App.tsx (100%) rename examples/{email-app => email}/src/assets/react.svg (100%) rename examples/{email-app => email}/src/components/connected-wallet-info.tsx (100%) rename examples/{email-app => email}/src/components/email-card.tsx (100%) rename examples/{email-app => email}/src/components/email-layout.tsx (100%) rename examples/{email-app => email}/src/components/email-list.tsx (100%) rename examples/{email-app => email}/src/components/email-viewer.tsx (100%) rename examples/{email-app => email}/src/components/logged-in-view.tsx (100%) rename examples/{email-app => email}/src/components/login.tsx (100%) rename examples/{email-app => email}/src/components/new-email.tsx (100%) rename examples/{email-app => email}/src/components/ui/badge.tsx (100%) rename examples/{email-app => email}/src/components/ui/button.tsx (100%) rename examples/{email-app => email}/src/components/ui/card.tsx (100%) rename examples/{email-app => email}/src/components/ui/input.tsx (100%) rename examples/{email-app => email}/src/components/ui/popover.tsx (100%) rename examples/{email-app => email}/src/components/ui/resizable.tsx (100%) rename examples/{email-app => email}/src/components/ui/scroll-area.tsx (100%) rename examples/{email-app => email}/src/components/ui/search-bar.tsx (100%) rename examples/{email-app => email}/src/components/ui/select.tsx (100%) rename examples/{email-app => email}/src/components/ui/tabs.tsx (100%) rename examples/{email-app => email}/src/components/ui/textarea.tsx (100%) rename examples/{email-app => email}/src/constants/index.ts (100%) rename examples/{email-app => email}/src/context/app-context.tsx (100%) rename examples/{email-app => email}/src/index.css (100%) rename examples/{email-app => email}/src/lib/utils.ts (100%) rename examples/{email-app => email}/src/main.tsx (100%) rename examples/{email-app => email}/src/providers/app-provider.tsx (100%) rename examples/{email-app => email}/src/providers/privy-wallet-provider.tsx (100%) rename examples/{email-app => email}/src/types/index.ts (100%) rename examples/{email-app => email}/src/vite-env.d.ts (100%) rename examples/{email-app => email}/tailwind.config.js (100%) rename examples/{email-app => email}/tsconfig.app.json (100%) rename examples/{email-app => email}/tsconfig.app.tsbuildinfo (100%) rename examples/{email-app => email}/tsconfig.json (100%) rename examples/{email-app => email}/tsconfig.node.json (100%) rename examples/{email-app => email}/tsconfig.node.tsbuildinfo (100%) rename examples/{email-app => email}/vite.config.ts (100%) diff --git a/examples/email-app/.gitignore b/examples/email/.gitignore similarity index 100% rename from examples/email-app/.gitignore rename to examples/email/.gitignore diff --git a/examples/email-app/README.md b/examples/email/README.md similarity index 100% rename from examples/email-app/README.md rename to examples/email/README.md diff --git a/examples/email-app/components.json b/examples/email/components.json similarity index 100% rename from examples/email-app/components.json rename to examples/email/components.json diff --git a/examples/email-app/eslint.config.js b/examples/email/eslint.config.js similarity index 100% rename from examples/email-app/eslint.config.js rename to examples/email/eslint.config.js diff --git a/examples/email-app/index.html b/examples/email/index.html similarity index 100% rename from examples/email-app/index.html rename to examples/email/index.html diff --git a/examples/email-app/package-lock.json b/examples/email/package-lock.json similarity index 100% rename from examples/email-app/package-lock.json rename to examples/email/package-lock.json diff --git a/examples/email-app/package.json b/examples/email/package.json similarity index 98% rename from examples/email-app/package.json rename to examples/email/package.json index b17c1270..2931997a 100644 --- a/examples/email-app/package.json +++ b/examples/email/package.json @@ -1,5 +1,5 @@ { - "name": "email-app", + "name": "email", "private": true, "version": "0.0.0", "type": "module", diff --git a/examples/email-app/postcss.config.js b/examples/email/postcss.config.js similarity index 100% rename from examples/email-app/postcss.config.js rename to examples/email/postcss.config.js diff --git a/examples/email-app/public/vite.svg b/examples/email/public/vite.svg similarity index 100% rename from examples/email-app/public/vite.svg rename to examples/email/public/vite.svg diff --git a/examples/email-app/src/App.tsx b/examples/email/src/App.tsx similarity index 100% rename from examples/email-app/src/App.tsx rename to examples/email/src/App.tsx diff --git a/examples/email-app/src/assets/react.svg b/examples/email/src/assets/react.svg similarity index 100% rename from examples/email-app/src/assets/react.svg rename to examples/email/src/assets/react.svg diff --git a/examples/email-app/src/components/connected-wallet-info.tsx b/examples/email/src/components/connected-wallet-info.tsx similarity index 100% rename from examples/email-app/src/components/connected-wallet-info.tsx rename to examples/email/src/components/connected-wallet-info.tsx diff --git a/examples/email-app/src/components/email-card.tsx b/examples/email/src/components/email-card.tsx similarity index 100% rename from examples/email-app/src/components/email-card.tsx rename to examples/email/src/components/email-card.tsx diff --git a/examples/email-app/src/components/email-layout.tsx b/examples/email/src/components/email-layout.tsx similarity index 100% rename from examples/email-app/src/components/email-layout.tsx rename to examples/email/src/components/email-layout.tsx diff --git a/examples/email-app/src/components/email-list.tsx b/examples/email/src/components/email-list.tsx similarity index 100% rename from examples/email-app/src/components/email-list.tsx rename to examples/email/src/components/email-list.tsx diff --git a/examples/email-app/src/components/email-viewer.tsx b/examples/email/src/components/email-viewer.tsx similarity index 100% rename from examples/email-app/src/components/email-viewer.tsx rename to examples/email/src/components/email-viewer.tsx diff --git a/examples/email-app/src/components/logged-in-view.tsx b/examples/email/src/components/logged-in-view.tsx similarity index 100% rename from examples/email-app/src/components/logged-in-view.tsx rename to examples/email/src/components/logged-in-view.tsx diff --git a/examples/email-app/src/components/login.tsx b/examples/email/src/components/login.tsx similarity index 100% rename from examples/email-app/src/components/login.tsx rename to examples/email/src/components/login.tsx diff --git a/examples/email-app/src/components/new-email.tsx b/examples/email/src/components/new-email.tsx similarity index 100% rename from examples/email-app/src/components/new-email.tsx rename to examples/email/src/components/new-email.tsx diff --git a/examples/email-app/src/components/ui/badge.tsx b/examples/email/src/components/ui/badge.tsx similarity index 100% rename from examples/email-app/src/components/ui/badge.tsx rename to examples/email/src/components/ui/badge.tsx diff --git a/examples/email-app/src/components/ui/button.tsx b/examples/email/src/components/ui/button.tsx similarity index 100% rename from examples/email-app/src/components/ui/button.tsx rename to examples/email/src/components/ui/button.tsx diff --git a/examples/email-app/src/components/ui/card.tsx b/examples/email/src/components/ui/card.tsx similarity index 100% rename from examples/email-app/src/components/ui/card.tsx rename to examples/email/src/components/ui/card.tsx diff --git a/examples/email-app/src/components/ui/input.tsx b/examples/email/src/components/ui/input.tsx similarity index 100% rename from examples/email-app/src/components/ui/input.tsx rename to examples/email/src/components/ui/input.tsx diff --git a/examples/email-app/src/components/ui/popover.tsx b/examples/email/src/components/ui/popover.tsx similarity index 100% rename from examples/email-app/src/components/ui/popover.tsx rename to examples/email/src/components/ui/popover.tsx diff --git a/examples/email-app/src/components/ui/resizable.tsx b/examples/email/src/components/ui/resizable.tsx similarity index 100% rename from examples/email-app/src/components/ui/resizable.tsx rename to examples/email/src/components/ui/resizable.tsx diff --git a/examples/email-app/src/components/ui/scroll-area.tsx b/examples/email/src/components/ui/scroll-area.tsx similarity index 100% rename from examples/email-app/src/components/ui/scroll-area.tsx rename to examples/email/src/components/ui/scroll-area.tsx diff --git a/examples/email-app/src/components/ui/search-bar.tsx b/examples/email/src/components/ui/search-bar.tsx similarity index 100% rename from examples/email-app/src/components/ui/search-bar.tsx rename to examples/email/src/components/ui/search-bar.tsx diff --git a/examples/email-app/src/components/ui/select.tsx b/examples/email/src/components/ui/select.tsx similarity index 100% rename from examples/email-app/src/components/ui/select.tsx rename to examples/email/src/components/ui/select.tsx diff --git a/examples/email-app/src/components/ui/tabs.tsx b/examples/email/src/components/ui/tabs.tsx similarity index 100% rename from examples/email-app/src/components/ui/tabs.tsx rename to examples/email/src/components/ui/tabs.tsx diff --git a/examples/email-app/src/components/ui/textarea.tsx b/examples/email/src/components/ui/textarea.tsx similarity index 100% rename from examples/email-app/src/components/ui/textarea.tsx rename to examples/email/src/components/ui/textarea.tsx diff --git a/examples/email-app/src/constants/index.ts b/examples/email/src/constants/index.ts similarity index 100% rename from examples/email-app/src/constants/index.ts rename to examples/email/src/constants/index.ts diff --git a/examples/email-app/src/context/app-context.tsx b/examples/email/src/context/app-context.tsx similarity index 100% rename from examples/email-app/src/context/app-context.tsx rename to examples/email/src/context/app-context.tsx diff --git a/examples/email-app/src/index.css b/examples/email/src/index.css similarity index 100% rename from examples/email-app/src/index.css rename to examples/email/src/index.css diff --git a/examples/email-app/src/lib/utils.ts b/examples/email/src/lib/utils.ts similarity index 100% rename from examples/email-app/src/lib/utils.ts rename to examples/email/src/lib/utils.ts diff --git a/examples/email-app/src/main.tsx b/examples/email/src/main.tsx similarity index 100% rename from examples/email-app/src/main.tsx rename to examples/email/src/main.tsx diff --git a/examples/email-app/src/providers/app-provider.tsx b/examples/email/src/providers/app-provider.tsx similarity index 100% rename from examples/email-app/src/providers/app-provider.tsx rename to examples/email/src/providers/app-provider.tsx diff --git a/examples/email-app/src/providers/privy-wallet-provider.tsx b/examples/email/src/providers/privy-wallet-provider.tsx similarity index 100% rename from examples/email-app/src/providers/privy-wallet-provider.tsx rename to examples/email/src/providers/privy-wallet-provider.tsx diff --git a/examples/email-app/src/types/index.ts b/examples/email/src/types/index.ts similarity index 100% rename from examples/email-app/src/types/index.ts rename to examples/email/src/types/index.ts diff --git a/examples/email-app/src/vite-env.d.ts b/examples/email/src/vite-env.d.ts similarity index 100% rename from examples/email-app/src/vite-env.d.ts rename to examples/email/src/vite-env.d.ts diff --git a/examples/email-app/tailwind.config.js b/examples/email/tailwind.config.js similarity index 100% rename from examples/email-app/tailwind.config.js rename to examples/email/tailwind.config.js diff --git a/examples/email-app/tsconfig.app.json b/examples/email/tsconfig.app.json similarity index 100% rename from examples/email-app/tsconfig.app.json rename to examples/email/tsconfig.app.json diff --git a/examples/email-app/tsconfig.app.tsbuildinfo b/examples/email/tsconfig.app.tsbuildinfo similarity index 100% rename from examples/email-app/tsconfig.app.tsbuildinfo rename to examples/email/tsconfig.app.tsbuildinfo diff --git a/examples/email-app/tsconfig.json b/examples/email/tsconfig.json similarity index 100% rename from examples/email-app/tsconfig.json rename to examples/email/tsconfig.json diff --git a/examples/email-app/tsconfig.node.json b/examples/email/tsconfig.node.json similarity index 100% rename from examples/email-app/tsconfig.node.json rename to examples/email/tsconfig.node.json diff --git a/examples/email-app/tsconfig.node.tsbuildinfo b/examples/email/tsconfig.node.tsbuildinfo similarity index 100% rename from examples/email-app/tsconfig.node.tsbuildinfo rename to examples/email/tsconfig.node.tsbuildinfo diff --git a/examples/email-app/vite.config.ts b/examples/email/vite.config.ts similarity index 100% rename from examples/email-app/vite.config.ts rename to examples/email/vite.config.ts From 264db024b8b8f2a46d3ec891e5db8476c094107f Mon Sep 17 00:00:00 2001 From: aman035 Date: Thu, 21 Nov 2024 15:00:31 +0530 Subject: [PATCH 7/9] test: ghpages deployment --- .github/workflows/deploy.yml | 36 +++++++++++++++++++++++++++++++++++ examples/email/vite.config.ts | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..b51a33e7 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,36 @@ +name: Deploy Email App + +on: + push: + branches: + - main # Update if your default branch is different + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 20 # Ensure this matches your project requirements + cache: 'npm' + + - name: Install dependencies + run: npm install # Or pnpm/yarn if you are using a different package manager + + - name: Build Email App + run: | + cd examples/email + npm run build + mkdir -p ../../gh-pages/email + cp -R dist/* ../../gh-pages/email + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: gh-pages diff --git a/examples/email/vite.config.ts b/examples/email/vite.config.ts index 072bf1b7..3434086c 100644 --- a/examples/email/vite.config.ts +++ b/examples/email/vite.config.ts @@ -10,4 +10,6 @@ export default defineConfig({ '@': path.resolve(__dirname, './src'), }, }, + // This is the base path for the email app + base: '/push-network-sdk/email/', }); From b95f5b89b2ed6fe39ecd7ba58dfa47362ee3c5e7 Mon Sep 17 00:00:00 2001 From: aman035 Date: Thu, 21 Nov 2024 15:03:46 +0530 Subject: [PATCH 8/9] fix: deploy.yml --- .github/workflows/deploy.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b51a33e7..dd232762 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -20,11 +20,12 @@ jobs: cache: 'npm' - name: Install dependencies - run: npm install # Or pnpm/yarn if you are using a different package manager + run: | + cd examples/email + npm install - name: Build Email App run: | - cd examples/email npm run build mkdir -p ../../gh-pages/email cp -R dist/* ../../gh-pages/email From 806faed3deff31533cc016496f9565cfcd9d758c Mon Sep 17 00:00:00 2001 From: aman035 Date: Thu, 21 Nov 2024 15:05:12 +0530 Subject: [PATCH 9/9] fix: deploy.yml --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index dd232762..6a120738 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,6 +26,7 @@ jobs: - name: Build Email App run: | + cd examples/email npm run build mkdir -p ../../gh-pages/email cp -R dist/* ../../gh-pages/email