@zebec-network/solana-payroll-sdk 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services.d.ts +7 -4
- package/dist/services.js +191 -25
- package/dist/types.d.ts +33 -1
- package/package.json +2 -2
package/dist/services.d.ts
CHANGED
|
@@ -3,20 +3,23 @@ import { type Commitment, PublicKey } from "@solana/web3.js";
|
|
|
3
3
|
import { MultiTransactionPayload, TransactionPayload } from "@zebec-network/solana-common";
|
|
4
4
|
import type { ZebecConfigs as ZebecConfigsIdl } from "@zebec-network/zebec_configs";
|
|
5
5
|
import type { ZebecPayroll as ZebecPayrollIdl } from "@zebec-network/zebec_payroll";
|
|
6
|
-
import type { CancelPayrollParams, ChangePayrollReceiverParams, CreateMultiplePayrollParams, CreatePayrollParams, InitYieldConfigParams, PayrollConfigInfo, PayrollMetadataInfo, SetTopupDelegateParams, TokenMetadata, TopupPayrollParams, UnlockNowParams, WithdrawPayrollParams, YieldDepositParams } from "./types.js";
|
|
6
|
+
import type { CancelMultiplePayrollParams, CancelPayrollParams, ChangePayrollReceiverParams, CreateMultiplePayrollParams, CreatePayrollParams, InitYieldConfigParams, PauseResumeMultiplePayrollParams, PauseResumePayrollParams, PayrollConfigInfo, PayrollMetadataInfo, SetMultipleTopupDelegateParams, SetTopupDelegateParams, TokenMetadata, TopupMultiplePayrollParams, TopupPayrollParams, UnlockNowParams, WithdrawMultiplePayrollParams, WithdrawPayrollParams, YieldDepositParams } from "./types.js";
|
|
7
7
|
export declare function getPayrollConfig(configProgram: Program<ZebecConfigsIdl>, configName: string): Promise<PayrollConfigInfo>;
|
|
8
8
|
export declare function getWhitelistedTokens(configProgram: Program<ZebecConfigsIdl>, configName: string, commitment?: "processed" | "confirmed" | "finalized"): Promise<TokenMetadata[]>;
|
|
9
9
|
export declare function getPayrollMetadataInfo(program: Program<ZebecPayrollIdl>, payrollMetadata: Address, commitment?: Commitment): Promise<PayrollMetadataInfo>;
|
|
10
10
|
export declare function createPayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: CreatePayrollParams, payrollFeeBaseUrl: string): Promise<TransactionPayload>;
|
|
11
11
|
export declare function createMultiplePayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: CreateMultiplePayrollParams, payrollFeeBaseUrl: string): Promise<MultiTransactionPayload>;
|
|
12
12
|
export declare function cancelPayroll(program: Program<ZebecPayrollIdl>, params: CancelPayrollParams): Promise<TransactionPayload>;
|
|
13
|
-
export declare function
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
export declare function cancelMultiplePayroll(program: Program<ZebecPayrollIdl>, params: CancelMultiplePayrollParams): Promise<MultiTransactionPayload>;
|
|
14
|
+
export declare function pauseResumePayroll(program: Program<ZebecPayrollIdl>, params: PauseResumePayrollParams): Promise<TransactionPayload>;
|
|
15
|
+
export declare function pauseResumeMultiplePayroll(program: Program<ZebecPayrollIdl>, params: PauseResumeMultiplePayrollParams): Promise<MultiTransactionPayload>;
|
|
16
16
|
export declare function withdrawPayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: WithdrawPayrollParams): Promise<TransactionPayload>;
|
|
17
|
+
export declare function withdrawMultiplePayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: WithdrawMultiplePayrollParams): Promise<MultiTransactionPayload>;
|
|
17
18
|
export declare function changePayrollReceiver(program: Program<ZebecPayrollIdl>, params: ChangePayrollReceiverParams): Promise<TransactionPayload>;
|
|
18
19
|
export declare function setTopupDelegate(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: SetTopupDelegateParams): Promise<TransactionPayload>;
|
|
20
|
+
export declare function setMultipleTopupDelegate(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: SetMultipleTopupDelegateParams): Promise<MultiTransactionPayload>;
|
|
19
21
|
export declare function topupPayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: TopupPayrollParams): Promise<TransactionPayload>;
|
|
22
|
+
export declare function topupMultiplePayroll(payrollProgram: Program<ZebecPayrollIdl>, configProgram: Program<ZebecConfigsIdl>, params: TopupMultiplePayrollParams): Promise<MultiTransactionPayload>;
|
|
20
23
|
export declare function initYieldConfig(payrollProgram: Program<ZebecPayrollIdl>, params: InitYieldConfigParams): Promise<TransactionPayload>;
|
|
21
24
|
export declare function yieldDeposit(payrollProgram: Program<ZebecPayrollIdl>, params: YieldDepositParams): Promise<TransactionPayload>;
|
|
22
25
|
export declare function unlockNow(payrollProgram: Program<ZebecPayrollIdl>, params: UnlockNowParams): Promise<TransactionPayload>;
|
package/dist/services.js
CHANGED
|
@@ -168,14 +168,15 @@ export async function getPayrollMetadataInfo(program, payrollMetadata, commitmen
|
|
|
168
168
|
payrollRunId: utils.bytes.utf8.decode(Uint8Array.from(metadataInfo.payrollRunId).filter((byte) => byte !== 0)), // Remove padding zeros
|
|
169
169
|
};
|
|
170
170
|
}
|
|
171
|
-
|
|
171
|
+
function createTransactionPayload(program, payerKey, instructions, signers, addressLookupTableAccounts) {
|
|
172
172
|
const errorMap = new Map();
|
|
173
173
|
program.idl.errors.map((error) => errorMap.set(error.code, error.msg));
|
|
174
174
|
const provider = program.provider;
|
|
175
175
|
let signTransaction;
|
|
176
176
|
if (provider instanceof AnchorProvider) {
|
|
177
177
|
signTransaction = async (tx) => {
|
|
178
|
-
|
|
178
|
+
const signed = await provider.wallet.signTransaction(tx);
|
|
179
|
+
return signed;
|
|
179
180
|
};
|
|
180
181
|
}
|
|
181
182
|
return new TransactionPayload(program.provider.connection, errorMap, {
|
|
@@ -185,6 +186,22 @@ async function createPayload(program, payerKey, instructions, signers, addressLo
|
|
|
185
186
|
addressLookupTableAccounts: addressLookupTableAccounts ?? [],
|
|
186
187
|
}, signTransaction);
|
|
187
188
|
}
|
|
189
|
+
function createMultiTransactionPayload(program, feePayer, transactionData) {
|
|
190
|
+
const errorMap = new Map();
|
|
191
|
+
program.idl.errors.map((error) => errorMap.set(error.code, error.msg));
|
|
192
|
+
const provider = program.provider;
|
|
193
|
+
let signAllTransactions;
|
|
194
|
+
if (provider instanceof AnchorProvider) {
|
|
195
|
+
signAllTransactions = async (txs) => {
|
|
196
|
+
const signed = provider.wallet.signAllTransactions(txs);
|
|
197
|
+
return signed;
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
return MultiTransactionPayload.create(program.provider.connection, errorMap, transactionData.map((data) => ({
|
|
201
|
+
...data,
|
|
202
|
+
feePayer,
|
|
203
|
+
})), signAllTransactions);
|
|
204
|
+
}
|
|
188
205
|
export async function createPayroll(payrollProgram, configProgram, params, payrollFeeBaseUrl) {
|
|
189
206
|
const receiver = translateAddress(params.receiver);
|
|
190
207
|
const sender = translateAddress(params.sender);
|
|
@@ -276,7 +293,9 @@ export async function createPayroll(payrollProgram, configProgram, params, payro
|
|
|
276
293
|
senderId: Array.from(params.senderId),
|
|
277
294
|
});
|
|
278
295
|
ixs.push(createpayrollIx);
|
|
279
|
-
return
|
|
296
|
+
return createTransactionPayload(payrollProgram, feePayer, ixs, [
|
|
297
|
+
payrollMetadataKeypair,
|
|
298
|
+
]);
|
|
280
299
|
}
|
|
281
300
|
export async function createMultiplePayroll(payrollProgram, configProgram, params, payrollFeeBaseUrl) {
|
|
282
301
|
const sender = translateAddress(params.sender);
|
|
@@ -372,21 +391,11 @@ export async function createMultiplePayroll(payrollProgram, configProgram, param
|
|
|
372
391
|
});
|
|
373
392
|
instructions.push(createpayrollIx);
|
|
374
393
|
return {
|
|
375
|
-
feePayer,
|
|
376
394
|
instructions,
|
|
377
395
|
signers: [payrollMetadataKeypair],
|
|
378
396
|
};
|
|
379
397
|
}));
|
|
380
|
-
|
|
381
|
-
payrollProgram.idl.errors.map((error) => errorMap.set(error.code, error.msg));
|
|
382
|
-
const provider = payrollProgram.provider;
|
|
383
|
-
let signAllTransactions;
|
|
384
|
-
if (provider instanceof AnchorProvider) {
|
|
385
|
-
signAllTransactions = async (txns) => {
|
|
386
|
-
return provider.wallet.signAllTransactions(txns);
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
return MultiTransactionPayload.create(payrollProgram.provider.connection, errorMap, transactionData, signAllTransactions);
|
|
398
|
+
return createMultiTransactionPayload(payrollProgram, feePayer, transactionData);
|
|
390
399
|
}
|
|
391
400
|
export async function cancelPayroll(program, params) {
|
|
392
401
|
const user = translateAddress(params.user);
|
|
@@ -421,7 +430,47 @@ export async function cancelPayroll(program, params) {
|
|
|
421
430
|
payrollVault,
|
|
422
431
|
payrollVaultAta,
|
|
423
432
|
});
|
|
424
|
-
return
|
|
433
|
+
return createTransactionPayload(program, feePayer, [ix]);
|
|
434
|
+
}
|
|
435
|
+
export async function cancelMultiplePayroll(program, params) {
|
|
436
|
+
const user = translateAddress(params.user);
|
|
437
|
+
const feePayer = params.feePayer ? translateAddress(params.feePayer) : user;
|
|
438
|
+
const transactionData = await Promise.all(params.payrollMetadataList.map(async (address) => {
|
|
439
|
+
const payrollMetadata = translateAddress(address);
|
|
440
|
+
const payrollMetadataAccount = await program.account.paymentStream.fetch(payrollMetadata);
|
|
441
|
+
const payrollToken = payrollMetadataAccount.financials.streamToken;
|
|
442
|
+
const payroller = payrollMetadataAccount.parties.sender;
|
|
443
|
+
const receiver = payrollMetadataAccount.parties.receiver;
|
|
444
|
+
let otherParty;
|
|
445
|
+
if (user.equals(payroller)) {
|
|
446
|
+
otherParty = receiver;
|
|
447
|
+
}
|
|
448
|
+
else if (user.equals(receiver)) {
|
|
449
|
+
otherParty = payroller;
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
throw new Error("User must be either payroller or receiver");
|
|
453
|
+
}
|
|
454
|
+
const userAta = getAssociatedTokenAddressSync(payrollToken, user, true);
|
|
455
|
+
const otherPartyAta = getAssociatedTokenAddressSync(payrollToken, otherParty, true);
|
|
456
|
+
const [payrollVault] = derivePayrollVaultPda(payrollMetadata, program.programId);
|
|
457
|
+
const payrollVaultAta = getAssociatedTokenAddressSync(payrollToken, payrollVault, true);
|
|
458
|
+
const ix = await createCancelPayrollInstruction(program, {
|
|
459
|
+
feePayer,
|
|
460
|
+
otherParty,
|
|
461
|
+
otherPartyAta,
|
|
462
|
+
signer: user,
|
|
463
|
+
signerAta: userAta,
|
|
464
|
+
payrollMetadata,
|
|
465
|
+
payrollToken,
|
|
466
|
+
payrollVault,
|
|
467
|
+
payrollVaultAta,
|
|
468
|
+
});
|
|
469
|
+
return {
|
|
470
|
+
instructions: [ix],
|
|
471
|
+
};
|
|
472
|
+
}));
|
|
473
|
+
return createMultiTransactionPayload(program, feePayer, transactionData);
|
|
425
474
|
}
|
|
426
475
|
export async function pauseResumePayroll(program, params) {
|
|
427
476
|
const payrollMetadata = translateAddress(params.payrollMetadata);
|
|
@@ -431,7 +480,28 @@ export async function pauseResumePayroll(program, params) {
|
|
|
431
480
|
payrollMetadata,
|
|
432
481
|
user,
|
|
433
482
|
});
|
|
434
|
-
return
|
|
483
|
+
return createTransactionPayload(program, user, [ix]);
|
|
484
|
+
}
|
|
485
|
+
export async function pauseResumeMultiplePayroll(program, params) {
|
|
486
|
+
const transactionData = await Promise.all(params.payrollMetadataList.map(async (address) => {
|
|
487
|
+
const payrollMetadata = translateAddress(address);
|
|
488
|
+
const payrollMetadataAccount = await program.account.paymentStream.fetch(payrollMetadata);
|
|
489
|
+
const user = payrollMetadataAccount.parties.sender;
|
|
490
|
+
const ix = await createPauseResumePayrollInstruction(program, {
|
|
491
|
+
payrollMetadata,
|
|
492
|
+
user,
|
|
493
|
+
});
|
|
494
|
+
return {
|
|
495
|
+
user,
|
|
496
|
+
instructions: [ix],
|
|
497
|
+
};
|
|
498
|
+
}));
|
|
499
|
+
if (transactionData.length === 0) {
|
|
500
|
+
throw new Error("There should be at least one item in transaction data.");
|
|
501
|
+
}
|
|
502
|
+
// biome-ignore lint/style/noNonNullAssertion: there is at least one item in the list so 0 index will not be empty
|
|
503
|
+
const feePayer = transactionData[0].user;
|
|
504
|
+
return createMultiTransactionPayload(program, feePayer, transactionData);
|
|
435
505
|
}
|
|
436
506
|
export async function withdrawPayroll(payrollProgram, configProgram, params) {
|
|
437
507
|
const [payrollConfig] = derivePayrollConfigPda(params.payrollConfigName, configProgram.programId);
|
|
@@ -461,7 +531,43 @@ export async function withdrawPayroll(payrollProgram, configProgram, params) {
|
|
|
461
531
|
withdrawer,
|
|
462
532
|
feePayer,
|
|
463
533
|
});
|
|
464
|
-
return
|
|
534
|
+
return createTransactionPayload(payrollProgram, withdrawer, [ix]);
|
|
535
|
+
}
|
|
536
|
+
export async function withdrawMultiplePayroll(payrollProgram, configProgram, params) {
|
|
537
|
+
const [payrollConfig] = derivePayrollConfigPda(params.payrollConfigName, configProgram.programId);
|
|
538
|
+
const receiver = translateAddress(params.receiver);
|
|
539
|
+
const withdrawer = params.withdrawer
|
|
540
|
+
? translateAddress(params.withdrawer)
|
|
541
|
+
: receiver;
|
|
542
|
+
const feePayer = params.feePayer
|
|
543
|
+
? translateAddress(params.feePayer)
|
|
544
|
+
: params.withdrawer
|
|
545
|
+
? withdrawer
|
|
546
|
+
: receiver;
|
|
547
|
+
const transactionData = await Promise.all(params.payrollMetadataList.map(async (address) => {
|
|
548
|
+
const payrollMetadata = translateAddress(address);
|
|
549
|
+
const payrollMetadataAccount = await payrollProgram.account.paymentStream.fetch(payrollMetadata);
|
|
550
|
+
const payrollToken = payrollMetadataAccount.financials.streamToken;
|
|
551
|
+
const receiverAta = getAssociatedTokenAddressSync(payrollToken, receiver, true);
|
|
552
|
+
const [payrollVault] = derivePayrollVaultPda(payrollMetadata, payrollProgram.programId);
|
|
553
|
+
const payrollVaultAta = getAssociatedTokenAddressSync(payrollToken, payrollVault, true);
|
|
554
|
+
const ix = await createWithdrawPayrollInstruction(payrollProgram, {
|
|
555
|
+
receiver,
|
|
556
|
+
receiverAta,
|
|
557
|
+
payrollConfig,
|
|
558
|
+
payrollMetadata,
|
|
559
|
+
payrollToken,
|
|
560
|
+
payrollVault,
|
|
561
|
+
payrollVaultAta,
|
|
562
|
+
withdrawer,
|
|
563
|
+
feePayer,
|
|
564
|
+
});
|
|
565
|
+
return {
|
|
566
|
+
feePayer: withdrawer,
|
|
567
|
+
instructions: [ix],
|
|
568
|
+
};
|
|
569
|
+
}));
|
|
570
|
+
return createMultiTransactionPayload(payrollProgram, withdrawer, transactionData);
|
|
465
571
|
}
|
|
466
572
|
export async function changePayrollReceiver(program, params) {
|
|
467
573
|
const payrollMetadata = translateAddress(params.payrollMetadata);
|
|
@@ -472,7 +578,7 @@ export async function changePayrollReceiver(program, params) {
|
|
|
472
578
|
newRecipient,
|
|
473
579
|
signer,
|
|
474
580
|
});
|
|
475
|
-
return
|
|
581
|
+
return createTransactionPayload(program, signer, [ix]);
|
|
476
582
|
}
|
|
477
583
|
export async function setTopupDelegate(payrollProgram, configProgram, params) {
|
|
478
584
|
const sender = translateAddress(params.sender);
|
|
@@ -496,12 +602,39 @@ export async function setTopupDelegate(payrollProgram, configProgram, params) {
|
|
|
496
602
|
}, {
|
|
497
603
|
amount,
|
|
498
604
|
});
|
|
499
|
-
return
|
|
605
|
+
return createTransactionPayload(payrollProgram, sender, [ix]);
|
|
606
|
+
}
|
|
607
|
+
export async function setMultipleTopupDelegate(payrollProgram, configProgram, params) {
|
|
608
|
+
const sender = translateAddress(params.sender);
|
|
609
|
+
const [payrollConfig] = derivePayrollConfigPda(params.payrollConfigName, configProgram.programId);
|
|
610
|
+
const transactionData = await Promise.all(params.delegateInfoList.map(async (delegateInfo) => {
|
|
611
|
+
const payrollMetadata = translateAddress(delegateInfo.payrollMetadata);
|
|
612
|
+
const payrollMetadataAccount = await payrollProgram.account.paymentStream.fetch(payrollMetadata);
|
|
613
|
+
const payrollToken = payrollMetadataAccount.financials.streamToken;
|
|
614
|
+
const senderAta = getAssociatedTokenAddressSync(payrollToken, sender, true);
|
|
615
|
+
const [payrollVault] = derivePayrollVaultPda(payrollMetadata, payrollProgram.programId);
|
|
616
|
+
const payrollTokenDecimals = await getMintDecimals(payrollProgram.provider.connection, payrollToken);
|
|
617
|
+
const amount = new BN(BigNumber(delegateInfo.amount)
|
|
618
|
+
.multipliedBy(BigNumber(10).pow(payrollTokenDecimals))
|
|
619
|
+
.toFixed(0));
|
|
620
|
+
const ix = await createSetTopupDelegateInstruction(payrollProgram, {
|
|
621
|
+
sender,
|
|
622
|
+
senderAta,
|
|
623
|
+
payrollConfig,
|
|
624
|
+
payrollMetadata,
|
|
625
|
+
payrollToken,
|
|
626
|
+
payrollVault,
|
|
627
|
+
}, { amount });
|
|
628
|
+
return {
|
|
629
|
+
instructions: [ix],
|
|
630
|
+
};
|
|
631
|
+
}));
|
|
632
|
+
return createMultiTransactionPayload(payrollProgram, sender, transactionData);
|
|
500
633
|
}
|
|
501
634
|
export async function topupPayroll(payrollProgram, configProgram, params) {
|
|
502
635
|
const sender = translateAddress(params.sender);
|
|
503
636
|
const payrollMetadata = translateAddress(params.payrollMetadata);
|
|
504
|
-
const caller =
|
|
637
|
+
const caller = translateAddress(params.caller);
|
|
505
638
|
const payrollMetadataAccount = await payrollProgram.account.paymentStream.fetch(payrollMetadata);
|
|
506
639
|
const payrollToken = payrollMetadataAccount.financials.streamToken;
|
|
507
640
|
const senderAta = getAssociatedTokenAddressSync(payrollToken, sender, true);
|
|
@@ -524,7 +657,38 @@ export async function topupPayroll(payrollProgram, configProgram, params) {
|
|
|
524
657
|
}, {
|
|
525
658
|
extra: amount,
|
|
526
659
|
});
|
|
527
|
-
return
|
|
660
|
+
return createTransactionPayload(payrollProgram, caller, [ix]);
|
|
661
|
+
}
|
|
662
|
+
export async function topupMultiplePayroll(payrollProgram, configProgram, params) {
|
|
663
|
+
const caller = translateAddress(params.caller);
|
|
664
|
+
const [payrollConfig] = derivePayrollConfigPda(params.payrollConfigName, configProgram.programId);
|
|
665
|
+
const transactionData = await Promise.all(params.topupInfoList.map(async (topupInfo) => {
|
|
666
|
+
const sender = translateAddress(topupInfo.sender);
|
|
667
|
+
const payrollMetadata = translateAddress(topupInfo.payrollMetadata);
|
|
668
|
+
const payrollMetadataAccount = await payrollProgram.account.paymentStream.fetch(payrollMetadata);
|
|
669
|
+
const payrollToken = payrollMetadataAccount.financials.streamToken;
|
|
670
|
+
const senderAta = getAssociatedTokenAddressSync(payrollToken, sender, true);
|
|
671
|
+
const [payrollVault] = derivePayrollVaultPda(payrollMetadata, payrollProgram.programId);
|
|
672
|
+
const payrollVaultAta = getAssociatedTokenAddressSync(payrollToken, payrollVault, true);
|
|
673
|
+
const payrollTokenDecimals = await getMintDecimals(payrollProgram.provider.connection, payrollToken);
|
|
674
|
+
const amount = new BN(BigNumber(topupInfo.extra)
|
|
675
|
+
.multipliedBy(BigNumber(10).pow(payrollTokenDecimals))
|
|
676
|
+
.toFixed(0));
|
|
677
|
+
const ix = await createTopupPayrollInstruction(payrollProgram, {
|
|
678
|
+
caller,
|
|
679
|
+
sender,
|
|
680
|
+
senderAta,
|
|
681
|
+
payrollConfig,
|
|
682
|
+
payrollMetadata,
|
|
683
|
+
payrollToken,
|
|
684
|
+
payrollVault,
|
|
685
|
+
payrollVaultAta,
|
|
686
|
+
}, { extra: amount });
|
|
687
|
+
return {
|
|
688
|
+
instructions: [ix],
|
|
689
|
+
};
|
|
690
|
+
}));
|
|
691
|
+
return createMultiTransactionPayload(payrollProgram, caller, transactionData);
|
|
528
692
|
}
|
|
529
693
|
export async function initYieldConfig(payrollProgram, params) {
|
|
530
694
|
const admin = translateAddress(params.admin);
|
|
@@ -548,7 +712,7 @@ export async function initYieldConfig(payrollProgram, params) {
|
|
|
548
712
|
minUnlockAmount,
|
|
549
713
|
unlockCooldown: new BN(params.unlockCooldown),
|
|
550
714
|
});
|
|
551
|
-
return
|
|
715
|
+
return createTransactionPayload(payrollProgram, admin, [ix]);
|
|
552
716
|
}
|
|
553
717
|
export async function yieldDeposit(payrollProgram, params) {
|
|
554
718
|
const company = translateAddress(params.company);
|
|
@@ -569,12 +733,14 @@ export async function yieldDeposit(payrollProgram, params) {
|
|
|
569
733
|
companyUsdtAta,
|
|
570
734
|
usdtMint,
|
|
571
735
|
}, { amount });
|
|
572
|
-
return
|
|
736
|
+
return createTransactionPayload(payrollProgram, company, [ix]);
|
|
573
737
|
}
|
|
574
738
|
export async function unlockNow(payrollProgram, params) {
|
|
575
739
|
const company = translateAddress(params.company);
|
|
576
740
|
const usdtMint = translateAddress(params.usdtMint);
|
|
577
|
-
const feePayer = params.feePayer
|
|
741
|
+
const feePayer = params.feePayer
|
|
742
|
+
? translateAddress(params.feePayer)
|
|
743
|
+
: company;
|
|
578
744
|
const [companyDeposit] = deriveCompanyDepositPda(company, payrollProgram.programId);
|
|
579
745
|
const [yieldConfig] = deriveYieldConfigPda(payrollProgram.programId);
|
|
580
746
|
const [vault] = deriveYieldVaultPda(payrollProgram.programId);
|
|
@@ -590,7 +756,7 @@ export async function unlockNow(payrollProgram, params) {
|
|
|
590
756
|
companyUsdtAta,
|
|
591
757
|
usdtMint,
|
|
592
758
|
});
|
|
593
|
-
return
|
|
759
|
+
return createTransactionPayload(payrollProgram, feePayer, [ix]);
|
|
594
760
|
}
|
|
595
761
|
export async function getCompanyDeposit(payrollProgram, company) {
|
|
596
762
|
const account = await payrollProgram.account.companyDeposit.fetch(translateAddress(company));
|
package/dist/types.d.ts
CHANGED
|
@@ -138,9 +138,17 @@ export type CancelPayrollParams = {
|
|
|
138
138
|
payrollMetadata: Address;
|
|
139
139
|
user: Address;
|
|
140
140
|
};
|
|
141
|
+
export type CancelMultiplePayrollParams = {
|
|
142
|
+
feePayer?: Address;
|
|
143
|
+
user: Address;
|
|
144
|
+
payrollMetadataList: Address[];
|
|
145
|
+
};
|
|
141
146
|
export type PauseResumePayrollParams = {
|
|
142
147
|
payrollMetadata: Address;
|
|
143
148
|
};
|
|
149
|
+
export type PauseResumeMultiplePayrollParams = {
|
|
150
|
+
payrollMetadataList: Address[];
|
|
151
|
+
};
|
|
144
152
|
export type WithdrawPayrollParams = {
|
|
145
153
|
payrollConfigName: string;
|
|
146
154
|
payrollMetadata: Address;
|
|
@@ -148,6 +156,13 @@ export type WithdrawPayrollParams = {
|
|
|
148
156
|
feePayer?: Address;
|
|
149
157
|
receiver: Address;
|
|
150
158
|
};
|
|
159
|
+
export type WithdrawMultiplePayrollParams = {
|
|
160
|
+
payrollConfigName: string;
|
|
161
|
+
payrollMetadataList: Address[];
|
|
162
|
+
withdrawer?: Address;
|
|
163
|
+
feePayer?: Address;
|
|
164
|
+
receiver: Address;
|
|
165
|
+
};
|
|
151
166
|
export type ChangePayrollReceiverParams = {
|
|
152
167
|
payrollMetadata: Address;
|
|
153
168
|
newRecipient: Address;
|
|
@@ -155,17 +170,34 @@ export type ChangePayrollReceiverParams = {
|
|
|
155
170
|
};
|
|
156
171
|
export type TopupPayrollParams = {
|
|
157
172
|
payrollConfigName: string;
|
|
158
|
-
caller
|
|
173
|
+
caller: Address;
|
|
159
174
|
sender: Address;
|
|
160
175
|
payrollMetadata: Address;
|
|
161
176
|
extra: Numeric;
|
|
162
177
|
};
|
|
178
|
+
export type TopupMultiplePayrollParams = {
|
|
179
|
+
payrollConfigName: string;
|
|
180
|
+
caller: Address;
|
|
181
|
+
topupInfoList: {
|
|
182
|
+
sender: Address;
|
|
183
|
+
payrollMetadata: Address;
|
|
184
|
+
extra: Numeric;
|
|
185
|
+
}[];
|
|
186
|
+
};
|
|
163
187
|
export type SetTopupDelegateParams = {
|
|
164
188
|
payrollConfigName: string;
|
|
165
189
|
sender: Address;
|
|
166
190
|
payrollMetadata: Address;
|
|
167
191
|
amount: Numeric;
|
|
168
192
|
};
|
|
193
|
+
export type SetMultipleTopupDelegateParams = {
|
|
194
|
+
payrollConfigName: string;
|
|
195
|
+
sender: Address;
|
|
196
|
+
delegateInfoList: {
|
|
197
|
+
payrollMetadata: Address;
|
|
198
|
+
amount: Numeric;
|
|
199
|
+
}[];
|
|
200
|
+
};
|
|
169
201
|
export type InitYieldConfigParams = {
|
|
170
202
|
admin: Address;
|
|
171
203
|
usdtMint: Address;
|
package/package.json
CHANGED