@nexus-cross/pop 1.4.0-beta.6 → 2.4.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +8 -1
- package/README.md +9 -1
- package/dist/{createSafeDrop-DtWLupoE.d.ts → SafeDropApiPort-BLewfSaK.d.ts} +1 -310
- package/dist/adapters/index.d.ts +6 -303
- package/dist/adapters/index.js +1 -1
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +1 -0
- package/dist/chunk-5DT3H2VX.js +1 -0
- package/dist/chunk-GS7GCYQD.js +1 -0
- package/dist/chunk-I7UGWJHZ.js +1 -0
- package/dist/createSafeDrop-DfiY8vHq.d.ts +312 -0
- package/dist/index-2sfHzZeD.d.ts +305 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +1 -1
- package/dist/react/index.d.ts +2 -1
- package/package.json +5 -1
- package/dist/chunk-SX7PPVTJ.js +0 -1
package/AGENTS.md
CHANGED
|
@@ -25,12 +25,19 @@ link's `#fragment` — the backend never sees it, so backend + link are each ins
|
|
|
25
25
|
| Import | Contents | Requires |
|
|
26
26
|
|---|---|---|
|
|
27
27
|
| `@nexus-cross/pop` | domain types, use cases, pure utils, `createSafeDrop` | nothing |
|
|
28
|
-
| `@nexus-cross/pop/
|
|
28
|
+
| `@nexus-cross/pop/api` | HTTP clients only — `HttpSafeDropApiAdapter`, `CrossAuthClient`, X OAuth PKCE, base-URL helpers | `fetch` |
|
|
29
|
+
| `@nexus-cross/pop/adapters` | everything in `/api` **plus** viem chain/signing adapters and `createSafeDropClient` | `viem`, `fetch` |
|
|
29
30
|
| `@nexus-cross/pop/react` | `SafeDropProvider`, `useSafeDrop` | `react` |
|
|
30
31
|
|
|
31
32
|
Default for an app: `createSafeDropClient` (adapters) + `SafeDropProvider` (react).
|
|
32
33
|
`viem` and `react` are **optional peers** — install only what the chosen entry point needs.
|
|
33
34
|
|
|
35
|
+
**Read-only consumer? Use `/api`, not `/adapters`.** The `/adapters` barrel
|
|
36
|
+
statically imports the viem chain/signing adapters, so importing it just to call
|
|
37
|
+
`/drops` or `/histories` drags `viem` into your bundle. `/api` is the fetch-only
|
|
38
|
+
slice and needs no viem. Reach for `/adapters` when you actually sign or send
|
|
39
|
+
transactions (deposit / withdraw / refund).
|
|
40
|
+
|
|
34
41
|
```sh
|
|
35
42
|
pnpm add @nexus-cross/pop viem # + react if using ./react
|
|
36
43
|
```
|
package/README.md
CHANGED
|
@@ -17,11 +17,19 @@ npm i @nexus-cross/pop viem # react는 선택
|
|
|
17
17
|
| import | 내용 | 의존 |
|
|
18
18
|
|---|---|---|
|
|
19
19
|
| `@nexus-cross/pop` | 도메인 타입, usecase, 순수 유틸, `createSafeDrop` facade | 없음 |
|
|
20
|
-
| `@nexus-cross/pop/
|
|
20
|
+
| `@nexus-cross/pop/api` | HTTP 클라이언트만 — `HttpSafeDropApiAdapter`, `CrossAuthClient`, X OAuth PKCE, base URL 헬퍼 | fetch |
|
|
21
|
+
| `@nexus-cross/pop/adapters` | 위 전부 + viem 체인/서명 어댑터, `createSafeDropClient` | viem, fetch |
|
|
21
22
|
| `@nexus-cross/pop/react` | `SafeDropProvider`, `useSafeDrop` | react |
|
|
22
23
|
|
|
23
24
|
대부분의 앱은 **`createSafeDropClient`(adapters) + `SafeDropProvider`(react)** 만 쓰면 된다.
|
|
24
25
|
|
|
26
|
+
**조회만 하는 소비자는 `/api` 를 쓴다.** `/adapters` 배럴은 viem 체인/서명
|
|
27
|
+
어댑터를 static import 하므로, `/drops`·`/histories` 같은 읽기 전용 호출만
|
|
28
|
+
필요한데 그 배럴을 쓰면 viem 이 딸려온다. `/api` 는 fetch 만 쓰는 부분을 떼어낸
|
|
29
|
+
진입점이라 **viem 무의존**이다 (`@nexus-cross/connect-kit-react` 가 ONEpop
|
|
30
|
+
summary 를 조회할 때 쓰는 경로 — 그 패키지는 의존성 정책상 viem 을 직접 쓸 수
|
|
31
|
+
없다). deposit/withdraw/refund 처럼 서명·체인 호출이 필요하면 `/adapters`.
|
|
32
|
+
|
|
25
33
|
## 개념
|
|
26
34
|
|
|
27
35
|
- **claimAddress** — 드롭당 임시 지갑 주소. `activeDropOf`로 현재 drop key를 찾는 데 사용.
|
|
@@ -261,27 +261,6 @@ interface RecipientChangeSignature extends RecipientSignature {
|
|
|
261
261
|
readonly newRecipient: Address;
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
/**
|
|
265
|
-
* 순수 계산이 아니라 외부 구현(해시 라이브러리/CSPRNG)이 필요한 암호 연산.
|
|
266
|
-
* core는 keccak/난수 구현을 갖지 않으므로 Port로 분리한다.
|
|
267
|
-
* 어댑터가 viem `keccak256`/`crypto.getRandomValues` 등으로 구현.
|
|
268
|
-
*/
|
|
269
|
-
interface CryptoPort {
|
|
270
|
-
/** utf8(secret) → keccak256 → 0x-prefixed hex. 컨트랙트 secretHash와 일치해야 함. */
|
|
271
|
-
keccak256(input: Secret): SecretHash;
|
|
272
|
-
/** CSPRNG 기반 고엔트로피 secret 문구 생성. */
|
|
273
|
-
randomSecret(): Secret;
|
|
274
|
-
/**
|
|
275
|
-
* digest + 서명 → 서명자 주소. 백엔드 validator 서명을 **가스 쓰기 전에** 검증하는
|
|
276
|
-
* 용도(최종 관문은 여전히 컨트랙트다). optional — 미구현 어댑터에서는 사전 검증만
|
|
277
|
-
* 생략되고 플로우는 그대로 동작한다.
|
|
278
|
-
*/
|
|
279
|
-
recoverAddress?(params: {
|
|
280
|
-
digest: Hex;
|
|
281
|
-
signature: Hex;
|
|
282
|
-
}): Promise<Address>;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
264
|
/**
|
|
286
265
|
* off-chain 백엔드(one-pop-api) 계약. 임시 claim 키 보관/전달, X 연결, 조회
|
|
287
266
|
* 엔드포인트, validator 서명을 담당한다. 이 포트만으로는 자금을 옮길 수 없다
|
|
@@ -401,292 +380,4 @@ interface SafeDropApiPort {
|
|
|
401
380
|
}): Promise<BatchClaimSignature>;
|
|
402
381
|
}
|
|
403
382
|
|
|
404
|
-
|
|
405
|
-
interface OnePopDrop {
|
|
406
|
-
dropKey: Hex;
|
|
407
|
-
sponsor: Address;
|
|
408
|
-
amount: bigint;
|
|
409
|
-
claimAddress: Address;
|
|
410
|
-
recipient: Address;
|
|
411
|
-
secretHash: SecretHash;
|
|
412
|
-
id: Id;
|
|
413
|
-
}
|
|
414
|
-
interface DropState extends OnePopDrop {
|
|
415
|
-
/** ONEpop escrow is single-token; token() is contract-wide. */
|
|
416
|
-
token: Address;
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* SafeDrop 컨트랙트 상호작용. 어댑터는 자신의 컨트랙트 주소를 알고 있으므로
|
|
420
|
-
* approve의 spender 등은 받지 않는다. 쓰기는 receipt 확인 후 tx hash 반환.
|
|
421
|
-
* withdraw는 임시 지갑이 직접 전송(가스 대납) — claimKey 필요.
|
|
422
|
-
* ABI: src/infrastructure/safedrop_abi.json.
|
|
423
|
-
*/
|
|
424
|
-
interface SafeDropChainPort {
|
|
425
|
-
getDropByKey(dropKey: Hex): Promise<OnePopDrop | null>;
|
|
426
|
-
getDropKeyByClaimAddress(claimAddress: Address, sponsor: Address): Promise<Hex | null>;
|
|
427
|
-
getClaimedRecipient(params: {
|
|
428
|
-
id: Id;
|
|
429
|
-
}): Promise<Address>;
|
|
430
|
-
getPendingDropsById(params: {
|
|
431
|
-
id: Id;
|
|
432
|
-
}): Promise<readonly OnePopDrop[]>;
|
|
433
|
-
getPendingDropsByRecipient(params: {
|
|
434
|
-
recipient: Address;
|
|
435
|
-
}): Promise<readonly OnePopDrop[]>;
|
|
436
|
-
getPendingDropsBySponsor(params: {
|
|
437
|
-
sponsor: Address;
|
|
438
|
-
}): Promise<readonly OnePopDrop[]>;
|
|
439
|
-
/** activeDropOf(claimAddr) → drops(dropKey). 없으면 null. */
|
|
440
|
-
getDrop(claimAddress: Address, sponsor: Address): Promise<DropState | null>;
|
|
441
|
-
/** claimDigest(recipient, id, dropKey) — 서명 대상 bytes32. */
|
|
442
|
-
getClaimDigest(params: {
|
|
443
|
-
recipient: Address;
|
|
444
|
-
id: Id;
|
|
445
|
-
dropKey: Hex;
|
|
446
|
-
}): Promise<Hex>;
|
|
447
|
-
/**
|
|
448
|
-
* EIP-2612 permit 예치 — 현재 ONEpop deposit의 유일한 형태다.
|
|
449
|
-
* 서명(typed data)·deadline·v/r/s는 전부 어댑터 내부 관심사다.
|
|
450
|
-
*/
|
|
451
|
-
depositWithPermit(params: {
|
|
452
|
-
claimAddress: Address;
|
|
453
|
-
token: Address;
|
|
454
|
-
amount: bigint;
|
|
455
|
-
id: Id;
|
|
456
|
-
secretHash: SecretHash;
|
|
457
|
-
onSubmitted?: (txHash: Hex) => void | Promise<void>;
|
|
458
|
-
}): Promise<{
|
|
459
|
-
txHash: Hex;
|
|
460
|
-
dropKey: Hex;
|
|
461
|
-
}>;
|
|
462
|
-
depositMapped(params: {
|
|
463
|
-
token: Address;
|
|
464
|
-
amount: bigint;
|
|
465
|
-
id: Id;
|
|
466
|
-
onSubmitted?: (txHash: Hex) => void | Promise<void>;
|
|
467
|
-
}): Promise<{
|
|
468
|
-
txHash: Hex;
|
|
469
|
-
dropKey: Hex;
|
|
470
|
-
}>;
|
|
471
|
-
withdrawUnmapped(params: {
|
|
472
|
-
claimKey: Hex;
|
|
473
|
-
recipient: Address;
|
|
474
|
-
id: Id;
|
|
475
|
-
dropKey: Hex;
|
|
476
|
-
secret: Secret;
|
|
477
|
-
signature?: Hex;
|
|
478
|
-
onSubmitted?: (txHash: Hex) => void | Promise<void>;
|
|
479
|
-
}): Promise<Hex>;
|
|
480
|
-
withdrawMapped(params: {
|
|
481
|
-
dropKey: Hex;
|
|
482
|
-
onSubmitted?: (txHash: Hex) => void | Promise<void>;
|
|
483
|
-
}): Promise<Hex>;
|
|
484
|
-
batchWithdrawMapped(params: {
|
|
485
|
-
count: number;
|
|
486
|
-
}): Promise<Hex>;
|
|
487
|
-
batchWithdrawMappedByKeys(params: {
|
|
488
|
-
dropKeys: readonly Hex[];
|
|
489
|
-
}): Promise<Hex>;
|
|
490
|
-
withdrawUnmappedBatchByKeys(params: {
|
|
491
|
-
claimKey: Hex;
|
|
492
|
-
recipient: Address;
|
|
493
|
-
id: Id;
|
|
494
|
-
anchorDropKey: Hex;
|
|
495
|
-
secret: Secret;
|
|
496
|
-
nonce: bigint;
|
|
497
|
-
deadline: bigint;
|
|
498
|
-
dropKeys: readonly Hex[];
|
|
499
|
-
validatorSignature: Hex;
|
|
500
|
-
}): Promise<Hex>;
|
|
501
|
-
refundByKey(params: {
|
|
502
|
-
dropKey: Hex;
|
|
503
|
-
}): Promise<Hex>;
|
|
504
|
-
getChangeNonce(params: {
|
|
505
|
-
id: Id;
|
|
506
|
-
}): Promise<bigint>;
|
|
507
|
-
getPendingRecipientChange(params: {
|
|
508
|
-
id: Id;
|
|
509
|
-
}): Promise<Address>;
|
|
510
|
-
requestRecipientChange(params: {
|
|
511
|
-
id: Id;
|
|
512
|
-
newRecipient: Address;
|
|
513
|
-
}): Promise<Hex>;
|
|
514
|
-
completeRecipientChange(params: {
|
|
515
|
-
id: Id;
|
|
516
|
-
nonce: bigint;
|
|
517
|
-
deadline: bigint;
|
|
518
|
-
signature: Hex;
|
|
519
|
-
}): Promise<Hex>;
|
|
520
|
-
cancelRecipientChange(params: {
|
|
521
|
-
id: Id;
|
|
522
|
-
}): Promise<Hex>;
|
|
523
|
-
resetRecipient(params: {
|
|
524
|
-
id: Id;
|
|
525
|
-
nonce: bigint;
|
|
526
|
-
deadline: bigint;
|
|
527
|
-
signature: Hex;
|
|
528
|
-
}): Promise<Hex>;
|
|
529
|
-
/** validatorNonceById(keccak256(utf8(id))). id 해싱은 어댑터 책임. */
|
|
530
|
-
getValidatorNonce?(params: {
|
|
531
|
-
id: Id;
|
|
532
|
-
}): Promise<bigint>;
|
|
533
|
-
/**
|
|
534
|
-
* validatorClaimDigest(recipient, id, nonce, deadline) — 온체인 EIP-712 다이제스트.
|
|
535
|
-
* 로컬 재조립 대신 이 값을 읽어 백엔드 서명을 검증한다.
|
|
536
|
-
*/
|
|
537
|
-
getValidatorClaimDigest?(params: {
|
|
538
|
-
recipient: Address;
|
|
539
|
-
id: Id;
|
|
540
|
-
nonce: bigint;
|
|
541
|
-
deadline: bigint;
|
|
542
|
-
}): Promise<Hex>;
|
|
543
|
-
/** validator() — 서명자여야 하는 주소. 백엔드 서명 검증의 기준값. */
|
|
544
|
-
getValidator?(): Promise<Address>;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
/**
|
|
548
|
-
* 임시 claim 키로 claimDigest(온체인에서 읽은 bytes32)에 raw ECDSA 서명을 만든다.
|
|
549
|
-
* 컨트랙트가 claimDigest를 계산해주므로 로컬 EIP-712 typed data 구성은 불필요 —
|
|
550
|
-
* digest를 그대로 서명한다. 서명은 브라우저 로컬, 백엔드 미관여.
|
|
551
|
-
*/
|
|
552
|
-
interface ClaimSignerPort {
|
|
553
|
-
signDigest(params: {
|
|
554
|
-
claimKey: Hex;
|
|
555
|
-
digest: Hex;
|
|
556
|
-
}): Promise<Hex>;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
|
-
/**
|
|
560
|
-
* 프레임워크 무관 진입점. 포트 구현(어댑터)을 주입하면 usecase를 조립해 반환한다.
|
|
561
|
-
*
|
|
562
|
-
* const safeDrop = createSafeDrop(
|
|
563
|
-
* { claimBaseUrl },
|
|
564
|
-
* { api, chain, signer, crypto },
|
|
565
|
-
* );
|
|
566
|
-
* const result = await safeDrop.deposit({ ... });
|
|
567
|
-
* if (!result.isMapped) sendLink(result.withdrawLink);
|
|
568
|
-
*
|
|
569
|
-
* viem/HTTP 어댑터를 자동 조립하려면 `@nexus-cross/pop/adapters`의
|
|
570
|
-
* createSafeDropClient를 사용한다. (도메인/컨트랙트 주소는 chain 어댑터가 안다.)
|
|
571
|
-
*/
|
|
572
|
-
|
|
573
|
-
interface SafeDropConfig {
|
|
574
|
-
/** 수령 링크 base URL. 예: https://one-pop.example/claim */
|
|
575
|
-
claimBaseUrl: string;
|
|
576
|
-
}
|
|
577
|
-
interface SafeDropDeps {
|
|
578
|
-
api: SafeDropApiPort;
|
|
579
|
-
chain: SafeDropChainPort;
|
|
580
|
-
signer: ClaimSignerPort;
|
|
581
|
-
crypto: CryptoPort;
|
|
582
|
-
}
|
|
583
|
-
interface SafeDrop {
|
|
584
|
-
readonly config: SafeDropConfig;
|
|
585
|
-
deposit(params: DepositParams): Promise<DepositResult>;
|
|
586
|
-
/** X OAuth 검증 후 (sender_address + 토큰 소유자)로 임시 claim 키/주소를 받는다 (point of return). */
|
|
587
|
-
retrieveClaimKey(params: {
|
|
588
|
-
claimAddress: Address;
|
|
589
|
-
senderAddress: Address;
|
|
590
|
-
oauth: OAuthProof;
|
|
591
|
-
}): Promise<{
|
|
592
|
-
isMapped: true;
|
|
593
|
-
} | {
|
|
594
|
-
isMapped: false;
|
|
595
|
-
claimKey: Hex;
|
|
596
|
-
claimAddress: Address;
|
|
597
|
-
}>;
|
|
598
|
-
withdraw(params: WithdrawParams): Promise<WithdrawResult>;
|
|
599
|
-
refund(params: RefundParams): Promise<RefundResult>;
|
|
600
|
-
/** activeDropOf(claimAddr)로 조회한 현재 온체인 드롭. */
|
|
601
|
-
getDrop(claimAddress: Address, sponsor: Address): Promise<DropState | null>;
|
|
602
|
-
getDropByKey(dropKey: Hex): Promise<OnePopDrop | null>;
|
|
603
|
-
getDropKeyByClaimAddress(claimAddress: Address, sponsor: Address): Promise<Hex | null>;
|
|
604
|
-
getClaimedRecipient(id: Id): Promise<Address>;
|
|
605
|
-
getPendingDropsById(id: Id): Promise<readonly OnePopDrop[]>;
|
|
606
|
-
getPendingDropsByRecipient(recipient: Address): Promise<readonly OnePopDrop[]>;
|
|
607
|
-
getPendingDropsBySponsor(sponsor: Address): Promise<readonly OnePopDrop[]>;
|
|
608
|
-
withdrawUnmapped(params: Parameters<SafeDropChainPort['withdrawUnmapped']>[0]): Promise<Hex>;
|
|
609
|
-
withdrawMapped(params: Parameters<SafeDropChainPort['withdrawMapped']>[0]): Promise<Hex>;
|
|
610
|
-
batchWithdrawMapped(count: number): Promise<Hex>;
|
|
611
|
-
batchWithdrawMappedByKeys(dropKeys: readonly Hex[]): Promise<Hex>;
|
|
612
|
-
refundByKey(dropKey: Hex): Promise<Hex>;
|
|
613
|
-
getChangeNonce(id: Id): Promise<bigint>;
|
|
614
|
-
getPendingRecipientChange(id: Id): Promise<Address>;
|
|
615
|
-
requestRecipientChange(id: Id, newRecipient: Address): Promise<Hex>;
|
|
616
|
-
completeRecipientChange(params: Parameters<SafeDropChainPort['completeRecipientChange']>[0]): Promise<Hex>;
|
|
617
|
-
cancelRecipientChange(id: Id): Promise<Hex>;
|
|
618
|
-
resetRecipient(params: Parameters<SafeDropChainPort['resetRecipient']>[0]): Promise<Hex>;
|
|
619
|
-
/** 내게 온 수령 대기 목록. Bearer JWT + 활성 X 연결 필요. */
|
|
620
|
-
listDrops(params: {
|
|
621
|
-
token: Address;
|
|
622
|
-
dropKey?: Hex;
|
|
623
|
-
}): Promise<DropInbox>;
|
|
624
|
-
/** 선택한 pending 드롭을 인박스에서 숨긴다. */
|
|
625
|
-
rejectDrops(dropIds: readonly number[]): Promise<number>;
|
|
626
|
-
/** 카드 디자인 목록 (공개). deposit의 `envelopeId`에 쓴다. */
|
|
627
|
-
listEnvelopes(params?: {
|
|
628
|
-
locale?: string;
|
|
629
|
-
}): Promise<readonly Envelope[]>;
|
|
630
|
-
/** 토큰별 pending 잔액 상위 (공개). */
|
|
631
|
-
getLeaderboard(params: {
|
|
632
|
-
token: Address;
|
|
633
|
-
page?: number;
|
|
634
|
-
pageSize?: number;
|
|
635
|
-
identifier?: string;
|
|
636
|
-
}): Promise<LeaderboardPage>;
|
|
637
|
-
getMyLeaderboardEntry(params: {
|
|
638
|
-
token: Address;
|
|
639
|
-
}): Promise<MyLeaderboardEntry>;
|
|
640
|
-
/** sent/received 드롭 히스토리. Bearer JWT 필요. */
|
|
641
|
-
listHistories(params: {
|
|
642
|
-
type: HistoryType;
|
|
643
|
-
token?: Address;
|
|
644
|
-
status?: HistoryStatus;
|
|
645
|
-
rejected?: boolean;
|
|
646
|
-
page?: number;
|
|
647
|
-
pageSize?: number;
|
|
648
|
-
}): Promise<HistoryPage>;
|
|
649
|
-
/** 활성 X 연결. 없으면 null. */
|
|
650
|
-
getXConnection(): Promise<XConnection | null>;
|
|
651
|
-
/** X 계정을 SIWE 지갑에 연결. `listDrops`의 선행 조건. */
|
|
652
|
-
connectX(params: {
|
|
653
|
-
oauth: OAuthProof;
|
|
654
|
-
}): Promise<XConnection>;
|
|
655
|
-
/** X 연결 해제 (idempotent). */
|
|
656
|
-
disconnectX(): Promise<void>;
|
|
657
|
-
submitFeedback(params: {
|
|
658
|
-
dropId: number;
|
|
659
|
-
message: string;
|
|
660
|
-
}): Promise<string>;
|
|
661
|
-
setRevealYou(revealYou: boolean): Promise<boolean>;
|
|
662
|
-
requestRecipientChangeSignature(params: {
|
|
663
|
-
id: Id;
|
|
664
|
-
oauth: OAuthProof;
|
|
665
|
-
nonce: bigint;
|
|
666
|
-
deadline: bigint;
|
|
667
|
-
}): Promise<RecipientChangeSignature>;
|
|
668
|
-
requestRecipientResetSignature(params: {
|
|
669
|
-
id: Id;
|
|
670
|
-
oauth: OAuthProof;
|
|
671
|
-
nonce: bigint;
|
|
672
|
-
deadline: bigint;
|
|
673
|
-
}): Promise<RecipientSignature>;
|
|
674
|
-
/**
|
|
675
|
-
* anchor drop의 secret/claim key와 validator 서명을 함께 사용해 현재 pending key를
|
|
676
|
-
* 한 번에 수령한다.
|
|
677
|
-
*/
|
|
678
|
-
batchClaim(params: BatchClaimParams): Promise<BatchClaimResult>;
|
|
679
|
-
/**
|
|
680
|
-
* 서명만 따로 받는 저수준 경로(직접 컨트랙트를 호출할 때). 대부분은 `batchClaim`을 쓴다.
|
|
681
|
-
* nonce는 `validatorNonceById(keccak256(utf8(id)))`에서 읽은 값이어야 한다.
|
|
682
|
-
*/
|
|
683
|
-
requestBatchClaimSignature(params: {
|
|
684
|
-
id: Id;
|
|
685
|
-
oauth: OAuthProof;
|
|
686
|
-
nonce: bigint;
|
|
687
|
-
deadline: bigint;
|
|
688
|
-
}): Promise<BatchClaimSignature>;
|
|
689
|
-
}
|
|
690
|
-
declare function createSafeDrop(config: SafeDropConfig, deps: SafeDropDeps): SafeDrop;
|
|
691
|
-
|
|
692
|
-
export { type Address as A, type BatchClaimParams as B, type CryptoPort as C, type DepositParams as D, type Envelope as E, type SafeDropErrorCode as F, type SecretHash as G, type Hex as H, type Id as I, type SocialIdentifier as J, type SocialProvider as K, type LeaderboardEntry as L, type MappedDepositResult as M, createSafeDrop as N, type OAuthProof as O, type PendingDrop as P, type RefundParams as R, type SafeDropChainPort as S, type UnmappedDepositResult as U, type WithdrawParams as W, type XConnection as X, type SafeDropApiPort as a, type DepositResult as b, type BatchClaimResult as c, type ClaimSignerPort as d, type WithdrawResult as e, type RefundResult as f, type Secret as g, type BatchClaimSignature as h, type DropInbox as i, type DropSender as j, type DropState as k, type HistoryEntry as l, type HistoryPage as m, type HistoryParty as n, type HistoryReceiverParty as o, type HistoryStatus as p, type HistoryType as q, type LeaderboardPage as r, type MyLeaderboardEntry as s, type OnePopDrop as t, type RecipientChangeSignature as u, type RecipientSignature as v, type SafeDrop as w, type SafeDropConfig as x, type SafeDropDeps as y, SafeDropError as z };
|
|
383
|
+
export { type Address as A, type BatchClaimParams as B, type DepositParams as D, type Envelope as E, type Hex as H, type Id as I, type LeaderboardPage as L, type MyLeaderboardEntry as M, type OAuthProof as O, type PendingDrop as P, type RefundParams as R, type Secret as S, type UnmappedDepositResult as U, type WithdrawParams as W, type XConnection as X, type SecretHash as a, type DepositResult as b, type WithdrawResult as c, type RefundResult as d, type DropInbox as e, type HistoryType as f, type HistoryStatus as g, type HistoryPage as h, type RecipientChangeSignature as i, type RecipientSignature as j, type BatchClaimResult as k, type BatchClaimSignature as l, type SafeDropApiPort as m, type DropSender as n, type HistoryEntry as o, type HistoryParty as p, type HistoryReceiverParty as q, type LeaderboardEntry as r, type MappedDepositResult as s, SafeDropError as t, type SafeDropErrorCode as u, type SocialIdentifier as v, type SocialProvider as w };
|