From c4ccc69de73a799a5ba57331c6c138d3273b64a1 Mon Sep 17 00:00:00 2001 From: Shubham Damkondwar Date: Fri, 15 May 2026 19:50:06 +0530 Subject: [PATCH] feat(bitgo): wire Starknet into coin factory and account-lib CECHO-924 Co-Authored-By: Claude Opus 4.6 (1M context) --- CODEOWNERS | 1 + Dockerfile | 3 + modules/account-lib/package.json | 1 + modules/account-lib/src/index.ts | 5 + modules/account-lib/tsconfig.json | 3 + modules/bitgo/package.json | 1 + modules/bitgo/src/v2/coinFactory.ts | 8 ++ modules/bitgo/src/v2/coins/index.ts | 2 + modules/bitgo/tsconfig.json | 3 + tsconfig.packages.json | 3 + yarn.lock | 182 ++++++++++++++++++++++++++-- 11 files changed, 205 insertions(+), 7 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 39802c8b06..995b72daf4 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -91,6 +91,7 @@ /modules/sdk-coin-stx/ @BitGo/ethalt-team /modules/sdk-coin-stt/ @BitGo/ethalt-team /modules/sdk-coin-soneium/ @BitGo/ethalt-team +/modules/sdk-coin-starknet/ @BitGo/ethalt-team /modules/sdk-coin-sui/ @BitGo/ethalt-team /modules/sdk-coin-tao/ @BitGo/ethalt-team /modules/sdk-coin-tempo/ @BitGo/ethalt-team diff --git a/Dockerfile b/Dockerfile index b0ab9be760..491a65fc0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -111,6 +111,7 @@ COPY --from=builder /tmp/bitgo/modules/sdk-coin-sei /var/modules/sdk-coin-sei/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-sgb /var/modules/sdk-coin-sgb/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-sol /var/modules/sdk-coin-sol/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-soneium /var/modules/sdk-coin-soneium/ +COPY --from=builder /tmp/bitgo/modules/sdk-coin-starknet /var/modules/sdk-coin-starknet/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-stt /var/modules/sdk-coin-stt/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-stx /var/modules/sdk-coin-stx/ COPY --from=builder /tmp/bitgo/modules/sdk-coin-sui /var/modules/sdk-coin-sui/ @@ -213,6 +214,7 @@ cd /var/modules/sdk-coin-sei && yarn link && \ cd /var/modules/sdk-coin-sgb && yarn link && \ cd /var/modules/sdk-coin-sol && yarn link && \ cd /var/modules/sdk-coin-soneium && yarn link && \ +cd /var/modules/sdk-coin-starknet && yarn link && \ cd /var/modules/sdk-coin-stt && yarn link && \ cd /var/modules/sdk-coin-stx && yarn link && \ cd /var/modules/sdk-coin-sui && yarn link && \ @@ -318,6 +320,7 @@ RUN cd /var/bitgo-express && \ yarn link @bitgo/sdk-coin-sgb && \ yarn link @bitgo/sdk-coin-sol && \ yarn link @bitgo/sdk-coin-soneium && \ + yarn link @bitgo/sdk-coin-starknet && \ yarn link @bitgo/sdk-coin-stt && \ yarn link @bitgo/sdk-coin-stx && \ yarn link @bitgo/sdk-coin-sui && \ diff --git a/modules/account-lib/package.json b/modules/account-lib/package.json index e73c8d3d72..c48ec2e6fa 100644 --- a/modules/account-lib/package.json +++ b/modules/account-lib/package.json @@ -73,6 +73,7 @@ "@bitgo/sdk-coin-sgb": "^1.8.7", "@bitgo/sdk-coin-sol": "^7.19.2", "@bitgo/sdk-coin-soneium": "^1.10.7", + "@bitgo/sdk-coin-starknet": "^1.0.0", "@bitgo/sdk-coin-stt": "^1.6.7", "@bitgo/sdk-coin-stx": "^3.12.7", "@bitgo/sdk-coin-sui": "^5.23.6", diff --git a/modules/account-lib/src/index.ts b/modules/account-lib/src/index.ts index 28a59d72ff..ed8c4c9b48 100644 --- a/modules/account-lib/src/index.ts +++ b/modules/account-lib/src/index.ts @@ -200,6 +200,9 @@ export { Stt }; import * as Soneium from '@bitgo/sdk-coin-soneium'; export { Soneium }; +import * as Starknet from '@bitgo/sdk-coin-starknet'; +export { Starknet }; + import * as Vet from '@bitgo/sdk-coin-vet'; export { Vet }; @@ -302,6 +305,8 @@ const coinBuilderMap = { ttempo: Tempo.Tip20TransactionBuilder, icp: Icp.TransactionBuilder, ticp: Icp.TransactionBuilder, + starknet: Starknet.TransactionBuilder, + tstarknet: Starknet.TransactionBuilder, baby: Baby.TransactionBuilder, tbaby: Baby.TransactionBuilder, cronos: Cronos.TransactionBuilder, diff --git a/modules/account-lib/tsconfig.json b/modules/account-lib/tsconfig.json index 7376290736..997e0e42c3 100644 --- a/modules/account-lib/tsconfig.json +++ b/modules/account-lib/tsconfig.json @@ -115,6 +115,9 @@ { "path": "../sdk-coin-soneium" }, + { + "path": "../sdk-coin-starknet" + }, { "path": "../sdk-coin-stx" }, diff --git a/modules/bitgo/package.json b/modules/bitgo/package.json index 30b5304e10..e794f1e798 100644 --- a/modules/bitgo/package.json +++ b/modules/bitgo/package.json @@ -107,6 +107,7 @@ "@bitgo/sdk-coin-sgb": "^1.8.7", "@bitgo/sdk-coin-sol": "^7.19.2", "@bitgo/sdk-coin-soneium": "^1.10.7", + "@bitgo/sdk-coin-starknet": "^1.0.0", "@bitgo/sdk-coin-stt": "^1.6.7", "@bitgo/sdk-coin-stx": "^3.12.7", "@bitgo/sdk-coin-sui": "^5.23.6", diff --git a/modules/bitgo/src/v2/coinFactory.ts b/modules/bitgo/src/v2/coinFactory.ts index 5a877a8897..fce42b2de1 100644 --- a/modules/bitgo/src/v2/coinFactory.ts +++ b/modules/bitgo/src/v2/coinFactory.ts @@ -130,6 +130,7 @@ import { Sol, Soneium, SoneiumToken, + Starknet, StellarToken, Stx, Sui, @@ -194,6 +195,7 @@ import { Tsei, Tsol, Tsoneium, + Tstarknet, Tstx, Tstt, Tsui, @@ -301,6 +303,7 @@ export function registerCoinConstructors(coinFactory: CoinFactory, coinMap: Coin coinFactory.register('sgb', Sgb.createInstance); coinFactory.register('sol', Sol.createInstance); coinFactory.register('soneium', Soneium.createInstance); + coinFactory.register('starknet', Starknet.createInstance); coinFactory.register('stx', Stx.createInstance); coinFactory.register('sui', Sui.createInstance); coinFactory.register('susd', Susd.createInstance); @@ -366,6 +369,7 @@ export function registerCoinConstructors(coinFactory: CoinFactory, coinMap: Coin coinFactory.register('tsei', Tsei.createInstance); coinFactory.register('tsol', Tsol.createInstance); coinFactory.register('tsoneium', Tsoneium.createInstance); + coinFactory.register('tstarknet', Tstarknet.createInstance); coinFactory.register('tstx', Tstx.createInstance); coinFactory.register('tstt', Tstt.createInstance); coinFactory.register('tsui', Tsui.createInstance); @@ -745,6 +749,8 @@ export function getCoinConstructor(coinName: string): CoinConstructor | undefine return Sol.createInstance; case 'soneium': return Soneium.createInstance; + case 'starknet': + return Starknet.createInstance; case 'stx': return Stx.createInstance; case 'sui': @@ -875,6 +881,8 @@ export function getCoinConstructor(coinName: string): CoinConstructor | undefine return Tsol.createInstance; case 'tsoneium': return Tsoneium.createInstance; + case 'tstarknet': + return Tstarknet.createInstance; case 'tstx': return Tstx.createInstance; case 'tstt': diff --git a/modules/bitgo/src/v2/coins/index.ts b/modules/bitgo/src/v2/coins/index.ts index 53a096e12c..a451aa6f00 100644 --- a/modules/bitgo/src/v2/coins/index.ts +++ b/modules/bitgo/src/v2/coins/index.ts @@ -59,6 +59,7 @@ import { Soneium, Tsoneium, SoneiumToken } from '@bitgo/sdk-coin-soneium'; import { Tstt } from '@bitgo/sdk-coin-stt'; import { Sgb, Tsgb } from '@bitgo/sdk-coin-sgb'; import { Sol, Tsol } from '@bitgo/sdk-coin-sol'; +import { Starknet, Tstarknet } from '@bitgo/sdk-coin-starknet'; import { Stx, Tstx, Sip10Token } from '@bitgo/sdk-coin-stx'; import { Sui, Tsui, SuiToken } from '@bitgo/sdk-coin-sui'; import { Tao, Ttao, TaoToken } from '@bitgo/sdk-coin-tao'; @@ -133,6 +134,7 @@ export { Rune, Trune }; export { Sgb, Tsgb }; export { Sol, Tsol }; export { Soneium, Tsoneium, SoneiumToken }; +export { Starknet, Tstarknet }; export { Tstt }; export { Stx, Tstx, Sip10Token }; export { Sui, Tsui, SuiToken }; diff --git a/modules/bitgo/tsconfig.json b/modules/bitgo/tsconfig.json index 8c16adaaf4..26c3e3d8c2 100644 --- a/modules/bitgo/tsconfig.json +++ b/modules/bitgo/tsconfig.json @@ -230,6 +230,9 @@ { "path": "../sdk-coin-sol" }, + { + "path": "../sdk-coin-starknet" + }, { "path": "../sdk-coin-stx" }, diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 7e4d5d74c7..8145df7655 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -220,6 +220,9 @@ { "path": "./modules/sdk-coin-soneium" }, + { + "path": "./modules/sdk-coin-starknet" + }, { "path": "./modules/sdk-coin-stt" }, diff --git a/yarn.lock b/yarn.lock index cc817ff38b..b599aadb3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3688,6 +3688,13 @@ dependencies: "@noble/hashes" "1.4.0" +"@noble/curves@1.7.0", "@noble/curves@~1.7.0": + version "1.7.0" + resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" + integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== + dependencies: + "@noble/hashes" "1.6.0" + "@noble/curves@1.8.1", "@noble/curves@^1.4.0", "@noble/curves@^1.4.2": version "1.8.1" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.8.1.tgz" @@ -3729,6 +3736,11 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz" integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== +"@noble/hashes@1.6.0": + version "1.6.0" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" + integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== + "@noble/hashes@1.7.1": version "1.7.1" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.1.tgz" @@ -3739,6 +3751,11 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz" integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== +"@noble/hashes@~1.6.0": + version "1.6.1" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" + integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== + "@noble/secp256k1@1.6.3": version "1.6.3" resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz" @@ -4947,6 +4964,11 @@ resolved "https://registry.npmjs.org/@scure/base/-/base-1.1.5.tgz" integrity sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ== +"@scure/base@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865" + integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ== + "@scure/base@^1.1.1", "@scure/base@^1.1.3", "@scure/base@^1.1.7", "@scure/base@^1.2.0", "@scure/base@^1.2.4", "@scure/base@~1.2.5": version "1.2.6" resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz" @@ -5008,6 +5030,14 @@ "@noble/hashes" "~1.8.0" "@scure/base" "~1.2.5" +"@scure/starknet@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@scure/starknet/-/starknet-1.1.0.tgz#d1902e053d98196e161b9b2c3996b20999094e7a" + integrity sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ== + dependencies: + "@noble/curves" "~1.7.0" + "@noble/hashes" "~1.6.0" + "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz" @@ -7056,6 +7086,16 @@ abbrev@^3.0.0: resolved "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz" integrity sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg== +abi-wan-kanabi@^2.2.3: + version "2.2.4" + resolved "https://registry.npmjs.org/abi-wan-kanabi/-/abi-wan-kanabi-2.2.4.tgz#47ebbafbb7f8df81773efbdcca60cdda8008c821" + integrity sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg== + dependencies: + ansicolors "^0.3.2" + cardinal "^2.1.1" + fs-extra "^10.0.0" + yargs "^17.7.2" + abitype@1.1.0, abitype@^1.0.6, abitype@^1.0.9: version "1.1.0" resolved "https://registry.npmjs.org/abitype/-/abitype-1.1.0.tgz" @@ -7278,6 +7318,11 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== +ansicolors@^0.3.2, ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== + anymatch@^3.0.0, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" @@ -8688,6 +8733,14 @@ canvg@4.0.3, canvg@^3.0.11: stackblur-canvas "^2.0.0" svg-pathdata "^6.0.3" +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" @@ -11122,7 +11175,7 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -11736,6 +11789,14 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" +fetch-cookie@~3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-3.0.1.tgz#6a77f7495e1a639ae019db916a234db8c85d5963" + integrity sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q== + dependencies: + set-cookie-parser "^2.4.8" + tough-cookie "^4.0.0" + fflate@^0.8.1: version "0.8.2" resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz" @@ -12032,6 +12093,15 @@ fs-extra@9.1.0, fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^11.2.0: version "11.3.2" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz" @@ -12760,7 +12830,18 @@ html-minifier-terser@^6.0.2: tapable "^1.1.3" util.promisify "1.0.0" -"html-webpack-plugin-5@npm:html-webpack-plugin@^5", html-webpack-plugin@^5.5.0: +"html-webpack-plugin-5@npm:html-webpack-plugin@^5": + version "5.6.4" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz" + integrity sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +html-webpack-plugin@^5.5.0: version "5.6.4" resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz" integrity sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw== @@ -13733,7 +13814,7 @@ isobject@^3.0.1: resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -isomorphic-fetch@^3.0.0: +isomorphic-fetch@^3.0.0, isomorphic-fetch@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz" integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== @@ -14779,6 +14860,11 @@ loose-envify@^1.0.0, loose-envify@^1.1.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lossless-json@^4.0.1: + version "4.3.0" + resolved "https://registry.npmjs.org/lossless-json/-/lossless-json-4.3.0.tgz#7d26864820ecf08aee800213fc193666e794802a" + integrity sha512-ToxOC+SsduRmdSuoLZLYAr5zy1Qu7l5XhmPWM3zefCZ5IcrzW/h108qbJUKfOlDlhvhjUK84+8PSVX0kxnit0g== + loupe@^2.3.6: version "2.3.7" resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" @@ -16674,7 +16760,7 @@ pako@2.0.3: resolved "https://registry.npmjs.org/pako/-/pako-2.0.3.tgz" integrity sha512-WjR1hOeg+kki3ZIOjaf4b5WVcay1jaliKSYiEaB1XzwhMQZJxRdQRv0V31EKBYlxb4T7SK3hjfc/jxyU64BoSw== -pako@^2.1.0: +pako@^2.0.4, pako@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== @@ -17568,6 +17654,13 @@ proxyquire@^2.1.3: module-not-found-error "^1.0.1" resolve "^1.11.1" +psl@^1.1.33: + version "1.15.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" + public-encrypt@^4.0.0, public-encrypt@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" @@ -17598,7 +17691,7 @@ punycode@^1.3.2, punycode@^1.4.1: resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -17680,6 +17773,11 @@ querystring@0.2.0: resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -18001,6 +18099,13 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== + dependencies: + esprima "~4.0.0" + reflect-metadata@^0.1.13: version "0.1.14" resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz" @@ -18637,6 +18742,11 @@ set-blocking@^2.0.0: resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-cookie-parser@^2.4.8: + version "2.7.2" + resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz#ccd08673a9ae5d2e44ea2a2de25089e67c7edf68" + integrity sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw== + set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" @@ -19279,6 +19389,28 @@ stackblur-canvas@^2.0.0: resolved "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz" integrity sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ== +"starknet-types-07@npm:@starknet-io/types-js@^0.7.10": + version "0.7.10" + resolved "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.7.10.tgz#d21dc973d0cd04d7b6293ce461f2f06a5873c760" + integrity sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w== + +starknet@^6.23.1: + version "6.24.1" + resolved "https://registry.npmjs.org/starknet/-/starknet-6.24.1.tgz#87333339795038e93ef32a20726b5272ddb78fe1" + integrity sha512-g7tiCt73berhcNi41otlN3T3kxZnIvZhMi8WdC21Y6GC6zoQgbI2z1t7JAZF9c4xZiomlanwVnurcpyfEdyMpg== + dependencies: + "@noble/curves" "1.7.0" + "@noble/hashes" "1.6.0" + "@scure/base" "1.2.1" + "@scure/starknet" "1.1.0" + abi-wan-kanabi "^2.2.3" + fetch-cookie "~3.0.0" + isomorphic-fetch "~3.0.0" + lossless-json "^4.0.1" + pako "^2.0.4" + starknet-types-07 "npm:@starknet-io/types-js@^0.7.10" + ts-mixer "^6.0.3" + statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" @@ -20092,6 +20224,16 @@ totalist@^3.0.0: resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== +tough-cookie@^4.0.0: + version "4.1.4" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + tough-cookie@^5.0.0: version "5.1.2" resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz" @@ -20152,6 +20294,11 @@ ts-loader@^9.1.2: semver "^7.3.4" source-map "^0.7.4" +ts-mixer@^6.0.3: + version "6.0.4" + resolved "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz#1da39ceabc09d947a82140d9f09db0f84919ca28" + integrity sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA== + ts-results@^3.2.1: version "3.3.0" resolved "https://registry.npmjs.org/ts-results/-/ts-results-3.3.0.tgz" @@ -20598,6 +20745,11 @@ universalify@^0.1.0: resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" @@ -20638,6 +20790,14 @@ urijs@^1.19.1: resolved "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz" integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url@0.10.3: version "0.10.3" resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" @@ -21262,8 +21422,7 @@ workerpool@^6.5.1: resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz" integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - name wrap-ansi-cjs +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -21281,6 +21440,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"