UNPKG

1.21 kBPlain TextView Raw
1import { Address, BigNumber, Bytes32, PublicIdentifier } from "./basic";
2import { enumify } from "./utils";
3
4export type Collateralizations = { [assetId: string]: boolean };
5
6export type RebalanceProfile = {
7 assetId: Address;
8 collateralizeThreshold: BigNumber;
9 target: BigNumber;
10 reclaimThreshold: BigNumber;
11};
12
13// wtf is this?
14export interface VerifyNonceDtoType {
15 sig: string;
16 userIdentifier: PublicIdentifier;
17}
18
19// used to verify channel is in sequence
20export type ChannelAppSequences = {
21 userSequenceNumber: number;
22 nodeSequenceNumber: number;
23};
24
25interface PendingAsyncTransfer {
26 assetId: Address;
27 amount: BigNumber;
28 encryptedPreImage: string;
29 linkedHash: Bytes32;
30 paymentId: Bytes32;
31}
32
33////////////////////////////////////
34// Swap Rate Management
35
36export const PriceOracleTypes = enumify({
37 UNISWAP: "UNISWAP",
38 HARDCODED: "HARDCODED",
39});
40export type PriceOracleTypes = typeof PriceOracleTypes[keyof typeof PriceOracleTypes];
41
42export type AllowedSwap = {
43 from: Address;
44 to: Address;
45 fromChainId: number;
46 toChainId: number;
47 priceOracleType: PriceOracleTypes;
48};
49
50export type SwapRate = AllowedSwap & {
51 rate: string; // DecString?
52 blockNumber?: number;
53};