@argent/x-shared 1.63.0 → 1.64.0

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.
@@ -1 +1 @@
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;
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(),isLootboxReward:t.z.boolean().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;
@@ -4195,6 +4195,7 @@ export declare const activitySchema: z.ZodObject<{
4195
4195
  }, {
4196
4196
  signers: string[];
4197
4197
  }>>;
4198
+ isLootboxReward: z.ZodOptional<z.ZodBoolean>;
4198
4199
  }, "strip", z.ZodTypeAny, {
4199
4200
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
4200
4201
  status: "pending" | "success" | "failure";
@@ -4629,6 +4630,7 @@ export declare const activitySchema: z.ZodObject<{
4629
4630
  multisigDetails?: {
4630
4631
  signers: `0x${string}`[];
4631
4632
  } | undefined;
4633
+ isLootboxReward?: boolean | undefined;
4632
4634
  }, {
4633
4635
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
4634
4636
  status: "pending" | "success" | "failure";
@@ -5063,6 +5065,7 @@ export declare const activitySchema: z.ZodObject<{
5063
5065
  multisigDetails?: {
5064
5066
  signers: string[];
5065
5067
  } | undefined;
5068
+ isLootboxReward?: boolean | undefined;
5066
5069
  }>;
5067
5070
  export type Activity = z.infer<typeof activitySchema>;
5068
5071
  /** 'native' is an activity originating within individual product, e.g. not created by dapp */
@@ -7654,6 +7657,7 @@ export declare const nativeActivitySchema: z.ZodObject<z.objectUtil.extendShape<
7654
7657
  }, {
7655
7658
  signers: string[];
7656
7659
  }>>;
7660
+ isLootboxReward: z.ZodOptional<z.ZodBoolean>;
7657
7661
  }, "status" | "fees" | "submitted" | "lastModified" | "transferSummary" | "actions" | "multisigDetails">, {
7658
7662
  status: z.ZodUnion<[z.ZodEnum<["pending", "success", "failure"]>, z.ZodEnum<["rejected", "cancelled", "queued"]>]>;
7659
7663
  type: z.ZodLiteral<"native">;
@@ -10708,6 +10712,7 @@ export declare const activitiesSchema: z.ZodArray<z.ZodObject<{
10708
10712
  }, {
10709
10713
  signers: string[];
10710
10714
  }>>;
10715
+ isLootboxReward: z.ZodOptional<z.ZodBoolean>;
10711
10716
  }, "strip", z.ZodTypeAny, {
10712
10717
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
10713
10718
  status: "pending" | "success" | "failure";
@@ -11142,6 +11147,7 @@ export declare const activitiesSchema: z.ZodArray<z.ZodObject<{
11142
11147
  multisigDetails?: {
11143
11148
  signers: `0x${string}`[];
11144
11149
  } | undefined;
11150
+ isLootboxReward?: boolean | undefined;
11145
11151
  }, {
11146
11152
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
11147
11153
  status: "pending" | "success" | "failure";
@@ -11576,6 +11582,7 @@ export declare const activitiesSchema: z.ZodArray<z.ZodObject<{
11576
11582
  multisigDetails?: {
11577
11583
  signers: string[];
11578
11584
  } | undefined;
11585
+ isLootboxReward?: boolean | undefined;
11579
11586
  }>, "many">;
11580
11587
  export declare const activityResponseSchema: z.ZodObject<{
11581
11588
  activities: z.ZodArray<z.ZodObject<{
@@ -14070,6 +14077,7 @@ export declare const activityResponseSchema: z.ZodObject<{
14070
14077
  }, {
14071
14078
  signers: string[];
14072
14079
  }>>;
14080
+ isLootboxReward: z.ZodOptional<z.ZodBoolean>;
14073
14081
  }, "strip", z.ZodTypeAny, {
14074
14082
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
14075
14083
  status: "pending" | "success" | "failure";
@@ -14504,6 +14512,7 @@ export declare const activityResponseSchema: z.ZodObject<{
14504
14512
  multisigDetails?: {
14505
14513
  signers: `0x${string}`[];
14506
14514
  } | undefined;
14515
+ isLootboxReward?: boolean | undefined;
14507
14516
  }, {
14508
14517
  type: "staking" | "payment" | "approval" | "changePubKey" | "dappInteraction" | "deploy" | "gift" | "multicall" | "security" | "trade";
14509
14518
  status: "pending" | "success" | "failure";
@@ -14938,6 +14947,7 @@ export declare const activityResponseSchema: z.ZodObject<{
14938
14947
  multisigDetails?: {
14939
14948
  signers: string[];
14940
14949
  } | undefined;
14950
+ isLootboxReward?: boolean | undefined;
14941
14951
  }>, "many">;
14942
14952
  page: z.ZodNumber;
14943
14953
  pageSize: z.ZodNumber;
@@ -15380,6 +15390,7 @@ export declare const activityResponseSchema: z.ZodObject<{
15380
15390
  multisigDetails?: {
15381
15391
  signers: `0x${string}`[];
15382
15392
  } | undefined;
15393
+ isLootboxReward?: boolean | undefined;
15383
15394
  }[];
15384
15395
  pageSize: number;
15385
15396
  totalElements: number;
@@ -15820,6 +15831,7 @@ export declare const activityResponseSchema: z.ZodObject<{
15820
15831
  multisigDetails?: {
15821
15832
  signers: string[];
15822
15833
  } | undefined;
15834
+ isLootboxReward?: boolean | undefined;
15823
15835
  }[];
15824
15836
  pageSize: number;
15825
15837
  totalElements: number;
@@ -1,5 +1,5 @@
1
1
  import { z as t } from "zod";
2
- import { stakerInfoSchema as m, stakingActionSchema as g, investmentMetaSchema as d } from "../../../staking/schema.js";
2
+ import { stakerInfoSchema as m, stakingActionSchema as d, investmentMetaSchema as g } from "../../../staking/schema.js";
3
3
  import { actionSchema as y, targetedDappSchema as b } from "../transactionReview/schema.js";
4
4
  import { addressSchemaArgentBackend as e } from "../../../chains/starknet/address.js";
5
5
  const r = t.object({
@@ -105,7 +105,7 @@ const r = t.object({
105
105
  }),
106
106
  t.object({
107
107
  type: t.literal("staking"),
108
- stakingAction: g,
108
+ stakingAction: d,
109
109
  counterparty: e,
110
110
  asset: a,
111
111
  stakerInfo: m
@@ -189,16 +189,17 @@ const r = t.object({
189
189
  title: t.string().optional(),
190
190
  multisigDetails: t.object({
191
191
  signers: t.array(e)
192
- }).optional()
193
- }), E = t.object({
192
+ }).optional(),
193
+ isLootboxReward: t.boolean().optional()
194
+ }), x = t.object({
194
195
  title: t.string().optional(),
195
196
  shortTitle: t.string().optional(),
196
197
  subtitle: t.string().optional(),
197
198
  /** let's not import the keys from x-ui here */
198
199
  icon: t.string().optional(),
199
- investment: d.optional(),
200
+ investment: g.optional(),
200
201
  isExecuteFromOutside: t.boolean().optional()
201
- }), T = "native", x = "rejected", D = "cancelled", P = "queued", F = p.pick({
202
+ }), E = "native", T = "rejected", D = "cancelled", P = "queued", F = p.pick({
202
203
  status: !0,
203
204
  actions: !0,
204
205
  submitted: !0,
@@ -210,45 +211,45 @@ const r = t.object({
210
211
  status: t.union([
211
212
  l,
212
213
  t.enum([
213
- x,
214
+ T,
214
215
  D,
215
216
  P
216
217
  ])
217
218
  ]),
218
- type: t.literal(T),
219
+ type: t.literal(E),
219
220
  transaction: r.pick({
220
221
  hash: !0
221
222
  }),
222
223
  dapp: b.optional(),
223
- meta: E.optional()
224
- }), M = t.array(p), B = t.object({
224
+ meta: x.optional()
225
+ }), M = t.array(p), R = t.object({
225
226
  activities: M,
226
227
  page: t.number(),
227
228
  pageSize: t.number(),
228
229
  totalElements: t.number(),
229
230
  totalPages: t.number()
230
231
  });
231
- function K(n) {
232
+ function B(n) {
232
233
  return s.safeParse(n).success;
233
234
  }
234
- const u = (n) => c.safeParse(n).success, O = (n) => u(n) && n.asset.type === "token", R = (n) => u(n) && n.asset.type === "nft";
235
+ const u = (n) => c.safeParse(n).success, K = (n) => u(n) && n.asset.type === "token", L = (n) => u(n) && n.asset.type === "nft";
235
236
  export {
236
237
  D as NativeActivityStatusCancelled,
237
238
  P as NativeActivityStatusQueued,
238
- x as NativeActivityStatusRejected,
239
- T as NativeActivityTypeNative,
239
+ T as NativeActivityStatusRejected,
240
+ E as NativeActivityTypeNative,
240
241
  M as activitiesSchema,
241
242
  N as activityDappSchema,
242
243
  w as activityDetailsSchema,
243
- B as activityResponseSchema,
244
+ R as activityResponseSchema,
244
245
  p as activitySchema,
245
246
  c as activitySummarySchema,
246
247
  S as activityTransferSchema,
247
248
  I as feeSchema,
248
- K as isActivityDetailsAction,
249
+ B as isActivityDetailsAction,
249
250
  u as isActivitySummary,
250
- R as isNftActivitySummary,
251
- O as isTokenActivitySummary,
252
- E as nativeActivityMetaSchema,
251
+ L as isNftActivitySummary,
252
+ K as isTokenActivitySummary,
253
+ x as nativeActivityMetaSchema,
253
254
  F as nativeActivitySchema
254
255
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@argent/x-shared",
3
- "version": "1.63.0",
3
+ "version": "1.64.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/argentlabs/x-shared.git"