@owneraio/finp2p-sdk-js 0.28.9 → 0.28.11

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.
@@ -14,18 +14,15 @@ const createPrivateIntentReq = (req) => {
14
14
  if ('destinationAccount' in settlementInstruction) {
15
15
  const { destinationAccount, buyer } = settlementInstruction;
16
16
  if (subType === 'issuance') {
17
- intentRequest = Object.assign(Object.assign(Object.assign({}, intentRequestBase), { buyer: buyer, seller: userId }), (noSettlement
18
- ? {}
19
- : {
20
- settlement: [
21
- {
22
- settlementTerm,
17
+ intentRequest = Object.assign(Object.assign({}, intentRequestBase), { buyer: buyer, seller: userId, settlement: [
18
+ Object.assign({ settlementTerm }, (noSettlement
19
+ ? {}
20
+ : {
23
21
  settlementInstruction: {
24
22
  destinationAccount: destinationAccount[0],
25
23
  },
26
- },
27
- ],
28
- }));
24
+ })),
25
+ ] });
29
26
  // v0.28: For issuance (minting), omit `account` from sourceAccount.
30
27
  // The spec uses `finp2pAssetAccountOptional` where `account` is optional —
31
28
  // omitting it signals the platform to mint new tokens instead of transferring
@@ -1 +1 @@
1
- {"version":3,"file":"createPrivateIntentReq.js","sourceRoot":"","sources":["../../../../src/core/intents/createIntent/createPrivateIntentReq.ts"],"names":[],"mappings":";;;AAaA,uCAAmD;AACnD,oCAAoD;AAI7C,MAAM,sBAAsB,GAAG,CAAC,GAAwB,EAAE,EAAE;IACjE,MAAM,iBAAiB,GAAG,IAAA,gCAAsB,EAAC,GAAG,CAAgC,CAAC;IAErF,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,aAAwC,CAAC;IAE7C,iGAAiG;IACjG,wFAAwF;IACxF,IAAI,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;QAClD,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,qBAA6E,CAAC;QAEpH,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,aAAa,GAAG,8CACX,iBAAiB,KACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,KACX,CAAC,YAAY;gBACd,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,UAAU,EAAE;wBACV;4BACE,cAAc;4BACd,qBAAqB,EAAE;gCACrB,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;6BACJ;yBACxC;qBACF;iBACF,CAAC,CAC8B,CAAC;YAEvC,oEAAoE;YACpE,2EAA2E;YAC3E,8EAA8E;YAC9E,0EAA0E;YAC1E,OAAQ,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAqB,CAAC,OAAO,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,gCACX,iBAAiB,KACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;oBACV;wBACE,cAAc;wBACd,qBAAqB,EAAE;4BACrB,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;yBACJ;qBACxC;iBACF,GACgC,CAAC;YAEpC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GACxE,kBAAkB,CAAC,CAAC,CAAC,CAAC,OACvB,CAAC,SAAS,CAAC,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,qBAA4E,CAAC;QAE/G,aAAa,GAAG,gCACX,iBAAiB,KACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;gBACV;oBACE,cAAc;oBACd,qBAAqB,EAAE;wBACrB,aAAa;qBACuB;iBACvC;aACF,GACgC,CAAC;QACpC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;IACrH,CAAC;IAED,2DAA2D;IAC3D,OAAQ,aAAqB,CAAC,cAAc,CAAC;IAE7C,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAhFW,QAAA,sBAAsB,0BAgFjC"}
1
+ {"version":3,"file":"createPrivateIntentReq.js","sourceRoot":"","sources":["../../../../src/core/intents/createIntent/createPrivateIntentReq.ts"],"names":[],"mappings":";;;AAaA,uCAAmD;AACnD,oCAAoD;AAI7C,MAAM,sBAAsB,GAAG,CAAC,GAAwB,EAAE,EAAE;IACjE,MAAM,iBAAiB,GAAG,IAAA,gCAAsB,EAAC,GAAG,CAAgC,CAAC;IAErF,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC5C,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAA,gCAAwB,EAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,aAAwC,CAAC;IAE7C,iGAAiG;IACjG,wFAAwF;IACxF,IAAI,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;QAClD,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,qBAA6E,CAAC;QAEpH,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,aAAa,GAAG,gCACX,iBAAiB,KACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;oCAER,cAAc,IACX,CAAC,YAAY;wBACd,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,qBAAqB,EAAE;gCACrB,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;6BACJ;yBACxC,CAAC;iBAET,GACmC,CAAC;YAEvC,oEAAoE;YACpE,2EAA2E;YAC3E,8EAA8E;YAC9E,0EAA0E;YAC1E,OAAQ,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAqB,CAAC,OAAO,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,gCACX,iBAAiB,KACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;oBACV;wBACE,cAAc;wBACd,qBAAqB,EAAE;4BACrB,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;yBACJ;qBACxC;iBACF,GACgC,CAAC;YAEpC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GACxE,kBAAkB,CAAC,CAAC,CAAC,CAAC,OACvB,CAAC,SAAS,CAAC,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,qBAA4E,CAAC;QAE/G,aAAa,GAAG,gCACX,iBAAiB,KACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;gBACV;oBACE,cAAc;oBACd,qBAAqB,EAAE;wBACrB,aAAa;qBACuB;iBACvC;aACF,GACgC,CAAC;QACpC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;IACrH,CAAC;IAED,2DAA2D;IAC3D,OAAQ,aAAqB,CAAC,cAAc,CAAC;IAE7C,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAhFW,QAAA,sBAAsB,0BAgFjC"}
@@ -24,9 +24,9 @@ const helpers_1 = require("./createIntent/helpers");
24
24
  *
25
25
  */
26
26
  const createLoanIntent = (req, options) => __awaiter(void 0, void 0, void 0, function* () {
27
- var _a, _b, _c, _d, _e, _f;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
28
28
  const { createIntentRequest, logger, nodeId, custodianOrgId, owneraAPI, publicKey, userId } = req;
29
- const { assetId, start, end, amount, settlementTerm, interestRate, closeAmount, role, counterpartId, paymentOrgId, openDate, closeDate, } = createIntentRequest;
29
+ const { assetId, start, end, amount, settlementTerm, interestRate, closeAmount, role, counterpartId, paymentOrgId, openDate, closeDate, settlementBorrowerAccount, settlementLenderAccount, } = createIntentRequest;
30
30
  logger.debug('Create Loan Intent', createIntentRequest);
31
31
  const partners = {
32
32
  borrower: { id: '', pk: '' },
@@ -47,26 +47,35 @@ const createLoanIntent = (req, options) => __awaiter(void 0, void 0, void 0, fun
47
47
  partners.lender.pk = publicKey;
48
48
  }
49
49
  const settlementResourceId = (_a = settlementTerm.asset) === null || _a === void 0 ? void 0 : _a.resourceId;
50
- const assetIdsToFetch = [
51
- assetId,
52
- ...(settlementResourceId && settlementResourceId !== assetId ? [settlementResourceId] : []),
53
- ];
50
+ const borrowerOverrideResourceId = (_b = settlementBorrowerAccount === null || settlementBorrowerAccount === void 0 ? void 0 : settlementBorrowerAccount.asset) === null || _b === void 0 ? void 0 : _b.resourceId;
51
+ const lenderOverrideResourceId = (_c = settlementLenderAccount === null || settlementLenderAccount === void 0 ? void 0 : settlementLenderAccount.asset) === null || _c === void 0 ? void 0 : _c.resourceId;
52
+ const assetIdsToFetch = Array.from(new Set([assetId, settlementResourceId, borrowerOverrideResourceId, lenderOverrideResourceId].filter((id) => !!id)));
54
53
  const caip19Map = {};
55
54
  try {
56
55
  const assetsData = yield owneraAPI.query.getAssets({ filter: { assetIds: assetIdsToFetch } });
57
56
  for (const asset of assetsData.data || []) {
58
- if (((_b = asset === null || asset === void 0 ? void 0 : asset.ledgerAssetInfo) === null || _b === void 0 ? void 0 : _b.ledgerIdentifier) && (asset === null || asset === void 0 ? void 0 : asset.id)) {
57
+ if (((_d = asset === null || asset === void 0 ? void 0 : asset.ledgerAssetInfo) === null || _d === void 0 ? void 0 : _d.ledgerIdentifier) && (asset === null || asset === void 0 ? void 0 : asset.id)) {
59
58
  caip19Map[asset.id] = asset.ledgerAssetInfo.ledgerIdentifier;
60
59
  }
61
60
  }
62
61
  }
63
- catch (_g) {
62
+ catch (_o) {
64
63
  logger.debug('Failed to get CAIP-19 for loan intent assets', { assetIdsToFetch });
65
64
  }
66
65
  const assetIdentifier = (0, helpers_1.buildCaip19Identifier)(caip19Map[assetId], assetId);
67
66
  const settlementAssetIdentifier = settlementResourceId
68
67
  ? (0, helpers_1.buildCaip19Identifier)(caip19Map[settlementResourceId], settlementResourceId)
69
68
  : undefined;
69
+ const borrowerSettlementAssetIdentifier = borrowerOverrideResourceId
70
+ ? (0, helpers_1.buildCaip19Identifier)(caip19Map[borrowerOverrideResourceId], borrowerOverrideResourceId)
71
+ : settlementAssetIdentifier;
72
+ const lenderSettlementAssetIdentifier = lenderOverrideResourceId
73
+ ? (0, helpers_1.buildCaip19Identifier)(caip19Map[lenderOverrideResourceId], lenderOverrideResourceId)
74
+ : settlementAssetIdentifier;
75
+ const borrowerSettlementOrgId = (_e = settlementBorrowerAccount === null || settlementBorrowerAccount === void 0 ? void 0 : settlementBorrowerAccount.orgId) !== null && _e !== void 0 ? _e : paymentOrgId;
76
+ const lenderSettlementOrgId = (_f = settlementLenderAccount === null || settlementLenderAccount === void 0 ? void 0 : settlementLenderAccount.orgId) !== null && _f !== void 0 ? _f : paymentOrgId;
77
+ const borrowerSettlementAssetFallback = (_g = settlementBorrowerAccount === null || settlementBorrowerAccount === void 0 ? void 0 : settlementBorrowerAccount.asset) !== null && _g !== void 0 ? _g : settlementTerm.asset;
78
+ const lenderSettlementAssetFallback = (_h = settlementLenderAccount === null || settlementLenderAccount === void 0 ? void 0 : settlementLenderAccount.asset) !== null && _h !== void 0 ? _h : settlementTerm.asset;
70
79
  const nonce = (0, utils_1.generateNonce)();
71
80
  const payload = {
72
81
  assetId,
@@ -87,7 +96,7 @@ const createLoanIntent = (req, options) => __awaiter(void 0, void 0, void 0, fun
87
96
  finId: partners.borrower.pk,
88
97
  orgId: (0, utils_1.getOrgFromResourceId)(assetId),
89
98
  custodian: {
90
- orgId: (_c = createIntentRequest.sourceCustodianOrgId) !== null && _c !== void 0 ? _c : custodianOrgId,
99
+ orgId: (_j = createIntentRequest.sourceCustodianOrgId) !== null && _j !== void 0 ? _j : custodianOrgId,
91
100
  },
92
101
  },
93
102
  },
@@ -98,7 +107,7 @@ const createLoanIntent = (req, options) => __awaiter(void 0, void 0, void 0, fun
98
107
  finId: partners.lender.pk,
99
108
  orgId: (0, utils_1.getOrgFromResourceId)(assetId),
100
109
  custodian: {
101
- orgId: (_d = createIntentRequest.destinationCustodianOrgId) !== null && _d !== void 0 ? _d : custodianOrgId,
110
+ orgId: (_k = createIntentRequest.destinationCustodianOrgId) !== null && _k !== void 0 ? _k : custodianOrgId,
102
111
  },
103
112
  },
104
113
  },
@@ -112,23 +121,23 @@ const createLoanIntent = (req, options) => __awaiter(void 0, void 0, void 0, fun
112
121
  account: {
113
122
  finId: partners.borrower.pk,
114
123
  type: 'finId',
115
- orgId: paymentOrgId,
124
+ orgId: borrowerSettlementOrgId,
116
125
  custodian: {
117
- orgId: (_e = createIntentRequest.sourceCustodianOrgId) !== null && _e !== void 0 ? _e : custodianOrgId,
126
+ orgId: (_l = createIntentRequest.sourceCustodianOrgId) !== null && _l !== void 0 ? _l : custodianOrgId,
118
127
  },
119
128
  },
120
- asset: (settlementAssetIdentifier !== null && settlementAssetIdentifier !== void 0 ? settlementAssetIdentifier : settlementTerm.asset),
129
+ asset: (borrowerSettlementAssetIdentifier !== null && borrowerSettlementAssetIdentifier !== void 0 ? borrowerSettlementAssetIdentifier : borrowerSettlementAssetFallback),
121
130
  },
122
131
  lenderAccount: {
123
132
  account: {
124
133
  finId: partners.lender.pk,
125
134
  type: 'finId',
126
- orgId: paymentOrgId,
135
+ orgId: lenderSettlementOrgId,
127
136
  custodian: {
128
- orgId: (_f = createIntentRequest.destinationCustodianOrgId) !== null && _f !== void 0 ? _f : custodianOrgId,
137
+ orgId: (_m = createIntentRequest.destinationCustodianOrgId) !== null && _m !== void 0 ? _m : custodianOrgId,
129
138
  },
130
139
  },
131
- asset: (settlementAssetIdentifier !== null && settlementAssetIdentifier !== void 0 ? settlementAssetIdentifier : settlementTerm.asset),
140
+ asset: (lenderSettlementAssetIdentifier !== null && lenderSettlementAssetIdentifier !== void 0 ? lenderSettlementAssetIdentifier : lenderSettlementAssetFallback),
132
141
  },
133
142
  },
134
143
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createLoanIntent.js","sourceRoot":"","sources":["../../../src/core/intents/createLoanIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kCAAkC;AAClC,oCAA+D;AAC/D,2CAAwC;AACxC,oDAA+D;AAE/D;;;;;;;;GAQG;AACI,MAAM,gBAAgB,GAAG,CAC9B,GAQC,EACD,OAA4B,EACF,EAAE;;IAC5B,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAClG,MAAM,EACJ,OAAO,EACP,KAAK,EACL,GAAG,EACH,MAAM,EACN,cAAc,EACd,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,GAAG,mBAAmB,CAAC;IAExB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5B,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;KAC3B,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,IAAA,cAAO,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5G,MAAM,aAAa,GAAG,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAElE,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,aAAa,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC;IACjC,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAC,cAAsD,CAAC,KAAK,0CAAE,UAAU,CAAC;IACvG,MAAM,eAAe,GAAG;QACtB,OAAO;QACP,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC;IACF,MAAM,SAAS,GAA8E,EAAE,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,gBAAgB,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAA,EAAE,CAAC;gBAC1D,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,+BAAqB,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,yBAAyB,GAAG,oBAAoB;QACpD,CAAC,CAAC,IAAA,+BAAqB,EAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;QAC9E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;IAC9B,MAAM,OAAO,GAAwB;QACnC,OAAO;QACP,KAAK;QACL,GAAG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC1B,KAAK,EAAE;gBACL,SAAS,EAAE,EAAE,MAAM,EAAE;gBACrB,gBAAgB,EAAE;oBAChB,eAAe,EAAE;wBACf,KAAK,EAAE,eAAsB;wBAC7B,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BAC3B,KAAK,EAAE,IAAA,4BAAoB,EAAC,OAAO,CAAC;4BACpC,SAAS,EAAE;gCACT,KAAK,EAAE,MAAA,mBAAmB,CAAC,oBAAoB,mCAAI,cAAc;6BAClE;yBACF;qBACF;oBACD,aAAa,EAAE;wBACb,KAAK,EAAE,eAAsB;wBAC7B,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;4BACzB,KAAK,EAAE,IAAA,4BAAoB,EAAC,OAAO,CAAC;4BACpC,SAAS,EAAE;gCACT,KAAK,EAAE,MAAA,mBAAmB,CAAC,yBAAyB,mCAAI,cAAc;6BACvE;yBACF;qBACF;iBACF;aACF;YACD,UAAU,EAAE;gBACV;oBACE,cAAc;oBACd,qBAAqB,EAAE;wBACrB,eAAe,EAAE;4BACf,OAAO,EAAE;gCACP,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;gCAC3B,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,YAAY;gCACnB,SAAS,EAAE;oCACT,KAAK,EAAE,MAAA,mBAAmB,CAAC,oBAAoB,mCAAI,cAAc;iCAClE;6BACF;4BACD,KAAK,EAAE,CAAC,yBAAyB,aAAzB,yBAAyB,cAAzB,yBAAyB,GAAI,cAAc,CAAC,KAAM,CAAQ;yBACnE;wBACD,aAAa,EAAE;4BACb,OAAO,EAAE;gCACP,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;gCACzB,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,YAAY;gCACnB,SAAS,EAAE;oCACT,KAAK,EAAE,MAAA,mBAAmB,CAAC,yBAAyB,mCAAI,cAAc;iCACvE;6BACF;4BACD,KAAK,EAAE,CAAC,yBAAyB,aAAzB,yBAAyB,cAAzB,yBAAyB,GAAI,cAAc,CAAC,KAAM,CAAQ;yBACnE;qBACF;iBACF;aACF;YACD,eAAe,EAAE;gBACf,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBACvC,UAAU,kBACR,IAAI,EAAE,eAAe,EACrB,WAAW,IACR,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;aAC7B;SACF;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;QAC5D,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc;KACrC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAA,qBAAS,EAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACtH,CAAC,CAAA,CAAC;AA/JW,QAAA,gBAAgB,oBA+J3B"}
1
+ {"version":3,"file":"createLoanIntent.js","sourceRoot":"","sources":["../../../src/core/intents/createLoanIntent.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ const helpers_1 = require("./createIntent/helpers");
23
23
  *
24
24
  */
25
25
  const executeLoanIntent = (req) => __awaiter(void 0, void 0, void 0, function* () {
26
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26;
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34;
27
27
  const { owneraAPI, data, custodianOrgId, userId, idempotency, logger } = req;
28
28
  const intent = yield owneraAPI.query.getLoanIntent({ assetId: data.assetId, intentId: data.intentId });
29
29
  const intentDetails = intent.intent.intent;
@@ -41,24 +41,32 @@ const executeLoanIntent = (req) => __awaiter(void 0, void 0, void 0, function* (
41
41
  if (settlementTermAmount === undefined || !settlementResourceId) {
42
42
  throw new Error('Settlement data missing on stored loan intent; pass settlementTermAmount and settlementAssetId in execution data.');
43
43
  }
44
- const assetIdsToFetch = [data.assetId];
45
- if (settlementResourceId && settlementResourceId !== data.assetId) {
46
- assetIdsToFetch.push(settlementResourceId);
47
- }
44
+ // Per-side settlement overrides — required for multi-bank settlement
45
+ // (matching what was passed on createLoanIntent). When absent, both
46
+ // settlement accounts collapse onto the single `settlementResourceId`.
47
+ const borrowerOverrideResourceId = (_g = (_f = data.settlementBorrowerAccount) === null || _f === void 0 ? void 0 : _f.asset) === null || _g === void 0 ? void 0 : _g.resourceId;
48
+ const lenderOverrideResourceId = (_j = (_h = data.settlementLenderAccount) === null || _h === void 0 ? void 0 : _h.asset) === null || _j === void 0 ? void 0 : _j.resourceId;
49
+ const assetIdsToFetch = Array.from(new Set([data.assetId, settlementResourceId, borrowerOverrideResourceId, lenderOverrideResourceId].filter((id) => !!id)));
48
50
  const caip19Map = {};
49
51
  try {
50
52
  const assetsData = yield owneraAPI.query.getAssets({ filter: { assetIds: assetIdsToFetch } });
51
53
  for (const asset of assetsData.data || []) {
52
- if (((_f = asset === null || asset === void 0 ? void 0 : asset.ledgerAssetInfo) === null || _f === void 0 ? void 0 : _f.ledgerIdentifier) && (asset === null || asset === void 0 ? void 0 : asset.id)) {
54
+ if (((_k = asset === null || asset === void 0 ? void 0 : asset.ledgerAssetInfo) === null || _k === void 0 ? void 0 : _k.ledgerIdentifier) && (asset === null || asset === void 0 ? void 0 : asset.id)) {
53
55
  caip19Map[asset.id] = asset.ledgerAssetInfo.ledgerIdentifier;
54
56
  }
55
57
  }
56
58
  }
57
- catch (_27) {
59
+ catch (_35) {
58
60
  logger.debug('Failed to get CAIP-19 for loan intent assets', { assetIdsToFetch });
59
61
  }
60
62
  const assetIdentifier = (0, helpers_1.buildCaip19Identifier)(caip19Map[data.assetId], data.assetId);
61
63
  const settlementAssetIdentifier = (0, helpers_1.buildCaip19Identifier)(caip19Map[settlementResourceId], settlementResourceId);
64
+ const borrowerSettlementAssetIdentifier = borrowerOverrideResourceId
65
+ ? (0, helpers_1.buildCaip19Identifier)(caip19Map[borrowerOverrideResourceId], borrowerOverrideResourceId)
66
+ : settlementAssetIdentifier;
67
+ const lenderSettlementAssetIdentifier = lenderOverrideResourceId
68
+ ? (0, helpers_1.buildCaip19Identifier)(caip19Map[lenderOverrideResourceId], lenderOverrideResourceId)
69
+ : settlementAssetIdentifier;
62
70
  const execIntent = {
63
71
  asset: {
64
72
  assetTerm: {
@@ -66,14 +74,14 @@ const executeLoanIntent = (req) => __awaiter(void 0, void 0, void 0, function* (
66
74
  },
67
75
  assetInstruction: {
68
76
  borrowerAccount: (0, helpers_1.buildFinp2pAssetAccount)({
69
- finId: (_j = (_h = (_g = loanIntent.borrowerAccount) === null || _g === void 0 ? void 0 : _g.account) === null || _h === void 0 ? void 0 : _h.finId) !== null && _j !== void 0 ? _j : '',
70
- orgId: (_m = (_l = (_k = loanIntent.borrowerAccount) === null || _k === void 0 ? void 0 : _k.account) === null || _l === void 0 ? void 0 : _l.orgId) !== null && _m !== void 0 ? _m : (0, utils_1.getOrgFromResourceId)(data.assetId),
71
- custodian: { orgId: (_o = data.sourceCustodianOrgId) !== null && _o !== void 0 ? _o : custodianOrgId },
77
+ finId: (_o = (_m = (_l = loanIntent.borrowerAccount) === null || _l === void 0 ? void 0 : _l.account) === null || _m === void 0 ? void 0 : _m.finId) !== null && _o !== void 0 ? _o : '',
78
+ orgId: (_r = (_q = (_p = loanIntent.borrowerAccount) === null || _p === void 0 ? void 0 : _p.account) === null || _q === void 0 ? void 0 : _q.orgId) !== null && _r !== void 0 ? _r : (0, utils_1.getOrgFromResourceId)(data.assetId),
79
+ custodian: { orgId: (_s = data.sourceCustodianOrgId) !== null && _s !== void 0 ? _s : custodianOrgId },
72
80
  }, assetIdentifier),
73
81
  lenderAccount: (0, helpers_1.buildFinp2pAssetAccount)({
74
- finId: (_r = (_q = (_p = loanIntent.lenderAccount) === null || _p === void 0 ? void 0 : _p.account) === null || _q === void 0 ? void 0 : _q.finId) !== null && _r !== void 0 ? _r : '',
75
- orgId: (_u = (_t = (_s = loanIntent.lenderAccount) === null || _s === void 0 ? void 0 : _s.account) === null || _t === void 0 ? void 0 : _t.orgId) !== null && _u !== void 0 ? _u : (0, utils_1.getOrgFromResourceId)(data.assetId),
76
- custodian: { orgId: (_v = data.destinationCustodianOrgId) !== null && _v !== void 0 ? _v : custodianOrgId },
82
+ finId: (_v = (_u = (_t = loanIntent.lenderAccount) === null || _t === void 0 ? void 0 : _t.account) === null || _u === void 0 ? void 0 : _u.finId) !== null && _v !== void 0 ? _v : '',
83
+ orgId: (_y = (_x = (_w = loanIntent.lenderAccount) === null || _w === void 0 ? void 0 : _w.account) === null || _x === void 0 ? void 0 : _x.orgId) !== null && _y !== void 0 ? _y : (0, utils_1.getOrgFromResourceId)(data.assetId),
84
+ custodian: { orgId: (_z = data.destinationCustodianOrgId) !== null && _z !== void 0 ? _z : custodianOrgId },
77
85
  }, assetIdentifier),
78
86
  },
79
87
  },
@@ -96,30 +104,30 @@ const executeLoanIntent = (req) => __awaiter(void 0, void 0, void 0, function* (
96
104
  lenderAccount: {
97
105
  account: {
98
106
  type: 'finId',
99
- finId: (_2 = (_z = (_y = (_x = (_w = loanIntent.loanSettlementInstruction) === null || _w === void 0 ? void 0 : _w.lenderAccount) === null || _x === void 0 ? void 0 : _x.account) === null || _y === void 0 ? void 0 : _y.finId) !== null && _z !== void 0 ? _z : (_1 = (_0 = loanIntent.lenderAccount) === null || _0 === void 0 ? void 0 : _0.account) === null || _1 === void 0 ? void 0 : _1.finId) !== null && _2 !== void 0 ? _2 : '',
100
- orgId: (_9 = (_6 = (_5 = (_4 = (_3 = loanIntent.loanSettlementInstruction) === null || _3 === void 0 ? void 0 : _3.lenderAccount) === null || _4 === void 0 ? void 0 : _4.account) === null || _5 === void 0 ? void 0 : _5.orgId) !== null && _6 !== void 0 ? _6 : (_8 = (_7 = loanIntent.lenderAccount) === null || _7 === void 0 ? void 0 : _7.account) === null || _8 === void 0 ? void 0 : _8.orgId) !== null && _9 !== void 0 ? _9 : '',
107
+ finId: (_6 = (_3 = (_2 = (_1 = (_0 = loanIntent.loanSettlementInstruction) === null || _0 === void 0 ? void 0 : _0.lenderAccount) === null || _1 === void 0 ? void 0 : _1.account) === null || _2 === void 0 ? void 0 : _2.finId) !== null && _3 !== void 0 ? _3 : (_5 = (_4 = loanIntent.lenderAccount) === null || _4 === void 0 ? void 0 : _4.account) === null || _5 === void 0 ? void 0 : _5.finId) !== null && _6 !== void 0 ? _6 : '',
108
+ orgId: (_15 = (_12 = (_8 = (_7 = data.settlementLenderAccount) === null || _7 === void 0 ? void 0 : _7.orgId) !== null && _8 !== void 0 ? _8 : (_11 = (_10 = (_9 = loanIntent.loanSettlementInstruction) === null || _9 === void 0 ? void 0 : _9.lenderAccount) === null || _10 === void 0 ? void 0 : _10.account) === null || _11 === void 0 ? void 0 : _11.orgId) !== null && _12 !== void 0 ? _12 : (_14 = (_13 = loanIntent.lenderAccount) === null || _13 === void 0 ? void 0 : _13.account) === null || _14 === void 0 ? void 0 : _14.orgId) !== null && _15 !== void 0 ? _15 : '',
101
109
  custodian: {
102
- orgId: (_10 = data.sourceCustodianOrgId) !== null && _10 !== void 0 ? _10 : custodianOrgId,
110
+ orgId: (_16 = data.sourceCustodianOrgId) !== null && _16 !== void 0 ? _16 : custodianOrgId,
103
111
  },
104
112
  },
105
- asset: settlementAssetIdentifier,
113
+ asset: lenderSettlementAssetIdentifier,
106
114
  },
107
115
  borrowerAccount: {
108
116
  account: {
109
117
  type: 'finId',
110
- finId: (_17 = (_14 = (_13 = (_12 = (_11 = loanIntent.loanSettlementInstruction) === null || _11 === void 0 ? void 0 : _11.borrowerAccount) === null || _12 === void 0 ? void 0 : _12.account) === null || _13 === void 0 ? void 0 : _13.finId) !== null && _14 !== void 0 ? _14 : (_16 = (_15 = loanIntent.borrowerAccount) === null || _15 === void 0 ? void 0 : _15.account) === null || _16 === void 0 ? void 0 : _16.finId) !== null && _17 !== void 0 ? _17 : '',
111
- orgId: (_24 = (_21 = (_20 = (_19 = (_18 = loanIntent.loanSettlementInstruction) === null || _18 === void 0 ? void 0 : _18.borrowerAccount) === null || _19 === void 0 ? void 0 : _19.account) === null || _20 === void 0 ? void 0 : _20.orgId) !== null && _21 !== void 0 ? _21 : (_23 = (_22 = loanIntent.borrowerAccount) === null || _22 === void 0 ? void 0 : _22.account) === null || _23 === void 0 ? void 0 : _23.orgId) !== null && _24 !== void 0 ? _24 : '',
118
+ finId: (_23 = (_20 = (_19 = (_18 = (_17 = loanIntent.loanSettlementInstruction) === null || _17 === void 0 ? void 0 : _17.borrowerAccount) === null || _18 === void 0 ? void 0 : _18.account) === null || _19 === void 0 ? void 0 : _19.finId) !== null && _20 !== void 0 ? _20 : (_22 = (_21 = loanIntent.borrowerAccount) === null || _21 === void 0 ? void 0 : _21.account) === null || _22 === void 0 ? void 0 : _22.finId) !== null && _23 !== void 0 ? _23 : '',
119
+ orgId: (_32 = (_29 = (_25 = (_24 = data.settlementBorrowerAccount) === null || _24 === void 0 ? void 0 : _24.orgId) !== null && _25 !== void 0 ? _25 : (_28 = (_27 = (_26 = loanIntent.loanSettlementInstruction) === null || _26 === void 0 ? void 0 : _26.borrowerAccount) === null || _27 === void 0 ? void 0 : _27.account) === null || _28 === void 0 ? void 0 : _28.orgId) !== null && _29 !== void 0 ? _29 : (_31 = (_30 = loanIntent.borrowerAccount) === null || _30 === void 0 ? void 0 : _30.account) === null || _31 === void 0 ? void 0 : _31.orgId) !== null && _32 !== void 0 ? _32 : '',
112
120
  custodian: {
113
- orgId: (_25 = data.destinationCustodianOrgId) !== null && _25 !== void 0 ? _25 : custodianOrgId,
121
+ orgId: (_33 = data.destinationCustodianOrgId) !== null && _33 !== void 0 ? _33 : custodianOrgId,
114
122
  },
115
123
  },
116
- asset: settlementAssetIdentifier,
124
+ asset: borrowerSettlementAssetIdentifier,
117
125
  },
118
126
  },
119
127
  },
120
128
  type: 'loanIntentExecution',
121
129
  };
122
- const request = Object.assign({ intentId: data.intentId, user: userId, intent: execIntent, executionId: data.executionId }, (((_26 = data.observers) === null || _26 === void 0 ? void 0 : _26.length) ? { observers: data.observers } : {}));
130
+ const request = Object.assign({ intentId: data.intentId, user: userId, intent: execIntent, executionId: data.executionId }, (((_34 = data.observers) === null || _34 === void 0 ? void 0 : _34.length) ? { observers: data.observers } : {}));
123
131
  const execution = yield (0, tokens_1.executeTokenIntent)({
124
132
  owneraAPI,
125
133
  logger,
@@ -1 +1 @@
1
- {"version":3,"file":"executeLoanIntent.js","sourceRoot":"","sources":["../../../src/core/intents/executeLoanIntent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executeLoanIntent.js","sourceRoot":"","sources":["../../../src/core/intents/executeLoanIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,oCAA+D;AAE/D,mCAAkD;AAClD,sCAA+C;AAC/C,oDAAwF;AAExF;;;;;;;GAOG;AACI,MAAM,iBAAiB,GAAG,CAAO,GAOvC,EAA4B,EAAE;;IAC7B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvG,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAA6B,CAAC;IAClE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;IAE9B,wFAAwF;IACxF,sGAAsG;IACtG,8FAA8F;IAC9F,gGAAgG;IAChG,oEAAoE;IACpE,MAAM,0BAA0B,GAAG,IAAA,+BAAuB,EAAC,aAAa,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,oBAAoB,mCAAI,0BAA0B,CAAC;IAErF,MAAM,oBAAoB,GACxB,MAAA,IAAI,CAAC,iBAAiB,mCAAI,MAAA,MAAA,MAAA,UAAU,CAAC,yBAAyB,0CAAE,aAAa,0CAAE,KAAK,0CAAE,UAAU,CAAC;IAEnG,IAAI,oBAAoB,KAAK,SAAS,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,MAAM,0BAA0B,GAAG,MAAC,MAAA,IAAI,CAAC,yBAAyB,0CAAE,KAA6C,0CAC7G,UAAU,CAAC;IACf,MAAM,wBAAwB,GAAG,MAAC,MAAA,IAAI,CAAC,uBAAuB,0CAAE,KAA6C,0CACzG,UAAU,CAAC;IAEf,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAChC,IAAI,GAAG,CACL,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,wBAAwB,CAAC,CAAC,MAAM,CAC/F,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3B,CACF,CACF,CAAC;IAEF,MAAM,SAAS,GAA8E,EAAE,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC9F,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,gBAAgB,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,EAAE,CAAA,EAAE,CAAC;gBAC1D,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,YAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,eAAe,GAAG,IAAA,+BAAqB,EAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,yBAAyB,GAAG,IAAA,+BAAqB,EAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC/G,MAAM,iCAAiC,GAAG,0BAA0B;QAClE,CAAC,CAAC,IAAA,+BAAqB,EAAC,SAAS,CAAC,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;QAC1F,CAAC,CAAC,yBAAyB,CAAC;IAC9B,MAAM,+BAA+B,GAAG,wBAAwB;QAC9D,CAAC,CAAC,IAAA,+BAAqB,EAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;QACtF,CAAC,CAAC,yBAAyB,CAAC;IAE9B,MAAM,UAAU,GAAwB;QACtC,KAAK,EAAE;YACL,SAAS,EAAE;gBACT,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB;YACD,gBAAgB,EAAE;gBAChB,eAAe,EAAE,IAAA,iCAAuB,EACtC;oBACE,KAAK,EAAE,MAAA,MAAA,MAAA,UAAU,CAAC,eAAe,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE;oBACvD,KAAK,EAAE,MAAA,MAAA,MAAA,UAAU,CAAC,eAAe,0CAAE,OAAO,0CAAE,KAAK,mCAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,OAAO,CAAC;oBACvF,SAAS,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,oBAAoB,mCAAI,cAAc,EAAE;iBAClE,EACD,eAAe,CACT;gBACR,aAAa,EAAE,IAAA,iCAAuB,EACpC;oBACE,KAAK,EAAE,MAAA,MAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,OAAO,0CAAE,KAAK,mCAAI,EAAE;oBACrD,KAAK,EAAE,MAAA,MAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,OAAO,0CAAE,KAAK,mCAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,OAAO,CAAC;oBACrF,SAAS,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,yBAAyB,mCAAI,cAAc,EAAE;iBACvE,EACD,eAAe,CACT;aACT;SACF;QACD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,eAAe,EAAE;YACf,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC;YACrD,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC;YACvD,UAAU,kBACR,IAAI,EAAE,eAAe,EACrB,WAAW,EAAG,UAAU,CAAC,eAAe,CAAC,cAAyC,CAAC,eAAe,IAC/F,CAAE,UAAU,CAAC,eAAe,CAAC,cAAyC,CAAC,oBAAoB;gBAC5F,CAAC,CAAC,EAAE,YAAY,EAAG,UAAU,CAAC,eAAe,CAAC,cAAyC,CAAC,oBAAoB,EAAE;gBAC9G,CAAC,CAAC,EAAE,CAAC,CACR;SACF;QACD,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5B,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC7E;YACD,gBAAgB,EAAE;gBAChB,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EACH,MAAA,MAAA,MAAA,MAAA,MAAA,UAAU,CAAC,yBAAyB,0CAAE,aAAa,0CAAE,OAAO,0CAAE,KAAK,mCACnE,MAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,OAAO,0CAAE,KAAK,mCACxC,EAAE;wBACJ,KAAK,EACH,OAAA,OAAA,MAAA,MAAA,IAAI,CAAC,uBAAuB,0CAAE,KAAK,mCACnC,OAAA,OAAA,MAAA,UAAU,CAAC,yBAAyB,0CAAE,aAAa,4CAAE,OAAO,4CAAE,KAAK,qCACnE,OAAA,OAAA,UAAU,CAAC,aAAa,4CAAE,OAAO,4CAAE,KAAK,qCACxC,EAAE;wBACJ,SAAS,EAAE;4BACT,KAAK,EAAE,OAAA,IAAI,CAAC,oBAAoB,qCAAI,cAAc;yBACnD;qBACF;oBACD,KAAK,EAAE,+BAAsC;iBAC9C;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EACH,OAAA,OAAA,OAAA,OAAA,OAAA,UAAU,CAAC,yBAAyB,4CAAE,eAAe,4CAAE,OAAO,4CAAE,KAAK,qCACrE,OAAA,OAAA,UAAU,CAAC,eAAe,4CAAE,OAAO,4CAAE,KAAK,qCAC1C,EAAE;wBACJ,KAAK,EACH,OAAA,OAAA,OAAA,OAAA,IAAI,CAAC,yBAAyB,4CAAE,KAAK,qCACrC,OAAA,OAAA,OAAA,UAAU,CAAC,yBAAyB,4CAAE,eAAe,4CAAE,OAAO,4CAAE,KAAK,qCACrE,OAAA,OAAA,UAAU,CAAC,eAAe,4CAAE,OAAO,4CAAE,KAAK,qCAC1C,EAAE;wBACJ,SAAS,EAAE;4BACT,KAAK,EAAE,OAAA,IAAI,CAAC,yBAAyB,qCAAI,cAAc;yBACxD;qBACF;oBACD,KAAK,EAAE,iCAAwC;iBAChD;aACF;SACF;QACD,IAAI,EAAE,qBAAqB;KAC5B,CAAC;IAEF,MAAM,OAAO,mBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,IAAI,CAAC,WAAW,IAC1B,CAAC,CAAA,OAAA,IAAI,CAAC,SAAS,4CAAE,MAAM,EAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACjE,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAkB,EACxC;QACE,SAAS;QACT,MAAM;QACN,IAAI,EAAE,OAAO;KACd,EACD,EAAE,cAAc,EAAE,WAAW,EAAE,CAChC,CAAC;IAEF,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC,CAAA,CAAC;AA5KW,QAAA,iBAAiB,qBA4K5B"}
@@ -46,6 +46,18 @@ export interface CreateIntent {
46
46
  custodianOrgId?: string;
47
47
  intentId?: string;
48
48
  }
49
+ /**
50
+ * Optional per-side override for a loan intent's settlement instruction
51
+ * account. Use when the borrower's and lender's cash accounts live at
52
+ * different orgs (e.g. multi-bank Swift settlement, where each leg's wire
53
+ * must originate from the sender's bank). `orgId` becomes the settlement
54
+ * account's `orgId`; `asset` falls back to `settlementTerm.asset` when not
55
+ * provided.
56
+ */
57
+ export interface LoanIntentSettlementAccountOverride {
58
+ orgId: string;
59
+ asset?: SettlementAssetTerm;
60
+ }
49
61
  export interface CreateLoanIntent {
50
62
  amount: string;
51
63
  assetId: string;
@@ -62,6 +74,17 @@ export interface CreateLoanIntent {
62
74
  start: number;
63
75
  sourceCustodianOrgId?: string;
64
76
  destinationCustodianOrgId?: string;
77
+ /**
78
+ * Optional per-side overrides for the settlement instruction's borrower
79
+ * and lender accounts. When omitted, both accounts use `paymentOrgId` and
80
+ * `settlementTerm.asset` (today's behavior). Required for multi-org
81
+ * settlement (e.g. bilateral repo where open-leg cash originates from the
82
+ * lender's bank and close-leg from the borrower's bank). Target-based loan
83
+ * policies in finp2p-core resolve each cash transfer's executor from the
84
+ * targeted settlement account's `orgId`.
85
+ */
86
+ settlementBorrowerAccount?: LoanIntentSettlementAccountOverride;
87
+ settlementLenderAccount?: LoanIntentSettlementAccountOverride;
65
88
  }
66
89
  export interface IntentExecution {
67
90
  assetId: string;
@@ -96,6 +119,25 @@ export interface LoanIntentExecutionData {
96
119
  settlementAssetId?: string;
97
120
  settlementTermAmount?: string;
98
121
  observers?: string[];
122
+ /**
123
+ * Optional per-side overrides for the settlement instruction's borrower
124
+ * and lender accounts on the execute payload. Mirrors the shape on
125
+ * `CreateLoanIntent` — see {@link LoanIntentSettlementAccountOverride}.
126
+ *
127
+ * When omitted, both settlement accounts use the single
128
+ * `settlementAssetId` (today's behavior). When provided, each side's
129
+ * `account.orgId` and `asset.id` are populated from the override —
130
+ * required for multi-bank Swift settlement so each cash leg's executor
131
+ * is routed to the sender's bank and the asset attached to each side
132
+ * matches the bank actually servicing that side.
133
+ *
134
+ * The OSS GraphQL read fragment for loan intents currently doesn't
135
+ * expose the per-side data stored at create time, so callers must pass
136
+ * these overrides explicitly on execute (matching what was sent on
137
+ * create).
138
+ */
139
+ settlementBorrowerAccount?: LoanIntentSettlementAccountOverride;
140
+ settlementLenderAccount?: LoanIntentSettlementAccountOverride;
99
141
  }
100
142
  export interface TransferRequestIntentMetadata {
101
143
  referenceId?: string;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@owneraio/finp2p-sdk-js",
3
3
  "main": "lib/index.js",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
- "version": "0.28.9",
5
+ "version": "0.28.11",
6
6
  "homepage": "https://ownera.io/",
7
7
  "scripts": {
8
8
  "build": "yarn clean && tsc",