@otim/sdk-core 0.0.12 → 0.0.15
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/.tsbuildinfo +1 -1
- package/dist/clients/index.cjs +5 -2
- package/dist/clients/index.d.cts +2 -2
- package/dist/clients/index.d.mts +2 -2
- package/dist/clients/index.mjs +2 -2
- package/dist/{clients-CeCv_iST.cjs → clients-BZliDINN.cjs} +258 -8
- package/dist/clients-BZliDINN.cjs.map +1 -0
- package/dist/{clients-CXg-xZcK.mjs → clients-DFvueC9X.mjs} +241 -9
- package/dist/clients-DFvueC9X.mjs.map +1 -0
- package/dist/index-BXxyBVLr.d.mts +203 -0
- package/dist/index-BXxyBVLr.d.mts.map +1 -0
- package/dist/index-DRcZEfBz.d.cts +203 -0
- package/dist/index-DRcZEfBz.d.cts.map +1 -0
- package/dist/index-_2bU9FSx.d.cts.map +1 -1
- package/dist/index.cjs +5 -2
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/rpc-BWDaWzVn.d.mts.map +1 -1
- package/dist/rpc-C-51kawS.d.cts.map +1 -1
- package/package.json +2 -2
- package/dist/clients-CXg-xZcK.mjs.map +0 -1
- package/dist/clients-CeCv_iST.cjs.map +0 -1
- package/dist/index-BPJie3fa.d.cts +0 -104
- package/dist/index-BPJie3fa.d.cts.map +0 -1
- package/dist/index-DgzYsb1k.d.mts +0 -104
- package/dist/index-DgzYsb1k.d.mts.map +0 -1
|
@@ -96,6 +96,18 @@ async function createSettlementSigner(params) {
|
|
|
96
96
|
|
|
97
97
|
//#endregion
|
|
98
98
|
//#region src/clients/orchestration.ts
|
|
99
|
+
/**
|
|
100
|
+
* Extracts the settlement chain ID from a BuildSettlementRequest.
|
|
101
|
+
* Handles all settlement types: regular, vault deposit, and vault withdraw.
|
|
102
|
+
*/
|
|
103
|
+
function extractSettlementChainId(request) {
|
|
104
|
+
const { params } = request;
|
|
105
|
+
if ("settlement" in params) return params.settlement.settlementChainId;
|
|
106
|
+
if ("settlementVaultDeposit" in params) return params.settlementVaultDeposit.vaultChainId;
|
|
107
|
+
if ("vaultWithdrawSettlement" in params) return params.vaultWithdrawSettlement.settlementChainId;
|
|
108
|
+
if ("vaultMigrate" in params) return params.vaultMigrate.destVaultChainId;
|
|
109
|
+
throw new Error("Unknown settlement type");
|
|
110
|
+
}
|
|
99
111
|
var OrchestrationClient = class {
|
|
100
112
|
constructor(apiClient, account, context) {
|
|
101
113
|
this.apiClient = apiClient;
|
|
@@ -105,7 +117,7 @@ var OrchestrationClient = class {
|
|
|
105
117
|
async create(settlementRequest) {
|
|
106
118
|
assertServerContext(this.context);
|
|
107
119
|
const buildResponse = (await this.apiClient.payments.buildSettlementOrchestration(settlementRequest)).data;
|
|
108
|
-
const settlementChainId =
|
|
120
|
+
const settlementChainId = extractSettlementChainId(settlementRequest);
|
|
109
121
|
await this.activate(buildResponse, settlementChainId);
|
|
110
122
|
return {
|
|
111
123
|
requestId: buildResponse.requestId,
|
|
@@ -174,12 +186,12 @@ var OrchestrationClient = class {
|
|
|
174
186
|
* Generates a default due date 30 days from now.
|
|
175
187
|
* This is a standard payment term when no due date is specified.
|
|
176
188
|
*/
|
|
177
|
-
function getDefaultDueDate() {
|
|
189
|
+
function getDefaultDueDate$3() {
|
|
178
190
|
const date = /* @__PURE__ */ new Date();
|
|
179
191
|
date.setDate(date.getDate() + 30);
|
|
180
192
|
return date.toISOString();
|
|
181
193
|
}
|
|
182
|
-
function buildMetadataFromParams(params) {
|
|
194
|
+
function buildMetadataFromParams$3(params) {
|
|
183
195
|
const { amount, recipient, token, note, dueDate, payer, customMetadata } = params;
|
|
184
196
|
const metadataWithToken = {
|
|
185
197
|
...buildPaymentMetadata({
|
|
@@ -191,7 +203,7 @@ function buildMetadataFromParams(params) {
|
|
|
191
203
|
name: "",
|
|
192
204
|
address: payer ?? recipient
|
|
193
205
|
},
|
|
194
|
-
dueDate: dueDate || getDefaultDueDate()
|
|
206
|
+
dueDate: dueDate || getDefaultDueDate$3()
|
|
195
207
|
}),
|
|
196
208
|
token,
|
|
197
209
|
source: "Manual",
|
|
@@ -206,7 +218,7 @@ function buildMetadataFromParams(params) {
|
|
|
206
218
|
* Converts acceptedTokens from Record<number, Address[]> to Record<string,
|
|
207
219
|
* Address[]> as required by the API schema.
|
|
208
220
|
*/
|
|
209
|
-
function convertAcceptedTokensToStringKeys(acceptedTokens) {
|
|
221
|
+
function convertAcceptedTokensToStringKeys$1(acceptedTokens) {
|
|
210
222
|
const result = {};
|
|
211
223
|
for (const [chainId, tokens] of Object.entries(acceptedTokens)) result[String(chainId)] = tokens;
|
|
212
224
|
return result;
|
|
@@ -214,7 +226,7 @@ function convertAcceptedTokensToStringKeys(acceptedTokens) {
|
|
|
214
226
|
function prepareSettlement(params) {
|
|
215
227
|
const { chainId, token, acceptedTokens, recipient, amount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
|
|
216
228
|
if (dueDate) validateIso8601Date(dueDate);
|
|
217
|
-
const metadata = buildMetadataFromParams({
|
|
229
|
+
const metadata = buildMetadataFromParams$3({
|
|
218
230
|
amount,
|
|
219
231
|
recipient,
|
|
220
232
|
token,
|
|
@@ -225,7 +237,7 @@ function prepareSettlement(params) {
|
|
|
225
237
|
});
|
|
226
238
|
return {
|
|
227
239
|
params: { settlement: {
|
|
228
|
-
acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),
|
|
240
|
+
acceptedTokens: convertAcceptedTokensToStringKeys$1(acceptedTokens),
|
|
229
241
|
settlementChainId: chainId,
|
|
230
242
|
settlementToken: token,
|
|
231
243
|
settlementAmount: toHex(amount),
|
|
@@ -239,5 +251,225 @@ function prepareSettlement(params) {
|
|
|
239
251
|
}
|
|
240
252
|
|
|
241
253
|
//#endregion
|
|
242
|
-
|
|
243
|
-
|
|
254
|
+
//#region src/clients/helpers/prepare-vault-withdraw-settlement.ts
|
|
255
|
+
/**
|
|
256
|
+
* Generates a default due date 30 days from now.
|
|
257
|
+
* This is a standard payment term when no due date is specified.
|
|
258
|
+
*/
|
|
259
|
+
function getDefaultDueDate$2() {
|
|
260
|
+
const date = /* @__PURE__ */ new Date();
|
|
261
|
+
date.setDate(date.getDate() + 30);
|
|
262
|
+
return date.toISOString();
|
|
263
|
+
}
|
|
264
|
+
function buildMetadataFromParams$2(params) {
|
|
265
|
+
const { amount, recipient, token, note, dueDate, payer, customMetadata } = params;
|
|
266
|
+
const metadataWithToken = {
|
|
267
|
+
...buildPaymentMetadata({
|
|
268
|
+
tokenSymbol: "",
|
|
269
|
+
amountInUSD: Number(amount) / 1e6,
|
|
270
|
+
fromAccountAddress: recipient,
|
|
271
|
+
note,
|
|
272
|
+
payer: {
|
|
273
|
+
name: "",
|
|
274
|
+
address: payer ?? recipient
|
|
275
|
+
},
|
|
276
|
+
dueDate: dueDate || getDefaultDueDate$2()
|
|
277
|
+
}),
|
|
278
|
+
token,
|
|
279
|
+
source: "Manual",
|
|
280
|
+
type: "PaymentRequest"
|
|
281
|
+
};
|
|
282
|
+
return customMetadata ? {
|
|
283
|
+
...metadataWithToken,
|
|
284
|
+
...customMetadata
|
|
285
|
+
} : metadataWithToken;
|
|
286
|
+
}
|
|
287
|
+
function prepareVaultWithdrawSettlement(params) {
|
|
288
|
+
const { vaultAddress, vaultUnderlyingToken, vaultChainId, settlementChainId, settlementToken, recipientAddress, withdrawAmount, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
|
|
289
|
+
if (dueDate) validateIso8601Date(dueDate);
|
|
290
|
+
const metadata = buildMetadataFromParams$2({
|
|
291
|
+
amount: withdrawAmount,
|
|
292
|
+
recipient: recipientAddress,
|
|
293
|
+
token: settlementToken,
|
|
294
|
+
note,
|
|
295
|
+
dueDate,
|
|
296
|
+
payer: payer ?? void 0,
|
|
297
|
+
customMetadata
|
|
298
|
+
});
|
|
299
|
+
return {
|
|
300
|
+
params: { vaultWithdrawSettlement: {
|
|
301
|
+
vaultAddress,
|
|
302
|
+
vaultUnderlyingToken,
|
|
303
|
+
vaultChainId,
|
|
304
|
+
settlementChainId,
|
|
305
|
+
settlementToken,
|
|
306
|
+
recipientAddress,
|
|
307
|
+
withdrawAmount: toHex(withdrawAmount)
|
|
308
|
+
} },
|
|
309
|
+
payerAddress: payer ?? null,
|
|
310
|
+
metadata,
|
|
311
|
+
dueDate: dueDate ?? null,
|
|
312
|
+
maxRuns: maxRuns ?? null
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
//#endregion
|
|
317
|
+
//#region src/clients/helpers/prepare-vault-deposit-settlement.ts
|
|
318
|
+
/**
|
|
319
|
+
* Generates a default due date 30 days from now.
|
|
320
|
+
* This is a standard payment term when no due date is specified.
|
|
321
|
+
*/
|
|
322
|
+
function getDefaultDueDate$1() {
|
|
323
|
+
const date = /* @__PURE__ */ new Date();
|
|
324
|
+
date.setDate(date.getDate() + 30);
|
|
325
|
+
return date.toISOString();
|
|
326
|
+
}
|
|
327
|
+
function buildMetadataFromParams$1(params) {
|
|
328
|
+
const { amount, recipient, token, note, dueDate, payer, customMetadata } = params;
|
|
329
|
+
const metadataWithToken = {
|
|
330
|
+
...buildPaymentMetadata({
|
|
331
|
+
tokenSymbol: "",
|
|
332
|
+
amountInUSD: Number(amount) / 1e6,
|
|
333
|
+
fromAccountAddress: recipient,
|
|
334
|
+
note,
|
|
335
|
+
payer: {
|
|
336
|
+
name: "",
|
|
337
|
+
address: payer ?? recipient
|
|
338
|
+
},
|
|
339
|
+
dueDate: dueDate || getDefaultDueDate$1()
|
|
340
|
+
}),
|
|
341
|
+
token,
|
|
342
|
+
source: "Manual",
|
|
343
|
+
type: "PaymentRequest"
|
|
344
|
+
};
|
|
345
|
+
return customMetadata ? {
|
|
346
|
+
...metadataWithToken,
|
|
347
|
+
...customMetadata
|
|
348
|
+
} : metadataWithToken;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Converts acceptedTokens from Record<number, Address[]> to Record<string,
|
|
352
|
+
* Address[]> as required by the API schema.
|
|
353
|
+
*/
|
|
354
|
+
function convertAcceptedTokensToStringKeys(acceptedTokens) {
|
|
355
|
+
const result = {};
|
|
356
|
+
for (const [chainId, tokens] of Object.entries(acceptedTokens)) result[String(chainId)] = tokens;
|
|
357
|
+
return result;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Prepares a vault deposit settlement request.
|
|
361
|
+
*
|
|
362
|
+
* This creates a settlement that deposits funds into an ERC4626 vault.
|
|
363
|
+
* Funds can be collected from multiple chains (via acceptedTokens) and
|
|
364
|
+
* deposited into the vault on the specified chain.
|
|
365
|
+
*
|
|
366
|
+
* @param params - The vault deposit settlement parameters
|
|
367
|
+
* @returns A BuildSettlementRequest ready to be sent to the API
|
|
368
|
+
*/
|
|
369
|
+
function prepareVaultDepositSettlement(params) {
|
|
370
|
+
const { acceptedTokens, vaultChainId, vaultAddress, vaultUnderlyingToken, depositAmount, recipientAddress, vaultMinTotalShares, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
|
|
371
|
+
if (dueDate) validateIso8601Date(dueDate);
|
|
372
|
+
const metadata = buildMetadataFromParams$1({
|
|
373
|
+
amount: depositAmount,
|
|
374
|
+
recipient: recipientAddress,
|
|
375
|
+
token: vaultUnderlyingToken,
|
|
376
|
+
note,
|
|
377
|
+
dueDate,
|
|
378
|
+
payer: payer ?? void 0,
|
|
379
|
+
customMetadata
|
|
380
|
+
});
|
|
381
|
+
return {
|
|
382
|
+
params: { settlementVaultDeposit: {
|
|
383
|
+
acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),
|
|
384
|
+
vaultChainId,
|
|
385
|
+
vaultAddress,
|
|
386
|
+
vaultUnderlyingToken,
|
|
387
|
+
depositAmount: toHex(depositAmount),
|
|
388
|
+
recipientAddress,
|
|
389
|
+
vaultMinTotalShares: toHex(vaultMinTotalShares)
|
|
390
|
+
} },
|
|
391
|
+
payerAddress: payer ?? null,
|
|
392
|
+
metadata,
|
|
393
|
+
dueDate: dueDate ?? null,
|
|
394
|
+
maxRuns: maxRuns ?? null
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
//#endregion
|
|
399
|
+
//#region src/clients/helpers/prepare-vault-migrate-settlement.ts
|
|
400
|
+
/**
|
|
401
|
+
* Generates a default due date 30 days from now.
|
|
402
|
+
* This is a standard payment term when no due date is specified.
|
|
403
|
+
*/
|
|
404
|
+
function getDefaultDueDate() {
|
|
405
|
+
const date = /* @__PURE__ */ new Date();
|
|
406
|
+
date.setDate(date.getDate() + 30);
|
|
407
|
+
return date.toISOString();
|
|
408
|
+
}
|
|
409
|
+
function buildMetadataFromParams(params) {
|
|
410
|
+
const { amount, recipient, token, note, dueDate, payer, customMetadata } = params;
|
|
411
|
+
const metadataWithToken = {
|
|
412
|
+
...buildPaymentMetadata({
|
|
413
|
+
tokenSymbol: "",
|
|
414
|
+
amountInUSD: Number(amount) / 1e6,
|
|
415
|
+
fromAccountAddress: recipient,
|
|
416
|
+
note,
|
|
417
|
+
payer: {
|
|
418
|
+
name: "",
|
|
419
|
+
address: payer ?? recipient
|
|
420
|
+
},
|
|
421
|
+
dueDate: dueDate || getDefaultDueDate()
|
|
422
|
+
}),
|
|
423
|
+
token,
|
|
424
|
+
source: "Manual",
|
|
425
|
+
type: "PaymentRequest"
|
|
426
|
+
};
|
|
427
|
+
return customMetadata ? {
|
|
428
|
+
...metadataWithToken,
|
|
429
|
+
...customMetadata
|
|
430
|
+
} : metadataWithToken;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Prepares a vault migrate settlement request.
|
|
434
|
+
*
|
|
435
|
+
* This creates a settlement that migrates funds between two ERC4626 vaults.
|
|
436
|
+
* Funds are withdrawn from the source vault and deposited into the destination
|
|
437
|
+
* vault, which can be on the same chain or a different chain (cross-chain migration).
|
|
438
|
+
*
|
|
439
|
+
* @param params - The vault migrate settlement parameters
|
|
440
|
+
* @returns A BuildSettlementRequest ready to be sent to the API
|
|
441
|
+
*/
|
|
442
|
+
function prepareVaultMigrateSettlement(params) {
|
|
443
|
+
const { sourceVaultAddress, sourceVaultUnderlyingToken, sourceVaultChainId, withdrawAmount, destVaultAddress, destVaultUnderlyingToken, destVaultChainId, destVaultMinTotalShares, recipientAddress, payer, note, dueDate, metadata: customMetadata, maxRuns } = params;
|
|
444
|
+
if (dueDate) validateIso8601Date(dueDate);
|
|
445
|
+
const metadata = buildMetadataFromParams({
|
|
446
|
+
amount: withdrawAmount,
|
|
447
|
+
recipient: recipientAddress,
|
|
448
|
+
token: destVaultUnderlyingToken,
|
|
449
|
+
note,
|
|
450
|
+
dueDate,
|
|
451
|
+
payer: payer ?? void 0,
|
|
452
|
+
customMetadata
|
|
453
|
+
});
|
|
454
|
+
return {
|
|
455
|
+
params: { vaultMigrate: {
|
|
456
|
+
sourceVaultAddress,
|
|
457
|
+
sourceVaultUnderlyingToken,
|
|
458
|
+
sourceVaultChainId,
|
|
459
|
+
withdrawAmount: toHex(withdrawAmount),
|
|
460
|
+
destVaultAddress,
|
|
461
|
+
destVaultUnderlyingToken,
|
|
462
|
+
destVaultChainId,
|
|
463
|
+
destVaultMinTotalShares: toHex(destVaultMinTotalShares),
|
|
464
|
+
recipientAddress
|
|
465
|
+
} },
|
|
466
|
+
payerAddress: payer ?? null,
|
|
467
|
+
metadata,
|
|
468
|
+
dueDate: dueDate ?? null,
|
|
469
|
+
maxRuns: maxRuns ?? null
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
//#endregion
|
|
474
|
+
export { OrchestrationClient as a, ConfigClient as c, prepareSettlement as i, AuthClient as l, prepareVaultDepositSettlement as n, createSettlementSigner as o, prepareVaultWithdrawSettlement as r, DelegationClient as s, prepareVaultMigrateSettlement as t, ActivityClient as u };
|
|
475
|
+
//# sourceMappingURL=clients-DFvueC9X.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clients-DFvueC9X.mjs","names":["apiClient: APIClient","apiClient: APIClient","account: OtimAccount","context: OtimClientContext","apiClient: APIClient","apiClient: APIClient","apiClient: APIClient","account: OtimAccount","context: OtimServerClientContext","getDefaultDueDate","buildMetadataFromParams","convertAcceptedTokensToStringKeys","result: Record<string, Address[]>","getDefaultDueDate","buildMetadataFromParams","getDefaultDueDate","buildMetadataFromParams","result: Record<string, Address[]>"],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/helpers/settlement-signer.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts"],"sourcesContent":["import type {\n APIClient,\n GetInstructionActivityRequest,\n GetInstructionActivityResponse,\n} from \"@otim/utils/api\";\n\nexport class ActivityClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getInstructionActivity(\n request: GetInstructionActivityRequest,\n ): Promise<GetInstructionActivityResponse> {\n const response =\n await this.apiClient.activity.getInstructionActivity(request);\n\n return response.data;\n }\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimClientContext } from \"@otim/sdk-core/context\";\nimport type { APIClient, AuthLoginResponse, MeResponse } from \"@otim/utils/api\";\nimport type { Address } from \"viem\";\n\nimport { parseSignatureToVRS } from \"@otim/utils/helpers\";\n\nimport { createLoginSiweMessage } from \"@otim/sdk-core/config\";\nimport { assertRequiresAuth } from \"@otim/sdk-core/context\";\n\nexport interface LoginOptions {\n address: Address;\n}\n\nexport class AuthClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimClientContext,\n ) {}\n\n async login({ address }: LoginOptions): Promise<AuthLoginResponse> {\n assertRequiresAuth(this.context);\n\n const message = createLoginSiweMessage(address, Date.now().toString());\n const signature = await this.account.signMessage({ message });\n const vrsParsedSignature = parseSignatureToVRS(signature);\n\n const response = await this.apiClient.auth.login({\n siwe: message,\n signature: vrsParsedSignature,\n });\n\n return response.data;\n }\n\n async getCurrentUser(): Promise<MeResponse> {\n const response = await this.apiClient.auth.me();\n return response.data;\n }\n}\n","import type {\n APIClient,\n GetMaxPriorityFeePerGasEstimateRequest,\n GetMaxPriorityFeePerGasEstimateResponse,\n} from \"@otim/utils/api\";\n\nexport class ConfigClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getMaxPriorityFeeEstimate({\n chainId,\n }: GetMaxPriorityFeePerGasEstimateRequest): Promise<GetMaxPriorityFeePerGasEstimateResponse> {\n const response =\n await this.apiClient.config.getMaxPriorityFeePerGasEstimate({ chainId });\n\n return response.data;\n }\n}\n","import type {\n APIClient,\n DelegationCreateRequest,\n DelegationStatusRequest,\n DelegationStatusResponse,\n GetDelegateAddressRequest,\n GetDelegateAddressResponse,\n} from \"@otim/utils/api\";\n\nexport class DelegationClient {\n constructor(private readonly apiClient: APIClient) {}\n\n async getDelegateAddress({\n chainId,\n }: GetDelegateAddressRequest): Promise<GetDelegateAddressResponse> {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n\n return response.data;\n }\n\n async getDelegationStatus(\n options: DelegationStatusRequest,\n ): Promise<DelegationStatusResponse> {\n const response = await this.apiClient.account.getDelegationStatus({\n address: options.address,\n chainId: options.chainId,\n });\n\n return response.data;\n }\n\n async createDelegation(\n delegationRequest: DelegationCreateRequest,\n ): Promise<void> {\n await this.apiClient.account.createDelegation(delegationRequest);\n }\n}\n","import type { OtimServerClientContext } from \"../../context\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { PublicClient } from \"viem\";\n\nimport { createWalletClient, http } from \"viem\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nimport { isApiAccountConfig } from \"../../account\";\nimport {\n ApiKeyClientSigningService,\n ServerWalletSigningService,\n UnifiedPaymentSigner,\n} from \"../../signing\";\n\nexport interface CreateSettlementSignerParams {\n context: OtimServerClientContext;\n buildResponse: PaymentResponseWithActionNames;\n publicClient: PublicClient;\n delegateAddressMap: Map<number, Address>;\n}\n\ntype CreateSettlementSignerResult = Awaited<\n ReturnType<UnifiedPaymentSigner[\"signAll\"]>\n>;\n\nexport async function createSettlementSigner(\n params: CreateSettlementSignerParams,\n): Promise<CreateSettlementSignerResult> {\n const { context, buildResponse, publicClient, delegateAddressMap } = params;\n\n if (isApiAccountConfig(context.config)) {\n const signingService = new ApiKeyClientSigningService(\n context.config.publicKey,\n context.config.privateKey,\n );\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n }\n\n const account = privateKeyToAccount(context.config.privateKey);\n const walletClient = createWalletClient({\n account,\n transport: http(),\n });\n\n const signingService =\n ServerWalletSigningService.fromViemWallet(walletClient);\n\n const signer = new UnifiedPaymentSigner({\n buildResponse,\n signingService,\n publicClient,\n delegateAddressMap,\n });\n\n return signer.signAll();\n}\n","import type { OtimAccount } from \"@otim/sdk-core/account\";\nimport type { OtimServerClientContext } from \"@otim/sdk-core/context\";\nimport type {\n APIClient,\n BuildSettlementRequest,\n GetPaymentRequestsRequest,\n GetPaymentRequestsResponse,\n PaginatedServiceResponse,\n PaymentRequestBuildRequest,\n PaymentRequestDetailsRequest,\n PaymentRequestDetailsResponse,\n ServiceResponse,\n} from \"@otim/utils/api\";\nimport type { PaymentResponseWithActionNames } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\nimport type { Chain, PublicClient } from \"viem\";\n\nimport { getChainById } from \"@otim/utils/chains\";\nimport {\n addActionNamesToInstructions,\n extractActionNamesMap,\n} from \"@otim/utils/payments\";\nimport { hexStringSchema } from \"@otim/utils/schemas\";\nimport { createPublicClient, http } from \"viem\";\n\nimport { assertServerContext } from \"@otim/sdk-core/context\";\n\nimport { createSettlementSigner } from \"./helpers/settlement-signer\";\n\nexport interface CreateSettlementResponse {\n requestId: string;\n ephemeralWalletAddress: Address;\n}\n\nexport interface CreateRawConfig {\n settlementChainId: number;\n activate?: boolean;\n}\n\ntype SettlementInstruction =\n PaymentResponseWithActionNames[\"completionInstructions\"][number];\n\n/**\n * Extracts the settlement chain ID from a BuildSettlementRequest.\n * Handles all settlement types: regular, vault deposit, and vault withdraw.\n */\nfunction extractSettlementChainId(request: BuildSettlementRequest): number {\n const { params } = request;\n\n if (\"settlement\" in params) {\n return params.settlement.settlementChainId;\n }\n\n if (\"settlementVaultDeposit\" in params) {\n return params.settlementVaultDeposit.vaultChainId;\n }\n\n if (\"vaultWithdrawSettlement\" in params) {\n return params.vaultWithdrawSettlement.settlementChainId;\n }\n\n if (\"vaultMigrate\" in params) {\n return params.vaultMigrate.destVaultChainId;\n }\n\n throw new Error(\"Unknown settlement type\");\n}\n\nexport class OrchestrationClient {\n constructor(\n private readonly apiClient: APIClient,\n private readonly account: OtimAccount,\n private readonly context: OtimServerClientContext,\n ) {}\n\n async create(\n settlementRequest: BuildSettlementRequest,\n ): Promise<CreateSettlementResponse> {\n assertServerContext(this.context);\n\n const response =\n await this.apiClient.payments.buildSettlementOrchestration(\n settlementRequest,\n );\n const buildResponse = response.data;\n\n const settlementChainId = extractSettlementChainId(settlementRequest);\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async createRaw(\n payload: PaymentRequestBuildRequest,\n config: CreateRawConfig,\n ): Promise<CreateSettlementResponse | PaymentResponseWithActionNames> {\n assertServerContext(this.context);\n\n const { settlementChainId, activate = true } = config;\n const buildResponse = await this.buildAndEnhanceSettlement(payload);\n\n if (!activate) {\n return buildResponse;\n }\n\n await this.activate(buildResponse, settlementChainId);\n\n return {\n requestId: buildResponse.requestId,\n ephemeralWalletAddress: buildResponse.ephemeralWalletAddress,\n };\n }\n\n async getDetails(\n request: PaymentRequestDetailsRequest,\n ): Promise<ServiceResponse<PaymentRequestDetailsResponse>> {\n return this.apiClient.payments.getPaymentRequestDetails(request);\n }\n\n async list(\n request: GetPaymentRequestsRequest,\n ): Promise<PaginatedServiceResponse<GetPaymentRequestsResponse>> {\n return this.apiClient.payments.getPaymentRequests(request);\n }\n\n private async activate(\n buildResponse: PaymentResponseWithActionNames,\n settlementChainId: number,\n ): Promise<void> {\n const publicClient = this.createPublicClient(settlementChainId);\n\n const instructions = [\n ...buildResponse.completionInstructions,\n ...buildResponse.instructions,\n ];\n\n const delegateAddressMap = await this.fetchDelegateAddresses(instructions);\n\n const {\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n } = await createSettlementSigner({\n context: this.context,\n buildResponse,\n publicClient,\n delegateAddressMap,\n });\n\n await this.apiClient.payments.newPaymentRequest({\n requestId: buildResponse.requestId,\n signedAuthorization,\n completionInstructions,\n instructions: signedInstructions,\n });\n }\n\n private async buildAndEnhanceSettlement(\n payload: PaymentRequestBuildRequest,\n ): Promise<PaymentResponseWithActionNames> {\n const actionNames = extractActionNamesMap(\n payload.completionInstructions,\n payload.instructions,\n );\n\n const response = await this.apiClient.payments.buildPaymentRequest(payload);\n\n return addActionNamesToInstructions(response.data, actionNames);\n }\n\n private createPublicClient(chainId: number): PublicClient {\n const chain = getChainById(chainId);\n if (!chain) {\n throw new Error(`Chain with id ${chainId} not found`);\n }\n\n return createPublicClient({ chain: chain as Chain, transport: http() });\n }\n\n private async fetchDelegateAddresses(\n instructions: SettlementInstruction[],\n ): Promise<Map<number, Address>> {\n const chainIds = Array.from(\n new Set(instructions.map((instruction) => instruction.chainId)),\n );\n\n const addresses = await Promise.all(\n chainIds.map(async (chainId) => {\n const response = await this.apiClient.config.getDelegateAddress({\n chainId,\n });\n const address = hexStringSchema.parse(\n response.data.otimDelegateAddress,\n );\n return [chainId, address] as const;\n }),\n );\n\n return new Map(addresses);\n }\n}\n","import type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nexport type {\n BuildSettlementRequest,\n OrchestrationParams,\n SettlementParams,\n VaultWithdrawSettlementParams,\n};\n\nexport interface PrepareSettlementParams {\n amount: bigint;\n chainId: SupportedChainId;\n recipient: Address;\n token: Address;\n acceptedTokens: Record<number, Address[]>;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\nexport function prepareSettlement(\n params: PrepareSettlementParams,\n): BuildSettlementRequest {\n const {\n chainId,\n token,\n acceptedTokens,\n recipient,\n amount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount,\n recipient,\n token,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlement: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n settlementChainId: chainId,\n settlementToken: token,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n settlementAmount: toHex(amount),\n recipientAddress: recipient,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultWithdrawSettlementParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultWithdrawSettlementParams };\n\nexport interface PrepareVaultWithdrawSettlementParams {\n vaultAddress: Address;\n vaultUnderlyingToken: Address;\n vaultChainId: SupportedChainId;\n settlementChainId: SupportedChainId;\n settlementToken: Address;\n recipientAddress: Address;\n withdrawAmount: bigint;\n payer?: Nullable<Address>;\n dueDate?: string;\n metadata?: PaymentRequestMetadata;\n note?: string;\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\nexport function prepareVaultWithdrawSettlement(\n params: PrepareVaultWithdrawSettlementParams,\n): BuildSettlementRequest {\n const {\n vaultAddress,\n vaultUnderlyingToken,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n withdrawAmount,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: settlementToken,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultWithdrawSettlement: {\n vaultAddress,\n vaultUnderlyingToken,\n vaultChainId,\n settlementChainId,\n settlementToken,\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n SettlementVaultDepositParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { SettlementVaultDepositParams };\n\nexport interface PrepareVaultDepositSettlementParams {\n /** Map of chain IDs to accepted token addresses for payment */\n acceptedTokens: Record<number, Address[]>;\n /** Chain ID where the vault is deployed */\n vaultChainId: SupportedChainId;\n /** ERC4626 vault address to deposit into */\n vaultAddress: Address;\n /** The underlying token of the vault */\n vaultUnderlyingToken: Address;\n /** Amount to deposit in the vault's underlying token units */\n depositAmount: bigint;\n /** Address that will receive the vault shares */\n recipientAddress: Address;\n /** Minimum total shares required for the deposit to succeed */\n vaultMinTotalShares: bigint;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Converts acceptedTokens from Record<number, Address[]> to Record<string,\n * Address[]> as required by the API schema.\n */\nfunction convertAcceptedTokensToStringKeys(\n acceptedTokens: Record<number, Address[]>,\n): Record<string, Address[]> {\n const result: Record<string, Address[]> = {};\n for (const [chainId, tokens] of Object.entries(acceptedTokens)) {\n result[String(chainId)] = tokens;\n }\n return result;\n}\n\n/**\n * Prepares a vault deposit settlement request.\n *\n * This creates a settlement that deposits funds into an ERC4626 vault.\n * Funds can be collected from multiple chains (via acceptedTokens) and\n * deposited into the vault on the specified chain.\n *\n * @param params - The vault deposit settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultDepositSettlement(\n params: PrepareVaultDepositSettlementParams,\n): BuildSettlementRequest {\n const {\n acceptedTokens,\n vaultChainId,\n vaultAddress,\n vaultUnderlyingToken,\n depositAmount,\n recipientAddress,\n vaultMinTotalShares,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: depositAmount,\n recipient: recipientAddress,\n token: vaultUnderlyingToken,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n settlementVaultDeposit: {\n acceptedTokens: convertAcceptedTokensToStringKeys(acceptedTokens),\n vaultChainId,\n vaultAddress,\n vaultUnderlyingToken,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n depositAmount: toHex(depositAmount),\n recipientAddress,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n vaultMinTotalShares: toHex(vaultMinTotalShares),\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n","import type {\n BuildSettlementRequest,\n VaultMigrateParams,\n} from \"@otim/utils/api\";\nimport type { SupportedChainId } from \"@otim/utils/chains\";\nimport type { Nullable } from \"@otim/utils/helpers\";\nimport type { PaymentRequestMetadata } from \"@otim/utils/payments\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { validateIso8601Date } from \"@otim/utils/helpers\";\nimport { buildPaymentMetadata } from \"@otim/utils/payments\";\nimport { toHex } from \"viem\";\n\nexport type { VaultMigrateParams };\n\nexport interface PrepareVaultMigrateSettlementParams {\n /** Source vault address to withdraw from */\n sourceVaultAddress: Address;\n /** The underlying token of the source vault */\n sourceVaultUnderlyingToken: Address;\n /** Chain ID where the source vault is deployed */\n sourceVaultChainId: SupportedChainId;\n /** Amount to withdraw from the source vault in underlying token units */\n withdrawAmount: bigint;\n /** Destination vault address to deposit into */\n destVaultAddress: Address;\n /** The underlying token of the destination vault */\n destVaultUnderlyingToken: Address;\n /** Chain ID where the destination vault is deployed */\n destVaultChainId: SupportedChainId;\n /** Minimum total shares required for the deposit to succeed */\n destVaultMinTotalShares: bigint;\n /** Address that will receive the destination vault shares */\n recipientAddress: Address;\n /** Optional payer address */\n payer?: Nullable<Address>;\n /** Optional due date in ISO 8601 format */\n dueDate?: string;\n /** Optional custom metadata */\n metadata?: PaymentRequestMetadata;\n /** Optional note for the settlement */\n note?: string;\n /** Optional maximum number of execution runs */\n maxRuns?: number;\n}\n\n/**\n * Generates a default due date 30 days from now.\n * This is a standard payment term when no due date is specified.\n */\nfunction getDefaultDueDate(): string {\n const date = new Date();\n date.setDate(date.getDate() + 30);\n return date.toISOString();\n}\n\nfunction buildMetadataFromParams(params: {\n amount: bigint;\n recipient: Address;\n token: Address;\n note?: string;\n dueDate?: string;\n payer?: Address;\n customMetadata?: PaymentRequestMetadata;\n}): PaymentRequestMetadata {\n const { amount, recipient, token, note, dueDate, payer, customMetadata } =\n params;\n\n /* Convert from smallest token units to USD */\n const amountInUSD = Number(amount) / 1_000_000;\n\n const baseMetadata = buildPaymentMetadata({\n tokenSymbol: \"\",\n amountInUSD,\n fromAccountAddress: recipient,\n note,\n payer: { name: \"\", address: payer ?? recipient },\n dueDate: dueDate || getDefaultDueDate(),\n });\n\n const metadataWithToken = {\n ...baseMetadata,\n token,\n source: \"Manual\" as const,\n type: \"PaymentRequest\" as const,\n };\n\n return customMetadata\n ? { ...metadataWithToken, ...customMetadata }\n : metadataWithToken;\n}\n\n/**\n * Prepares a vault migrate settlement request.\n *\n * This creates a settlement that migrates funds between two ERC4626 vaults.\n * Funds are withdrawn from the source vault and deposited into the destination\n * vault, which can be on the same chain or a different chain (cross-chain migration).\n *\n * @param params - The vault migrate settlement parameters\n * @returns A BuildSettlementRequest ready to be sent to the API\n */\nexport function prepareVaultMigrateSettlement(\n params: PrepareVaultMigrateSettlementParams,\n): BuildSettlementRequest {\n const {\n sourceVaultAddress,\n sourceVaultUnderlyingToken,\n sourceVaultChainId,\n withdrawAmount,\n destVaultAddress,\n destVaultUnderlyingToken,\n destVaultChainId,\n destVaultMinTotalShares,\n recipientAddress,\n payer,\n note,\n dueDate,\n metadata: customMetadata,\n maxRuns,\n } = params;\n\n if (dueDate) {\n validateIso8601Date(dueDate);\n }\n\n const metadata = buildMetadataFromParams({\n amount: withdrawAmount,\n recipient: recipientAddress,\n token: destVaultUnderlyingToken,\n note,\n dueDate,\n payer: payer ?? undefined,\n customMetadata,\n });\n\n return {\n params: {\n vaultMigrate: {\n sourceVaultAddress,\n sourceVaultUnderlyingToken,\n sourceVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n withdrawAmount: toHex(withdrawAmount),\n destVaultAddress,\n destVaultUnderlyingToken,\n destVaultChainId,\n // @ts-expect-error -- TODO: fix this once we have the correct type definitions in @otim/utils\n destVaultMinTotalShares: toHex(destVaultMinTotalShares),\n recipientAddress,\n },\n },\n payerAddress: payer ?? null,\n metadata,\n dueDate: dueDate ?? null,\n maxRuns: maxRuns ?? null,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { c as Address$1 } from "./abi-DJLWbdqc.mjs";
|
|
2
|
+
import { s as UnifiedPaymentSigner, x as PublicClient } from "./index-D6ncjdSF.mjs";
|
|
3
|
+
import { o as OtimServerClientContext$1 } from "./index-Bii-p3Pv.mjs";
|
|
4
|
+
import { Nullable } from "@otim/utils/helpers";
|
|
5
|
+
import { OtimClientContext, OtimServerClientContext } from "@otim/sdk-core/context";
|
|
6
|
+
import { SupportedChainId } from "@otim/utils/chains";
|
|
7
|
+
import { PaymentRequestMetadata, PaymentResponseWithActionNames } from "@otim/utils/payments";
|
|
8
|
+
import { Address } from "@otim/utils/schemas";
|
|
9
|
+
import { APIClient, AuthLoginResponse, BuildSettlementRequest, BuildSettlementRequest as BuildSettlementRequest$1, DelegationCreateRequest, DelegationStatusRequest, DelegationStatusResponse, GetDelegateAddressRequest, GetDelegateAddressResponse, GetInstructionActivityRequest, GetInstructionActivityResponse, GetMaxPriorityFeePerGasEstimateRequest, GetMaxPriorityFeePerGasEstimateResponse, GetPaymentRequestsRequest, GetPaymentRequestsResponse, MeResponse, OrchestrationParams, PaginatedServiceResponse, PaymentRequestBuildRequest, PaymentRequestDetailsRequest, PaymentRequestDetailsResponse, ServiceResponse, SettlementParams, SettlementVaultDepositParams, VaultMigrateParams } from "@otim/utils/api";
|
|
10
|
+
import { OtimAccount } from "@otim/sdk-core/account";
|
|
11
|
+
|
|
12
|
+
//#region src/clients/activity.d.ts
|
|
13
|
+
declare class ActivityClient {
|
|
14
|
+
private readonly apiClient;
|
|
15
|
+
constructor(apiClient: APIClient);
|
|
16
|
+
getInstructionActivity(request: GetInstructionActivityRequest): Promise<GetInstructionActivityResponse>;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/clients/auth.d.ts
|
|
20
|
+
interface LoginOptions {
|
|
21
|
+
address: Address$1;
|
|
22
|
+
}
|
|
23
|
+
declare class AuthClient {
|
|
24
|
+
private readonly apiClient;
|
|
25
|
+
private readonly account;
|
|
26
|
+
private readonly context;
|
|
27
|
+
constructor(apiClient: APIClient, account: OtimAccount, context: OtimClientContext);
|
|
28
|
+
login({
|
|
29
|
+
address
|
|
30
|
+
}: LoginOptions): Promise<AuthLoginResponse>;
|
|
31
|
+
getCurrentUser(): Promise<MeResponse>;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/clients/config.d.ts
|
|
35
|
+
declare class ConfigClient {
|
|
36
|
+
private readonly apiClient;
|
|
37
|
+
constructor(apiClient: APIClient);
|
|
38
|
+
getMaxPriorityFeeEstimate({
|
|
39
|
+
chainId
|
|
40
|
+
}: GetMaxPriorityFeePerGasEstimateRequest): Promise<GetMaxPriorityFeePerGasEstimateResponse>;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/clients/delegation.d.ts
|
|
44
|
+
declare class DelegationClient {
|
|
45
|
+
private readonly apiClient;
|
|
46
|
+
constructor(apiClient: APIClient);
|
|
47
|
+
getDelegateAddress({
|
|
48
|
+
chainId
|
|
49
|
+
}: GetDelegateAddressRequest): Promise<GetDelegateAddressResponse>;
|
|
50
|
+
getDelegationStatus(options: DelegationStatusRequest): Promise<DelegationStatusResponse>;
|
|
51
|
+
createDelegation(delegationRequest: DelegationCreateRequest): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/clients/orchestration.d.ts
|
|
55
|
+
interface CreateSettlementResponse {
|
|
56
|
+
requestId: string;
|
|
57
|
+
ephemeralWalletAddress: Address;
|
|
58
|
+
}
|
|
59
|
+
interface CreateRawConfig {
|
|
60
|
+
settlementChainId: number;
|
|
61
|
+
activate?: boolean;
|
|
62
|
+
}
|
|
63
|
+
declare class OrchestrationClient {
|
|
64
|
+
private readonly apiClient;
|
|
65
|
+
private readonly account;
|
|
66
|
+
private readonly context;
|
|
67
|
+
constructor(apiClient: APIClient, account: OtimAccount, context: OtimServerClientContext);
|
|
68
|
+
create(settlementRequest: BuildSettlementRequest): Promise<CreateSettlementResponse>;
|
|
69
|
+
createRaw(payload: PaymentRequestBuildRequest, config: CreateRawConfig): Promise<CreateSettlementResponse | PaymentResponseWithActionNames>;
|
|
70
|
+
getDetails(request: PaymentRequestDetailsRequest): Promise<ServiceResponse<PaymentRequestDetailsResponse>>;
|
|
71
|
+
list(request: GetPaymentRequestsRequest): Promise<PaginatedServiceResponse<GetPaymentRequestsResponse>>;
|
|
72
|
+
private activate;
|
|
73
|
+
private buildAndEnhanceSettlement;
|
|
74
|
+
private createPublicClient;
|
|
75
|
+
private fetchDelegateAddresses;
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/clients/helpers/prepare-settlement.d.ts
|
|
79
|
+
interface PrepareSettlementParams {
|
|
80
|
+
amount: bigint;
|
|
81
|
+
chainId: SupportedChainId;
|
|
82
|
+
recipient: Address;
|
|
83
|
+
token: Address;
|
|
84
|
+
acceptedTokens: Record<number, Address[]>;
|
|
85
|
+
payer?: Nullable<Address>;
|
|
86
|
+
dueDate?: string;
|
|
87
|
+
metadata?: PaymentRequestMetadata;
|
|
88
|
+
note?: string;
|
|
89
|
+
maxRuns?: number;
|
|
90
|
+
}
|
|
91
|
+
declare function prepareSettlement(params: PrepareSettlementParams): BuildSettlementRequest$1;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/clients/helpers/prepare-vault-withdraw-settlement.d.ts
|
|
94
|
+
interface PrepareVaultWithdrawSettlementParams {
|
|
95
|
+
vaultAddress: Address;
|
|
96
|
+
vaultUnderlyingToken: Address;
|
|
97
|
+
vaultChainId: SupportedChainId;
|
|
98
|
+
settlementChainId: SupportedChainId;
|
|
99
|
+
settlementToken: Address;
|
|
100
|
+
recipientAddress: Address;
|
|
101
|
+
withdrawAmount: bigint;
|
|
102
|
+
payer?: Nullable<Address>;
|
|
103
|
+
dueDate?: string;
|
|
104
|
+
metadata?: PaymentRequestMetadata;
|
|
105
|
+
note?: string;
|
|
106
|
+
maxRuns?: number;
|
|
107
|
+
}
|
|
108
|
+
declare function prepareVaultWithdrawSettlement(params: PrepareVaultWithdrawSettlementParams): BuildSettlementRequest;
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region src/clients/helpers/prepare-vault-deposit-settlement.d.ts
|
|
111
|
+
interface PrepareVaultDepositSettlementParams {
|
|
112
|
+
/** Map of chain IDs to accepted token addresses for payment */
|
|
113
|
+
acceptedTokens: Record<number, Address[]>;
|
|
114
|
+
/** Chain ID where the vault is deployed */
|
|
115
|
+
vaultChainId: SupportedChainId;
|
|
116
|
+
/** ERC4626 vault address to deposit into */
|
|
117
|
+
vaultAddress: Address;
|
|
118
|
+
/** The underlying token of the vault */
|
|
119
|
+
vaultUnderlyingToken: Address;
|
|
120
|
+
/** Amount to deposit in the vault's underlying token units */
|
|
121
|
+
depositAmount: bigint;
|
|
122
|
+
/** Address that will receive the vault shares */
|
|
123
|
+
recipientAddress: Address;
|
|
124
|
+
/** Minimum total shares required for the deposit to succeed */
|
|
125
|
+
vaultMinTotalShares: bigint;
|
|
126
|
+
/** Optional payer address */
|
|
127
|
+
payer?: Nullable<Address>;
|
|
128
|
+
/** Optional due date in ISO 8601 format */
|
|
129
|
+
dueDate?: string;
|
|
130
|
+
/** Optional custom metadata */
|
|
131
|
+
metadata?: PaymentRequestMetadata;
|
|
132
|
+
/** Optional note for the settlement */
|
|
133
|
+
note?: string;
|
|
134
|
+
/** Optional maximum number of execution runs */
|
|
135
|
+
maxRuns?: number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Prepares a vault deposit settlement request.
|
|
139
|
+
*
|
|
140
|
+
* This creates a settlement that deposits funds into an ERC4626 vault.
|
|
141
|
+
* Funds can be collected from multiple chains (via acceptedTokens) and
|
|
142
|
+
* deposited into the vault on the specified chain.
|
|
143
|
+
*
|
|
144
|
+
* @param params - The vault deposit settlement parameters
|
|
145
|
+
* @returns A BuildSettlementRequest ready to be sent to the API
|
|
146
|
+
*/
|
|
147
|
+
declare function prepareVaultDepositSettlement(params: PrepareVaultDepositSettlementParams): BuildSettlementRequest;
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/clients/helpers/prepare-vault-migrate-settlement.d.ts
|
|
150
|
+
interface PrepareVaultMigrateSettlementParams {
|
|
151
|
+
/** Source vault address to withdraw from */
|
|
152
|
+
sourceVaultAddress: Address;
|
|
153
|
+
/** The underlying token of the source vault */
|
|
154
|
+
sourceVaultUnderlyingToken: Address;
|
|
155
|
+
/** Chain ID where the source vault is deployed */
|
|
156
|
+
sourceVaultChainId: SupportedChainId;
|
|
157
|
+
/** Amount to withdraw from the source vault in underlying token units */
|
|
158
|
+
withdrawAmount: bigint;
|
|
159
|
+
/** Destination vault address to deposit into */
|
|
160
|
+
destVaultAddress: Address;
|
|
161
|
+
/** The underlying token of the destination vault */
|
|
162
|
+
destVaultUnderlyingToken: Address;
|
|
163
|
+
/** Chain ID where the destination vault is deployed */
|
|
164
|
+
destVaultChainId: SupportedChainId;
|
|
165
|
+
/** Minimum total shares required for the deposit to succeed */
|
|
166
|
+
destVaultMinTotalShares: bigint;
|
|
167
|
+
/** Address that will receive the destination vault shares */
|
|
168
|
+
recipientAddress: Address;
|
|
169
|
+
/** Optional payer address */
|
|
170
|
+
payer?: Nullable<Address>;
|
|
171
|
+
/** Optional due date in ISO 8601 format */
|
|
172
|
+
dueDate?: string;
|
|
173
|
+
/** Optional custom metadata */
|
|
174
|
+
metadata?: PaymentRequestMetadata;
|
|
175
|
+
/** Optional note for the settlement */
|
|
176
|
+
note?: string;
|
|
177
|
+
/** Optional maximum number of execution runs */
|
|
178
|
+
maxRuns?: number;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Prepares a vault migrate settlement request.
|
|
182
|
+
*
|
|
183
|
+
* This creates a settlement that migrates funds between two ERC4626 vaults.
|
|
184
|
+
* Funds are withdrawn from the source vault and deposited into the destination
|
|
185
|
+
* vault, which can be on the same chain or a different chain (cross-chain migration).
|
|
186
|
+
*
|
|
187
|
+
* @param params - The vault migrate settlement parameters
|
|
188
|
+
* @returns A BuildSettlementRequest ready to be sent to the API
|
|
189
|
+
*/
|
|
190
|
+
declare function prepareVaultMigrateSettlement(params: PrepareVaultMigrateSettlementParams): BuildSettlementRequest;
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/clients/helpers/settlement-signer.d.ts
|
|
193
|
+
interface CreateSettlementSignerParams {
|
|
194
|
+
context: OtimServerClientContext$1;
|
|
195
|
+
buildResponse: PaymentResponseWithActionNames;
|
|
196
|
+
publicClient: PublicClient;
|
|
197
|
+
delegateAddressMap: Map<number, Address>;
|
|
198
|
+
}
|
|
199
|
+
type CreateSettlementSignerResult = Awaited<ReturnType<UnifiedPaymentSigner["signAll"]>>;
|
|
200
|
+
declare function createSettlementSigner(params: CreateSettlementSignerParams): Promise<CreateSettlementSignerResult>;
|
|
201
|
+
//#endregion
|
|
202
|
+
export { ActivityClient as C, LoginOptions as S, CreateSettlementResponse as _, prepareVaultMigrateSettlement as a, ConfigClient as b, prepareVaultDepositSettlement as c, BuildSettlementRequest$1 as d, OrchestrationParams as f, CreateRawConfig as g, prepareSettlement as h, VaultMigrateParams as i, PrepareVaultWithdrawSettlementParams as l, SettlementParams as m, createSettlementSigner as n, PrepareVaultDepositSettlementParams as o, PrepareSettlementParams as p, PrepareVaultMigrateSettlementParams as r, SettlementVaultDepositParams as s, CreateSettlementSignerParams as t, prepareVaultWithdrawSettlement as u, OrchestrationClient as v, AuthClient as x, DelegationClient as y };
|
|
203
|
+
//# sourceMappingURL=index-BXxyBVLr.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BXxyBVLr.d.mts","names":[],"sources":["../src/clients/activity.ts","../src/clients/auth.ts","../src/clients/config.ts","../src/clients/delegation.ts","../src/clients/orchestration.ts","../src/clients/helpers/prepare-settlement.ts","../src/clients/helpers/prepare-vault-withdraw-settlement.ts","../src/clients/helpers/prepare-vault-deposit-settlement.ts","../src/clients/helpers/prepare-vault-migrate-settlement.ts","../src/clients/helpers/settlement-signer.ts"],"sourcesContent":[],"mappings":"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"}
|