diff --git a/package-lock.json b/package-lock.json index 270a8ad..6eb10f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,9 @@ "@cosmjs/stargate": "^0.32.4", "@cosmjs/utils": "^0.32.4", "@digitalbazaar/vc-status-list": "^8.0.0", + "@lit-protocol/auth-helpers": "^6.5.1", + "@lit-protocol/constants": "^6.5.1", + "@lit-protocol/contracts-sdk": "^6.5.1", "@lit-protocol/encryption-v2": "npm:@lit-protocol/encryption@~2.2.63", "@lit-protocol/lit-node-client": "^6.4.10", "@lit-protocol/lit-node-client-v2": "npm:@lit-protocol/lit-node-client@~2.2.63", @@ -29,6 +32,7 @@ "debug": "^4.3.7", "did-jwt": "^8.0.4", "did-resolver": "^4.1.0", + "ethers": "^6.13.2", "generate-password": "^1.7.1", "uint8arrays": "^5.1.0", "uuid": "^10.0.0" @@ -48,6 +52,7 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.6.0", "@typescript-eslint/parser": "^8.6.0", + "@veramo/core-types": "^6.0.0", "conventional-changelog-conventionalcommits": "^8.0.0", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", @@ -1710,7 +1715,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -1782,7 +1786,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/bignumber": "^5.7.0", "@ethersproject/constants": "^5.7.0", @@ -2583,6 +2586,53 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/access-control-conditions/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/access-control-conditions/node_modules/multiformats": { "version": "12.1.3", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", @@ -2700,6 +2750,53 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/auth-browser/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/auth-browser/node_modules/multiformats": { "version": "12.1.3", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", @@ -2726,86 +2823,50 @@ } }, "node_modules/@lit-protocol/auth-helpers": { - "version": "2.2.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", - "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", - "license": "MIT", - "dependencies": { - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/bls-sdk": { - "version": "2.2.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.2.63.tgz", - "integrity": "sha512-2ahRBjxpm3SrkhGeb/CULPapmFtayZMgEHwrO7CqPA0M7GrqWvAAg0JFhUlSEdos3/q/Kei7B+ohsG7xPoBOfQ==", - "license": "MIT", - "dependencies": { - "pako": "^2.1.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/constants": { - "version": "2.2.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.63.tgz", - "integrity": "sha512-YY2/ErJnosC8mwyBVfa6gVnHSF+2XMzoGAkFndBeb3rtanxN5JbrmBUGjkc1U1lo4NhmxhI2/inK84h637xypQ==", - "license": "MIT", - "dependencies": { - "@lit-protocol/auth-helpers": "2.2.63", - "@lit-protocol/types": "2.2.63", - "ethers": "^5.7.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/constants/node_modules/@lit-protocol/types": { - "version": "2.2.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", - "integrity": "sha512-Ky3nhjvZuuJMRUXQBa4pwthVozL2mDEj/qTYDYOfmOOzco0QW9vppGMsyNdro48+4rt7yWZLNvSSfRcXXeMvcw==", - "license": "MIT", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-6.5.1.tgz", + "integrity": "sha512-LpDTzgOHS1bKx7ZdmlP40d5/8wmqwsNzv6Th2bsIkVRg2vtnuAqmTZQ1NP68BiswmjclHMb8xgnQUFCt2zX+Wg==", "dependencies": { - "@lit-protocol/auth-helpers": "2.2.63", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/access-control-conditions": "6.5.1", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.5.1", + "@lit-protocol/misc": "6.5.1", + "@lit-protocol/types": "6.5.1", + "@lit-protocol/uint8arrays": "6.5.1", + "ajv": "^8.12.0", "ethers": "^5.7.1", + "jszip": "^3.10.1", + "punycode": "2.3.1", "siwe": "^2.0.5", "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/contracts": { - "version": "0.0.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/contracts/-/contracts-0.0.63.tgz", - "integrity": "sha512-CAorNt72ybIY/g//dDeR837izNGuYQR99XwPSK2X2AJ6c+aZX1kdXCrOnxsbY40BzFrOk/dIFo+ymJ9E3qh48w==", - "peerDependencies": { - "typescript": "^5.0.0" + "tslib": "2.6.0", + "uint8arrays": "^4.0.3", + "util": "0.12.5" } }, - "node_modules/@lit-protocol/contracts-sdk": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@lit-protocol/contracts-sdk/-/contracts-sdk-6.4.10.tgz", - "integrity": "sha512-QQIDXzXAdpEeZw+RPWiiFV243ZR1vI1bmXZ1S4FmBeYGtXTcwHGqDdWb44GiBqKK0xMp+XCchpG2CtFt9ACDOg==", - "license": "MIT", + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/access-control-conditions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/access-control-conditions/-/access-control-conditions-6.5.1.tgz", + "integrity": "sha512-SFPGSr//yaSUGm/WdKUj3U9Z4raraQyOQLMUAB86GBdqiqdXoMHwQ4JV/TLiasO8FyIoprdRU9QNnyU363WLhw==", "dependencies": { - "@cosmjs/amino": "0.30.1", - "@cosmjs/crypto": "0.30.1", - "@cosmjs/encoding": "0.30.1", - "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", "@ethersproject/contracts": "5.7.0", "@ethersproject/providers": "5.7.2", - "@lit-protocol/accs-schemas": "^0.0.11", - "@lit-protocol/constants": "6.4.10", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", "@lit-protocol/contracts": "^0.0.63", - "@lit-protocol/logger": "6.4.10", - "@lit-protocol/misc": "6.4.10", - "@lit-protocol/types": "6.4.10", + "@lit-protocol/logger": "6.5.1", + "@lit-protocol/misc": "6.5.1", + "@lit-protocol/types": "6.5.1", + "@lit-protocol/uint8arrays": "6.5.1", "ajv": "^8.12.0", - "bitcoinjs-lib": "^6.1.0", "ethers": "^5.7.1", - "jose": "^4.14.4", "jszip": "^3.10.1", - "process": "0.11.10", "punycode": "2.3.1", "siwe": "^2.0.5", "tslib": "1.14.1", @@ -2813,89 +2874,55 @@ "util": "0.12.5" } }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/amino": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.30.1.tgz", - "integrity": "sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w==", - "license": "Apache-2.0", - "dependencies": { - "@cosmjs/crypto": "^0.30.1", - "@cosmjs/encoding": "^0.30.1", - "@cosmjs/math": "^0.30.1", - "@cosmjs/utils": "^0.30.1" - } - }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/crypto": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.30.1.tgz", - "integrity": "sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ==", - "license": "Apache-2.0", - "dependencies": { - "@cosmjs/encoding": "^0.30.1", - "@cosmjs/math": "^0.30.1", - "@cosmjs/utils": "^0.30.1", - "@noble/hashes": "^1", - "bn.js": "^5.2.0", - "elliptic": "^6.5.4", - "libsodium-wrappers": "^0.7.6" - } - }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/encoding": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.30.1.tgz", - "integrity": "sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ==", - "license": "Apache-2.0", - "dependencies": { - "base64-js": "^1.3.0", - "bech32": "^1.1.4", - "readonly-date": "^1.0.0" - } + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/access-control-conditions/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/math": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.30.1.tgz", - "integrity": "sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q==", - "license": "Apache-2.0", + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/accs-schemas": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@lit-protocol/accs-schemas/-/accs-schemas-0.0.12.tgz", + "integrity": "sha512-tkAddbEexpjbIY01TFB8YWffe6PFWkxdiSZsriPINfVAL5VmTiL6YH9D3faDP+rNaGMUXu0/AMQ0Dft/iGuLLA==", "dependencies": { - "bn.js": "^5.2.0" + "ajv": "^8.12.0" } }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/utils": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.30.1.tgz", - "integrity": "sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g==", - "license": "Apache-2.0" - }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/constants": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-6.4.10.tgz", - "integrity": "sha512-vfMjrkBgWThY2zC44/jGpic9rqYBawmKShFoHIFmOgxMpR/EX5OK0tucjl02C1RFmsn77b/PiHRWe1gzayehpA==", - "license": "MIT", + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/logger": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/logger/-/logger-6.5.1.tgz", + "integrity": "sha512-oHWIeqNOwZGd0RchBoGKUvEAVWNj3L3k7GR8V+0GOaCkX2bqGjtJfZqpX4ANSssVYFvUonZl+rq+WcP0sR123g==", "dependencies": { "@ethersproject/abstract-provider": "5.7.0", - "@lit-protocol/accs-schemas": "^0.0.11", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", "@lit-protocol/contracts": "^0.0.63", - "@lit-protocol/types": "6.4.10", + "@lit-protocol/types": "6.5.1", "ethers": "^5.7.1", "jszip": "^3.10.1", + "punycode": "2.3.1", "siwe": "^2.0.5", - "tslib": "1.14.1" + "tslib": "1.14.1", + "uint8arrays": "^4.0.3" } }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/misc": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-6.4.10.tgz", - "integrity": "sha512-NJ7ia4M5tcW/MZyRvWbaR5wEmjDy2s/pEV30Os2IyatL+Fjzo1BNh69VmGMqQkEi46UJH99hGIFZnl3TwvojNw==", - "license": "MIT", + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/logger/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/misc": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-6.5.1.tgz", + "integrity": "sha512-FFth4zmOkiA2dPdB/n5fwzVYZe7rE182vYa4N/dnMNMRwwmmlLzKTSfWs3UrQ+ui6b9Z+4B/ra//FITLevM5tg==", "dependencies": { "@ethersproject/abstract-provider": "5.7.0", "@ethersproject/contracts": "5.7.0", "@ethersproject/providers": "5.7.2", - "@lit-protocol/accs-schemas": "^0.0.11", - "@lit-protocol/constants": "6.4.10", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", "@lit-protocol/contracts": "^0.0.63", - "@lit-protocol/logger": "6.4.10", - "@lit-protocol/types": "6.4.10", + "@lit-protocol/logger": "6.5.1", + "@lit-protocol/types": "6.5.1", "ajv": "^8.12.0", "ethers": "^5.7.1", "jszip": "^3.10.1", @@ -2906,27 +2933,456 @@ "util": "0.12.5" } }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/multiformats": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", - "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", - "license": "Apache-2.0 OR MIT", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@lit-protocol/contracts-sdk/node_modules/tslib": { + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/misc/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/types": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-6.5.1.tgz", + "integrity": "sha512-Vqf3txWivc1UGbCDk8/vnfUusG5CiZRU2oeUIz5AZr5a5djcGWNwL/hqblyMTiaB3OB7cLyLUENI4Mt8VYd54w==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/types/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/uint8arrays": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-6.5.1.tgz", + "integrity": "sha512-8yoRkE1lvZiQdEmpQAdmgGgId5JlIlT4eCjQqbYqcnf3/8iLvUI3oGCE2WVYNxFEJRPQprP5QCAk/bfgA4aL+g==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/contracts": "^0.0.63", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/@lit-protocol/uint8arrays/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/multiformats": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", + "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/siwe-recap/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + }, + "node_modules/@lit-protocol/auth-helpers/node_modules/uint8arrays": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", + "integrity": "sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA==", + "dependencies": { + "multiformats": "^12.0.1" + } + }, + "node_modules/@lit-protocol/bls-sdk": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.2.63.tgz", + "integrity": "sha512-2ahRBjxpm3SrkhGeb/CULPapmFtayZMgEHwrO7CqPA0M7GrqWvAAg0JFhUlSEdos3/q/Kei7B+ohsG7xPoBOfQ==", + "license": "MIT", + "dependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/constants": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-6.5.1.tgz", + "integrity": "sha512-BQlklrLFtLbugab17SNFU2tzAgT/zXkhrTtgaOOOn/HUrSYzhNe/S68TSmODV4b3dU/Eo0ZBN3sjH+3epLxtrQ==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/types": "6.5.1", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/constants/node_modules/@lit-protocol/accs-schemas": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@lit-protocol/accs-schemas/-/accs-schemas-0.0.12.tgz", + "integrity": "sha512-tkAddbEexpjbIY01TFB8YWffe6PFWkxdiSZsriPINfVAL5VmTiL6YH9D3faDP+rNaGMUXu0/AMQ0Dft/iGuLLA==", + "dependencies": { + "ajv": "^8.12.0" + } + }, + "node_modules/@lit-protocol/constants/node_modules/@lit-protocol/types": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-6.5.1.tgz", + "integrity": "sha512-Vqf3txWivc1UGbCDk8/vnfUusG5CiZRU2oeUIz5AZr5a5djcGWNwL/hqblyMTiaB3OB7cLyLUENI4Mt8VYd54w==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/constants/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/constants/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/contracts": { + "version": "0.0.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/contracts/-/contracts-0.0.63.tgz", + "integrity": "sha512-CAorNt72ybIY/g//dDeR837izNGuYQR99XwPSK2X2AJ6c+aZX1kdXCrOnxsbY40BzFrOk/dIFo+ymJ9E3qh48w==", + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/contracts-sdk/-/contracts-sdk-6.5.1.tgz", + "integrity": "sha512-HTBKeFW5EBq7qH82bYp74hBpMqPc+qgvQdLywbVVJg6lGGzOGhRr7H+tr29EhR4Dchd7/TxpKt18jjrgp4ds5g==", + "dependencies": { + "@cosmjs/amino": "0.30.1", + "@cosmjs/crypto": "0.30.1", + "@cosmjs/encoding": "0.30.1", + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.5.1", + "@lit-protocol/misc": "6.5.1", + "@lit-protocol/types": "6.5.1", + "ajv": "^8.12.0", + "bitcoinjs-lib": "^6.1.0", + "ethers": "^5.7.1", + "jose": "^4.14.4", + "jszip": "^3.10.1", + "process": "0.11.10", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3", + "util": "0.12.5" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/amino": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@cosmjs/amino/-/amino-0.30.1.tgz", + "integrity": "sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w==", + "license": "Apache-2.0", + "dependencies": { + "@cosmjs/crypto": "^0.30.1", + "@cosmjs/encoding": "^0.30.1", + "@cosmjs/math": "^0.30.1", + "@cosmjs/utils": "^0.30.1" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/crypto": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@cosmjs/crypto/-/crypto-0.30.1.tgz", + "integrity": "sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ==", + "license": "Apache-2.0", + "dependencies": { + "@cosmjs/encoding": "^0.30.1", + "@cosmjs/math": "^0.30.1", + "@cosmjs/utils": "^0.30.1", + "@noble/hashes": "^1", + "bn.js": "^5.2.0", + "elliptic": "^6.5.4", + "libsodium-wrappers": "^0.7.6" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/encoding": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@cosmjs/encoding/-/encoding-0.30.1.tgz", + "integrity": "sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "bech32": "^1.1.4", + "readonly-date": "^1.0.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/math": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@cosmjs/math/-/math-0.30.1.tgz", + "integrity": "sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q==", + "license": "Apache-2.0", + "dependencies": { + "bn.js": "^5.2.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@cosmjs/utils": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@cosmjs/utils/-/utils-0.30.1.tgz", + "integrity": "sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g==", + "license": "Apache-2.0" + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/accs-schemas": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@lit-protocol/accs-schemas/-/accs-schemas-0.0.12.tgz", + "integrity": "sha512-tkAddbEexpjbIY01TFB8YWffe6PFWkxdiSZsriPINfVAL5VmTiL6YH9D3faDP+rNaGMUXu0/AMQ0Dft/iGuLLA==", + "dependencies": { + "ajv": "^8.12.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/logger": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/logger/-/logger-6.5.1.tgz", + "integrity": "sha512-oHWIeqNOwZGd0RchBoGKUvEAVWNj3L3k7GR8V+0GOaCkX2bqGjtJfZqpX4ANSssVYFvUonZl+rq+WcP0sR123g==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/types": "6.5.1", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/misc": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-6.5.1.tgz", + "integrity": "sha512-FFth4zmOkiA2dPdB/n5fwzVYZe7rE182vYa4N/dnMNMRwwmmlLzKTSfWs3UrQ+ui6b9Z+4B/ra//FITLevM5tg==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/accs-schemas": "^0.0.12", + "@lit-protocol/constants": "6.5.1", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.5.1", + "@lit-protocol/types": "6.5.1", + "ajv": "^8.12.0", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3", + "util": "0.12.5" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/@lit-protocol/types": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-6.5.1.tgz", + "integrity": "sha512-Vqf3txWivc1UGbCDk8/vnfUusG5CiZRU2oeUIz5AZr5a5djcGWNwL/hqblyMTiaB3OB7cLyLUENI4Mt8VYd54w==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.12", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/multiformats": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", + "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/contracts-sdk/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@lit-protocol/contracts-sdk/node_modules/uint8arrays": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", "integrity": "sha512-AnJNUGGDJAgFw/eWu/Xb9zrVKEGlwJJCaeInlf3BkecE/zcTobk5YXYIPNQJO1q5Hh1QZrQQHf0JvcHqz2hqoA==", - "license": "Apache-2.0 OR MIT", "dependencies": { "multiformats": "^12.0.1" } @@ -3055,6 +3511,37 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/core/node_modules/@lit-protocol/contracts-sdk": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@lit-protocol/contracts-sdk/-/contracts-sdk-6.4.10.tgz", + "integrity": "sha512-QQIDXzXAdpEeZw+RPWiiFV243ZR1vI1bmXZ1S4FmBeYGtXTcwHGqDdWb44GiBqKK0xMp+XCchpG2CtFt9ACDOg==", + "dependencies": { + "@cosmjs/amino": "0.30.1", + "@cosmjs/crypto": "0.30.1", + "@cosmjs/encoding": "0.30.1", + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/accs-schemas": "^0.0.11", + "@lit-protocol/constants": "6.4.10", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.4.10", + "@lit-protocol/misc": "6.4.10", + "@lit-protocol/types": "6.4.10", + "ajv": "^8.12.0", + "bitcoinjs-lib": "^6.1.0", + "ethers": "^5.7.1", + "jose": "^4.14.4", + "jszip": "^3.10.1", + "process": "0.11.10", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3", + "util": "0.12.5" + } + }, "node_modules/@lit-protocol/core/node_modules/@lit-protocol/crypto": { "version": "6.4.10", "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-6.4.10.tgz", @@ -3145,6 +3632,53 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/core/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/core/node_modules/multiformats": { "version": "9.9.0", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", @@ -3202,6 +3736,29 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/auth-helpers": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", + "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/constants": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.63.tgz", + "integrity": "sha512-YY2/ErJnosC8mwyBVfa6gVnHSF+2XMzoGAkFndBeb3rtanxN5JbrmBUGjkc1U1lo4NhmxhI2/inK84h637xypQ==", + "dependencies": { + "@lit-protocol/auth-helpers": "2.2.63", + "@lit-protocol/types": "2.2.63", + "ethers": "^5.7.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/types": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", @@ -3215,6 +3772,75 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/crypto/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, "node_modules/@lit-protocol/ecdsa-sdk": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.2.63.tgz", @@ -3281,6 +3907,29 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/encryption-v2/node_modules/@lit-protocol/auth-helpers": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", + "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption-v2/node_modules/@lit-protocol/constants": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.63.tgz", + "integrity": "sha512-YY2/ErJnosC8mwyBVfa6gVnHSF+2XMzoGAkFndBeb3rtanxN5JbrmBUGjkc1U1lo4NhmxhI2/inK84h637xypQ==", + "dependencies": { + "@lit-protocol/auth-helpers": "2.2.63", + "@lit-protocol/types": "2.2.63", + "ethers": "^5.7.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, "node_modules/@lit-protocol/encryption-v2/node_modules/@lit-protocol/types": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", @@ -3294,6 +3943,75 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/encryption-v2/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/encryption-v2/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/encryption-v2/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/bls-sdk": { "version": "6.4.10", "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-6.4.10.tgz", @@ -3410,6 +4128,53 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/encryption/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/encryption/node_modules/multiformats": { "version": "12.1.3", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", @@ -3670,6 +4435,42 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/@lit-protocol/contracts-sdk": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@lit-protocol/contracts-sdk/-/contracts-sdk-6.4.10.tgz", + "integrity": "sha512-QQIDXzXAdpEeZw+RPWiiFV243ZR1vI1bmXZ1S4FmBeYGtXTcwHGqDdWb44GiBqKK0xMp+XCchpG2CtFt9ACDOg==", + "dependencies": { + "@cosmjs/amino": "0.30.1", + "@cosmjs/crypto": "0.30.1", + "@cosmjs/encoding": "0.30.1", + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/accs-schemas": "^0.0.11", + "@lit-protocol/constants": "6.4.10", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.4.10", + "@lit-protocol/misc": "6.4.10", + "@lit-protocol/types": "6.4.10", + "ajv": "^8.12.0", + "bitcoinjs-lib": "^6.1.0", + "ethers": "^5.7.1", + "jose": "^4.14.4", + "jszip": "^3.10.1", + "process": "0.11.10", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3", + "util": "0.12.5" + } + }, + "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/@lit-protocol/contracts-sdk/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/@lit-protocol/crypto": { "version": "6.4.10", "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-6.4.10.tgz", @@ -3790,6 +4591,53 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/multiformats": { "version": "9.9.0", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", @@ -3802,6 +4650,28 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "license": "(MIT AND Zlib)" }, + "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/siwe-recap/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@lit-protocol/lit-node-client-nodejs/node_modules/tslib": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", @@ -4053,6 +4923,29 @@ "integrity": "sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==", "license": "Unlicense" }, + "node_modules/@lit-protocol/lit-node-client-v2/node_modules/@lit-protocol/auth-helpers": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", + "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/lit-node-client-v2/node_modules/@lit-protocol/constants": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.63.tgz", + "integrity": "sha512-YY2/ErJnosC8mwyBVfa6gVnHSF+2XMzoGAkFndBeb3rtanxN5JbrmBUGjkc1U1lo4NhmxhI2/inK84h637xypQ==", + "dependencies": { + "@lit-protocol/auth-helpers": "2.2.63", + "@lit-protocol/types": "2.2.63", + "ethers": "^5.7.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, "node_modules/@lit-protocol/lit-node-client-v2/node_modules/@lit-protocol/core": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/core/-/core-2.2.63.tgz", @@ -4180,6 +5073,62 @@ "protobufjs": "~6.11.2" } }, + "node_modules/@lit-protocol/lit-node-client-v2/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/lit-node-client-v2/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@lit-protocol/lit-node-client-v2/node_modules/protobufjs": { "version": "6.11.4", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", @@ -4206,6 +5155,19 @@ "pbts": "bin/pbts" } }, + "node_modules/@lit-protocol/lit-node-client-v2/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, "node_modules/@lit-protocol/lit-node-client-v3": { "name": "@lit-protocol/lit-node-client", "version": "3.1.1", @@ -4778,6 +5740,53 @@ "protobufjs": "~6.11.2" } }, + "node_modules/@lit-protocol/lit-node-client-v3/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/lit-node-client-v3/node_modules/multiformats": { "version": "12.1.3", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", @@ -4814,6 +5823,28 @@ "pbts": "bin/pbts" } }, + "node_modules/@lit-protocol/lit-node-client-v3/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/@lit-protocol/lit-node-client-v3/node_modules/siwe-recap/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@lit-protocol/lit-node-client-v3/node_modules/uint8arrays": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", @@ -4942,6 +5973,42 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@lit-protocol/lit-node-client/node_modules/@lit-protocol/contracts-sdk": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@lit-protocol/contracts-sdk/-/contracts-sdk-6.4.10.tgz", + "integrity": "sha512-QQIDXzXAdpEeZw+RPWiiFV243ZR1vI1bmXZ1S4FmBeYGtXTcwHGqDdWb44GiBqKK0xMp+XCchpG2CtFt9ACDOg==", + "dependencies": { + "@cosmjs/amino": "0.30.1", + "@cosmjs/crypto": "0.30.1", + "@cosmjs/encoding": "0.30.1", + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@lit-protocol/accs-schemas": "^0.0.11", + "@lit-protocol/constants": "6.4.10", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/logger": "6.4.10", + "@lit-protocol/misc": "6.4.10", + "@lit-protocol/types": "6.4.10", + "ajv": "^8.12.0", + "bitcoinjs-lib": "^6.1.0", + "ethers": "^5.7.1", + "jose": "^4.14.4", + "jszip": "^3.10.1", + "process": "0.11.10", + "punycode": "2.3.1", + "siwe": "^2.0.5", + "tslib": "1.14.1", + "uint8arrays": "^4.0.3", + "util": "0.12.5" + } + }, + "node_modules/@lit-protocol/lit-node-client/node_modules/@lit-protocol/contracts-sdk/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@lit-protocol/lit-node-client/node_modules/@lit-protocol/crypto": { "version": "6.4.10", "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-6.4.10.tgz", @@ -5062,6 +6129,53 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@lit-protocol/lit-node-client/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/lit-node-client/node_modules/multiformats": { "version": "9.9.0", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", @@ -5074,6 +6188,28 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "license": "(MIT AND Zlib)" }, + "node_modules/@lit-protocol/lit-node-client/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/@lit-protocol/lit-node-client/node_modules/siwe-recap/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@lit-protocol/lit-node-client/node_modules/tslib": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", @@ -5319,13 +6455,60 @@ "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "5.7.0", - "@lit-protocol/accs-schemas": "^0.0.11", - "@lit-protocol/contracts": "^0.0.63", - "@lit-protocol/types": "6.4.10", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "tslib": "1.14.1" + "@lit-protocol/accs-schemas": "^0.0.11", + "@lit-protocol/contracts": "^0.0.63", + "@lit-protocol/types": "6.4.10", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/logger/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" } }, "node_modules/@lit-protocol/logger/node_modules/multiformats": { @@ -5417,12 +6600,82 @@ "tslib": "1.14.1" } }, + "node_modules/@lit-protocol/misc-browser/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/misc-browser/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@lit-protocol/misc/node_modules/@lit-protocol/auth-helpers": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", + "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.63.tgz", + "integrity": "sha512-YY2/ErJnosC8mwyBVfa6gVnHSF+2XMzoGAkFndBeb3rtanxN5JbrmBUGjkc1U1lo4NhmxhI2/inK84h637xypQ==", + "dependencies": { + "@lit-protocol/auth-helpers": "2.2.63", + "@lit-protocol/types": "2.2.63", + "ethers": "^5.7.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, "node_modules/@lit-protocol/misc/node_modules/@lit-protocol/types": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", @@ -5436,6 +6689,75 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/misc/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/misc/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/misc/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, "node_modules/@lit-protocol/nacl": { "version": "2.2.63", "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.2.63.tgz", @@ -5461,33 +6783,116 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, - "node_modules/@lit-protocol/types": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-6.4.10.tgz", - "integrity": "sha512-Js4F/VsB2bWJwSbXcxw3KQxnGqjUSyaPo0BMir3xKkRufV25iZvI9858twK1Ca8cT9+Vou2YtxaDYHd/T7I9CA==", - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-provider": "5.7.0", - "@lit-protocol/accs-schemas": "^0.0.11", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "tslib": "1.14.1" + "node_modules/@lit-protocol/types": { + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-6.4.10.tgz", + "integrity": "sha512-Js4F/VsB2bWJwSbXcxw3KQxnGqjUSyaPo0BMir3xKkRufV25iZvI9858twK1Ca8cT9+Vou2YtxaDYHd/T7I9CA==", + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "^0.0.11", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/types-v2": { + "name": "@lit-protocol/types", + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", + "integrity": "sha512-Ky3nhjvZuuJMRUXQBa4pwthVozL2mDEj/qTYDYOfmOOzco0QW9vppGMsyNdro48+4rt7yWZLNvSSfRcXXeMvcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@lit-protocol/auth-helpers": "2.2.63", + "ethers": "^5.7.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/types-v2/node_modules/@lit-protocol/auth-helpers": { + "version": "2.2.63", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.63.tgz", + "integrity": "sha512-2U0IMy2lnLV4A9IZUPgEoF4U29ef5RR9kDDZ7+a6+hN6IjEUhLTGkRicMUNe+QEgb5G6CFOd4Ze0/1fkchFcQQ==", + "dev": true, + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/types-v2/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/types-v2/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@lit-protocol/types-v2": { - "name": "@lit-protocol/types", - "version": "2.2.63", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.63.tgz", - "integrity": "sha512-Ky3nhjvZuuJMRUXQBa4pwthVozL2mDEj/qTYDYOfmOOzco0QW9vppGMsyNdro48+4rt7yWZLNvSSfRcXXeMvcw==", + "node_modules/@lit-protocol/types-v2/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", "dev": true, - "license": "MIT", "dependencies": { - "@lit-protocol/auth-helpers": "2.2.63", - "ethers": "^5.7.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" } }, "node_modules/@lit-protocol/types-v3": { @@ -5518,6 +6923,125 @@ "tslib": "^2.3.0" } }, + "node_modules/@lit-protocol/types-v3/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/@lit-protocol/types-v3/node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@lit-protocol/types-v3/node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dev": true, + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/@lit-protocol/types/node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, "node_modules/@lit-protocol/types/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -7413,116 +8937,25 @@ "node_modules/@veramo/did-manager": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@veramo/did-manager/-/did-manager-6.0.0.tgz", - "integrity": "sha512-sjF0d0ZE+h7Jw7WwGtyRhjT5MhKBwGLx2AsR2Ao0qqyloVAxVS9jDcl2DP1ZdCKC+7BR4X30E1ja99N7q3INDg==", - "license": "Apache-2.0", - "dependencies": { - "@veramo/core-types": "^6.0.0", - "@veramo/did-discovery": "^6.0.0" - } - }, - "node_modules/@veramo/did-provider-key": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@veramo/did-provider-key/-/did-provider-key-6.0.0.tgz", - "integrity": "sha512-vEA1CpaGUWzGqTk0s5mhyaSgt1o09mjMWm/HAS0RR7Z+FTorlx7Kc7rhINBUmylzVKTsZQqeRlx0aSJhUxdUUw==", - "license": "Apache-2.0", - "dependencies": { - "@veramo/core-types": "^6.0.0", - "@veramo/did-manager": "^6.0.0", - "@veramo/utils": "^6.0.0", - "debug": "^4.3.3", - "did-resolver": "^4.1.0", - "ethers": "^6.11.1" - } - }, - "node_modules/@veramo/did-provider-key/node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.3.2" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@veramo/did-provider-key/node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@veramo/did-provider-key/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", - "license": "MIT" - }, - "node_modules/@veramo/did-provider-key/node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "license": "MIT" - }, - "node_modules/@veramo/did-provider-key/node_modules/ethers": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", - "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "18.15.13", - "aes-js": "4.0.0-beta.5", - "tslib": "2.4.0", - "ws": "8.17.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@veramo/did-provider-key/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "license": "0BSD" - }, - "node_modules/@veramo/did-provider-key/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", - "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 - } + "integrity": "sha512-sjF0d0ZE+h7Jw7WwGtyRhjT5MhKBwGLx2AsR2Ao0qqyloVAxVS9jDcl2DP1ZdCKC+7BR4X30E1ja99N7q3INDg==", + "license": "Apache-2.0", + "dependencies": { + "@veramo/core-types": "^6.0.0", + "@veramo/did-discovery": "^6.0.0" + } + }, + "node_modules/@veramo/did-provider-key": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@veramo/did-provider-key/-/did-provider-key-6.0.0.tgz", + "integrity": "sha512-vEA1CpaGUWzGqTk0s5mhyaSgt1o09mjMWm/HAS0RR7Z+FTorlx7Kc7rhINBUmylzVKTsZQqeRlx0aSJhUxdUUw==", + "license": "Apache-2.0", + "dependencies": { + "@veramo/core-types": "^6.0.0", + "@veramo/did-manager": "^6.0.0", + "@veramo/utils": "^6.0.0", + "debug": "^4.3.3", + "did-resolver": "^4.1.0", + "ethers": "^6.11.1" } }, "node_modules/@veramo/key-manager": { @@ -7565,46 +8998,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@veramo/key-manager/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", - "license": "MIT" - }, - "node_modules/@veramo/key-manager/node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "license": "MIT" - }, - "node_modules/@veramo/key-manager/node_modules/ethers": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", - "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "18.15.13", - "aes-js": "4.0.0-beta.5", - "tslib": "2.4.0", - "ws": "8.17.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@veramo/key-manager/node_modules/multiformats": { "version": "12.1.3", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", @@ -7615,12 +9008,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@veramo/key-manager/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "license": "0BSD" - }, "node_modules/@veramo/key-manager/node_modules/uint8arrays": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", @@ -7643,27 +9030,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/@veramo/key-manager/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", - "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/@veramo/utils": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@veramo/utils/-/utils-6.0.0.tgz", @@ -7709,18 +9075,6 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@veramo/utils/node_modules/@types/node": { - "version": "18.15.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", - "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==", - "license": "MIT" - }, - "node_modules/@veramo/utils/node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", - "license": "MIT" - }, "node_modules/@veramo/utils/node_modules/cross-fetch": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", @@ -7730,40 +9084,6 @@ "node-fetch": "^2.6.12" } }, - "node_modules/@veramo/utils/node_modules/ethers": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", - "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "18.15.13", - "aes-js": "4.0.0-beta.5", - "tslib": "2.4.0", - "ws": "8.17.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@veramo/utils/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "license": "0BSD" - }, "node_modules/@veramo/utils/node_modules/uint8arrays": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.10.tgz", @@ -7783,27 +9103,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@veramo/utils/node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "license": "MIT", - "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/@walletconnect/core": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.9.2.tgz", @@ -10711,51 +12010,87 @@ } }, "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.2.tgz", + "integrity": "sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg==", "funding": [ { "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + "url": "https://github.com/sponsors/ethers-io/" }, { "type": "individual", "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "18.15.13", + "aes-js": "4.0.0-beta.5", + "tslib": "2.4.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethers/node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethers/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethers/node_modules/@types/node": { + "version": "18.15.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.13.tgz", + "integrity": "sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==" + }, + "node_modules/ethers/node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "node_modules/ethers/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/ethers/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "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/event-target-shim": { @@ -19277,30 +20612,6 @@ "ethers": "^5.6.8 || ^6.0.8" } }, - "node_modules/siwe-recap": { - "version": "0.0.2-alpha.0", - "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", - "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", - "license": "MIT", - "dependencies": { - "canonicalize": "^2.0.0", - "multiformats": "^11.0.2", - "siwe": "^2.1.4" - }, - "peerDependencies": { - "ethers": "^5.5.1" - } - }, - "node_modules/siwe-recap/node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "license": "Apache-2.0 OR MIT", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/siwe/node_modules/@spruceid/siwe-parser": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.1.2.tgz", diff --git a/package.json b/package.json index 4d98539..d270b93 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,9 @@ "@cosmjs/stargate": "^0.32.4", "@cosmjs/utils": "^0.32.4", "@digitalbazaar/vc-status-list": "^8.0.0", + "@lit-protocol/auth-helpers": "^6.5.1", + "@lit-protocol/constants": "^6.5.1", + "@lit-protocol/contracts-sdk": "^6.5.1", "@lit-protocol/encryption-v2": "npm:@lit-protocol/encryption@~2.2.63", "@lit-protocol/lit-node-client": "^6.4.10", "@lit-protocol/lit-node-client-v2": "npm:@lit-protocol/lit-node-client@~2.2.63", @@ -114,6 +117,7 @@ "debug": "^4.3.7", "did-jwt": "^8.0.4", "did-resolver": "^4.1.0", + "ethers": "^6.13.2", "generate-password": "^1.7.1", "uint8arrays": "^5.1.0", "uuid": "^10.0.0" @@ -133,6 +137,7 @@ "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^8.6.0", "@typescript-eslint/parser": "^8.6.0", + "@veramo/core-types": "^6.0.0", "conventional-changelog-conventionalcommits": "^8.0.0", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", diff --git a/src/agent/ICheqd.ts b/src/agent/ICheqd.ts index 538ce23..635d0ac 100644 --- a/src/agent/ICheqd.ts +++ b/src/agent/ICheqd.ts @@ -62,10 +62,12 @@ import fs from 'fs'; import Debug from 'debug'; import { CosmosAccessControlCondition, + CreateCapacityDelegationAuthSignatureResult, LitCompatibleCosmosChain, LitCompatibleCosmosChains, LitNetwork, LitProtocol, + MintCapacityCreditsResult, } from '../dkg-threshold/lit-protocol/v6.js'; import { blobToHexString, @@ -342,6 +344,16 @@ export type ObservationResult = { error?: IError; }; +export type MintCapacityCreditResult = { + minted: boolean; + error?: IError; +} & Partial; + +export type DelegateCapacityCreditResult = { + delegated: boolean; + error?: IError; +} & Partial; + export const AccessControlConditionTypes = { timelockPayment: 'timelockPayment', memoNonce: 'memoNonce', @@ -383,6 +395,8 @@ export const UnsuspendCredentialMethodName = 'cheqdUnsuspendCredential'; export const UnsuspendCredentialsMethodName = 'cheqdUnsuspendCredentials'; export const TransactSendTokensMethodName = 'cheqdTransactSendTokens'; export const ObservePaymentConditionMethodName = 'cheqdObservePaymentCondition'; +export const MintCapacityCreditMethodName = 'cheqdMintCapacityCredit'; +export const DelegateCapacityCreditMethodName = 'cheqdDelegateCapacityCredit'; export const DidPrefix = 'did'; export const CheqdDidMethod = 'cheqd'; @@ -651,6 +665,23 @@ export interface ICheqdObservePaymentConditionArgs { returnTxResponse?: boolean; } +export interface ICheqdMintCapacityCreditArgs { + network: CheqdNetwork; + effectiveDays: number; + requestsPerDay?: number; + requestsPerSecond?: number; + requestsPerKilosecond?: number; +} + +export interface ICheqdDelegateCapacityCreditArgs { + network: CheqdNetwork; + capacityTokenId: string; + delegateeAddresses: string[]; + usesPermitted: number; + expiration?: string; + statement?: string; +} + export interface ICheqdStatusList2021Options { statusListFile?: string; statusListInlineBitstring?: string; @@ -786,6 +817,14 @@ export interface ICheqd extends IPluginMethodMap { args: ICheqdObservePaymentConditionArgs, context: IContext ) => Promise; + [MintCapacityCreditMethodName]: ( + args: ICheqdMintCapacityCreditArgs, + context: IContext + ) => Promise; + [DelegateCapacityCreditMethodName]: ( + args: ICheqdDelegateCapacityCreditArgs, + context: IContext + ) => Promise; } export class Cheqd implements IAgentPlugin { @@ -1238,6 +1277,8 @@ export class Cheqd implements IAgentPlugin { [UnsuspendCredentialsMethodName]: this.UnsuspendBulkCredentialsWithStatusList2021.bind(this), [TransactSendTokensMethodName]: this.TransactSendTokens.bind(this), [ObservePaymentConditionMethodName]: this.ObservePaymentCondition.bind(this), + [MintCapacityCreditMethodName]: this.MintCapacityCredit.bind(this), + [DelegateCapacityCreditMethodName]: this.DelegateCapacityCredit.bind(this), }; } @@ -1257,7 +1298,7 @@ export class Cheqd implements IAgentPlugin { throw new Error('[did-provider-cheqd]: document object is required'); } - const provider = await Cheqd.loadProvider(args.document.id, this.supportedDidProviders); + const provider = await Cheqd.getProviderFromDidUrl(args.document.id, this.supportedDidProviders); this.didProvider = provider; this.providerId = Cheqd.generateProviderId(this.didProvider.network); @@ -1287,7 +1328,7 @@ export class Cheqd implements IAgentPlugin { throw new Error('[did-provider-cheqd]: document object is required'); } - const provider = await Cheqd.loadProvider(args.document.id, this.supportedDidProviders); + const provider = await Cheqd.getProviderFromDidUrl(args.document.id, this.supportedDidProviders); this.didProvider = provider; this.providerId = Cheqd.generateProviderId(this.didProvider.network); @@ -1313,7 +1354,7 @@ export class Cheqd implements IAgentPlugin { throw new Error('[did-provider-cheqd]: document object is required'); } - const provider = await Cheqd.loadProvider(args.document.id, this.supportedDidProviders); + const provider = await Cheqd.getProviderFromDidUrl(args.document.id, this.supportedDidProviders); this.didProvider = provider; this.providerId = Cheqd.generateProviderId(this.didProvider.network); @@ -1353,7 +1394,7 @@ export class Cheqd implements IAgentPlugin { } this.providerId = Cheqd.generateProviderId(args.network); - this.didProvider = await Cheqd.loadProvider(this.providerId, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromNetwork(args.network, this.supportedDidProviders); return await this.didProvider.createResource( { @@ -1485,6 +1526,17 @@ export class Cheqd implements IAgentPlugin { // get network const network = args.issuerDid.split(':')[2]; + // define provider + const provider = (function (that) { + // switch on network + return ( + that.supportedDidProviders.find((provider) => provider.network === network) || + (function () { + throw new Error(`[did-provider-cheqd]: no relevant providers found`); + })() + ); + })(this); + // generate bitstring const bitstring = await context.agent[GenerateStatusList2021MethodName]({ length: args?.statusListLength || Cheqd.defaultStatusList2021Length, @@ -1501,10 +1553,7 @@ export class Cheqd implements IAgentPlugin { ); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: args?.dkgOptions?.chain || that.didProvider.dkgOptions.chain, - litNetwork: args?.dkgOptions?.network || that.didProvider.dkgOptions.network, - }); + const lit = await provider.instantiateDkgThresholdProtocolClient({}); // construct access control conditions const unifiedAccessControlConditions = await Promise.all( @@ -1702,7 +1751,7 @@ export class Cheqd implements IAgentPlugin { } this.providerId = Cheqd.generateProviderId(args.network); - this.didProvider = await Cheqd.loadProvider(this.providerId, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromNetwork(args.network, this.supportedDidProviders); return await this.didProvider.createResource( { @@ -1998,7 +2047,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2058,7 +2107,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2162,7 +2211,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2276,7 +2325,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2413,7 +2462,7 @@ export class Cheqd implements IAgentPlugin { : (credentials[0].issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2530,7 +2579,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2667,7 +2716,7 @@ export class Cheqd implements IAgentPlugin { : (credentials[0].issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2784,7 +2833,7 @@ export class Cheqd implements IAgentPlugin { typeof credential.issuer === 'string' ? credential.issuer : (credential.issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2921,7 +2970,7 @@ export class Cheqd implements IAgentPlugin { : (credentials[0].issuer as { id: string }).id; // define provider, if applicable - this.didProvider = await Cheqd.loadProvider(issuer, this.supportedDidProviders); + this.didProvider = await Cheqd.getProviderFromDidUrl(issuer, this.supportedDidProviders); // define provider id, if applicable this.providerId = Cheqd.generateProviderId(issuer); @@ -2949,15 +2998,7 @@ export class Cheqd implements IAgentPlugin { context: IContext ): Promise { // define provider - const provider = (function (that) { - // switch on network - return ( - that.supportedDidProviders.find((provider) => provider.network === args.network) || - (function () { - throw new Error(`[did-provider-cheqd]: transact: no relevant providers found`); - })() - ); - })(this); + const provider = await Cheqd.getProviderFromNetwork(args.network, this.supportedDidProviders); try { // delegate to provider @@ -3230,6 +3271,67 @@ export class Cheqd implements IAgentPlugin { } } + private async MintCapacityCredit( + args: ICheqdMintCapacityCreditArgs, + context: IContext + ): Promise { + // define provider + const provider = await Cheqd.getProviderFromNetwork(args.network, this.supportedDidProviders); + + try { + // delegate to provider + const mintingResult = await provider.mintCapacityCredit({ + effectiveDays: args.effectiveDays, + requestsPerDay: args.requestsPerDay, + requestsPerSecond: args.requestsPerSecond, + requestsPerKilosecond: args.requestsPerKilosecond, + }); + + // return mint result + return { + minted: true, + ...mintingResult, + } satisfies MintCapacityCreditResult; + } catch (error) { + // return error + return { + minted: false, + error: error as IError, + } satisfies MintCapacityCreditResult; + } + } + + private async DelegateCapacityCredit( + args: ICheqdDelegateCapacityCreditArgs, + context: IContext + ): Promise { + // define provider + const provider = await Cheqd.getProviderFromNetwork(args.network, this.supportedDidProviders); + + try { + // delegate to provider + const delegationResult = await provider.delegateCapacityCredit({ + capacityTokenId: args.capacityTokenId, + delegateeAddresses: args.delegateeAddresses, + uses: args.usesPermitted, + expiration: args.expiration, + statement: args.statement, + }); + + // return delegation result + return { + delegated: true, + ...delegationResult, + } satisfies DelegateCapacityCreditResult; + } catch (error) { + // return error + return { + delegated: false, + error: error as IError, + } satisfies DelegateCapacityCreditResult; + } + } + static async revokeCredential( credential: VerifiableCredential, options?: ICheqdStatusList2021Options @@ -3501,10 +3603,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -4093,10 +4192,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -4609,10 +4705,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -5201,10 +5294,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -5716,10 +5806,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -6308,10 +6395,7 @@ export class Cheqd implements IAgentPlugin { } = await LitProtocol.encryptDirect(fromString(bitstring, 'base64url')); // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: topArgs?.dkgOptions?.chain, - litNetwork: topArgs?.dkgOptions?.network, - }); + const lit = (await options!.publishOptions.instantiateDkgClient) as LitProtocol; // construct access control conditions and payment conditions tuple const unifiedAccessControlConditionsTuple = publishedList.metadata.encrypted @@ -6565,6 +6649,11 @@ export class Cheqd implements IAgentPlugin { ); } + // validate dkgOptions + if (!options?.topArgs?.dkgOptions || !options.topArgs?.dkgOptions?.capacityDelegationAuthSignature) { + throw new Error('[did-provider-cheqd]: dkgOptions is required'); + } + // fetch status list 2021 const publishedList = (await Cheqd.fetchStatusList2021(credential)) as StatusList2021Revocation; @@ -6602,10 +6691,7 @@ export class Cheqd implements IAgentPlugin { )[1]; // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: options?.topArgs?.dkgOptions?.chain, - litNetwork: options?.topArgs?.dkgOptions?.network, - }); + const lit = (await options.instantiateDkgClient) as LitProtocol; // construct access control conditions const unifiedAccessControlConditions = await Promise.all( @@ -6635,7 +6721,8 @@ export class Cheqd implements IAgentPlugin { return await lit.decrypt( thresholdEncryptionCiphertext, publishedList.metadata.statusListHash!, - unifiedAccessControlConditions + unifiedAccessControlConditions, + options?.topArgs?.dkgOptions?.capacityDelegationAuthSignature ); })() : await (async function () { @@ -6739,6 +6826,11 @@ export class Cheqd implements IAgentPlugin { ); } + // validate dkgOptions + if (!options?.topArgs?.dkgOptions || !options.topArgs?.dkgOptions?.capacityDelegationAuthSignature) { + throw new Error('[did-provider-cheqd]: dkgOptions is required'); + } + // fetch status list 2021 const publishedList = (await Cheqd.fetchStatusList2021(credential)) as StatusList2021Suspension; @@ -6772,10 +6864,7 @@ export class Cheqd implements IAgentPlugin { )[1]; // instantiate dkg-threshold client, in which case lit-protocol is used - const lit = await LitProtocol.create({ - chain: options?.topArgs?.dkgOptions?.chain, - litNetwork: options?.topArgs?.dkgOptions?.network, - }); + const lit = (await options.instantiateDkgClient) as LitProtocol; // construct access control conditions const unifiedAccessControlConditions = await Promise.all( @@ -6805,7 +6894,8 @@ export class Cheqd implements IAgentPlugin { return await lit.decrypt( thresholdEncryptionCiphertext, publishedList.metadata.statusListHash!, - unifiedAccessControlConditions + unifiedAccessControlConditions, + options?.topArgs?.dkgOptions?.capacityDelegationAuthSignature ); })() : await (async function () { @@ -7330,12 +7420,34 @@ export class Cheqd implements IAgentPlugin { ); } - static async loadProvider(didUrl: string, providers: CheqdDIDProvider[]): Promise { + static async getProviderFromDidUrl( + didUrl: string, + providers: CheqdDIDProvider[], + message?: string + ): Promise { const provider = providers.find((provider) => - didUrl.includes(`${DidPrefix}:${CheqdDidMethod}:${provider.network}`) + didUrl.includes(`${DidPrefix}:${CheqdDidMethod}:${provider.network}:`) ); if (!provider) { - throw new Error(`[did-provider-cheqd]: Provider namespace not found`); + throw new Error( + message || + `[did-provider-cheqd]: no relevant providers found for did url ${didUrl}: loaded providers: ${providers.map((provider) => `${DidPrefix}:${CheqdDidMethod}:${provider.network}`).join(', ')}` + ); + } + return provider; + } + + static async getProviderFromNetwork( + network: CheqdNetwork, + providers: CheqdDIDProvider[], + message?: string + ): Promise { + const provider = providers.find((provider) => provider.network === network); + if (!provider) { + throw new Error( + message || + `[did-provider-cheqd]: no relevant providers found for network ${network}: loaded providers: ${providers.map((provider) => `${DidPrefix}:${CheqdDidMethod}:${provider.network}`).join(', ')}` + ); } return provider; } diff --git a/src/did-manager/cheqd-did-provider.ts b/src/did-manager/cheqd-did-provider.ts index 50df17c..31907d9 100644 --- a/src/did-manager/cheqd-did-provider.ts +++ b/src/did-manager/cheqd-did-provider.ts @@ -34,19 +34,24 @@ import { import { AbstractIdentifierProvider } from '@veramo/did-manager'; import { base64ToBytes, extractPublicKeyHex } from '@veramo/utils'; import Debug from 'debug'; -import { EnglishMnemonic as _, Ed25519 } from '@cosmjs/crypto'; +import { EnglishMnemonic as _, Bip39, Ed25519, Random } from '@cosmjs/crypto'; import { fromString, toString } from 'uint8arrays'; import { MsgCreateDidDocPayload, MsgDeactivateDidDocPayload, SignInfo } from '@cheqd/ts-proto/cheqd/did/v2/index.js'; import { v4 } from 'uuid'; import { + CreateCapacityDelegationAuthSignatureResult, LitCompatibleCosmosChain, LitCompatibleCosmosChains, LitNetwork, LitNetworks, + LitProtocol, + LitContracts, + MintCapacityCreditsResult, } from '../dkg-threshold/lit-protocol/v6.js'; -import { IContext } from '../agent/ICheqd.js'; +import { DkgOptions, IContext } from '../agent/ICheqd.js'; import { getControllers } from '../utils/helpers.js'; - +import { Secp256k1HdWallet, Secp256k1Wallet } from '@cosmjs/amino'; +import { ethers } from 'ethers'; const debug = Debug('veramo:did-provider-cheqd'); export const DefaultRPCUrls = { @@ -438,6 +443,8 @@ export class CheqdDIDProvider extends AbstractIdentifierProvider { public readonly network: CheqdNetwork; public readonly rpcUrl: string; private readonly cosmosPayerWallet: Promise; + private readonly _aminoSigner: Promise; + private readonly ethereumAuthWallet: ethers.HDNodeWallet | ethers.Wallet; public readonly dkgOptions: { chain: Extract; network: LitNetwork; @@ -471,18 +478,50 @@ export class CheqdDIDProvider extends AbstractIdentifierProvider { : { chain: DefaultDkgSupportedChains[this.network], network: LitNetworks.datildev }; if (!options?.cosmosPayerSeed || options.cosmosPayerSeed === '') { - this.cosmosPayerWallet = DirectSecp256k1HdWallet.generate(); + // generate mnemonic, if not provided + const mnemonic = Bip39.encode(Random.getBytes(32)).toString(); + + // setup wallets - case: cosmos direct payer wallet + this.cosmosPayerWallet = DirectSecp256k1HdWallet.fromMnemonic(mnemonic); + + // setup wallets - case: ethereum signer wallet + this.ethereumAuthWallet = ethers.Wallet.fromPhrase(mnemonic); + + // setup wallets - case: amino signer wallet + this._aminoSigner = Secp256k1HdWallet.fromMnemonic(mnemonic); + return; } - this.cosmosPayerWallet = EnglishMnemonic._mnemonicMatcher.test(options.cosmosPayerSeed) + + const isMnemonic = EnglishMnemonic._mnemonicMatcher.test(options.cosmosPayerSeed); + + this.cosmosPayerWallet = isMnemonic ? DirectSecp256k1HdWallet.fromMnemonic(options.cosmosPayerSeed, { prefix: 'cheqd' }) : DirectSecp256k1Wallet.fromKey(fromString(options.cosmosPayerSeed.replace(/^0x/, ''), 'hex'), 'cheqd'); + + this.ethereumAuthWallet = isMnemonic + ? ethers.Wallet.fromPhrase(options.cosmosPayerSeed) + : new ethers.Wallet(options.cosmosPayerSeed); + + this._aminoSigner = isMnemonic + ? Secp256k1HdWallet.fromMnemonic(options.cosmosPayerSeed, { prefix: 'cheqd' }) + : Secp256k1Wallet.fromKey(fromString(options.cosmosPayerSeed.replace(/^0x/, ''), 'hex'), 'cheqd'); } async getWalletAccounts(): Promise { return await (await this.cosmosPayerWallet).getAccounts(); } + async getEthereumWalletAccounts(): Promise { + return [ + { + address: this.ethereumAuthWallet.address, + pubkey: fromString(this.ethereumAuthWallet.signingKey.publicKey, 'hex'), + algo: 'secp256k1', + }, + ]; + } + private async getCheqdSDK(fee?: DidStdFee, gasPrice?: GasPrice): Promise { if (!this.sdk) { const wallet = await this.cosmosPayerWallet.catch(() => { @@ -970,6 +1009,92 @@ export class CheqdDIDProvider extends AbstractIdentifierProvider { return tx; } + async mintCapacityCredit(args: { + effectiveDays: number; + requestsPerDay?: number; + requestsPerSecond?: number; + requestsPerKilosecond?: number; + }): Promise { + // instantiate dkg-threshold contract client, in which case lit-protocol is used + const litContracts = await this.instantiateDkgThresholdContractClient(); + + // mint capacity credits + const result = await litContracts.mintCapacityCredits(args); + + // keep log + debug( + 'Minted capacity credits', + result.capacityTokenIdStr, + 'for', + args.effectiveDays, + 'days', + 'with transaction hash', + result.rliTxHash, + 'from address', + this.ethereumAuthWallet.address + ); + + return result; + } + + async delegateCapacityCredit(args: { + capacityTokenId: string; + delegateeAddresses: string[]; + uses: number; + expiration?: string; + statement?: string; + }): Promise { + // instantiate dkg-threshold client, in which case lit-protocol is used + const litProtocol = await this.instantiateDkgThresholdProtocolClient(); + + // delegate capacity credits + const result = await litProtocol.delegateCapacitCredit({ + dAppOwnerWallet: + this.ethereumAuthWallet instanceof ethers.Wallet + ? this.ethereumAuthWallet + : new ethers.Wallet(this.ethereumAuthWallet.privateKey), + capacityTokenId: args.capacityTokenId, + delegateeAddresses: args.delegateeAddresses, + uses: args.uses.toString(), + expiration: args.expiration, + statement: args.statement, + }); + + // keep log + debug( + 'Delegated capacity credits', + args.capacityTokenId, + 'to', + args.delegateeAddresses.join(', '), + 'with auth signature', + result.capacityDelegationAuthSig.sig, + 'from address', + this.ethereumAuthWallet.address + ); + + return result; + } + + async instantiateDkgThresholdProtocolClient(dkgOptions: DkgOptions = this.dkgOptions): Promise { + return await LitProtocol.create({ + chain: dkgOptions.chain || this.dkgOptions.chain, + litNetwork: dkgOptions.network || this.dkgOptions.network, + cosmosAuthWallet: await this._aminoSigner, + }); + } + + async instantiateDkgThresholdContractClient( + dkgNetwork: LitNetwork = this.dkgOptions.network + ): Promise { + return await LitContracts.create({ + ethereumAuthWallet: + this.ethereumAuthWallet instanceof ethers.Wallet + ? this.ethereumAuthWallet + : new ethers.Wallet(this.ethereumAuthWallet.privateKey), + litNetwork: dkgNetwork, + }); + } + private async signPayload( context: IAgentContext, data: Uint8Array, diff --git a/src/dkg-threshold/lit-protocol/v6.ts b/src/dkg-threshold/lit-protocol/v6.ts index f3a7cd4..65870dd 100644 --- a/src/dkg-threshold/lit-protocol/v6.ts +++ b/src/dkg-threshold/lit-protocol/v6.ts @@ -1,19 +1,27 @@ -import { OfflineAminoSigner, Secp256k1HdWallet, StdSignDoc } from '@cosmjs/amino'; +import { OfflineAminoSigner, Secp256k1HdWallet, Secp256k1Wallet, StdSignDoc } from '@cosmjs/amino'; import { toString } from 'uint8arrays/to-string'; import { sha256 } from '@cosmjs/crypto'; import { LitNodeClientNodeJs, LitNodeClient } from '@lit-protocol/lit-node-client'; +import { LitContracts as LitContractsClient } from '@lit-protocol/contracts-sdk'; import { AccsCOSMOSParams, ConditionType, DecryptResponse, EncryptResponse, + LitAbility, + MintCapacityCreditsRes, UnifiedAccessControlConditions, + AuthSig as GenericAuthSig, + SignerLike, } from '@lit-protocol/types'; import { generateSymmetricKey, randomBytes } from '../../utils/helpers.js'; import { isBrowser, isNode } from '../../utils/env.js'; import { v4 } from 'uuid'; import { fromString } from 'uint8arrays'; import { LitProtocolDebugEnabled } from '../../utils/constants.js'; +import { LitAccessControlConditionResource } from '@lit-protocol/auth-helpers'; +import { ethers } from 'ethers'; +import { LIT_RPC } from '@lit-protocol/constants'; export type ThresholdEncryptionResult = { encryptedString: Uint8Array; @@ -35,7 +43,7 @@ export type CosmosAuthSignature = { }; export type CosmosAccessControlCondition = AccsCOSMOSParams & { conditionType: ConditionType; -} +}; export type CosmosReturnValueTest = CosmosAccessControlCondition['returnValueTest']; export type SaveEncryptionKeyArgs = { unifiedAccessControlConditions: CosmosAccessControlCondition[]; @@ -59,16 +67,43 @@ export type DecryptToStringMethod = ( export type LitNetwork = (typeof LitNetworks)[keyof typeof LitNetworks]; export type LitCompatibleCosmosChain = (typeof LitCompatibleCosmosChains)[keyof typeof LitCompatibleCosmosChains]; export type LitProtocolOptions = { - cosmosAuthWallet: Secp256k1HdWallet; + cosmosAuthWallet: Secp256k1HdWallet | Secp256k1Wallet; litNetwork?: LitNetwork; chain?: LitCompatibleCosmosChain; }; + +export type LitContractsOptions = { + ethereumAuthWallet: SignerLike; + litNetwork?: LitNetwork; +}; +export type LitContractsMintCapacityCreditsOptions = { + requestsPerDay?: number; + requestsPerSecond?: number; + requestsPerKilosecond?: number; + effectiveDays: number; +}; +export type LitContractsCreateCapacityDelegationAuthSignatureOptions = { + dAppOwnerWallet: SignerLike; + capacityTokenId: string; + delegateeAddresses: string[]; + uses?: string; + domain?: string; + expiration?: string; + statement?: string; +}; +export type MintCapacityCreditsResult = MintCapacityCreditsRes; +export type CreateCapacityDelegationAuthSignatureResult = { + capacityDelegationAuthSig: GenericAuthSig; +}; + export type TxNonceFormat = (typeof TxNonceFormats)[keyof typeof TxNonceFormats]; +export type PrivateKeyLiteral = `0x${string}`; export const LitNetworks = { + datil: 'datil', + datilTest: 'datil-test', datildev: 'datil-dev', localhost: 'localhost', - custom: 'custom', } as const; export const LitCompatibleCosmosChains = { cosmos: 'cosmos', @@ -76,12 +111,18 @@ export const LitCompatibleCosmosChains = { cheqdTestnet: 'cheqdTestnet', } as const; export const TxNonceFormats = { entropy: 'entropy', uuid: 'uuid', timestamp: 'timestamp' } as const; +export const DefaultLitNetworkRPCUrls = { + [LitNetworks.datil]: LIT_RPC.CHRONICLE, + [LitNetworks.datilTest]: LIT_RPC.CHRONICLE_YELLOWSTONE, + [LitNetworks.datildev]: LIT_RPC.CHRONICLE_YELLOWSTONE, + [LitNetworks.localhost]: LIT_RPC.LOCAL_ANVIL, +} as const; export class LitProtocol { client: LitNodeClientNodeJs | LitNodeClient; litNetwork: LitNetwork = LitNetworks.datildev; chain: LitCompatibleCosmosChain = LitCompatibleCosmosChains.cosmos; - private readonly cosmosAuthWallet: Secp256k1HdWallet; + private readonly cosmosAuthWallet: Secp256k1HdWallet | Secp256k1Wallet; private constructor(options: LitProtocolOptions) { // validate options @@ -111,9 +152,6 @@ export class LitProtocol { secret: Uint8Array, unifiedAccessControlConditions: NonNullable ): Promise { - // generate auth signature - const authSig = await LitProtocol.generateAuthSignature(this.cosmosAuthWallet); - // encrypt const { ciphertext: encryptedString, dataToEncryptHash: stringHash } = (await this.client.encrypt({ dataToEncrypt: secret, @@ -129,10 +167,25 @@ export class LitProtocol { async decrypt( encryptedString: string, stringHash: string, - unifiedAccessControlConditions: NonNullable + unifiedAccessControlConditions: NonNullable, + capacityDelegationAuthSig: GenericAuthSig ): Promise { - // generate auth signature - const authSig = await LitProtocol.generateAuthSignature(this.cosmosAuthWallet); + // generate session signatures + const sessionSigs = await this.client.getSessionSigs({ + chain: 'cheqd', + resourceAbilityRequests: [ + { + resource: new LitAccessControlConditionResource('*'), + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + capabilityAuthSigs: [capacityDelegationAuthSig], + authNeededCallback: async ({}) => { + // generate auth signature + const authSig = await LitProtocol.generateAuthSignature(this.cosmosAuthWallet); + return authSig; + }, + }); // decrypt const { decryptedData } = (await this.client.decrypt({ @@ -140,12 +193,26 @@ export class LitProtocol { ciphertext: encryptedString, dataToEncryptHash: stringHash, unifiedAccessControlConditions, - authSig, + sessionSigs, })) satisfies DecryptToStringMethodResult; return toString(decryptedData, 'utf-8'); } + async delegateCapacitCredit( + options: LitContractsCreateCapacityDelegationAuthSignatureOptions + ): Promise { + return await this.client.createCapacityDelegationAuthSig({ + dAppOwnerWallet: options.dAppOwnerWallet, + capacityTokenId: options.capacityTokenId, + delegateeAddresses: options.delegateeAddresses, + uses: options.uses, + domain: options.domain, + expiration: options.expiration, + statement: options.statement, + }); + } + static async encryptDirect(data: Uint8Array): Promise { try { // generate symmetric key @@ -346,3 +413,71 @@ export class LitProtocol { }; } } + +export class LitContracts { + client: LitContractsClient; + litNetwork: LitNetwork = LitNetworks.datildev; + private readonly ethereumAuthWallet: SignerLike; + + constructor(options: LitContractsOptions) { + // validate options + if (options.litNetwork && !Object.values(LitNetworks).includes(options.litNetwork)) + throw new Error(`[did-provider-cheqd]: lit-contracts: Invalid LitNetwork: ${options.litNetwork}`); + + // set options + if (options.litNetwork) this.litNetwork = options.litNetwork; + this.ethereumAuthWallet = options.ethereumAuthWallet; + + // set client + this.client = new LitContractsClient({ signer: this.ethereumAuthWallet, network: this.litNetwork }); + } + + async connect(): Promise { + return await this.client.connect(); + } + + async mintCapacityCredits(options: LitContractsMintCapacityCreditsOptions): Promise { + return await this.client.mintCapacityCreditsNFT({ + requestsPerDay: options.requestsPerDay, + requestsPerSecond: options.requestsPerSecond, + requestsPerKilosecond: options.requestsPerKilosecond, + daysUntilUTCMidnightExpiration: options.effectiveDays, + }); + } + + static async create(options: Partial): Promise { + // instantiate underlying ethereum auth wallet + if (!options.ethereumAuthWallet) + options.ethereumAuthWallet = await LitContracts.generateRandomEthereumAuthWallet(); + + // validate top-level options litNetwork + if (!options?.litNetwork) options.litNetwork = LitNetworks.datildev; + + const litContracts = new LitContracts(options as LitContractsOptions); + await litContracts.connect(); + return litContracts; + } + + static async generateRandomEthereumAuthWallet(): Promise { + // generate private key + wallet + return new ethers.Wallet(await LitContracts.generateRandomPrivateKey()); + } + + static async generateRandomPrivateKey( + length = 32, + raw = false + ): Promise { + // ensure crypto, if applicable + const crypto = await (async function () { + if (isNode) return (await import('crypto')).default as Crypto; + if (isBrowser) return window.crypto; + throw new Error('[did-provider-cheqd]: lit-contracts: Unsupported runtime environment'); + })(); + + // generate random raw private key + const rawPrivateKey = crypto.getRandomValues(new Uint8Array(length)); + + // return as per request + return (raw ? rawPrivateKey : `0x${toString(rawPrivateKey, 'hex')}`) as T; + } +}