diff --git a/package-lock.json b/package-lock.json index cd6dfcf..edf1913 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,8 +15,8 @@ "@goat-sdk/wallet-evm": "^0.3.0", "@modelcontextprotocol/sdk": "^1.17.5", "@vitest/browser": "^3.1.1", - "@xmtp/browser-sdk": "^2.0.5", - "@xmtp/node-sdk": "^4.1.0", + "@xmtp/browser-sdk": "^4.3.0", + "@xmtp/node-sdk": "^4.2.3", "babel-plugin-transform-import-meta": "^2.3.2", "ethers": "^5.7.2", "playwright": "^1.51.1", @@ -1777,43 +1777,6 @@ "resolved": "https://registry.npmjs.org/@bosonprotocol/metadata-storage/-/metadata-storage-1.0.1.tgz", "integrity": "sha512-f2W2SQAvY5IKD6L9JwaiNye7gGRIIPd/HOB0i+otWLzMPBlwQtbN4JeWSuKeJvuaqu8tyMy7CHzN8EkhrJDB+A==" }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", @@ -4551,30 +4514,6 @@ "node": ">= 10" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", @@ -5173,15 +5112,15 @@ } }, "node_modules/@xmtp/browser-sdk": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@xmtp/browser-sdk/-/browser-sdk-2.0.5.tgz", - "integrity": "sha512-KTqUU7IZXUwgofBBWUgS5riGUWM50/y3oJFgiSFAKKxnHPb5hRHcXCDxfdtuwLJ7Pt7JIVPO3ieNpRzminXA6w==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@xmtp/browser-sdk/-/browser-sdk-4.3.0.tgz", + "integrity": "sha512-DPQlkqBPbuWrWpNFZ8c8DeZUWtFdF9qfWj+EsO1enYApoA2wv/r9tPBI2tvtla1RctdTA+KAg0qpi4zZ7Iq8fA==", + "license": "MIT", "dependencies": { "@xmtp/content-type-group-updated": "^2.0.2", "@xmtp/content-type-primitives": "^2.0.2", "@xmtp/content-type-text": "^2.0.2", - "@xmtp/proto": "^3.78.0", - "@xmtp/wasm-bindings": "1.2.0-dev.878fd38", + "@xmtp/wasm-bindings": "1.5.3", "uuid": "^11.1.0" }, "engines": { @@ -5214,22 +5153,24 @@ } }, "node_modules/@xmtp/node-bindings": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@xmtp/node-bindings/-/node-bindings-1.4.0.tgz", - "integrity": "sha512-NfpbDc0gdhDY+5x1gxlv3I/5EtGLuwfkQszy08HXQHCchFrdpyA3NcnM9C2OQK7992H7f+bGEUlzaRze6Iqrbw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@xmtp/node-bindings/-/node-bindings-1.5.4.tgz", + "integrity": "sha512-ffVCQhV8xQWxE1plPIeVMr0qFFB4/2FjYuprowKIfxLqOUqUR9w+otxZFfMZ+MGQ5j37SpFnPxUgDoOrNczUJQ==", + "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@xmtp/node-sdk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@xmtp/node-sdk/-/node-sdk-4.1.0.tgz", - "integrity": "sha512-tDXrwVnxUzyrjlmFE9FuBpR2j8OtE4hrDMLdBpEvoTjMHvWiPyzaxHoE8FZLOaSoW/zwncGHLH0VE59j7PQx+g==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@xmtp/node-sdk/-/node-sdk-4.2.3.tgz", + "integrity": "sha512-BHX5ML76Qg1dZjMzEUfeZQ8U39Te4Q5Q79Sw1LOYuNm7qNMU16JQcBAQjbN54u95l5L8nhD4kqGYKpq5pO4aqQ==", + "license": "MIT", "dependencies": { "@xmtp/content-type-group-updated": "^2.0.2", "@xmtp/content-type-primitives": "^2.0.2", "@xmtp/content-type-text": "^2.0.2", - "@xmtp/node-bindings": "1.4.0" + "@xmtp/node-bindings": "1.5.4" }, "engines": { "node": ">=20" @@ -5247,9 +5188,13 @@ } }, "node_modules/@xmtp/wasm-bindings": { - "version": "1.2.0-dev.878fd38", - "resolved": "https://registry.npmjs.org/@xmtp/wasm-bindings/-/wasm-bindings-1.2.0-dev.878fd38.tgz", - "integrity": "sha512-G72RniMu1kcx6/hsJ6s8qPkHYLILx2Wj99VnQePxsS6Q0njaOcThIPmCcc7YnoaICsNDv8XKcns2PLmwB38ziQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@xmtp/wasm-bindings/-/wasm-bindings-1.5.3.tgz", + "integrity": "sha512-GO3qplQQ+1L21xe2gan7salXQ7THhpA/0w9BPqPtfeJBg88bINy0DUFedxKBiRFBjkynCiWKq7UtfIDuphYW8w==", + "license": "MIT", + "workspaces": [ + "tests/integration/**" + ], "engines": { "node": ">=20" } @@ -5307,17 +5252,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", @@ -5433,14 +5367,6 @@ "node": ">= 8" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -7110,17 +7036,6 @@ "node": ">=8" } }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/diff-sequences": { "version": "28.1.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", @@ -7305,17 +7220,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, "node_modules/env-ci": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-5.5.0.tgz", @@ -8650,19 +8554,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", - "optional": true, - "peer": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -11232,14 +11123,6 @@ "semver": "bin/semver.js" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -16168,16 +16051,6 @@ "node": ">=4" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, "node_modules/resolve.exports": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", @@ -17574,51 +17447,6 @@ "typescript": ">=4.8.4" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, "node_modules/tsconfck": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz", @@ -17672,26 +17500,6 @@ "node": ">=4" } }, - "node_modules/tsx": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", - "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", - "optional": true, - "peer": true, - "dependencies": { - "esbuild": "~0.25.0", - "get-tsconfig": "^4.7.5" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, "node_modules/tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -17831,20 +17639,6 @@ "node": ">=14.17" } }, - "node_modules/uglify-js": { - "version": "3.16.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz", - "integrity": "sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -18069,14 +17863,6 @@ "uuid": "dist/esm/bin/uuid" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/v8-to-istanbul": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", @@ -18646,19 +18432,6 @@ "dev": true, "peer": true }, - "node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -18710,17 +18483,6 @@ "node": ">=12" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -19960,39 +19722,6 @@ "resolved": "https://registry.npmjs.org/@bosonprotocol/metadata-storage/-/metadata-storage-1.0.1.tgz", "integrity": "sha512-f2W2SQAvY5IKD6L9JwaiNye7gGRIIPd/HOB0i+otWLzMPBlwQtbN4JeWSuKeJvuaqu8tyMy7CHzN8EkhrJDB+A==" }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, "@esbuild/aix-ppc64": { "version": "0.25.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", @@ -21740,30 +21469,6 @@ "dev": true, "peer": true }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, - "optional": true, - "peer": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "optional": true, - "peer": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "optional": true, - "peer": true - }, "@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", @@ -22188,15 +21893,14 @@ } }, "@xmtp/browser-sdk": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@xmtp/browser-sdk/-/browser-sdk-2.0.5.tgz", - "integrity": "sha512-KTqUU7IZXUwgofBBWUgS5riGUWM50/y3oJFgiSFAKKxnHPb5hRHcXCDxfdtuwLJ7Pt7JIVPO3ieNpRzminXA6w==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@xmtp/browser-sdk/-/browser-sdk-4.3.0.tgz", + "integrity": "sha512-DPQlkqBPbuWrWpNFZ8c8DeZUWtFdF9qfWj+EsO1enYApoA2wv/r9tPBI2tvtla1RctdTA+KAg0qpi4zZ7Iq8fA==", "requires": { "@xmtp/content-type-group-updated": "^2.0.2", "@xmtp/content-type-primitives": "^2.0.2", "@xmtp/content-type-text": "^2.0.2", - "@xmtp/proto": "^3.78.0", - "@xmtp/wasm-bindings": "1.2.0-dev.878fd38", + "@xmtp/wasm-bindings": "1.5.3", "uuid": "^11.1.0" } }, @@ -22226,19 +21930,19 @@ } }, "@xmtp/node-bindings": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@xmtp/node-bindings/-/node-bindings-1.4.0.tgz", - "integrity": "sha512-NfpbDc0gdhDY+5x1gxlv3I/5EtGLuwfkQszy08HXQHCchFrdpyA3NcnM9C2OQK7992H7f+bGEUlzaRze6Iqrbw==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@xmtp/node-bindings/-/node-bindings-1.5.4.tgz", + "integrity": "sha512-ffVCQhV8xQWxE1plPIeVMr0qFFB4/2FjYuprowKIfxLqOUqUR9w+otxZFfMZ+MGQ5j37SpFnPxUgDoOrNczUJQ==" }, "@xmtp/node-sdk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@xmtp/node-sdk/-/node-sdk-4.1.0.tgz", - "integrity": "sha512-tDXrwVnxUzyrjlmFE9FuBpR2j8OtE4hrDMLdBpEvoTjMHvWiPyzaxHoE8FZLOaSoW/zwncGHLH0VE59j7PQx+g==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@xmtp/node-sdk/-/node-sdk-4.2.3.tgz", + "integrity": "sha512-BHX5ML76Qg1dZjMzEUfeZQ8U39Te4Q5Q79Sw1LOYuNm7qNMU16JQcBAQjbN54u95l5L8nhD4kqGYKpq5pO4aqQ==", "requires": { "@xmtp/content-type-group-updated": "^2.0.2", "@xmtp/content-type-primitives": "^2.0.2", "@xmtp/content-type-text": "^2.0.2", - "@xmtp/node-bindings": "1.4.0" + "@xmtp/node-bindings": "1.5.4" } }, "@xmtp/proto": { @@ -22253,9 +21957,9 @@ } }, "@xmtp/wasm-bindings": { - "version": "1.2.0-dev.878fd38", - "resolved": "https://registry.npmjs.org/@xmtp/wasm-bindings/-/wasm-bindings-1.2.0-dev.878fd38.tgz", - "integrity": "sha512-G72RniMu1kcx6/hsJ6s8qPkHYLILx2Wj99VnQePxsS6Q0njaOcThIPmCcc7YnoaICsNDv8XKcns2PLmwB38ziQ==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@xmtp/wasm-bindings/-/wasm-bindings-1.5.3.tgz", + "integrity": "sha512-GO3qplQQ+1L21xe2gan7salXQ7THhpA/0w9BPqPtfeJBg88bINy0DUFedxKBiRFBjkynCiWKq7UtfIDuphYW8w==" }, "abitype": { "version": "1.0.8", @@ -22285,14 +21989,6 @@ "dev": true, "requires": {} }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "optional": true, - "peer": true - }, "aes-js": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", @@ -22376,14 +22072,6 @@ "picomatch": "^2.0.4" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "optional": true, - "peer": true - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -23641,14 +23329,6 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "optional": true, - "peer": true - }, "diff-sequences": { "version": "28.1.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", @@ -23809,17 +23489,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, "env-ci": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-5.5.0.tgz", @@ -24815,16 +24484,6 @@ "get-intrinsic": "^1.2.6" } }, - "get-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", - "optional": true, - "peer": true, - "requires": { - "resolve-pkg-maps": "^1.0.0" - } - }, "git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -26704,14 +26363,6 @@ } } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "optional": true, - "peer": true - }, "makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -30281,13 +29932,6 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "optional": true, - "peer": true - }, "resolve.exports": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", @@ -31364,29 +31008,6 @@ "dev": true, "requires": {} }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - } - }, "tsconfck": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz", @@ -31423,18 +31044,6 @@ } } }, - "tsx": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", - "integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==", - "optional": true, - "peer": true, - "requires": { - "esbuild": "~0.25.0", - "fsevents": "~2.3.3", - "get-tsconfig": "^4.7.5" - } - }, "tty-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", @@ -31531,14 +31140,6 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "devOptional": true }, - "uglify-js": { - "version": "3.16.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.3.tgz", - "integrity": "sha512-uVbFqx9vvLhQg0iBaau9Z75AxWJ8tqM9AV890dIZCLApF4rTcyHwmAvLeEdYRs+BzYWu8Iw81F79ah0EfTXbaw==", - "dev": true, - "optional": true, - "peer": true - }, "unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -31701,14 +31302,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==" }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "optional": true, - "peer": true - }, "v8-to-istanbul": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", @@ -32040,13 +31633,6 @@ "dev": true, "peer": true }, - "yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", - "optional": true, - "peer": true - }, "yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -32088,14 +31674,6 @@ "dev": true, "peer": true }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "optional": true, - "peer": true - }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 10caa50..6d9ee84 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,8 @@ "@goat-sdk/wallet-evm": "^0.3.0", "@modelcontextprotocol/sdk": "^1.17.5", "@vitest/browser": "^3.1.1", - "@xmtp/browser-sdk": "^2.0.5", - "@xmtp/node-sdk": "^4.1.0", + "@xmtp/browser-sdk": "^4.3.0", + "@xmtp/node-sdk": "^4.2.3", "babel-plugin-transform-import-meta": "^2.3.2", "ethers": "^5.7.2", "playwright": "^1.51.1", diff --git a/src/browser/client.ts b/src/browser/client.ts index 3a583b1..724f11a 100644 --- a/src/browser/client.ts +++ b/src/browser/client.ts @@ -1,5 +1,6 @@ import type { Conversation, Identifier, XmtpEnv } from "@xmtp/browser-sdk"; import { Client } from "@xmtp/browser-sdk"; +import type { GroupUpdated } from "@xmtp/content-type-group-updated"; import { TextCodec } from "@xmtp/content-type-text"; import type { Signer } from "ethers"; import { Wallet } from "ethers"; @@ -9,12 +10,14 @@ import type { MessageObject } from "../common/util/v0.0.1/definitions.js"; import type { AuthorityIdEnvName } from "../common/util/v0.0.1/functions.js"; import { createEOASigner } from "./helpers/createSigner.js"; +type ContentTypes = string | MessageObject | GroupUpdated; +export type BosonClient = Client; export class XmtpClient { get inboxId(): string | undefined { return this.client.inboxId?.toLowerCase(); } signer: Signer; - client: Client; + client: BosonClient; envName: AuthorityIdEnvName; xmtpEnvName: XmtpEnv; @@ -26,7 +29,7 @@ export class XmtpClient { */ constructor( signer: Signer, - client: Client, + client: BosonClient, envName: AuthorityIdEnvName, xmtpEnvName: XmtpEnv, ) { @@ -49,10 +52,13 @@ export class XmtpClient { ): Promise { const address = await signer.getAddress(); const eoaSigner = createEOASigner(address as `0x${string}`, signer); - const client: Client = await Client.create(eoaSigner, { - env: xmtpEnvName, - codecs: [new TextCodec(), new BosonCodec(envName)], - }); + console.log("Initializing XMTP client..."); + const client: Client = + await Client.create(eoaSigner, { + env: xmtpEnvName, + codecs: [new TextCodec(), new BosonCodec(envName)], + }); + console.log("XMTP client initialized"); return new XmtpClient(signer, client, envName, xmtpEnvName); } @@ -105,7 +111,7 @@ export class XmtpClient { * @returns Conversations - {@link Conversation}[] */ public async getConversations(): Promise { - return await this.client.conversations.listDms(); + return this.client.conversations.listDms(); } /** @@ -124,7 +130,9 @@ export class XmtpClient { */ public async getConversation( counterparty: string, - ): Promise>[0]> { + ): Promise< + Awaited["conversations"]["listDms"]>>[0] + > { if (!(await this.checkXmtpEnabled(counterparty))) { throw new Error(`${counterparty} has not initialised their XMTP client`); } diff --git a/src/browser/index.ts b/src/browser/index.ts index 721535d..8769093 100644 --- a/src/browser/index.ts +++ b/src/browser/index.ts @@ -20,6 +20,7 @@ import { getAuthorityId, matchThreadIds, } from "../common/util/v0.0.1/functions.js"; +import type { BosonClient } from "./client.js"; import { XmtpClient } from "./client.js"; import { createEOASigner } from "./helpers/createSigner.js"; import { isBosonMessage } from "./helpers/isBosonMessage.js"; @@ -33,7 +34,7 @@ export class BosonXmtpBrowserClient extends XmtpClient { */ constructor( signer: Signer, - client: Client, + client: BosonClient, envName: AuthorityIdEnvName, xmtpEnvName: XmtpEnv, ) { @@ -55,9 +56,12 @@ export class BosonXmtpBrowserClient extends XmtpClient { const address = await signer.getAddress(); const eoaSigner = createEOASigner(address as `0x${string}`, signer); - const client: Client = await Client.create(eoaSigner, { + const client: BosonClient = await Client.create(eoaSigner, { env: xmtpEnvName, - codecs: [new TextCodec(), new BosonCodec(envName)], + appVersion: "xmtp.chat/0", + // codecs: [new TextCodec(), new BosonCodec(envName)], + codecs: [new TextCodec()], + loggingLevel: "debug", }); return new BosonXmtpBrowserClient(signer, client, envName, xmtpEnvName); } diff --git a/src/node/client.ts b/src/node/client.ts index e81ce6b..6bf5110 100644 --- a/src/node/client.ts +++ b/src/node/client.ts @@ -57,11 +57,10 @@ export class XmtpClient { ): Promise { const address = await signer.getAddress(); const eoaSigner = createEOASigner(address as `0x${string}`, signer); - const client: Client = - await Client.create(eoaSigner, { - env: xmtpEnvName, - codecs: [new TextCodec(), new BosonCodec(envName)], - }); + const client: Client = await Client.create(eoaSigner, { + env: xmtpEnvName, + codecs: [new TextCodec(), new BosonCodec(envName)], + }); return new XmtpClient(signer, client, envName, xmtpEnvName); } diff --git a/vite.config.mts b/vite.config.mts index c5fc0a7..0edf846 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -7,6 +7,7 @@ const viteConfig = defineConfig({ define: { global: "globalThis", globalThis: "globalThis", + "import.meta.url": "import.meta.url" // required for xmtp }, worker: { format: "es", @@ -20,7 +21,7 @@ const viteConfig = defineConfig({ ], optimizeDeps: { exclude: ["@xmtp/wasm-bindings", "@xmtp/browser-sdk"], - include: ["buffer", "protobufjs/minimal"], + include: ["buffer", "protobufjs/minimal", "@xmtp/proto"], }, resolve: { alias: {