@argent/x-shared 1.53.0 → 1.53.2
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/index.cjs +1 -1
- package/dist/index.js +421 -420
- package/dist/src/chains/starknet/address.cjs +1 -1
- package/dist/src/chains/starknet/address.d.ts +1 -0
- package/dist/src/chains/starknet/address.js +38 -27
- package/dist/src/features/simulation/activity/schema.cjs +1 -1
- package/dist/src/features/simulation/activity/schema.d.ts +1207 -63
- package/dist/src/features/simulation/activity/schema.js +20 -13
- package/dist/src/utils/base58.js +5 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("lodash-es"),t=require("starknet"),c=require("zod"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("lodash-es"),t=require("starknet"),c=require("zod"),S=require("../../utils/base58.cjs"),u=c.z.string().refine(e=>{if(e.toLowerCase()===e)return!0;try{return t.validateChecksumAddress(e)&&T(e)}catch{}return!1},"Invalid address (checksum error)"),g=c.z.string().refine(e=>{try{return t.validateAndParseAddress(e)}catch{}return!1},"Invalid address (validation error)"),n=c.z.string().regex(/^0x[0-9a-fA-F]+$/,"Invalid address"),l=n.min(50,"Addresses must at least be 50 characters long").max(66,"Addresses must at most be 66 characters long"),x=n.length(66,"Address must be 66 characters long"),o=l.pipe(u).transform(e=>`0x${(e.startsWith("0x")?e.slice(2):e).padStart(64,"0")}`),p=o.or(c.z.literal("")).transform(e=>e===""?void 0:e).optional(),$=n.transform(e=>`0x${e.replace(/^0x/,"").toLowerCase().padStart(64,"0")}`),h=e=>o.safeParse(e).success,f=h,i=e=>t.getChecksumAddress(e),z=e=>{if(!e)return!1;try{const s=S.decodeBase58(e);return f(s)}catch{return!1}},L=e=>{const s=i(e),r=s.slice(0,2),a=s.slice(2,6),d=s.slice(-4);return`${r}${a}…${d}`},B=e=>{const s=i(e),r=s.slice(0,2),d=s.slice(2).match(/.{1,4}/g)||[];return`${r} ${d.join(" ")}`},T=e=>!/^0x[0-9a-f]{63,64}$/.test(e),A=(e,s)=>{try{return!e||!s?!1:t.num.hexToDecimalString(e)===t.num.hexToDecimalString(s)}catch{}return!1},w=e=>{try{return t.num.toBigInt(n.parse(e))===t.constants.ZERO}catch{}return!1},C=(e,s)=>!!(s!=null&&s.some(r=>A(r,e))),E=m.memoize(e=>{const s=e.slice(0,6),r=e.slice(-4);return`${s}…${r}`}),P=m.memoize((e,s)=>{if(e.length<s)return e;const r=Math.floor((s-1)/2),a=e.slice(0,r),d=e.slice(-r);return`${a}…${d}`});exports.addressOrEmptyUndefinedSchema=p;exports.addressSchema=o;exports.addressSchemaArgentBackend=$;exports.addressSchemaBase=n;exports.addressSchemaLooseLength=l;exports.addressSchemaStrictLength=x;exports.formatFullAddress=B;exports.formatTruncatedAddress=L;exports.formatTruncatedSignerKey=E;exports.formatTruncatedString=P;exports.includesAddress=C;exports.isAddress=h;exports.isBase58Address=z;exports.isEqualAddress=A;exports.isValidAddress=f;exports.isZeroAddress=w;exports.normalizeAddress=i;exports.validChecksumAddressSchema=u;exports.validateAddressRangeSchema=g;
|
|
@@ -13,6 +13,7 @@ export declare const addressSchemaArgentBackend: z.ZodEffects<z.ZodString, `0x${
|
|
|
13
13
|
export declare const isAddress: (string?: string) => string is Address;
|
|
14
14
|
export declare const isValidAddress: (string?: string) => string is Address;
|
|
15
15
|
export declare const normalizeAddress: (address: string) => Address;
|
|
16
|
+
export declare const isBase58Address: (string?: string) => boolean;
|
|
16
17
|
export declare const formatTruncatedAddress: (address: string) => string;
|
|
17
18
|
export declare const formatFullAddress: (address: string) => string;
|
|
18
19
|
export declare const isEqualAddress: (a?: string, b?: string) => boolean;
|
|
@@ -1,64 +1,75 @@
|
|
|
1
1
|
import { memoize as a } from "lodash-es";
|
|
2
2
|
import { validateChecksumAddress as l, validateAndParseAddress as u, getChecksumAddress as f, num as c, constants as h } from "starknet";
|
|
3
|
-
import { z as
|
|
4
|
-
|
|
3
|
+
import { z as d } from "zod";
|
|
4
|
+
import { decodeBase58 as A } from "../../utils/base58.js";
|
|
5
|
+
const p = d.string().refine((e) => {
|
|
5
6
|
if (e.toLowerCase() === e)
|
|
6
7
|
return !0;
|
|
7
8
|
try {
|
|
8
|
-
return l(e) &&
|
|
9
|
+
return l(e) && $(e);
|
|
9
10
|
} catch {
|
|
10
11
|
}
|
|
11
12
|
return !1;
|
|
12
|
-
}, "Invalid address (checksum error)"),
|
|
13
|
+
}, "Invalid address (checksum error)"), z = d.string().refine((e) => {
|
|
13
14
|
try {
|
|
14
15
|
return u(e);
|
|
15
16
|
} catch {
|
|
16
17
|
}
|
|
17
18
|
return !1;
|
|
18
|
-
}, "Invalid address (validation error)"),
|
|
19
|
+
}, "Invalid address (validation error)"), o = d.string().regex(/^0x[0-9a-fA-F]+$/, "Invalid address"), x = o.min(50, "Addresses must at least be 50 characters long").max(66, "Addresses must at most be 66 characters long"), T = o.length(66, "Address must be 66 characters long"), i = x.pipe(p).transform((e) => `0x${(e.startsWith("0x") ? e.slice(2) : e).padStart(64, "0")}`), E = i.or(d.literal("")).transform((e) => e === "" ? void 0 : e).optional(), I = o.transform((e) => `0x${e.replace(/^0x/, "").toLowerCase().padStart(64, "0")}`), S = (e) => i.safeParse(e).success, g = S, m = (e) => f(e), Z = (e) => {
|
|
20
|
+
if (!e)
|
|
21
|
+
return !1;
|
|
22
|
+
try {
|
|
23
|
+
const s = A(e);
|
|
24
|
+
return g(s);
|
|
25
|
+
} catch {
|
|
26
|
+
return !1;
|
|
27
|
+
}
|
|
28
|
+
}, v = (e) => {
|
|
19
29
|
const s = m(e), r = s.slice(0, 2), n = s.slice(2, 6), t = s.slice(-4);
|
|
20
30
|
return `${r}${n}…${t}`;
|
|
21
|
-
},
|
|
31
|
+
}, b = (e) => {
|
|
22
32
|
const s = m(e), r = s.slice(0, 2), t = s.slice(2).match(/.{1,4}/g) || [];
|
|
23
33
|
return `${r} ${t.join(" ")}`;
|
|
24
|
-
},
|
|
34
|
+
}, $ = (e) => !/^0x[0-9a-f]{63,64}$/.test(e), w = (e, s) => {
|
|
25
35
|
try {
|
|
26
36
|
return !e || !s ? !1 : c.hexToDecimalString(e) === c.hexToDecimalString(s);
|
|
27
37
|
} catch {
|
|
28
38
|
}
|
|
29
39
|
return !1;
|
|
30
|
-
},
|
|
40
|
+
}, k = (e) => {
|
|
31
41
|
try {
|
|
32
|
-
return c.toBigInt(
|
|
42
|
+
return c.toBigInt(o.parse(e)) === h.ZERO;
|
|
33
43
|
} catch {
|
|
34
44
|
}
|
|
35
45
|
return !1;
|
|
36
|
-
},
|
|
46
|
+
}, y = (e, s) => !!(s != null && s.some((r) => w(r, e))), D = a((e) => {
|
|
37
47
|
const s = e.slice(0, 6), r = e.slice(-4);
|
|
38
48
|
return `${s}…${r}`;
|
|
39
|
-
}),
|
|
49
|
+
}), F = a((e, s) => {
|
|
40
50
|
if (e.length < s)
|
|
41
51
|
return e;
|
|
42
52
|
const r = Math.floor((s - 1) / 2), n = e.slice(0, r), t = e.slice(-r);
|
|
43
53
|
return `${n}…${t}`;
|
|
44
54
|
});
|
|
45
55
|
export {
|
|
46
|
-
|
|
56
|
+
E as addressOrEmptyUndefinedSchema,
|
|
47
57
|
i as addressSchema,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
I as addressSchemaArgentBackend,
|
|
59
|
+
o as addressSchemaBase,
|
|
60
|
+
x as addressSchemaLooseLength,
|
|
61
|
+
T as addressSchemaStrictLength,
|
|
62
|
+
b as formatFullAddress,
|
|
63
|
+
v as formatTruncatedAddress,
|
|
64
|
+
D as formatTruncatedSignerKey,
|
|
65
|
+
F as formatTruncatedString,
|
|
66
|
+
y as includesAddress,
|
|
67
|
+
S as isAddress,
|
|
68
|
+
Z as isBase58Address,
|
|
69
|
+
w as isEqualAddress,
|
|
70
|
+
g as isValidAddress,
|
|
71
|
+
k as isZeroAddress,
|
|
61
72
|
m as normalizeAddress,
|
|
62
|
-
|
|
63
|
-
|
|
73
|
+
p as validChecksumAddressSchema,
|
|
74
|
+
z as validateAddressRangeSchema
|
|
64
75
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("zod"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("zod"),s=require("../../../staking/schema.cjs"),u=require("../transactionReview/schema.cjs"),e=require("../../../chains/starknet/address.cjs"),d=t.z.object({network:t.z.string(),hash:t.z.string(),status:t.z.string(),blockNumber:t.z.number().optional(),transactionIndex:t.z.number()}),n=t.z.object({type:t.z.enum(["token","nft"]),tokenAddress:e.addressSchemaArgentBackend,amount:t.z.string().optional(),fiatAmount:t.z.object({currency:t.z.string(),currencyAmount:t.z.number()}).optional().nullable()}),i=t.z.enum(["ethereum","starknet","zksync","zksync2"]),m=t.z.object({type:t.z.enum(["payment","gasFee"]),leg:t.z.enum(["credit","debit"]),asset:n,counterParty:e.addressSchemaArgentBackend.optional(),counterPartyNetwork:i.optional()}),f=t.z.object({address:e.addressSchemaArgentBackend,network:i,type:t.z.enum(["wallet","token"])}),N=t.z.object({chainId:t.z.enum(["TESTNET","MAINNET","SEPOLIA"]),ethereumNetwork:t.z.enum(["mainnet","sepolia"])}),w=t.z.enum(["approval","changePubKey","dappInteraction","deploy","gift","multicall","payment","security","trade","staking"]),p=t.z.enum(["triggerEscapeGuardian","triggerEscapeSigner","escapeGuardian","escapeSigner","guardianChanged","guardianBackupChanged","signerChanged","cancelEscape","accountUpgraded","multisigConfigurationUpdated"]),B=t.z.object({name:t.z.string(),parameters:t.z.array(t.z.unknown()).optional()}),I=t.z.object({guid:t.z.string().optional(),signerType:t.z.string().optional(),signer:t.z.object({publicKey:t.z.string().optional()}).optional()}),T=t.z.object({activeAt:t.z.string().optional(),newGuardian:t.z.string().optional(),newImplementation:t.z.string().optional(),newVersion:t.z.string().optional(),signerGuid:t.z.string().optional(),signers:t.z.array(I).optional()}),l=t.z.discriminatedUnion("type",[t.z.object({type:t.z.literal("deploy"),deployer:e.addressSchemaArgentBackend,contractAddress:e.addressSchemaArgentBackend}),t.z.object({type:t.z.literal("approval"),spender:e.addressSchemaArgentBackend,asset:n,approvalType:t.z.string()}),t.z.object({type:t.z.literal("payment"),counterparty:e.addressSchemaArgentBackend,leg:t.z.string(),asset:n,counterpartyNetwork:i.optional()}),t.z.object({type:t.z.literal("trade"),srcAsset:n,destAsset:n}),t.z.object({type:t.z.literal("security"),action:p,context:T.optional()}),t.z.object({type:t.z.literal("dappInteraction"),dappAddress:e.addressSchemaArgentBackend,function:B.optional().nullable()}),t.z.object({type:t.z.literal("staking"),stakingAction:s.stakingActionSchema,counterparty:e.addressSchemaArgentBackend,asset:n,stakerInfo:s.stakerInfoSchema}),t.z.object({type:t.z.literal("gift"),counterparty:e.addressSchemaArgentBackend.optional(),leg:t.z.string(),asset:n,counterpartyNetwork:i.optional()})]),z=t.z.union([l,t.z.object({type:t.z.literal("multicall"),calls:t.z.array(t.z.object({details:l}))})]),y=t.z.object({dappId:t.z.string(),name:t.z.string().optional().nullable()}),c=t.z.object({sent:t.z.boolean(),asset:t.z.discriminatedUnion("type",[t.z.object({type:t.z.literal("nft"),tokenAddress:e.addressSchemaArgentBackend,tokenId:t.z.coerce.number().optional(),amount:t.z.string().optional(),collectionName:t.z.string().optional(),collectionPreviewImage:t.z.string().optional().nullable(),nftName:t.z.string().optional().nullable(),nftPreviewImage:t.z.string().optional().nullable()}),t.z.object({type:t.z.literal("token"),tokenAddress:e.addressSchemaArgentBackend,amount:t.z.string().optional(),fiatAmount:t.z.object({currency:t.z.string(),currencyAmount:t.z.coerce.string()}).optional().nullable()})])}),g=t.z.object({type:t.z.string(),to:e.addressSchemaArgentBackend,actualFee:t.z.object({type:t.z.string(),tokenAddress:e.addressSchemaArgentBackend,amount:t.z.string().optional(),fiatAmount:t.z.object({currency:t.z.string(),currencyAmount:t.z.number()}).optional().nullable()})}),S=t.z.enum(["pending","success","failure"]),r=t.z.object({compositeId:t.z.string(),id:t.z.string().uuid(),status:S,wallet:e.addressSchemaArgentBackend,txSender:e.addressSchemaArgentBackend,source:t.z.string(),type:w,group:t.z.enum(["finance","security"]),submitted:t.z.number(),lastModified:t.z.number(),transaction:d,transfers:t.z.array(m),fees:t.z.array(g).optional(),relatedAddresses:t.z.array(f).nullable(),network:t.z.string(),networkDetails:N.optional(),details:z,transferSummary:t.z.array(c).optional(),dapp:y.optional(),actions:t.z.array(u.actionSchema).optional(),title:t.z.string().optional(),multisigDetails:t.z.object({signers:t.z.array(e.addressSchemaArgentBackend)}).optional()}),h=t.z.object({title:t.z.string().optional(),shortTitle:t.z.string().optional(),subtitle:t.z.string().optional(),icon:t.z.string().optional(),investment:s.investmentMetaSchema.optional(),isExecuteFromOutside:t.z.boolean().optional()}),b="native",A="rejected",v="cancelled",k="queued",D=r.pick({status:!0,actions:!0,submitted:!0,lastModified:!0,transferSummary:!0,fees:!0,multisigDetails:!0}).extend({status:t.z.union([S,t.z.enum([A,v,k])]),type:t.z.literal(b),transaction:d.pick({hash:!0}),dapp:u.targetedDappSchema.optional(),meta:h.optional()}),j=t.z.array(r),E=t.z.object({activities:j,page:t.z.number(),pageSize:t.z.number(),totalElements:t.z.number(),totalPages:t.z.number()});function P(a){return p.safeParse(a).success}const o=a=>c.safeParse(a).success,x=a=>o(a)&&a.asset.type==="token",M=a=>o(a)&&a.asset.type==="nft";exports.NativeActivityStatusCancelled=v;exports.NativeActivityStatusQueued=k;exports.NativeActivityStatusRejected=A;exports.NativeActivityTypeNative=b;exports.activitiesSchema=j;exports.activityDappSchema=y;exports.activityDetailsSchema=z;exports.activityResponseSchema=E;exports.activitySchema=r;exports.activitySummarySchema=c;exports.activityTransferSchema=m;exports.feeSchema=g;exports.isActivityDetailsAction=P;exports.isActivitySummary=o;exports.isNftActivitySummary=M;exports.isTokenActivitySummary=x;exports.nativeActivityMetaSchema=h;exports.nativeActivitySchema=D;
|