From fa0ec61f0139be75c5aedc5aac11d2787f70be67 Mon Sep 17 00:00:00 2001 From: Alec Ananian <1013230+alecananian@users.noreply.github.com> Date: Fri, 10 May 2024 11:45:11 -0700 Subject: [PATCH] api: add tx gas override params to contract write endpoint (#29) --- apps/api/package.json | 2 +- apps/api/src/schema.ts | 48 ++++- package-lock.json | 432 +++-------------------------------------- 3 files changed, 73 insertions(+), 409 deletions(-) diff --git a/apps/api/package.json b/apps/api/package.json index 784a2d51..e90f8220 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -21,7 +21,7 @@ "@prisma/client": "^5.3.0", "@sinclair/typebox": "^0.32.5", "@thirdweb-dev/auth": "^4.1.4", - "@thirdweb-dev/engine": "^0.0.5", + "@thirdweb-dev/engine": "^0.0.6", "@treasure-dev/tdk-core": "*", "@wagmi/core": "^2.9.1", "abitype": "^1.0.0", diff --git a/apps/api/src/schema.ts b/apps/api/src/schema.ts index 521e936e..c6e5d606 100644 --- a/apps/api/src/schema.ts +++ b/apps/api/src/schema.ts @@ -294,9 +294,51 @@ export type ReadContractReply = Static; // Transactions export const createTransactionBodySchema = Type.Object({ - address: Type.String(), - functionName: Type.String(), - args: Type.Any(), + address: Type.String({ + description: "The address of the contract to call", + }), + functionName: Type.String({ + description: "The function to call on the contract", + }), + args: Type.Array( + Type.Union([ + Type.String({ + description: "The arguments to call on the function", + }), + Type.Tuple([Type.String(), Type.String()]), + Type.Object({}), + Type.Array(Type.Any()), + Type.Any(), + ]), + ), + txOverrides: Type.Optional( + Type.Object({ + value: Type.Optional( + Type.String({ + examples: ["10000000000"], + description: "Amount of native currency to send", + }), + ), + gas: Type.Optional( + Type.String({ + examples: ["530000"], + description: "Gas limit for the transaction", + }), + ), + maxFeePerGas: Type.Optional( + Type.String({ + examples: ["1000000000"], + description: "Maximum fee per gas", + }), + ), + maxPriorityFeePerGas: Type.Optional( + Type.String({ + examples: ["1000000000"], + description: "Maximum priority fee per gas", + }), + ), + }), + ), }); export const createTransactionReplySchema = Type.Object({ diff --git a/package-lock.json b/package-lock.json index 1803b18d..a43557e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,7 +48,7 @@ "@prisma/client": "^5.3.0", "@sinclair/typebox": "^0.32.5", "@thirdweb-dev/auth": "^4.1.4", - "@thirdweb-dev/engine": "^0.0.5", + "@thirdweb-dev/engine": "^0.0.6", "@treasure-dev/tdk-core": "*", "@wagmi/core": "^2.9.1", "abitype": "^1.0.0", @@ -11589,63 +11589,6 @@ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==" }, - "node_modules/@solana/buffer-layout": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", - "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", - "optional": true, - "peer": true, - "dependencies": { - "buffer": "~6.0.3" - }, - "engines": { - "node": ">=5.10" - } - }, - "node_modules/@solana/web3.js": { - "version": "1.91.8", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.91.8.tgz", - "integrity": "sha512-USa6OS1jbh8zOapRJ/CBZImZ8Xb7AJjROZl5adql9TpOoBN9BUzyyouS5oPuZHft7S7eB8uJPuXWYjMi6BHgOw==", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.24.5", - "@noble/curves": "^1.4.0", - "@noble/hashes": "^1.4.0", - "@solana/buffer-layout": "^4.0.1", - "agentkeepalive": "^4.5.0", - "bigint-buffer": "^1.1.5", - "bn.js": "^5.2.1", - "borsh": "^0.7.0", - "bs58": "^4.0.1", - "buffer": "6.0.3", - "fast-stable-stringify": "^1.0.0", - "jayson": "^4.1.0", - "node-fetch": "^2.7.0", - "rpc-websockets": "^7.11.0", - "superstruct": "^0.14.2" - } - }, - "node_modules/@solana/web3.js/node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "optional": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/@solana/web3.js/node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "optional": true, - "peer": true, - "dependencies": { - "base-x": "^3.0.2" - } - }, "node_modules/@stablelib/aead": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", @@ -11833,12 +11776,12 @@ } }, "node_modules/@thirdweb-dev/auth": { - "version": "4.1.74", - "resolved": "https://registry.npmjs.org/@thirdweb-dev/auth/-/auth-4.1.74.tgz", - "integrity": "sha512-4vUu+BObX77Y5qNS0wMb9B0EAfSwaO/t7Dw6JdFL3YiXrb0xCGYbAdLt/QGdpca5F3Um87KG42FJXImMtBE6LA==", + "version": "4.1.75", + "resolved": "https://registry.npmjs.org/@thirdweb-dev/auth/-/auth-4.1.75.tgz", + "integrity": "sha512-fAPDddrd23OflcMlfED0iC1k6/F0aUtl1P/jkQm3yTro4my5D/wh1wQ3sZ6xTAhs4yHKv46ecnrnx+2ePGD8qA==", "dependencies": { "@fastify/cookie": "^9.3.1", - "@thirdweb-dev/wallets": "2.5.16", + "@thirdweb-dev/wallets": "2.5.17", "cookie": "^0.6.0", "fastify-type-provider-zod": "^1.1.9", "uuid": "^9.0.1", @@ -11877,9 +11820,9 @@ } }, "node_modules/@thirdweb-dev/chains": { - "version": "0.1.105", - "resolved": "https://registry.npmjs.org/@thirdweb-dev/chains/-/chains-0.1.105.tgz", - "integrity": "sha512-CP2INeDj/YOfPrDQeijs+v23SrsdiQBbBuIa5OdjQmYbCHhXpP824PffQAd9SLUm9JwEDUhFT937z3Tg6uXp1g==", + "version": "0.1.106", + "resolved": "https://registry.npmjs.org/@thirdweb-dev/chains/-/chains-0.1.106.tgz", + "integrity": "sha512-L5+xUggxI2Ojo1YJqzqIhcI6oCEUh5awQgGmVapW0GlqgtYTjJJjyQZmOnoM2CF8L+cHP9Sf1DhJhakS7XpFgg==", "engines": { "node": ">=18" } @@ -11936,9 +11879,9 @@ } }, "node_modules/@thirdweb-dev/engine": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@thirdweb-dev/engine/-/engine-0.0.5.tgz", - "integrity": "sha512-R3x3dGUga4gq4GuCihse9Jq57Lnutvw0hjuIpRKS0CibiFMm5v6vNb7zv+FgF+7hNzAoI6yXocqSV1xOklPxEA==" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@thirdweb-dev/engine/-/engine-0.0.6.tgz", + "integrity": "sha512-qqut9vNK6XUCrQLhS4nnJ03LGkGGoBWft+lxlJp9RzUfCK39IYLLyfb3P5U66+YrH4rP23QYKYBgKJ/iscMqqQ==" }, "node_modules/@thirdweb-dev/generated-abis": { "version": "0.0.1", @@ -11959,12 +11902,12 @@ } }, "node_modules/@thirdweb-dev/sdk": { - "version": "4.0.76", - "resolved": "https://registry.npmjs.org/@thirdweb-dev/sdk/-/sdk-4.0.76.tgz", - "integrity": "sha512-p7n6dG5PLcuafvyTRqP7c6JmlSOk+N3Peaz/1DqGjlpq+SE+oH3xIIWfEeFT/qlcz3hbJUGjBP0fEn8jobo9PA==", + "version": "4.0.77", + "resolved": "https://registry.npmjs.org/@thirdweb-dev/sdk/-/sdk-4.0.77.tgz", + "integrity": "sha512-eObIZwJ9KWUmFIubchxYdKonKiuIav59/CoS+0//mCWnOLkcuz0uBEEX/pPa2ZDpjF8Yk3Vow6AyNP53I7l+kA==", "dependencies": { "@eth-optimism/sdk": "3.3.0", - "@thirdweb-dev/chains": "0.1.105", + "@thirdweb-dev/chains": "0.1.106", "@thirdweb-dev/contracts-js": "1.3.22", "@thirdweb-dev/crypto": "0.2.5", "@thirdweb-dev/generated-abis": "0.0.1", @@ -11976,7 +11919,7 @@ "buffer": "^6.0.3", "eventemitter3": "^5.0.1", "fast-deep-equal": "^3.1.3", - "thirdweb": "5.16.1", + "thirdweb": "5.17.0", "tiny-invariant": "^1.3.3", "tweetnacl": "^1.0.3", "uuid": "^9.0.1", @@ -12050,9 +11993,9 @@ } }, "node_modules/@thirdweb-dev/wallets": { - "version": "2.5.16", - "resolved": "https://registry.npmjs.org/@thirdweb-dev/wallets/-/wallets-2.5.16.tgz", - "integrity": "sha512-41Mli4qHRUur9Ukylgnv0dJwwBd8cC6W3oEQghPPkSKMbh34EiAx3emUNDT18TwpPadtf34plh1x3+I5R8gkVw==", + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/@thirdweb-dev/wallets/-/wallets-2.5.17.tgz", + "integrity": "sha512-Z0n++WjafsZdqn0qfV5HE4nqRRssIUk69WU6KaeRrwF0vhcpLiqLlHD5T3J98YGlL5JgAiSQwachNpugElEciQ==", "dependencies": { "@account-abstraction/contracts": "^0.5.0", "@blocto/sdk": "0.5.5", @@ -12067,10 +12010,10 @@ "@safe-global/safe-core-sdk": "^3.3.5", "@safe-global/safe-ethers-adapters": "0.1.0-alpha.17", "@safe-global/safe-ethers-lib": "^1.9.4", - "@thirdweb-dev/chains": "0.1.105", + "@thirdweb-dev/chains": "0.1.106", "@thirdweb-dev/contracts-js": "1.3.22", "@thirdweb-dev/crypto": "0.2.5", - "@thirdweb-dev/sdk": "4.0.76", + "@thirdweb-dev/sdk": "4.0.77", "@walletconnect/core": "^2.12.1", "@walletconnect/ethereum-provider": "2.12.2", "@walletconnect/jsonrpc-utils": "^1.0.8", @@ -12268,16 +12211,6 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz", "integrity": "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==" }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", @@ -12510,16 +12443,6 @@ "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", "dev": true }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "optional": true, - "peer": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -14456,19 +14379,6 @@ "node": ">= 14" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "optional": true, - "peer": true, - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -15618,20 +15528,6 @@ "node": ">=4" } }, - "node_modules/bigint-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", - "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "bindings": "^1.3.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/bignumber.js": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", @@ -15651,16 +15547,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "peer": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -15773,38 +15659,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/borsh": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz", - "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==", - "optional": true, - "peer": true, - "dependencies": { - "bn.js": "^5.2.0", - "bs58": "^4.0.0", - "text-encoding-utf-8": "^1.0.2" - } - }, - "node_modules/borsh/node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "optional": true, - "peer": true, - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/borsh/node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "optional": true, - "peer": true, - "dependencies": { - "base-x": "^3.0.2" - } - }, "node_modules/bowser": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", @@ -17856,19 +17710,6 @@ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "optional": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -18471,16 +18312,6 @@ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "optional": true, - "peer": true, - "dependencies": { - "es6-promise": "^4.0.3" - } - }, "node_modules/es6-symbol": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", @@ -19734,16 +19565,6 @@ "node": ">=4" } }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "optional": true, - "peer": true, - "engines": { - "node": "> 0.1.90" - } - }, "node_modules/fast-content-type-parse": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", @@ -19874,13 +19695,6 @@ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, - "node_modules/fast-stable-stringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz", - "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==", - "optional": true, - "peer": true - }, "node_modules/fast-text-encoding": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz", @@ -20094,13 +19908,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true, - "peer": true - }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -21205,16 +21012,6 @@ "node": ">=16.17.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "optional": true, - "peer": true, - "dependencies": { - "ms": "^2.0.0" - } - }, "node_modules/husky": { "version": "9.0.11", "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", @@ -22120,16 +21917,6 @@ "unfetch": "^4.2.0" } }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "optional": true, - "peer": true, - "peerDependencies": { - "ws": "*" - } - }, "node_modules/isows": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.3.tgz", @@ -22186,57 +21973,6 @@ "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", "dev": true }, - "node_modules/jayson": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz", - "integrity": "sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==", - "optional": true, - "peer": true, - "dependencies": { - "@types/connect": "^3.4.33", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "optional": true, - "peer": true - }, - "node_modules/jayson/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true, - "peer": true - }, - "node_modules/jayson/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", @@ -22853,13 +22589,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "optional": true, - "peer": true - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -22879,33 +22608,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ], - "optional": true, - "peer": true - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "optional": true, - "peer": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -29187,65 +28889,6 @@ "node": ">= 8" } }, - "node_modules/rpc-websockets": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.11.0.tgz", - "integrity": "sha512-IkLYjayPv6Io8C/TdCL5gwgzd1hFz2vmBZrjMw/SPEXo51ETOhnzgS4Qy5GWi2JQN7HKHa66J3+2mv0fgNh/7w==", - "optional": true, - "peer": true, - "dependencies": { - "eventemitter3": "^4.0.7", - "uuid": "^8.3.2", - "ws": "^8.5.0" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/kozjak" - }, - "optionalDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - } - }, - "node_modules/rpc-websockets/node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "optional": true, - "peer": true - }, - "node_modules/rpc-websockets/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/rpc-websockets/node_modules/ws": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", - "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", - "optional": true, - "peer": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -30604,13 +30247,6 @@ "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", "peer": true }, - "node_modules/superstruct": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.14.2.tgz", - "integrity": "sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==", - "optional": true, - "peer": true - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -30941,13 +30577,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "peer": true }, - "node_modules/text-encoding-utf-8": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz", - "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==", - "optional": true, - "peer": true - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -30976,9 +30605,9 @@ } }, "node_modules/thirdweb": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/thirdweb/-/thirdweb-5.16.1.tgz", - "integrity": "sha512-buC3hUnrRDOnfeJHIp3PWikTq9W/++E12AM/s8rUInSYefzzKxqLEwJVsX5F+FzD+d5MiZE2LSoXxRr7iuogLA==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/thirdweb/-/thirdweb-5.17.0.tgz", + "integrity": "sha512-OZsALRZAL/dljBtzie0NOQ/o/ccBXzMv2Aw0cwLLwSxb2r8VABFog7mUdf/eVxFAQB6NVVKkH35D4YoU0RiRsw==", "dependencies": { "@coinbase/wallet-sdk": "4.0.0-rc.2", "@emotion/react": "11.11.4", @@ -31190,13 +30819,6 @@ "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "peer": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "optional": true, - "peer": true - }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -32071,9 +31693,9 @@ } }, "node_modules/tsx": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.9.3.tgz", - "integrity": "sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.9.4.tgz", + "integrity": "sha512-TlSJTVn2taGGDgdV3jAqCj7WQ/CafCB5p4SbG7W2Bl/0AJWH1ShJlBbc0y2lOFTjQEVAAULSTlmehw/Mwv3S/Q==", "dev": true, "dependencies": { "esbuild": "~0.20.2",