@coinlist-co/react 0.12.2-rc.4851c6a → 0.12.2-rc.4cc3d7e
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/{chunk-LBIFCRFP.js → chunk-4FGI6MAK.js} +125 -109
- package/dist/chunk-4FGI6MAK.js.map +1 -0
- package/dist/{chunk-GOUUYOPZ.js → chunk-ANPPXFXD.js} +504 -702
- package/dist/chunk-ANPPXFXD.js.map +1 -0
- package/dist/{chunk-AYBP3HRJ.js → chunk-AY4ADMCH.js} +328 -21
- package/dist/chunk-AY4ADMCH.js.map +1 -0
- package/dist/{chunk-MJ6YXZWH.js → chunk-IWQ6A52U.js} +4 -2
- package/dist/chunk-IWQ6A52U.js.map +1 -0
- package/dist/client/index.d.ts +1593 -1435
- package/dist/client/index.js +9907 -10078
- package/dist/client/index.js.map +1 -1
- package/dist/client-credentials-B2l_rZTE.d.ts +13 -0
- package/dist/server/index.d.ts +58 -106
- package/dist/server/index.js +208 -170
- package/dist/server/index.js.map +1 -1
- package/dist/{time-Bzgi6FbG.d.ts → time-BgR3LVER.d.ts} +288 -187
- package/dist/{token-registry-snapshot-BmjXOvvg.d.ts → token-registry-snapshot-CE21sVyi.d.ts} +19 -21
- package/dist/universal/index.d.ts +86 -73
- package/dist/universal/index.js +22 -12
- package/package.json +1 -1
- package/dist/chunk-AYBP3HRJ.js.map +0 -1
- package/dist/chunk-GOUUYOPZ.js.map +0 -1
- package/dist/chunk-LBIFCRFP.js.map +0 -1
- package/dist/chunk-MJ6YXZWH.js.map +0 -1
|
@@ -19,6 +19,17 @@ type ClientId = Newtype<string, 'ClientId'>;
|
|
|
19
19
|
declare const ClientId: (value: string) => ClientId;
|
|
20
20
|
type ClientSecret = Newtype<string, 'ClientSecret'>;
|
|
21
21
|
declare const ClientSecret: (value: string) => ClientSecret;
|
|
22
|
+
/**
|
|
23
|
+
* The PKCE pair a finished authorization hands from the browser to the
|
|
24
|
+
* partner's backend: `CoinListClient#auth.completeOAuth` produces it, and
|
|
25
|
+
* `CoinListServer#auth.completeOAuth` exchanges it for a session.
|
|
26
|
+
*/
|
|
27
|
+
type AuthorizationGrant = {
|
|
28
|
+
/** The short-lived authorization code parsed out of the redirect URL. */
|
|
29
|
+
code: AuthorizationCode;
|
|
30
|
+
/** The `code_verifier` the browser generated when starting the flow. */
|
|
31
|
+
codeVerifier: CodeVerifier;
|
|
32
|
+
};
|
|
22
33
|
|
|
23
34
|
/**
|
|
24
35
|
* A classified wallet or transaction failure. The SDK derives this from
|
|
@@ -401,6 +412,12 @@ declare const AsyncOfferDetail: {
|
|
|
401
412
|
type CoinListTokenSaleOfferDetail = OfferDetailBase & OfferEditorial & {
|
|
402
413
|
type: 'coinlist::token_sale';
|
|
403
414
|
logoUrl: string;
|
|
415
|
+
/**
|
|
416
|
+
* Every chain this sale takes participations on, with the contract a
|
|
417
|
+
* participation's approval names as its spender. Empty means it takes
|
|
418
|
+
* participations nowhere.
|
|
419
|
+
*/
|
|
420
|
+
fundingContracts: OfferFundingContract[];
|
|
404
421
|
};
|
|
405
422
|
type SuperstateSwapOfferDetail = OfferDetailBase & OfferEditorial & {
|
|
406
423
|
type: 'superstate::swap';
|
|
@@ -546,6 +563,19 @@ type OfferVaultContract = {
|
|
|
546
563
|
chain: Chain;
|
|
547
564
|
address: EvmContractAddress;
|
|
548
565
|
};
|
|
566
|
+
/**
|
|
567
|
+
* A chain a CoinList token sale takes participations on, with the contract a
|
|
568
|
+
* participation's approval names as its spender: the sale pulls the payment
|
|
569
|
+
* through that allowance once it settles.
|
|
570
|
+
*
|
|
571
|
+
* Its own type rather than an {@link OfferVaultContract}, although the shape
|
|
572
|
+
* is the same, because the meaning is not: nothing is sent to this contract
|
|
573
|
+
* at checkout, it is only approved.
|
|
574
|
+
*/
|
|
575
|
+
type OfferFundingContract = {
|
|
576
|
+
chain: Chain;
|
|
577
|
+
address: EvmContractAddress;
|
|
578
|
+
};
|
|
549
579
|
|
|
550
580
|
/**
|
|
551
581
|
* One vault: a share token on one chain. What the status and position reads
|
|
@@ -559,13 +589,14 @@ type CentrifugeVaultRef = {
|
|
|
559
589
|
chain: EthereumChain;
|
|
560
590
|
};
|
|
561
591
|
/**
|
|
562
|
-
* Which
|
|
563
|
-
* `redeem` turns shares back into the funding token.
|
|
564
|
-
*
|
|
592
|
+
* Which side of a vault trade: `deposit` (buy) turns the funding token into
|
|
593
|
+
* shares, `redeem` (sell) turns shares back into the funding token. The
|
|
594
|
+
* contract's own names. Each wallet holds one pooled position per vault per
|
|
595
|
+
* direction, and a claim settles one of them.
|
|
565
596
|
*
|
|
566
597
|
* @alpha
|
|
567
598
|
*/
|
|
568
|
-
type CentrifugeClaimDirection = '
|
|
599
|
+
type CentrifugeClaimDirection = 'deposit' | 'redeem';
|
|
569
600
|
/**
|
|
570
601
|
* Why a deposit cannot be placed on a vault right now. Kept verbatim from the
|
|
571
602
|
* wire: frontline publishes it as a closed set for clients to branch on.
|
|
@@ -579,13 +610,6 @@ type CentrifugeOrderReason = 'vault_unlinked' | 'vault_halted' | 'proxy_not_perm
|
|
|
579
610
|
* @alpha
|
|
580
611
|
*/
|
|
581
612
|
type CentrifugeVaultReason = Exclude<CentrifugeOrderReason, 'below_minimum'>;
|
|
582
|
-
/**
|
|
583
|
-
* Where a wallet stands on a vault. Not a lifecycle - see
|
|
584
|
-
* {@link CentrifugeVaultPosition.status}.
|
|
585
|
-
*
|
|
586
|
-
* @alpha
|
|
587
|
-
*/
|
|
588
|
-
type CentrifugePositionStatus = 'none' | 'pending' | 'partially_filled' | 'filled' | 'claimed';
|
|
589
613
|
/**
|
|
590
614
|
* Whether a deposit can be placed, as one union rather than the wire's
|
|
591
615
|
* `can_order` beside `reasons`: a blocked answer always says why, and an
|
|
@@ -675,97 +699,93 @@ type CentrifugeVaultClaimTransaction = CentrifugeVaultTransactionCore & {
|
|
|
675
699
|
claimableShares: BlockchainAmount;
|
|
676
700
|
};
|
|
677
701
|
/**
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
*
|
|
702
|
+
* The funding token a vault is paid in, in that token's decimals. Nominally
|
|
703
|
+
* distinct from {@link CentrifugeShares}: the two legs settle in opposite
|
|
704
|
+
* units, and the compiler, not a comment, keeps one from standing in for the
|
|
705
|
+
* other.
|
|
706
|
+
*
|
|
707
|
+
* @alpha
|
|
708
|
+
*/
|
|
709
|
+
type CentrifugeAssets = BlockchainAmount & {
|
|
710
|
+
readonly [centrifugeUnit]: 'assets';
|
|
711
|
+
};
|
|
712
|
+
/** @alpha */
|
|
713
|
+
declare const CentrifugeAssets: (amount: BlockchainAmount) => CentrifugeAssets;
|
|
714
|
+
/**
|
|
715
|
+
* A vault's share token, in its decimals. See {@link CentrifugeAssets}.
|
|
716
|
+
*
|
|
717
|
+
* @alpha
|
|
718
|
+
*/
|
|
719
|
+
type CentrifugeShares = BlockchainAmount & {
|
|
720
|
+
readonly [centrifugeUnit]: 'shares';
|
|
721
|
+
};
|
|
722
|
+
/** @alpha */
|
|
723
|
+
declare const CentrifugeShares: (amount: BlockchainAmount) => CentrifugeShares;
|
|
724
|
+
/**
|
|
725
|
+
* The phantom key {@link CentrifugeAssets} and {@link CentrifugeShares} are
|
|
726
|
+
* told apart by. A second key rather than a second `Newtype`, because
|
|
727
|
+
* `BlockchainAmount` already spends the `Newtype` brand: two brands on one key
|
|
728
|
+
* intersect to `never`, and the units would become assignable to each other.
|
|
729
|
+
*/
|
|
730
|
+
declare const centrifugeUnit: unique symbol;
|
|
731
|
+
/**
|
|
732
|
+
* One wallet's Deposit (buy) standing on one vault, read from the proxy.
|
|
681
733
|
*
|
|
682
|
-
* The
|
|
683
|
-
*
|
|
684
|
-
*
|
|
685
|
-
*
|
|
734
|
+
* The proxy keeps one pooled position per wallet: a FIFO slice of the vault's
|
|
735
|
+
* queue, which the fund fills on its own schedule. `pending` and `claimable`
|
|
736
|
+
* coexist - a fill can cover part of the slice - and neither says anything
|
|
737
|
+
* about earlier claims.
|
|
738
|
+
*
|
|
739
|
+
* Both are in the funding token, the unit the proxy tracks a deposit in. The
|
|
740
|
+
* shares a claim pays are not here: the proxy publishes no claim price, and
|
|
741
|
+
* its spot `convertToShares` is documented as not being one.
|
|
686
742
|
*
|
|
687
743
|
* @alpha
|
|
688
744
|
*/
|
|
689
|
-
type
|
|
745
|
+
type CentrifugeDepositPosition = {
|
|
690
746
|
chain: EthereumChain;
|
|
691
|
-
|
|
747
|
+
/** The CoinList proxy the position lives on. */
|
|
748
|
+
proxy: EvmContractAddress;
|
|
692
749
|
walletAddress: EvmWalletAddress;
|
|
693
|
-
/**
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
status: CentrifugePositionStatus;
|
|
698
|
-
/** Funding token ever requested. */
|
|
699
|
-
requested: BlockchainAmount;
|
|
700
|
-
/** Of {@link requested}, what is still queued. */
|
|
701
|
-
pending: BlockchainAmount;
|
|
702
|
-
/** Of {@link requested}, what has been fulfilled. */
|
|
703
|
-
filledAssets: BlockchainAmount;
|
|
704
|
-
/** Shares the fulfilments earned. Held by the proxy until claimed. */
|
|
705
|
-
earnedShares: BlockchainAmount;
|
|
706
|
-
claimedShares: BlockchainAmount;
|
|
707
|
-
/** Non-zero means a claim will return calldata. */
|
|
708
|
-
claimableShares: BlockchainAmount;
|
|
709
|
-
/**
|
|
710
|
-
* What the wallet holds on the share token. Can exceed
|
|
711
|
-
* {@link claimedShares}: shares acquired any other way count here.
|
|
712
|
-
*/
|
|
713
|
-
shareBalance: BlockchainAmount;
|
|
714
|
-
/** Pooled rate over everything claimed. Null before the first claim. */
|
|
715
|
-
averagePrice: DecimalString | null;
|
|
716
|
-
/** Centrifuge froze this wallet on the share token. Blocks claiming. */
|
|
717
|
-
frozen: boolean;
|
|
718
|
-
asOf: Date;
|
|
750
|
+
/** Still queued, not yet filled: `pendingDepositRequest`. */
|
|
751
|
+
pending: CentrifugeAssets;
|
|
752
|
+
/** Filled and not yet claimed: `claimableDepositRequest`. A claim takes it all. */
|
|
753
|
+
claimable: CentrifugeAssets;
|
|
719
754
|
};
|
|
720
755
|
/**
|
|
721
|
-
* One wallet's standing on
|
|
722
|
-
*
|
|
723
|
-
*
|
|
724
|
-
* investing and redeeming on the same vault at once.
|
|
725
|
-
*
|
|
726
|
-
* TODO(frontline, ENG-1909): built against a guessed wire shape - see
|
|
727
|
-
* `CentrifugeVaultRedeemPositionDto`.
|
|
756
|
+
* One wallet's Redeem (sell) standing on one vault, read from the proxy. The
|
|
757
|
+
* mirror of {@link CentrifugeDepositPosition}, in shares, and as independent
|
|
758
|
+
* of it: a wallet can deposit and redeem on one vault at once.
|
|
728
759
|
*
|
|
729
760
|
* @alpha
|
|
730
761
|
*/
|
|
731
|
-
type
|
|
762
|
+
type CentrifugeRedeemPosition = {
|
|
732
763
|
chain: EthereumChain;
|
|
733
|
-
|
|
764
|
+
/** The CoinList proxy the position lives on. */
|
|
765
|
+
proxy: EvmContractAddress;
|
|
734
766
|
walletAddress: EvmWalletAddress;
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
* Funding token a claim would pay out now. An estimate: the vault prices the
|
|
740
|
-
* claimable shares at the claim. Non-zero means a claim returns calldata.
|
|
741
|
-
*/
|
|
742
|
-
claimableAssets: BlockchainAmount;
|
|
743
|
-
/** Centrifuge froze this wallet on the share token. Blocks claiming. */
|
|
744
|
-
frozen: boolean;
|
|
745
|
-
asOf: Date;
|
|
767
|
+
/** Still queued, not yet filled: `pendingRedeemRequest`. */
|
|
768
|
+
pending: CentrifugeShares;
|
|
769
|
+
/** Filled and not yet claimed: `claimableRedeemRequest`. A claim takes it all. */
|
|
770
|
+
claimable: CentrifugeShares;
|
|
746
771
|
};
|
|
747
772
|
/**
|
|
748
|
-
* One wallet's position on one
|
|
749
|
-
* two
|
|
750
|
-
*
|
|
751
|
-
*
|
|
773
|
+
* One wallet's position on one side of a vault trade, tagged with the side.
|
|
774
|
+
* The two sides are tracked in opposite units - the funding token for
|
|
775
|
+
* `deposit`, shares for `redeem` - so the tag is what says which unit each
|
|
776
|
+
* figure is in.
|
|
752
777
|
*
|
|
753
778
|
* @alpha
|
|
754
779
|
*/
|
|
755
780
|
type CentrifugeVaultLeg = {
|
|
756
|
-
direction: '
|
|
757
|
-
position:
|
|
781
|
+
direction: 'deposit';
|
|
782
|
+
position: CentrifugeDepositPosition;
|
|
758
783
|
} | {
|
|
759
784
|
direction: 'redeem';
|
|
760
|
-
position:
|
|
785
|
+
position: CentrifugeRedeemPosition;
|
|
761
786
|
};
|
|
762
787
|
/** @alpha */
|
|
763
788
|
declare const CentrifugeVaultLeg: {
|
|
764
|
-
/**
|
|
765
|
-
* What a claim on the leg would collect: shares for `invest`, the funding
|
|
766
|
-
* token for `redeem`.
|
|
767
|
-
*/
|
|
768
|
-
claimable: (leg: CentrifugeVaultLeg) => BlockchainAmount;
|
|
769
789
|
/** Whether the leg has anything queued or anything ready to claim. */
|
|
770
790
|
isActive: (leg: CentrifugeVaultLeg) => boolean;
|
|
771
791
|
};
|
|
@@ -779,7 +799,7 @@ declare const CentrifugeVaultLeg: {
|
|
|
779
799
|
type CentrifugeVaultLegId = Newtype<string, 'CentrifugeVaultLegId'>;
|
|
780
800
|
/** @alpha */
|
|
781
801
|
declare const CentrifugeVaultLegId: {
|
|
782
|
-
/** Addresses compare case-insensitively:
|
|
802
|
+
/** Addresses compare case-insensitively: a host may pass either case. */
|
|
783
803
|
of: (leg: CentrifugeVaultLeg) => CentrifugeVaultLegId;
|
|
784
804
|
};
|
|
785
805
|
/**
|
|
@@ -797,6 +817,96 @@ type CentrifugeVaultClaimProceedsTransaction = CentrifugeVaultTransactionCore &
|
|
|
797
817
|
claimableAssets: BlockchainAmount;
|
|
798
818
|
};
|
|
799
819
|
|
|
820
|
+
/**
|
|
821
|
+
* An absolute URL to a logo image in the token registry. Registry image URLs
|
|
822
|
+
* are content-fingerprinted and served immutable, so a value is safe to cache
|
|
823
|
+
* for as long as you hold it.
|
|
824
|
+
*/
|
|
825
|
+
type TokenLogoUrl = Newtype<string, 'TokenLogoUrl'>;
|
|
826
|
+
declare const TokenLogoUrl: (value: string) => TokenLogoUrl;
|
|
827
|
+
type TokenLogoImage = {
|
|
828
|
+
url: TokenLogoUrl;
|
|
829
|
+
width: number;
|
|
830
|
+
height: number;
|
|
831
|
+
};
|
|
832
|
+
/**
|
|
833
|
+
* `VECTOR` is a single SVG. `RASTER` has webp variants at 32/64/128/256/512px
|
|
834
|
+
* widths (never wider than the original): use the smallest one that covers
|
|
835
|
+
* your render size, or `original` if none does.
|
|
836
|
+
*/
|
|
837
|
+
type TokenLogo = {
|
|
838
|
+
kind: 'VECTOR';
|
|
839
|
+
url: TokenLogoUrl;
|
|
840
|
+
} | {
|
|
841
|
+
kind: 'RASTER';
|
|
842
|
+
original: TokenLogoImage;
|
|
843
|
+
variants: TokenLogoImage[];
|
|
844
|
+
};
|
|
845
|
+
/**
|
|
846
|
+
* Display metadata for one token, from CoinList's public token registry.
|
|
847
|
+
*
|
|
848
|
+
* Keyed by `(chain, address)` — never by symbol, which can collide. The
|
|
849
|
+
* registry is curated: a token missing from it is an expected answer, not an
|
|
850
|
+
* error, so lookups return `null` rather than throwing.
|
|
851
|
+
*/
|
|
852
|
+
type TokenMetadata = {
|
|
853
|
+
identifier: TokenIdentifier;
|
|
854
|
+
name: string;
|
|
855
|
+
symbol: AssetSymbol;
|
|
856
|
+
decimals: AssetDecimals;
|
|
857
|
+
logo: TokenLogo;
|
|
858
|
+
/** Dark-theme logo; `null` when the registry configures none. */
|
|
859
|
+
logoDark: TokenLogo | null;
|
|
860
|
+
};
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* One chain a vault offer runs on, with everything a screen needs to read and
|
|
864
|
+
* show a position there: the proxy every request and claim goes through, the
|
|
865
|
+
* share token it issues, and the funding token it is paid in.
|
|
866
|
+
*
|
|
867
|
+
* The share token's `symbol` is the one amounts are labelled with. Vault
|
|
868
|
+
* routes are keyed by the offer's asset code, from `centrifugeShareSymbol`.
|
|
869
|
+
*
|
|
870
|
+
* @alpha
|
|
871
|
+
*/
|
|
872
|
+
type CentrifugeVault = {
|
|
873
|
+
chain: EthereumChain;
|
|
874
|
+
proxy: EvmContractAddress;
|
|
875
|
+
share: TokenMetadata;
|
|
876
|
+
funding: TokenMetadata;
|
|
877
|
+
};
|
|
878
|
+
/**
|
|
879
|
+
* The vaults an offer runs on, or why a chain could not be resolved: one
|
|
880
|
+
* entry per `vaultContracts` chain, in the offer's order.
|
|
881
|
+
*
|
|
882
|
+
* @alpha
|
|
883
|
+
*/
|
|
884
|
+
type CentrifugeVaultResolution = {
|
|
885
|
+
type: 'resolved';
|
|
886
|
+
vault: CentrifugeVault;
|
|
887
|
+
} | {
|
|
888
|
+
type: 'unresolved';
|
|
889
|
+
chain: OfferToken['chain'];
|
|
890
|
+
/** Which token the offer or the registry could not name. */
|
|
891
|
+
missing: 'share-token' | 'funding-token' | 'evm-chain';
|
|
892
|
+
};
|
|
893
|
+
/**
|
|
894
|
+
* Resolves each chain of a vault offer to its share and funding tokens.
|
|
895
|
+
*
|
|
896
|
+
* The offer names tokens by role and address only - the share token as
|
|
897
|
+
* `vault`, the coin it is paid in as `funding` - so `lookup` turns each into
|
|
898
|
+
* metadata. A function rather than a registry snapshot, so this module does
|
|
899
|
+
* not depend on where the metadata comes from.
|
|
900
|
+
*
|
|
901
|
+
* A chain whose tokens cannot be named is reported rather than dropped: its
|
|
902
|
+
* position cannot be read without the symbol, and a caller has to know it is
|
|
903
|
+
* not showing it. When a chain lists several funding tokens, the first one
|
|
904
|
+
* `lookup` knows wins - a vault is priced in one.
|
|
905
|
+
*
|
|
906
|
+
* @alpha
|
|
907
|
+
*/
|
|
908
|
+
declare function resolveCentrifugeVaults(offer: CentrifugeVaultOfferDetail, lookup: (token: OfferToken) => TokenMetadata | null): CentrifugeVaultResolution[];
|
|
909
|
+
|
|
800
910
|
/** @alpha */
|
|
801
911
|
type GetCentrifugeVaultStatusParams = {
|
|
802
912
|
/** Share token symbol of the vault, e.g. `deJTRSY`. */
|
|
@@ -821,6 +931,17 @@ type CentrifugeWalletParams = GetCentrifugeVaultStatusParams & {
|
|
|
821
931
|
*/
|
|
822
932
|
walletAddress: EvmWalletAddress;
|
|
823
933
|
};
|
|
934
|
+
/**
|
|
935
|
+
* A chain read of one wallet on one vault. The vault is the resolved one:
|
|
936
|
+
* its proxy is what the views live on, and its tokens' decimals scale the
|
|
937
|
+
* amounts, so neither is read again.
|
|
938
|
+
*
|
|
939
|
+
* @alpha
|
|
940
|
+
*/
|
|
941
|
+
type ReadCentrifugePositionParams = {
|
|
942
|
+
vault: CentrifugeVault;
|
|
943
|
+
walletAddress: EvmWalletAddress;
|
|
944
|
+
};
|
|
824
945
|
/**
|
|
825
946
|
* What `POST /v1/centrifuge/vault/invest` is asked for: the wallet that will
|
|
826
947
|
* broadcast the request and fund it, plus the deposit.
|
|
@@ -838,7 +959,9 @@ type BuildCentrifugeVaultBuyParams = CentrifugeWalletParams & {
|
|
|
838
959
|
/**
|
|
839
960
|
* Centrifuge vault reads and claims: the vault-wide ordering gate, each
|
|
840
961
|
* wallet's position per direction, and the calldata that claims a filled
|
|
841
|
-
* request.
|
|
962
|
+
* request - e.g. `coinlist.centrifuge.getVaultStatus({ ... })`. Broadcasting a
|
|
963
|
+
* request or a claim needs a wallet, so that half is client-only, on
|
|
964
|
+
* `ClientCentrifugeNamespace`.
|
|
842
965
|
*
|
|
843
966
|
* The reads are free to poll - none spends an attestation, so a client may
|
|
844
967
|
* call them while the user sizes a deposit or waits on a fill.
|
|
@@ -853,21 +976,27 @@ type BuildCentrifugeVaultBuyParams = CentrifugeWalletParams & {
|
|
|
853
976
|
* timer. Broadcasting the buy calldata places a request. It does not buy
|
|
854
977
|
* shares.
|
|
855
978
|
*
|
|
856
|
-
* Every method requires `AuthState === 'logged-in'` and throws
|
|
979
|
+
* Every Frontline method requires `AuthState === 'logged-in'` and throws
|
|
857
980
|
* {@link NotAuthenticatedError} otherwise.
|
|
981
|
+
* {@link CentrifugeNamespace.readDepositPosition} and
|
|
982
|
+
* {@link CentrifugeNamespace.readRedeemPosition} read the proxy over RPC and
|
|
983
|
+
* do not; through CoinList's RPC proxy a logged-out read fails with its 401.
|
|
858
984
|
*
|
|
859
985
|
* @alpha
|
|
860
986
|
*/
|
|
861
987
|
interface CentrifugeNamespace {
|
|
862
988
|
getVaultStatus(params: GetCentrifugeVaultStatusParams): Promise<CentrifugeVaultStatus>;
|
|
863
|
-
/** The wallet's invest position: funding queued, shares claimable. */
|
|
864
|
-
getPosition(params: CentrifugeWalletParams): Promise<CentrifugeVaultPosition>;
|
|
865
989
|
/**
|
|
866
|
-
* The wallet's
|
|
867
|
-
*
|
|
868
|
-
*
|
|
990
|
+
* The wallet's Deposit (buy) standing on the vault: funding token still
|
|
991
|
+
* queued, and funding token filled and ready to claim. A wallet that has
|
|
992
|
+
* never touched the vault reads as zeroes.
|
|
993
|
+
*/
|
|
994
|
+
readDepositPosition(params: ReadCentrifugePositionParams): Promise<CentrifugeDepositPosition>;
|
|
995
|
+
/**
|
|
996
|
+
* The wallet's Redeem (sell) standing on the vault: shares still queued,
|
|
997
|
+
* and shares filled and ready to claim.
|
|
869
998
|
*/
|
|
870
|
-
|
|
999
|
+
readRedeemPosition(params: ReadCentrifugePositionParams): Promise<CentrifugeRedeemPosition>;
|
|
871
1000
|
/**
|
|
872
1001
|
* Calldata claiming every claimable share. Broadcast it from
|
|
873
1002
|
* `params.walletAddress`: the proxy credits the sender.
|
|
@@ -910,14 +1039,6 @@ interface PaginatedResponse<T> {
|
|
|
910
1039
|
type ParticipationId = Newtype<string, 'ParticipationId'>;
|
|
911
1040
|
/** Casts a string into a typed {@link ParticipationId}. */
|
|
912
1041
|
declare const ParticipationId: (value: string) => ParticipationId;
|
|
913
|
-
/** Blockchain identifier for where a participation is funded. */
|
|
914
|
-
type Blockchain = Newtype<string, 'Blockchain'>;
|
|
915
|
-
/** Casts a string into a typed {@link Blockchain}. */
|
|
916
|
-
declare const Blockchain: (value: string) => Blockchain;
|
|
917
|
-
/** Wallet address used for a participation. */
|
|
918
|
-
type WalletAddress = Newtype<`0x${string}`, 'WalletAddress'>;
|
|
919
|
-
/** Casts a `0x`-prefixed string into a typed {@link WalletAddress}. */
|
|
920
|
-
declare const WalletAddress: (value: `0x${string}`) => WalletAddress;
|
|
921
1042
|
/** Possible participation lifecycle states returned by the API. */
|
|
922
1043
|
type ParticipationStatus = 'prepared' | 'pending' | 'submitted' | 'completed' | 'failed' | 'remit_submitted' | 'remitted' | 'remit_failed';
|
|
923
1044
|
/** Domain model for a participation returned by CoinList APIs. */
|
|
@@ -936,14 +1057,20 @@ type Participation = {
|
|
|
936
1057
|
displayAmount: string;
|
|
937
1058
|
/** Asset metadata for the participation amount. */
|
|
938
1059
|
asset: Asset;
|
|
939
|
-
/**
|
|
940
|
-
|
|
1060
|
+
/**
|
|
1061
|
+
* The chain the participation is funded on, or null when frontline names
|
|
1062
|
+
* one this SDK does not model yet. Lenient on purpose: participations are
|
|
1063
|
+
* listed, and one record on a newer chain must not fail the whole list -
|
|
1064
|
+
* the same reason `isChain` drops what it cannot name elsewhere, except a
|
|
1065
|
+
* participation is the user's own money and is kept rather than dropped.
|
|
1066
|
+
*/
|
|
1067
|
+
chain: Chain | null;
|
|
941
1068
|
/** Creation timestamp, if returned by API. */
|
|
942
1069
|
insertedAt: Date | null;
|
|
943
1070
|
/** Last update timestamp, if returned by API. */
|
|
944
1071
|
updatedAt: Date | null;
|
|
945
1072
|
/** Wallet used for participation, blank values normalized to null. */
|
|
946
|
-
walletAddress:
|
|
1073
|
+
walletAddress: EvmWalletAddress | null;
|
|
947
1074
|
};
|
|
948
1075
|
/** Parameters required to create a new participation. */
|
|
949
1076
|
type CreateParticipationParams = {
|
|
@@ -951,10 +1078,10 @@ type CreateParticipationParams = {
|
|
|
951
1078
|
offerId: OfferId;
|
|
952
1079
|
/** Offer option selected for participation. */
|
|
953
1080
|
offerOptionId: OfferOptionId;
|
|
954
|
-
/**
|
|
955
|
-
chain:
|
|
1081
|
+
/** Chain the participation is funded on. */
|
|
1082
|
+
chain: EthereumChain;
|
|
956
1083
|
/** Wallet address that funds the participation. */
|
|
957
|
-
walletAddress:
|
|
1084
|
+
walletAddress: EvmWalletAddress;
|
|
958
1085
|
/**
|
|
959
1086
|
* Decimal token amount to participate with (e.g. `"100"` for 100 USDC), NOT
|
|
960
1087
|
* raw base units. The backend rescales this by the asset's decimals to verify
|
|
@@ -977,8 +1104,11 @@ interface ParticipationsPaginationParams extends PaginationParams {
|
|
|
977
1104
|
|
|
978
1105
|
/**
|
|
979
1106
|
* Read/write operations for token sales: listing and reading the current user's
|
|
980
|
-
* participations, and recording a new one
|
|
981
|
-
*
|
|
1107
|
+
* participations, and recording a new one - e.g. `coinlist.tokenSale.list()`.
|
|
1108
|
+
*
|
|
1109
|
+
* The on-chain purchase, `ClientCoinListTokenSaleNamespace.execute`, is
|
|
1110
|
+
* layered on top of this in the client-side namespace and is not available on
|
|
1111
|
+
* `CoinListServer`, since it needs a wallet to sign with.
|
|
982
1112
|
*/
|
|
983
1113
|
interface CoinListTokenSaleNamespace {
|
|
984
1114
|
/**
|
|
@@ -1332,7 +1462,10 @@ type BuildOndoSellParams = BuildOndoSwapParamsCore & {
|
|
|
1332
1462
|
};
|
|
1333
1463
|
|
|
1334
1464
|
/**
|
|
1335
|
-
* Ondo swap reads
|
|
1465
|
+
* Ondo swap reads - whether an asset is tradable right now and what it costs,
|
|
1466
|
+
* e.g. `coinlist.ondo.getQuote({ ... })` - plus the writes that turn a quote
|
|
1467
|
+
* into a fillable transaction. Approving and broadcasting need a wallet, so
|
|
1468
|
+
* they are client-only, on `ClientOndoNamespace`.
|
|
1336
1469
|
*
|
|
1337
1470
|
* The two reads are free to poll - neither spends an attestation, so a client
|
|
1338
1471
|
* may call them while the user edits an order. The two builders are not:
|
|
@@ -1486,8 +1619,8 @@ type SwapStatus = {
|
|
|
1486
1619
|
*/
|
|
1487
1620
|
type AllowWalletResponse = {
|
|
1488
1621
|
action: 'broadcast_transaction';
|
|
1489
|
-
|
|
1490
|
-
|
|
1622
|
+
/** Broadcast as-is: the allow-list call, already encoded. */
|
|
1623
|
+
tx: Tx;
|
|
1491
1624
|
} | {
|
|
1492
1625
|
action: 'none';
|
|
1493
1626
|
alreadyAllowed: boolean;
|
|
@@ -1495,7 +1628,9 @@ type AllowWalletResponse = {
|
|
|
1495
1628
|
|
|
1496
1629
|
/**
|
|
1497
1630
|
* Read/write operations for the on-chain swap flow: quoting a swap, inspecting
|
|
1498
|
-
* contract state, and
|
|
1631
|
+
* contract state, and allow-listing a proven wallet - e.g.
|
|
1632
|
+
* `coinlist.superstate.getOutputToken({ contractAddress, chain })`. The
|
|
1633
|
+
* wallet-driven flows are client-only, on `ClientSuperstateSwapNamespace`.
|
|
1499
1634
|
*
|
|
1500
1635
|
* Every read here is a contract call the SDK makes itself. By default those go
|
|
1501
1636
|
* through CoinList's authenticated JSON-RPC proxy, so a logged-out caller gets
|
|
@@ -1569,6 +1704,29 @@ type KycToken = {
|
|
|
1569
1704
|
token: string;
|
|
1570
1705
|
};
|
|
1571
1706
|
|
|
1707
|
+
type CreateKycTokenParams = {
|
|
1708
|
+
/**
|
|
1709
|
+
* Sumsub verification level to run. Defaults to the backend's standard
|
|
1710
|
+
* level.
|
|
1711
|
+
*/
|
|
1712
|
+
levelName?: KycLevelName;
|
|
1713
|
+
/**
|
|
1714
|
+
* Resets the Sumsub applicant first, so an already-approved level can be
|
|
1715
|
+
* executed again (e.g. to update stale PII). Pass the `kycReset` value from
|
|
1716
|
+
* the requirement status, and never on mid-flow token refreshes.
|
|
1717
|
+
*/
|
|
1718
|
+
reset?: boolean;
|
|
1719
|
+
};
|
|
1720
|
+
type SubmitDocumentParams = {
|
|
1721
|
+
/** Currently only `tax_certification` (W-8BEN / W-8BEN-E). */
|
|
1722
|
+
documentType: DocumentType;
|
|
1723
|
+
/**
|
|
1724
|
+
* Signing-form values keyed by the document's DocuSeal field names,
|
|
1725
|
+
* forwarded verbatim to pre-fill the document.
|
|
1726
|
+
*/
|
|
1727
|
+
fields: Record<string, string>;
|
|
1728
|
+
};
|
|
1729
|
+
|
|
1572
1730
|
/** Whether the PII belongs to an individual or a company/trust entity. */
|
|
1573
1731
|
type PiiKind = 'person' | 'company';
|
|
1574
1732
|
/** ISO 3166-1 alpha-2 country code (e.g. `'US'`). */
|
|
@@ -1628,33 +1786,11 @@ type RequirementStatusInfo = {
|
|
|
1628
1786
|
kycReset?: boolean;
|
|
1629
1787
|
};
|
|
1630
1788
|
|
|
1631
|
-
type CreateKycTokenParams = {
|
|
1632
|
-
/**
|
|
1633
|
-
* Sumsub verification level to run. Defaults to the backend's standard
|
|
1634
|
-
* level.
|
|
1635
|
-
*/
|
|
1636
|
-
levelName?: KycLevelName;
|
|
1637
|
-
/**
|
|
1638
|
-
* Resets the Sumsub applicant first, so an already-approved level can be
|
|
1639
|
-
* executed again (e.g. to update stale PII). Pass the `kycReset` value from
|
|
1640
|
-
* the requirement status, and never on mid-flow token refreshes.
|
|
1641
|
-
*/
|
|
1642
|
-
reset?: boolean;
|
|
1643
|
-
};
|
|
1644
|
-
type SubmitDocumentParams = {
|
|
1645
|
-
/** Currently only `tax_certification` (W-8BEN / W-8BEN-E). */
|
|
1646
|
-
documentType: DocumentType;
|
|
1647
|
-
/**
|
|
1648
|
-
* Signing-form values keyed by the document's DocuSeal field names,
|
|
1649
|
-
* forwarded verbatim to pre-fill the document.
|
|
1650
|
-
*/
|
|
1651
|
-
fields: Record<string, string>;
|
|
1652
|
-
};
|
|
1653
1789
|
/**
|
|
1654
1790
|
* Everything a user must satisfy before they can participate in an offer:
|
|
1655
1791
|
* reading the checklist and its live statuses, and the operations that satisfy
|
|
1656
|
-
* individual requirements
|
|
1657
|
-
* signing.
|
|
1792
|
+
* individual requirements - identity verification (KYC) and tax-document
|
|
1793
|
+
* signing. E.g. `coinlist.requirements.statuses(offerId)`.
|
|
1658
1794
|
*
|
|
1659
1795
|
* Wallet requirements (`external_wallet`, `whitelisted_wallet`) are satisfied
|
|
1660
1796
|
* through `WalletsNamespace` instead, since wallet proofs are also used
|
|
@@ -1782,11 +1918,13 @@ type RemoveOptionAddressParams = {
|
|
|
1782
1918
|
/** Binding to remove, as returned by {@link WalletsNamespace.list}. */
|
|
1783
1919
|
addressId: OfferOptionAddressId;
|
|
1784
1920
|
};
|
|
1921
|
+
|
|
1785
1922
|
/**
|
|
1786
1923
|
* The user's external wallets: proving ownership of one, binding it to an
|
|
1787
|
-
* offer option, and managing those bindings.
|
|
1924
|
+
* offer option, and managing those bindings - e.g.
|
|
1925
|
+
* `coinlist.wallets.list({ offerId, offerOptionId })`.
|
|
1788
1926
|
*
|
|
1789
|
-
* Ownership proof is a provider-agnostic primitive
|
|
1927
|
+
* Ownership proof is a provider-agnostic primitive - the swap flow uses the
|
|
1790
1928
|
* same challenge to allow-list a wallet — so it lives here rather than being
|
|
1791
1929
|
* duplicated per product namespace.
|
|
1792
1930
|
*
|
|
@@ -1820,11 +1958,12 @@ interface WalletsNamespace {
|
|
|
1820
1958
|
|
|
1821
1959
|
/**
|
|
1822
1960
|
* Reads over CoinList's offers: the catalogue a user can browse, and the full
|
|
1823
|
-
* detail of a single offer.
|
|
1961
|
+
* detail of a single offer - e.g. `coinlist.offers.list()` or
|
|
1962
|
+
* `coinlist.offers.get(offerId)`.
|
|
1824
1963
|
*
|
|
1825
1964
|
* Every method requires an authenticated user and throws
|
|
1826
1965
|
* {@link NotAuthenticatedError} otherwise. On the server, the same reads are
|
|
1827
|
-
* additionally available with an app-level token
|
|
1966
|
+
* additionally available with an app-level token - see
|
|
1828
1967
|
* `ServerOffersNamespace`.
|
|
1829
1968
|
*/
|
|
1830
1969
|
interface OffersNamespace {
|
|
@@ -1861,7 +2000,8 @@ type GetTokenBalanceParams = {
|
|
|
1861
2000
|
/**
|
|
1862
2001
|
* Generic ERC-20 reads shared across on-chain flows (swap, token sale): the
|
|
1863
2002
|
* allowance an owner has granted a spender, and the raw token balance an owner
|
|
1864
|
-
* holds. These are plain token reads, not tied to any single product flow
|
|
2003
|
+
* holds. These are plain token reads, not tied to any single product flow -
|
|
2004
|
+
* e.g. `coinlist.erc20.getBalance({ ... })`.
|
|
1865
2005
|
*
|
|
1866
2006
|
* Read from the chain rather than from a CoinList endpoint. By default that
|
|
1867
2007
|
* goes through CoinList's authenticated JSON-RPC proxy, so a logged-out caller
|
|
@@ -1883,55 +2023,16 @@ interface Erc20Namespace {
|
|
|
1883
2023
|
}
|
|
1884
2024
|
|
|
1885
2025
|
/**
|
|
1886
|
-
*
|
|
1887
|
-
* are content-fingerprinted and served immutable, so a value is safe to cache
|
|
1888
|
-
* for as long as you hold it.
|
|
1889
|
-
*/
|
|
1890
|
-
type TokenLogoUrl = Newtype<string, 'TokenLogoUrl'>;
|
|
1891
|
-
declare const TokenLogoUrl: (value: string) => TokenLogoUrl;
|
|
1892
|
-
type TokenLogoImage = {
|
|
1893
|
-
url: TokenLogoUrl;
|
|
1894
|
-
width: number;
|
|
1895
|
-
height: number;
|
|
1896
|
-
};
|
|
1897
|
-
/**
|
|
1898
|
-
* `VECTOR` is a single SVG. `RASTER` has webp variants at 32/64/128/256/512px
|
|
1899
|
-
* widths (never wider than the original): use the smallest one that covers
|
|
1900
|
-
* your render size, or `original` if none does.
|
|
1901
|
-
*/
|
|
1902
|
-
type TokenLogo = {
|
|
1903
|
-
kind: 'VECTOR';
|
|
1904
|
-
url: TokenLogoUrl;
|
|
1905
|
-
} | {
|
|
1906
|
-
kind: 'RASTER';
|
|
1907
|
-
original: TokenLogoImage;
|
|
1908
|
-
variants: TokenLogoImage[];
|
|
1909
|
-
};
|
|
1910
|
-
/**
|
|
1911
|
-
* Display metadata for one token, from CoinList's public token registry.
|
|
1912
|
-
*
|
|
1913
|
-
* Keyed by `(chain, address)` — never by symbol, which can collide. The
|
|
1914
|
-
* registry is curated: a token missing from it is an expected answer, not an
|
|
1915
|
-
* error, so lookups return `null` rather than throwing.
|
|
1916
|
-
*/
|
|
1917
|
-
type TokenMetadata = {
|
|
1918
|
-
identifier: TokenIdentifier;
|
|
1919
|
-
name: string;
|
|
1920
|
-
symbol: AssetSymbol;
|
|
1921
|
-
decimals: AssetDecimals;
|
|
1922
|
-
logo: TokenLogo;
|
|
1923
|
-
/** Dark-theme logo; `null` when the registry configures none. */
|
|
1924
|
-
logoDark: TokenLogo | null;
|
|
1925
|
-
};
|
|
1926
|
-
|
|
1927
|
-
/**
|
|
1928
|
-
* Token display metadata — name, symbol, decimals, and logos — from
|
|
2026
|
+
* Token display metadata - name, symbol, decimals, and logos - from
|
|
1929
2027
|
* CoinList's public token registry, keyed by {@link TokenIdentifier} (the
|
|
1930
|
-
* same chain + address pairs `Offer.tokens` carries).
|
|
2028
|
+
* same chain + address pairs `Offer.tokens` carries) - e.g.
|
|
2029
|
+
* `coinlist.tokens.get({ chain, address })` for an entry of `Offer.tokens`,
|
|
2030
|
+
* or `coinlist.tokens.list()` for the whole catalogue in one request.
|
|
1931
2031
|
*
|
|
1932
2032
|
* Unlike the other namespaces, this one is public: no method requires an
|
|
1933
|
-
* authenticated user, and nothing here touches the CoinList API
|
|
1934
|
-
* the registry's CDN.
|
|
2033
|
+
* authenticated user, and nothing here touches the CoinList API - reads go to
|
|
2034
|
+
* the registry's CDN. On `CoinListServer` it therefore also works with a
|
|
2035
|
+
* read-only `SessionStore`.
|
|
1935
2036
|
*/
|
|
1936
2037
|
interface TokensNamespace {
|
|
1937
2038
|
/**
|
|
@@ -2505,13 +2606,15 @@ interface Config {
|
|
|
2505
2606
|
readonly redirectUri: RedirectUri;
|
|
2506
2607
|
/**
|
|
2507
2608
|
* Recommended to leave undefined. Used to change the CoinList environment;
|
|
2508
|
-
* default is production.
|
|
2609
|
+
* default is production. An empty string throws a `ValidationError` when
|
|
2610
|
+
* the client is built: omit the field to use the default.
|
|
2509
2611
|
*/
|
|
2510
2612
|
readonly baseUrl?: string;
|
|
2511
2613
|
/**
|
|
2512
2614
|
* Recommended to leave undefined. Overrides the base URL of the public
|
|
2513
2615
|
* token registry backing `coinlist.tokens`; default is the production
|
|
2514
|
-
* registry.
|
|
2616
|
+
* registry. An empty string throws a `ValidationError` when the client is
|
|
2617
|
+
* built: omit the field to use the default.
|
|
2515
2618
|
*/
|
|
2516
2619
|
readonly tokensBaseUrl?: string;
|
|
2517
2620
|
/**
|
|
@@ -2602,8 +2705,6 @@ interface Config {
|
|
|
2602
2705
|
readonly onSessionExpired?: () => Promise<void>;
|
|
2603
2706
|
}
|
|
2604
2707
|
|
|
2605
|
-
type ClientCredentialsOAuth = Newtype<OAuthAccessToken, 'ClientCredentialsOAuth'>;
|
|
2606
|
-
declare const ClientCredentialsOAuth: (value: OAuthAccessToken) => ClientCredentialsOAuth;
|
|
2607
2708
|
type OAuthAccessToken = {
|
|
2608
2709
|
value: string;
|
|
2609
2710
|
expiresAt: Date;
|
|
@@ -2653,4 +2754,4 @@ declare const Seconds: {
|
|
|
2653
2754
|
toMillis: (value: Seconds) => Millis;
|
|
2654
2755
|
};
|
|
2655
2756
|
|
|
2656
|
-
export { type
|
|
2757
|
+
export { type CentrifugeVaultStatus as $, type AuthorizationGrant as A, BlockchainAmount as B, type CentrifugeVaultBuyTransaction as C, type Offer as D, EthereumChain as E, type TokenMetadata as F, type OfferDetail as G, type Erc20Asset as H, CentrifugeVaultLegId as I, type CentrifugeVaultOfferDetail as J, Seconds as K, AsyncOfferDetail as L, type RequirementStatusInfo as M, type KycLevelName as N, type OfferVaultContract as O, type Participation as P, type RequirementType as Q, type RequirementsNamespace as R, StablecoinSymbol as S, type TokensNamespace as T, type RequirementStatusValue as U, RequirementId as V, type WalletError as W, type PinoLoggerOptions as X, type Logger as Y, AuthorizationCode as Z, CodeVerifier as _, AssetSymbol as a, type GetCentrifugeVaultStatusParams as a$, type CentrifugeVaultRef as a0, type BuildOndoBuyParams as a1, type OndoSwapOfferDetail as a2, type BuildOndoSellParams as a3, type OndoQuote as a4, type OndoQuoteSize as a5, type OndoTradingStatus as a6, AssetDecimals as a7, type SuperstateSwapOfferDetail as a8, CentrifugeVaultLeg as a9, type CentrifugeOrderReason as aA, type CentrifugeOrderability as aB, type CentrifugeRedeemPosition as aC, CentrifugeShares as aD, type CentrifugeVaultClaimProceedsTransaction as aE, type CentrifugeVaultClaimTransaction as aF, type CentrifugeVaultOffer as aG, type CentrifugeVaultReason as aH, type CentrifugeVaultResolution as aI, type CentrifugeVaultTransactionCore as aJ, type CentrifugeWalletParams as aK, Chain as aL, type CoinListTokenSaleOffer as aM, type ConnectExternalWalletParams as aN, type CreateKycTokenParams as aO, type CreateParticipationParams as aP, type CreateWalletOwnershipChallengeParams as aQ, Cursor as aR, type DebugEvent as aS, DecimalString as aT, type DocumentFormType as aU, type DocumentSubmissionStatus as aV, type DocumentType as aW, ETHEREUM_CHAINS as aX, EpochMillis as aY, type FaqItem as aZ, type FrontlineEventId as a_, type CentrifugeVault as aa, OfferOptionAddressId as ab, type DocumentSubmission as ac, type TokenIdentifier as ad, type OAuthSession as ae, type PaginationParams as af, type PaginatedResponse as ag, ClientSecret as ah, ClientId as ai, RedirectUri as aj, CodeChallenge as ak, PKCEState as al, type RequestId as am, type SwapStatus as an, KnownAssetSymbol as ao, type AllowWalletParams as ap, type AllowWalletResponse as aq, type Asset as ar, AssetCode as as, AssetId as at, type AsyncOfferType as au, type BaseEvent as av, type BuildCentrifugeVaultBuyParams as aw, type BuildOndoSwapParamsCore as ax, CentrifugeAssets as ay, type CentrifugeDepositPosition as az, EvmContractAddress as b, type TokenLogo as b$, type GetOndoQuoteParams as b0, type GetOndoTradingStatusParams as b1, type GetSwapAuthorizationParams as b2, type GetSwapPreviewParams as b3, type GetSwapQuoteParams as b4, type GetTokenAllowanceParams as b5, type GetTokenBalanceParams as b6, HexEncodedTransactionData as b7, Isin as b8, Iso2CountryCode as b9, type OndoSwapOffer as bA, ParticipationId as bB, type ParticipationStatus as bC, type ParticipationsPaginationParams as bD, PauseFlags as bE, type Pii as bF, type PiiAddress as bG, type PiiJurisdiction as bH, type PiiKind as bI, type ProductionLogLevel as bJ, type ReadCentrifugePositionParams as bK, type RedactedWalletError as bL, type RemoveOptionAddressParams as bM, type RequirementActionNeededReason as bN, type RpcConfig as bO, type RpcFailureReason as bP, SOLANA_CHAINS as bQ, STABLE_DECIMALS as bR, type SafeEvent as bS, type SafeFields as bT, SolanaChain as bU, type SubmitDocumentParams as bV, type SuperstateSwapOffer as bW, type SwapContractRef as bX, type SwapPreview as bY, type TermItem as bZ, Ticker as b_, type KycToken as ba, type Link as bb, type ListOptionAddressesParams as bc, type LogBinding as bd, type LogBindings as be, type LogCause as bf, type LogLevel as bg, type LogScope as bh, type LogValue as bi, MAX_ASSET_DECIMALS as bj, MAX_UINT_256 as bk, type Milestone as bl, Millis as bm, type Newtype as bn, OAuthRefreshToken as bo, type OfferBase as bp, type OfferDetailBase as bq, type OfferEditorial as br, type OfferFundingContract as bs, type OfferOption as bt, OfferOptionSlug as bu, OfferSlug as bv, type OfferToken as bw, type OfferType as bx, type OndoQuoteDuration as by, type OndoSellOutcome as bz, type CentrifugeClaimDirection as c, type TokenLogoImage as c0, TokenLogoUrl as c1, type TokenRole as c2, type Tx as c3, type Uint256 as c4, type UnredactedFields as c5, type WalletOwnershipChallenge as c6, type WalletOwnershipChallengeParamsBase as c7, type WalletProtocol as c8, assertUint256 as c9, isChain as ca, isOfferType as cb, parseUint256 as cc, resolveCentrifugeVaults as cd, type CentrifugeNamespace as d, type CoinListTokenSaleOfferDetail as e, OfferOptionId as f, type CoinListTokenSaleNamespace as g, type OfferSwapContract as h, type OndoBuyTransaction as i, type OndoSellTransaction as j, type OndoNamespace as k, type OndoSwapTransactionCore as l, type OrderBookSide as m, OfferId as n, type SwapQuote as o, Bps as p, EvmWalletAddress as q, type SuperstateSwapNamespace as r, type Requirement as s, type WalletChallengeType as t, type OfferOptionAddress as u, type WalletsNamespace as v, type Config as w, type OAuthAccessToken as x, type OffersNamespace as y, type Erc20Namespace as z };
|