@argent/x-shared 1.77.2 → 1.78.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/paymaster.cjs +1 -1
- package/dist/paymaster.js +5 -4
- package/dist/src/features/paymaster/IPaymasterService.d.ts +2 -1
- package/dist/src/features/paymaster/PaymasterService.cjs +1 -1
- package/dist/src/features/paymaster/PaymasterService.d.ts +2 -1
- package/dist/src/features/paymaster/PaymasterService.js +49 -30
- package/dist/src/features/paymaster/types.cjs +1 -1
- package/dist/src/features/paymaster/types.d.ts +17 -0
- package/dist/src/features/paymaster/types.js +21 -11
- package/package.json +12 -12
package/dist/paymaster.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./src/features/paymaster/PaymasterService.cjs"),e=require("./src/features/paymaster/types.cjs");exports.PaymasterService=a.PaymasterService;exports.paymasterExecuteParams=e.paymasterExecuteParams;exports.paymasterExecuteResponse=e.paymasterExecuteResponse;exports.paymasterExecutionDataParams=e.paymasterExecutionDataParams;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./src/features/paymaster/PaymasterService.cjs"),e=require("./src/features/paymaster/types.cjs");exports.PaymasterService=a.PaymasterService;exports.paymasterDeployAccountParams=e.paymasterDeployAccountParams;exports.paymasterExecuteParams=e.paymasterExecuteParams;exports.paymasterExecuteResponse=e.paymasterExecuteResponse;exports.paymasterExecutionDataParams=e.paymasterExecutionDataParams;
|
package/dist/paymaster.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { PaymasterService as r } from "./src/features/paymaster/PaymasterService.js";
|
|
2
|
-
import {
|
|
2
|
+
import { paymasterDeployAccountParams as m, paymasterExecuteParams as s, paymasterExecuteResponse as o, paymasterExecutionDataParams as p } from "./src/features/paymaster/types.js";
|
|
3
3
|
export {
|
|
4
4
|
r as PaymasterService,
|
|
5
|
-
m as
|
|
6
|
-
s as
|
|
7
|
-
o as
|
|
5
|
+
m as paymasterDeployAccountParams,
|
|
6
|
+
s as paymasterExecuteParams,
|
|
7
|
+
o as paymasterExecuteResponse,
|
|
8
|
+
p as paymasterExecutionDataParams
|
|
8
9
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TypedData } from 'starknet';
|
|
2
|
-
import { PaymasterExecutionDataParams, PaymasterExecuteParams, PaymasterOptions } from './types';
|
|
2
|
+
import { PaymasterExecutionDataParams, PaymasterExecuteParams, PaymasterOptions, PaymasterDeployAccountParams } from './types';
|
|
3
3
|
export interface IPaymasterService {
|
|
4
4
|
getExecutionData(params: PaymasterExecutionDataParams, options?: PaymasterOptions): Promise<TypedData>;
|
|
5
5
|
execute(params: PaymasterExecuteParams, options?: PaymasterOptions): Promise<string>;
|
|
6
|
+
deployAccount(params: PaymasterDeployAccountParams, options?: PaymasterOptions): Promise<string>;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("starknet"),p=require("url-join"),v=require("./types.cjs"),h=require("../../chains/starknet/network.cjs"),A=require("../../utils/starknet/starknet.cjs"),d=require("../../utils/url/urlWithQuery.cjs");class f{constructor(e="",t){this.argentRelayerUrl=e,this.httpService=t}async getExecutionData(e,t={}){const{useAvnu:o,isSubsidised:i}=t,{networkId:s}=e,u=s?{network:h.getArgentNetwork(s)}:void 0,r=o?p(this.getAvnuUrl(s),"/build-typed-data"):d.urlWithQuery([this.argentRelayerUrl,"/build-typed-data"],u),c={calls:o?e.calls.map(y=>({contractAddress:n.num.toHex(y.contractAddress),calldata:n.CallData.toCalldata(y.calldata).map(w=>n.num.toHex(w)),entrypoint:y.entrypoint})):e.calls,userAddress:e.accountAddress,gasTokenAddress:i?null:n.num.toHex(e.feeTokenAddress),maxGasTokenAmount:i?null:n.num.toHex(e.maxFee),accountClassHash:e.accountClassHash},a=await this.httpService.post(r,{body:n.json.stringify(c),headers:{"Content-Type":"application/json"}}),g=A.typedDataSchema.safeParse(a);if(!g.success)throw new Error("Invalid response from paymaster");return g.data}getAvnuUrl(e){if(!e)throw new Error("Network id is required for Avnu paymaster");let t="";if(e==="mainnet"||e==="mainnet-alpha")t="starknet";else if(e==="sepolia"||e==="sepolia-alpha")t="sepolia";else throw new Error("Invalid network id");return`https://${t}.api.avnu.fi/paymaster/v1`}async execute(e,t={}){const{useAvnu:o,isSubsidised:i}=t,{networkId:s}=e,u=s?{network:h.getArgentNetwork(s)}:void 0;let r=o?p(this.getAvnuUrl(s),"/execute"):d.urlWithQuery([this.argentRelayerUrl,"/execute"],u);i&&(r=d.urlWithQuery(r,{isSubsidised:"true"}));const l={signature:e.signature,userAddress:e.accountAddress,typedData:o?n.json.stringify(e.typedData):e.typedData,deploymentData:e.deploymentData},c=await this.httpService.post(r,{body:n.json.stringify(l),headers:{"Content-Type":"application/json"}}),a=v.paymasterExecuteResponse.safeParse(c);if(!a.success)throw new Error("Invalid response from paymaster");return a.data.transactionHash}async deployAccount(e,t={}){const{useAvnu:o,isSubsidised:i}=t,{networkId:s}=e,u=s?{network:h.getArgentNetwork(s)}:void 0;let r=o?p(this.getAvnuUrl(s),"/execute"):d.urlWithQuery([this.argentRelayerUrl,"/execute"],u);i&&(r=d.urlWithQuery(r,{isSubsidised:"true"}));const l={userAddress:e.accountAddress,deploymentData:e.deploymentData},c=await this.httpService.post(r,{body:n.json.stringify(l),headers:{"Content-Type":"application/json"}}),a=v.paymasterExecuteResponse.safeParse(c);if(!a.success)throw new Error("Invalid response from paymaster");return a.data.transactionHash}}exports.PaymasterService=f;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TypedData } from '@starknet-io/types-js';
|
|
2
2
|
import { IHttpService } from '../../http';
|
|
3
3
|
import { IPaymasterService } from './IPaymasterService';
|
|
4
|
-
import { PaymasterOptions, PaymasterExecuteParams, PaymasterExecutionDataParams } from './types';
|
|
4
|
+
import { PaymasterDeployAccountParams, PaymasterOptions, PaymasterExecuteParams, PaymasterExecutionDataParams } from './types';
|
|
5
5
|
export declare class PaymasterService implements IPaymasterService {
|
|
6
6
|
private readonly argentRelayerUrl;
|
|
7
7
|
private readonly httpService;
|
|
@@ -9,4 +9,5 @@ export declare class PaymasterService implements IPaymasterService {
|
|
|
9
9
|
getExecutionData(params: PaymasterExecutionDataParams, options?: PaymasterOptions): Promise<TypedData>;
|
|
10
10
|
getAvnuUrl(networkId?: string): string;
|
|
11
11
|
execute(params: PaymasterExecuteParams, options?: PaymasterOptions): Promise<string>;
|
|
12
|
+
deployAccount(params: PaymasterDeployAccountParams, options?: PaymasterOptions): Promise<string>;
|
|
12
13
|
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { CallData as A, num as
|
|
2
|
-
import
|
|
3
|
-
import { paymasterExecuteResponse as
|
|
4
|
-
import { getArgentNetwork as
|
|
5
|
-
import { typedDataSchema as
|
|
6
|
-
import { urlWithQuery as
|
|
7
|
-
class
|
|
1
|
+
import { CallData as A, num as u, json as p } from "starknet";
|
|
2
|
+
import h from "url-join";
|
|
3
|
+
import { paymasterExecuteResponse as v } from "./types.js";
|
|
4
|
+
import { getArgentNetwork as f } from "../../chains/starknet/network.js";
|
|
5
|
+
import { typedDataSchema as g } from "../../utils/starknet/starknet.js";
|
|
6
|
+
import { urlWithQuery as c } from "../../utils/url/urlWithQuery.js";
|
|
7
|
+
class U {
|
|
8
8
|
constructor(e = "", t) {
|
|
9
9
|
this.argentRelayerUrl = e, this.httpService = t;
|
|
10
10
|
}
|
|
11
11
|
async getExecutionData(e, t = {}) {
|
|
12
|
-
const { useAvnu:
|
|
13
|
-
calls:
|
|
14
|
-
contractAddress:
|
|
15
|
-
calldata: A.toCalldata(
|
|
16
|
-
entrypoint:
|
|
12
|
+
const { useAvnu: n, isSubsidised: a } = t, { networkId: s } = e, i = s ? { network: f(s) } : void 0, r = n ? h(this.getAvnuUrl(s), "/build-typed-data") : c([this.argentRelayerUrl, "/build-typed-data"], i), d = {
|
|
13
|
+
calls: n ? e.calls.map((y) => ({
|
|
14
|
+
contractAddress: u.toHex(y.contractAddress),
|
|
15
|
+
calldata: A.toCalldata(y.calldata).map((w) => u.toHex(w)),
|
|
16
|
+
entrypoint: y.entrypoint
|
|
17
17
|
})) : e.calls,
|
|
18
18
|
userAddress: e.accountAddress,
|
|
19
|
-
gasTokenAddress:
|
|
20
|
-
maxGasTokenAmount:
|
|
19
|
+
gasTokenAddress: a ? null : u.toHex(e.feeTokenAddress),
|
|
20
|
+
maxGasTokenAmount: a ? null : u.toHex(e.maxFee),
|
|
21
21
|
accountClassHash: e.accountClassHash
|
|
22
|
-
},
|
|
23
|
-
body:
|
|
22
|
+
}, o = await this.httpService.post(r, {
|
|
23
|
+
body: p.stringify(d),
|
|
24
24
|
headers: {
|
|
25
25
|
"Content-Type": "application/json"
|
|
26
26
|
}
|
|
27
|
-
}),
|
|
28
|
-
if (!
|
|
27
|
+
}), m = g.safeParse(o);
|
|
28
|
+
if (!m.success)
|
|
29
29
|
throw new Error("Invalid response from paymaster");
|
|
30
|
-
return
|
|
30
|
+
return m.data;
|
|
31
31
|
}
|
|
32
32
|
getAvnuUrl(e) {
|
|
33
33
|
if (!e)
|
|
@@ -42,27 +42,46 @@ class E {
|
|
|
42
42
|
return `https://${t}.api.avnu.fi/paymaster/v1`;
|
|
43
43
|
}
|
|
44
44
|
async execute(e, t = {}) {
|
|
45
|
-
const { useAvnu:
|
|
46
|
-
let
|
|
47
|
-
|
|
45
|
+
const { useAvnu: n, isSubsidised: a } = t, { networkId: s } = e, i = s ? { network: f(s) } : void 0;
|
|
46
|
+
let r = n ? h(this.getAvnuUrl(s), "/execute") : c([this.argentRelayerUrl, "/execute"], i);
|
|
47
|
+
a && (r = c(r, {
|
|
48
48
|
isSubsidised: "true"
|
|
49
49
|
}));
|
|
50
|
-
const
|
|
50
|
+
const l = {
|
|
51
51
|
signature: e.signature,
|
|
52
52
|
userAddress: e.accountAddress,
|
|
53
|
-
typedData:
|
|
53
|
+
typedData: n ? p.stringify(e.typedData) : e.typedData,
|
|
54
54
|
deploymentData: e.deploymentData
|
|
55
|
-
},
|
|
56
|
-
body:
|
|
55
|
+
}, d = await this.httpService.post(r, {
|
|
56
|
+
body: p.stringify(l),
|
|
57
57
|
headers: {
|
|
58
58
|
"Content-Type": "application/json"
|
|
59
59
|
}
|
|
60
|
-
}),
|
|
61
|
-
if (!
|
|
60
|
+
}), o = v.safeParse(d);
|
|
61
|
+
if (!o.success)
|
|
62
62
|
throw new Error("Invalid response from paymaster");
|
|
63
|
-
return
|
|
63
|
+
return o.data.transactionHash;
|
|
64
|
+
}
|
|
65
|
+
async deployAccount(e, t = {}) {
|
|
66
|
+
const { useAvnu: n, isSubsidised: a } = t, { networkId: s } = e, i = s ? { network: f(s) } : void 0;
|
|
67
|
+
let r = n ? h(this.getAvnuUrl(s), "/execute") : c([this.argentRelayerUrl, "/execute"], i);
|
|
68
|
+
a && (r = c(r, {
|
|
69
|
+
isSubsidised: "true"
|
|
70
|
+
}));
|
|
71
|
+
const l = {
|
|
72
|
+
userAddress: e.accountAddress,
|
|
73
|
+
deploymentData: e.deploymentData
|
|
74
|
+
}, d = await this.httpService.post(r, {
|
|
75
|
+
body: p.stringify(l),
|
|
76
|
+
headers: {
|
|
77
|
+
"Content-Type": "application/json"
|
|
78
|
+
}
|
|
79
|
+
}), o = v.safeParse(d);
|
|
80
|
+
if (!o.success)
|
|
81
|
+
throw new Error("Invalid response from paymaster");
|
|
82
|
+
return o.data.transactionHash;
|
|
64
83
|
}
|
|
65
84
|
}
|
|
66
85
|
export {
|
|
67
|
-
|
|
86
|
+
U as PaymasterService
|
|
68
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("zod"),t=require("../../chains/starknet/address.cjs"),r=require("../../utils/starknet/starknet.cjs"),e=require("../../backend/schema.cjs"),s=a.z.object({calls:a.z.array(r.callSchema),accountAddress:t.addressSchema,networkId:e.argentNetworkIdSchema.or(e.argentBackendNetworkIdSchema).optional(),feeTokenAddress:t.addressSchema,maxFee:r.bigNumberishSchema,accountClassHash:a.z.string().optional()}),o=a.z.object({signature:a.z.string().array(),accountAddress:t.addressSchema,typedData:r.typedDataSchema,networkId:e.argentNetworkIdSchema.or(e.argentBackendNetworkIdSchema).optional(),deploymentData:a.z.object({class_hash:a.z.string().optional(),salt:a.z.string().or(a.z.number()).or(a.z.bigint()).optional(),unique:a.z.string(),calldata:a.z.array(a.z.string())}).optional()}),n=a.z.object({transactionHash:a.z.string()});exports.paymasterExecuteParams=o;exports.paymasterExecuteResponse=n;exports.paymasterExecutionDataParams=s;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("zod"),t=require("../../chains/starknet/address.cjs"),r=require("../../utils/starknet/starknet.cjs"),e=require("../../backend/schema.cjs"),s=a.z.object({calls:a.z.array(r.callSchema),accountAddress:t.addressSchema,networkId:e.argentNetworkIdSchema.or(e.argentBackendNetworkIdSchema).optional(),feeTokenAddress:t.addressSchema,maxFee:r.bigNumberishSchema,accountClassHash:a.z.string().optional()}),o=a.z.object({signature:a.z.string().array(),accountAddress:t.addressSchema,typedData:r.typedDataSchema,networkId:e.argentNetworkIdSchema.or(e.argentBackendNetworkIdSchema).optional(),deploymentData:a.z.object({class_hash:a.z.string().optional(),salt:a.z.string().or(a.z.number()).or(a.z.bigint()).optional(),unique:a.z.string(),calldata:a.z.array(a.z.string())}).optional()}),n=a.z.object({transactionHash:a.z.string()}),c=a.z.object({accountAddress:t.addressSchema,networkId:e.argentNetworkIdSchema.or(e.argentBackendNetworkIdSchema).optional(),deploymentData:a.z.object({class_hash:a.z.string().optional(),salt:a.z.string().or(a.z.number()).or(a.z.bigint()).optional(),unique:a.z.string(),calldata:a.z.array(a.z.string())}).optional()});exports.paymasterDeployAccountParams=c;exports.paymasterExecuteParams=o;exports.paymasterExecuteResponse=n;exports.paymasterExecutionDataParams=s;
|
|
@@ -57,3 +57,20 @@ export type PaymasterOptions = {
|
|
|
57
57
|
useAvnu?: boolean;
|
|
58
58
|
isSubsidised?: boolean;
|
|
59
59
|
};
|
|
60
|
+
export declare const paymasterDeployAccountParams: z.ZodObject<{
|
|
61
|
+
accountAddress: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodString>, z.ZodTransform<`0x${string}`, string>>;
|
|
62
|
+
networkId: z.ZodOptional<z.ZodUnion<[z.ZodEnum<{
|
|
63
|
+
"mainnet-alpha": "mainnet-alpha";
|
|
64
|
+
"sepolia-alpha": "sepolia-alpha";
|
|
65
|
+
}>, z.ZodEnum<{
|
|
66
|
+
mainnet: "mainnet";
|
|
67
|
+
sepolia: "sepolia";
|
|
68
|
+
}>]>>;
|
|
69
|
+
deploymentData: z.ZodOptional<z.ZodObject<{
|
|
70
|
+
class_hash: z.ZodOptional<z.ZodString>;
|
|
71
|
+
salt: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>>;
|
|
72
|
+
unique: z.ZodString;
|
|
73
|
+
calldata: z.ZodArray<z.ZodString>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
export type PaymasterDeployAccountParams = z.infer<typeof paymasterDeployAccountParams>;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { z as a } from "zod";
|
|
2
2
|
import { addressSchema as t } from "../../chains/starknet/address.js";
|
|
3
|
-
import { bigNumberishSchema as
|
|
4
|
-
import { argentNetworkIdSchema as
|
|
5
|
-
const
|
|
6
|
-
calls: a.array(
|
|
3
|
+
import { bigNumberishSchema as e, callSchema as n, typedDataSchema as s } from "../../utils/starknet/starknet.js";
|
|
4
|
+
import { argentNetworkIdSchema as o, argentBackendNetworkIdSchema as r } from "../../backend/schema.js";
|
|
5
|
+
const p = a.object({
|
|
6
|
+
calls: a.array(n),
|
|
7
7
|
accountAddress: t,
|
|
8
|
-
networkId:
|
|
8
|
+
networkId: o.or(r).optional(),
|
|
9
9
|
feeTokenAddress: t,
|
|
10
|
-
maxFee:
|
|
10
|
+
maxFee: e,
|
|
11
11
|
accountClassHash: a.string().optional()
|
|
12
|
-
}),
|
|
12
|
+
}), d = a.object({
|
|
13
13
|
signature: a.string().array(),
|
|
14
14
|
accountAddress: t,
|
|
15
|
-
typedData:
|
|
16
|
-
networkId:
|
|
15
|
+
typedData: s,
|
|
16
|
+
networkId: o.or(r).optional(),
|
|
17
17
|
deploymentData: a.object({
|
|
18
18
|
class_hash: a.string().optional(),
|
|
19
19
|
salt: a.string().or(a.number()).or(a.bigint()).optional(),
|
|
@@ -22,9 +22,19 @@ const d = a.object({
|
|
|
22
22
|
}).optional()
|
|
23
23
|
}), g = a.object({
|
|
24
24
|
transactionHash: a.string()
|
|
25
|
+
}), u = a.object({
|
|
26
|
+
accountAddress: t,
|
|
27
|
+
networkId: o.or(r).optional(),
|
|
28
|
+
deploymentData: a.object({
|
|
29
|
+
class_hash: a.string().optional(),
|
|
30
|
+
salt: a.string().or(a.number()).or(a.bigint()).optional(),
|
|
31
|
+
unique: a.string(),
|
|
32
|
+
calldata: a.array(a.string())
|
|
33
|
+
}).optional()
|
|
25
34
|
});
|
|
26
35
|
export {
|
|
27
|
-
|
|
36
|
+
u as paymasterDeployAccountParams,
|
|
37
|
+
d as paymasterExecuteParams,
|
|
28
38
|
g as paymasterExecuteResponse,
|
|
29
|
-
|
|
39
|
+
p as paymasterExecutionDataParams
|
|
30
40
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@argent/x-shared",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.78.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/argentlabs/x-shared.git"
|
|
@@ -56,31 +56,31 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@amplitude/analytics-types": "2.10.0",
|
|
59
|
-
"@commitlint/cli": "
|
|
60
|
-
"@commitlint/config-conventional": "
|
|
59
|
+
"@commitlint/cli": "20.1.0",
|
|
60
|
+
"@commitlint/config-conventional": "20.0.0",
|
|
61
61
|
"@rollup/plugin-typescript": "12.1.4",
|
|
62
62
|
"@semantic-release/git": "10.0.1",
|
|
63
63
|
"@types/async-retry": "1.4.9",
|
|
64
64
|
"@types/lodash-es": "4.17.12",
|
|
65
65
|
"@types/numeral": "2.0.5",
|
|
66
66
|
"@types/ua-parser-js": "0.7.39",
|
|
67
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
68
|
-
"@typescript-eslint/parser": "8.
|
|
69
|
-
"esbuild": "0.25.
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "8.44.0",
|
|
68
|
+
"@typescript-eslint/parser": "8.44.0",
|
|
69
|
+
"esbuild": "0.25.10",
|
|
70
70
|
"esbuild-register": "3.6.0",
|
|
71
71
|
"eslint": "8.57.1",
|
|
72
72
|
"eslint-config-prettier": "10.1.8",
|
|
73
73
|
"eslint-plugin-import": "2.32.0",
|
|
74
74
|
"husky": "9.1.7",
|
|
75
75
|
"lint-staged": "16.1.6",
|
|
76
|
-
"msw": "2.11.
|
|
76
|
+
"msw": "2.11.3",
|
|
77
77
|
"prettier": "3.6.2",
|
|
78
|
-
"semantic-release": "24.2.
|
|
78
|
+
"semantic-release": "24.2.9",
|
|
79
79
|
"ts-node": "10.9.2",
|
|
80
80
|
"ts-to-zod": "3.15.0",
|
|
81
81
|
"tsx": "4.20.5",
|
|
82
82
|
"typescript": "5.9.2",
|
|
83
|
-
"vite": "7.1.
|
|
83
|
+
"vite": "7.1.6",
|
|
84
84
|
"vite-plugin-dts": "4.5.4",
|
|
85
85
|
"vitest": "3.2.4"
|
|
86
86
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"@langchain/google-genai": "^0.2.2",
|
|
91
91
|
"@lokalise/node-api": "^15.0.0",
|
|
92
92
|
"@noble/hashes": "^2.0.0",
|
|
93
|
-
"@starknet-io/types-js": "0.9.
|
|
93
|
+
"@starknet-io/types-js": "0.9.2",
|
|
94
94
|
"@types/fs-extra": "^11.0.4",
|
|
95
95
|
"big-decimal-number": "npm:bignumber.js@^9.1.2",
|
|
96
96
|
"dotenv": "^17.0.0",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"i18next": "^25.0.0",
|
|
99
99
|
"micro-starknet": "^0.2.3",
|
|
100
100
|
"numeral": "2.0.6",
|
|
101
|
-
"react-i18next": "^
|
|
101
|
+
"react-i18next": "^16.0.0",
|
|
102
102
|
"starknet": "8.1.2",
|
|
103
103
|
"starknet4-deprecated": "npm:starknet@4.4.0",
|
|
104
104
|
"starknet5": "npm:starknet@5.25.0",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
"lodash-es": "^4.17.21",
|
|
112
112
|
"ua-parser-js": "^1.0.38 || ^2.0.0",
|
|
113
113
|
"url-join": "^5.0.0",
|
|
114
|
-
"zod": "4.1.
|
|
114
|
+
"zod": "4.1.11"
|
|
115
115
|
},
|
|
116
116
|
"lint-staged": {
|
|
117
117
|
"*": "prettier --ignore-unknown --write",
|