-
Notifications
You must be signed in to change notification settings - Fork 5
/
masa-context.tsx
71 lines (69 loc) · 1.98 KB
/
masa-context.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import React, { createContext } from 'react';
import {
GenerateGreenResult,
ICreditScore,
IGreen,
Masa,
NetworkName,
SoulNameDetails,
VerifyGreenResult,
} from '@masa-finance/masa-sdk';
import { BigNumber, ethers } from 'ethers';
import { Network } from '../helpers';
export const MASA_CONTEXT = createContext<MasaShape>({});
export interface MasaShape {
children?: React.ReactNode;
setProvider?: (provider: ethers.Wallet | ethers.Signer | null) => void;
provider?: ethers.Wallet | ethers.Signer | null;
isModalOpen?: boolean;
setModalOpen?: (val: boolean) => void;
masa?: Masa;
isConnected?: boolean;
loading?: boolean;
walletAddress?: string | undefined;
identity?: {
identityId?: BigNumber | undefined;
address?: string | undefined;
};
loggedIn?: boolean;
handleLogin?: () => void;
handleLogout?: (callback?: () => void) => void;
handlePurchaseIdentity?: () => void;
connect?: (options?: { scope?: string[]; callback?: () => void }) => void;
closeModal?: () => void;
scope?: string[];
company?: string;
handleCreateCreditScore?: () => void;
creditScores?:
| {
tokenId: BigNumber;
tokenUri: string;
metadata?: ICreditScore | undefined;
}[]
| null;
loadCreditScores?: () => void;
soulnames?: SoulNameDetails[] | null;
loadSoulnames?: () => void;
logginLoading?: boolean;
missingProvider?: boolean;
setMissingProvider?: (value: boolean) => void;
greens?:
| {
tokenId: BigNumber;
tokenUri: string;
metadata?: IGreen | undefined;
}[]
| undefined;
greenLoading?: boolean;
handleCreateGreen?: (
phoneNumber: string,
code: string
) => Promise<VerifyGreenResult | undefined>;
handleGenerateGreen?: (
phoneNumber: string
) => Promise<GenerateGreenResult | undefined>;
network?: ethers.providers.Network | null;
switchNetwork?: (chainId: number) => void;
SupportedNetworks?: Partial<{ [index in NetworkName]: Network }>;
networkName?: NetworkName;
}