@trustwallet/connect-walletconnect 0.0.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/LICENSE.md +76 -0
- package/dist/constants.d.ts +30 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +30 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors/index.d.ts +34 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +55 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/explorer-api/index.d.ts +83 -0
- package/dist/explorer-api/index.d.ts.map +1 -0
- package/dist/explorer-api/index.js +118 -0
- package/dist/explorer-api/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/react/hooks/index.d.ts +3 -0
- package/dist/react/hooks/index.d.ts.map +1 -0
- package/dist/react/hooks/index.js +3 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/hooks/useWalletConnect.d.ts +16 -0
- package/dist/react/hooks/useWalletConnect.d.ts.map +1 -0
- package/dist/react/hooks/useWalletConnect.js +51 -0
- package/dist/react/hooks/useWalletConnect.js.map +1 -0
- package/dist/react/hooks/useWalletConnectExplorer.d.ts +18 -0
- package/dist/react/hooks/useWalletConnectExplorer.d.ts.map +1 -0
- package/dist/react/hooks/useWalletConnectExplorer.js +82 -0
- package/dist/react/hooks/useWalletConnectExplorer.js.map +1 -0
- package/dist/react/hooks/useWalletConnectService.d.ts +7 -0
- package/dist/react/hooks/useWalletConnectService.d.ts.map +1 -0
- package/dist/react/hooks/useWalletConnectService.js +15 -0
- package/dist/react/hooks/useWalletConnectService.js.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -0
- package/dist/rpc-interceptors/bip122/index.d.ts +25 -0
- package/dist/rpc-interceptors/bip122/index.d.ts.map +1 -0
- package/dist/rpc-interceptors/bip122/index.js +124 -0
- package/dist/rpc-interceptors/bip122/index.js.map +1 -0
- package/dist/rpc-interceptors/eip155/index.d.ts +27 -0
- package/dist/rpc-interceptors/eip155/index.d.ts.map +1 -0
- package/dist/rpc-interceptors/eip155/index.js +55 -0
- package/dist/rpc-interceptors/eip155/index.js.map +1 -0
- package/dist/rpc-interceptors/solana/index.d.ts +29 -0
- package/dist/rpc-interceptors/solana/index.d.ts.map +1 -0
- package/dist/rpc-interceptors/solana/index.js +112 -0
- package/dist/rpc-interceptors/solana/index.js.map +1 -0
- package/dist/rpc-types/bip122.d.ts +54 -0
- package/dist/rpc-types/bip122.d.ts.map +1 -0
- package/dist/rpc-types/bip122.js +2 -0
- package/dist/rpc-types/bip122.js.map +1 -0
- package/dist/rpc-types/eip155.d.ts +64 -0
- package/dist/rpc-types/eip155.d.ts.map +1 -0
- package/dist/rpc-types/eip155.js +6 -0
- package/dist/rpc-types/eip155.js.map +1 -0
- package/dist/rpc-types/index.d.ts +4 -0
- package/dist/rpc-types/index.d.ts.map +1 -0
- package/dist/rpc-types/index.js +4 -0
- package/dist/rpc-types/index.js.map +1 -0
- package/dist/rpc-types/solana.d.ts +72 -0
- package/dist/rpc-types/solana.d.ts.map +1 -0
- package/dist/rpc-types/solana.js +6 -0
- package/dist/rpc-types/solana.js.map +1 -0
- package/dist/scope-interceptor/index.d.ts +3 -0
- package/dist/scope-interceptor/index.d.ts.map +1 -0
- package/dist/scope-interceptor/index.js +29 -0
- package/dist/scope-interceptor/index.js.map +1 -0
- package/dist/service/index.d.ts +14 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +40 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/service.d.ts +34 -0
- package/dist/service/service.d.ts.map +1 -0
- package/dist/service/service.js +63 -0
- package/dist/service/service.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/wallet/index.d.ts +49 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +361 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/namespace-config.d.ts +31 -0
- package/dist/wallet/namespace-config.d.ts.map +1 -0
- package/dist/wallet/namespace-config.js +92 -0
- package/dist/wallet/namespace-config.js.map +1 -0
- package/dist/wallet/types.d.ts +22 -0
- package/dist/wallet/types.d.ts.map +1 -0
- package/dist/wallet/types.js +2 -0
- package/dist/wallet/types.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WalletConnect EIP155 (EVM) RPC Types
|
|
3
|
+
* Based on: https://docs.walletconnect.network/wallet-sdk/chain-support/evm
|
|
4
|
+
*/
|
|
5
|
+
export type HexString = `0x${string}`;
|
|
6
|
+
/**
|
|
7
|
+
* WalletConnect EIP155 RPC Request Arguments
|
|
8
|
+
*/
|
|
9
|
+
export type WalletConnectEIP155Request = {
|
|
10
|
+
method: 'personal_sign';
|
|
11
|
+
params: [message: HexString, account: HexString];
|
|
12
|
+
} | {
|
|
13
|
+
method: 'eth_sign';
|
|
14
|
+
params: [account: HexString, message: HexString];
|
|
15
|
+
} | {
|
|
16
|
+
method: 'eth_signTypedData' | 'eth_signTypedData_v4';
|
|
17
|
+
params: [account: HexString, typedData: string];
|
|
18
|
+
} | {
|
|
19
|
+
method: 'eth_sendTransaction';
|
|
20
|
+
params: [
|
|
21
|
+
{
|
|
22
|
+
from: HexString;
|
|
23
|
+
to?: HexString;
|
|
24
|
+
data?: HexString;
|
|
25
|
+
gas?: HexString;
|
|
26
|
+
gasPrice?: HexString;
|
|
27
|
+
value?: HexString;
|
|
28
|
+
nonce?: HexString;
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
} | {
|
|
32
|
+
method: 'eth_signTransaction';
|
|
33
|
+
params: [
|
|
34
|
+
{
|
|
35
|
+
from: HexString;
|
|
36
|
+
to?: HexString;
|
|
37
|
+
data?: HexString;
|
|
38
|
+
gas?: HexString;
|
|
39
|
+
gasPrice?: HexString;
|
|
40
|
+
value?: HexString;
|
|
41
|
+
nonce?: HexString;
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
} | {
|
|
45
|
+
method: 'eth_sendRawTransaction';
|
|
46
|
+
params: [signedTransaction: HexString];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* WalletConnect EIP155 RPC Response Types
|
|
50
|
+
*/
|
|
51
|
+
export type WalletConnectEIP155Response<T extends WalletConnectEIP155Request = WalletConnectEIP155Request> = T extends {
|
|
52
|
+
method: 'personal_sign';
|
|
53
|
+
} ? HexString : T extends {
|
|
54
|
+
method: 'eth_sign';
|
|
55
|
+
} ? HexString : T extends {
|
|
56
|
+
method: 'eth_signTypedData' | 'eth_signTypedData_v4';
|
|
57
|
+
} ? HexString : T extends {
|
|
58
|
+
method: 'eth_sendTransaction';
|
|
59
|
+
} ? HexString : T extends {
|
|
60
|
+
method: 'eth_signTransaction';
|
|
61
|
+
} ? HexString : T extends {
|
|
62
|
+
method: 'eth_sendRawTransaction';
|
|
63
|
+
} ? HexString : never;
|
|
64
|
+
//# sourceMappingURL=eip155.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip155.d.ts","sourceRoot":"","sources":["../../src/rpc-types/eip155.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG,KAAK,MAAM,EAAE,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,0BAA0B,GACnC;IACA,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;CAC/C,GACD;IACA,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;CAC/C,GACD;IACA,MAAM,EAAE,mBAAmB,GAAG,sBAAsB,CAAA;IACpD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;CAC9C,GACD;IACA,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,EAAE;QACP;YACC,IAAI,EAAE,SAAS,CAAA;YACf,EAAE,CAAC,EAAE,SAAS,CAAA;YACd,IAAI,CAAC,EAAE,SAAS,CAAA;YAChB,GAAG,CAAC,EAAE,SAAS,CAAA;YACf,QAAQ,CAAC,EAAE,SAAS,CAAA;YACpB,KAAK,CAAC,EAAE,SAAS,CAAA;YACjB,KAAK,CAAC,EAAE,SAAS,CAAA;SACjB;KACD,CAAA;CACA,GACD;IACA,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,EAAE;QACP;YACC,IAAI,EAAE,SAAS,CAAA;YACf,EAAE,CAAC,EAAE,SAAS,CAAA;YACd,IAAI,CAAC,EAAE,SAAS,CAAA;YAChB,GAAG,CAAC,EAAE,SAAS,CAAA;YACf,QAAQ,CAAC,EAAE,SAAS,CAAA;YACpB,KAAK,CAAC,EAAE,SAAS,CAAA;YACjB,KAAK,CAAC,EAAE,SAAS,CAAA;SACjB;KACD,CAAA;CACA,GACD;IACA,MAAM,EAAE,wBAAwB,CAAA;IAChC,MAAM,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;CACrC,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,0BAA0B,GAAG,0BAA0B,IACxG,CAAC,SAAS;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAClC,SAAS,GACT,CAAC,SAAS;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAC/B,SAAS,GACT,CAAC,SAAS;IAAE,MAAM,EAAE,mBAAmB,GAAG,sBAAsB,CAAA;CAAE,GACjE,SAAS,GACT,CAAC,SAAS;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAC1C,SAAS,GACT,CAAC,SAAS;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,GAC1C,SAAS,GACT,CAAC,SAAS;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,GAC7C,SAAS,GACT,KAAK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip155.js","sourceRoot":"","sources":["../../src/rpc-types/eip155.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rpc-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WalletConnect Solana RPC Types
|
|
3
|
+
* Based on: https://docs.walletconnect.network/wallet-sdk/chain-support/solana
|
|
4
|
+
*/
|
|
5
|
+
export type Base58String = string;
|
|
6
|
+
export type Base64String = string;
|
|
7
|
+
/**
|
|
8
|
+
* Solana commitment levels
|
|
9
|
+
*/
|
|
10
|
+
export type SolanaCommitment = 'processed' | 'confirmed' | 'finalized';
|
|
11
|
+
/**
|
|
12
|
+
* Solana account structure returned by WalletConnect
|
|
13
|
+
*/
|
|
14
|
+
export type WalletConnectSolanaAccount = {
|
|
15
|
+
pubkey: Base58String;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Send options for Solana transactions
|
|
19
|
+
*/
|
|
20
|
+
export type SolanaSendOptions = {
|
|
21
|
+
skipPreflight?: boolean;
|
|
22
|
+
preflightCommitment?: SolanaCommitment;
|
|
23
|
+
maxRetries?: number;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* WalletConnect Solana RPC Request Arguments
|
|
27
|
+
*/
|
|
28
|
+
export type WalletConnectSolanaRequest = {
|
|
29
|
+
method: 'solana_signMessage';
|
|
30
|
+
params: {
|
|
31
|
+
message: Base58String;
|
|
32
|
+
pubkey: Base58String;
|
|
33
|
+
};
|
|
34
|
+
} | {
|
|
35
|
+
method: 'solana_signTransaction';
|
|
36
|
+
params: {
|
|
37
|
+
transaction: Base64String;
|
|
38
|
+
};
|
|
39
|
+
} | {
|
|
40
|
+
method: 'solana_signAllTransactions';
|
|
41
|
+
params: {
|
|
42
|
+
transactions: Base64String[];
|
|
43
|
+
};
|
|
44
|
+
} | {
|
|
45
|
+
method: 'solana_signAndSendTransaction';
|
|
46
|
+
params: {
|
|
47
|
+
transaction: Base64String;
|
|
48
|
+
sendOptions?: SolanaSendOptions;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* WalletConnect Solana RPC Response Types
|
|
53
|
+
*/
|
|
54
|
+
export type WalletConnectSolanaResponse<T extends WalletConnectSolanaRequest = WalletConnectSolanaRequest> = T extends {
|
|
55
|
+
method: 'solana_signMessage';
|
|
56
|
+
} ? {
|
|
57
|
+
signature: Base58String;
|
|
58
|
+
} : T extends {
|
|
59
|
+
method: 'solana_signTransaction';
|
|
60
|
+
} ? {
|
|
61
|
+
signature: Base58String;
|
|
62
|
+
transaction?: Base64String;
|
|
63
|
+
} : T extends {
|
|
64
|
+
method: 'solana_signAllTransactions';
|
|
65
|
+
} ? {
|
|
66
|
+
transactions: Base64String[];
|
|
67
|
+
} : T extends {
|
|
68
|
+
method: 'solana_signAndSendTransaction';
|
|
69
|
+
} ? {
|
|
70
|
+
signature: Base58String;
|
|
71
|
+
} : never;
|
|
72
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/rpc-types/solana.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACxC,MAAM,EAAE,YAAY,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,gBAAgB,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GACnC;IACA,MAAM,EAAE,oBAAoB,CAAA;IAC5B,MAAM,EAAE;QACP,OAAO,EAAE,YAAY,CAAA;QACrB,MAAM,EAAE,YAAY,CAAA;KACpB,CAAA;CACA,GACD;IACA,MAAM,EAAE,wBAAwB,CAAA;IAChC,MAAM,EAAE;QACP,WAAW,EAAE,YAAY,CAAA;KACzB,CAAA;CACA,GACD;IACA,MAAM,EAAE,4BAA4B,CAAA;IACpC,MAAM,EAAE;QACP,YAAY,EAAE,YAAY,EAAE,CAAA;KAC5B,CAAA;CACA,GACD;IACA,MAAM,EAAE,+BAA+B,CAAA;IACvC,MAAM,EAAE;QACP,WAAW,EAAE,YAAY,CAAA;QACzB,WAAW,CAAC,EAAE,iBAAiB,CAAA;KAC/B,CAAA;CACA,CAAA;AAEJ;;GAEG;AACH,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,0BAA0B,GAAG,0BAA0B,IACxG,CAAC,SAAS;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,GACvC;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,GAC3B,CAAC,SAAS;IAAE,MAAM,EAAE,wBAAwB,CAAA;CAAE,GAC7C;IAAE,SAAS,EAAE,YAAY,CAAC;IAAC,WAAW,CAAC,EAAE,YAAY,CAAA;CAAE,GACvD,CAAC,SAAS;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,GACjD;IAAE,YAAY,EAAE,YAAY,EAAE,CAAA;CAAE,GAChC,CAAC,SAAS;IAAE,MAAM,EAAE,+BAA+B,CAAA;CAAE,GACpD;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,GAC3B,KAAK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/rpc-types/solana.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scope-interceptor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAIvE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CA8B5E"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const NAMESPACES_REQUIRING_PREFIX = new Set(['solana']);
|
|
2
|
+
export function scopeInterceptor(namespace, scope) {
|
|
3
|
+
const transformedChains = [];
|
|
4
|
+
for (let chain of scope.CHAINS) {
|
|
5
|
+
transformedChains.push(`${scope.ID}:${chain}`);
|
|
6
|
+
}
|
|
7
|
+
if (!NAMESPACES_REQUIRING_PREFIX.has(namespace)) {
|
|
8
|
+
return {
|
|
9
|
+
...scope,
|
|
10
|
+
CHAINS: transformedChains,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const transformedMethods = {};
|
|
14
|
+
for (const [key, method] of Object.entries(scope.METHODS)) {
|
|
15
|
+
if (method.includes('_')) {
|
|
16
|
+
transformedMethods[key] = method;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// Add namespace prefix (e.g., solana_signMessage)
|
|
20
|
+
transformedMethods[key] = `${namespace}_${method}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
...scope,
|
|
25
|
+
METHODS: transformedMethods,
|
|
26
|
+
CHAINS: transformedChains,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scope-interceptor/index.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAqB,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEzE,MAAM,UAAU,gBAAgB,CAAC,SAAsB,EAAE,KAAY;IACpE,MAAM,iBAAiB,GAAc,EAAE,CAAA;IAEvC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,OAAO;YACN,GAAG,KAAK;YACR,MAAM,EAAE,iBAAiB;SACzB,CAAA;IACF,CAAC;IAED,MAAM,kBAAkB,GAA2B,EAAE,CAAA;IAErD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,kBAAkB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACjC,CAAC;aAAM,CAAC;YACP,kDAAkD;YAClD,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAA;QACnD,CAAC;IACF,CAAC;IAED,OAAO;QACN,GAAG,KAAK;QACR,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,iBAAiB;KACzB,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NamespaceId, Scope } from '@trustwallet/connect-core';
|
|
2
|
+
import type { WalletConnectOptions } from '../types';
|
|
3
|
+
import { WalletConnectService } from './service';
|
|
4
|
+
export { WalletConnectService } from './service';
|
|
5
|
+
export declare function createWalletConnect(options: WalletConnectOptions): {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
* Internal use only. Do not use directly.
|
|
9
|
+
*/
|
|
10
|
+
__createService: ({ scopes }: {
|
|
11
|
+
scopes: Map<NamespaceId, Scope>;
|
|
12
|
+
}) => WalletConnectService;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAsB,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB;IA0B/D;;;OAGG;kCAC2B;QAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;KAAE;EASlE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { WalletConnectService } from './service';
|
|
2
|
+
import { MissingProjectIdError } from '../errors';
|
|
3
|
+
export { WalletConnectService } from './service';
|
|
4
|
+
export function createWalletConnect(options) {
|
|
5
|
+
if (!options.projectId)
|
|
6
|
+
throw new MissingProjectIdError();
|
|
7
|
+
/**
|
|
8
|
+
* Initialize SignClient once, outside of React's render cycle.
|
|
9
|
+
* This prevents double-initialization caused by React Strict Mode or re-renders,
|
|
10
|
+
* since createWalletConnect is called at module/app level.
|
|
11
|
+
*/
|
|
12
|
+
let signClientPromise;
|
|
13
|
+
function getSignClientPromise() {
|
|
14
|
+
if (signClientPromise)
|
|
15
|
+
return signClientPromise;
|
|
16
|
+
signClientPromise = (async () => {
|
|
17
|
+
const { SignClient } = await import('@walletconnect/sign-client');
|
|
18
|
+
return SignClient.init({
|
|
19
|
+
projectId: options.projectId,
|
|
20
|
+
metadata: options.metadata,
|
|
21
|
+
});
|
|
22
|
+
})();
|
|
23
|
+
return signClientPromise;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
* Internal use only. Do not use directly.
|
|
29
|
+
*/
|
|
30
|
+
__createService: ({ scopes }) => {
|
|
31
|
+
return new WalletConnectService({
|
|
32
|
+
projectId: options.projectId,
|
|
33
|
+
metadata: options.metadata,
|
|
34
|
+
scopes,
|
|
35
|
+
signClientPromise: getSignClientPromise(),
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAChE,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAA;IAEzD;;;;OAIG;IACH,IAAI,iBAA0D,CAAA;IAE9D,SAAS,oBAAoB;QAC5B,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAA;QAE/C,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAA;YAEjE,OAAO,UAAU,CAAC,IAAI,CAAC;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC1B,CAAC,CAAA;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,OAAO,iBAAiB,CAAA;IACzB,CAAC;IAED,OAAO;QACN;;;WAGG;QACH,eAAe,EAAE,CAAC,EAAE,MAAM,EAAuC,EAAE,EAAE;YACpE,OAAO,IAAI,oBAAoB,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM;gBACN,iBAAiB,EAAE,oBAAoB,EAAE;aACzC,CAAC,CAAA;QACH,CAAC;KACD,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SignClientMetadata, WalletConnectServiceOptions } from '../types';
|
|
2
|
+
import { ServiceBase } from '@trustwallet/connect-core';
|
|
3
|
+
import { WalletConnectWalletAdapter } from '../wallet';
|
|
4
|
+
type ConnectParams = {
|
|
5
|
+
optionalNamespaces?: Record<string, {
|
|
6
|
+
chains: string[];
|
|
7
|
+
methods: string[];
|
|
8
|
+
events: string[];
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
export declare class WalletConnectService extends ServiceBase {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
readonly projectId: string;
|
|
14
|
+
readonly metadata: SignClientMetadata | undefined;
|
|
15
|
+
private signClientPromise;
|
|
16
|
+
private signClientInstance;
|
|
17
|
+
private scopes;
|
|
18
|
+
uri: string | undefined;
|
|
19
|
+
caipWallet: WalletConnectWalletAdapter;
|
|
20
|
+
private wcEvents;
|
|
21
|
+
constructor(options: WalletConnectServiceOptions);
|
|
22
|
+
private start;
|
|
23
|
+
getSignClientInstance(): Promise<import("@walletconnect/sign-client").default>;
|
|
24
|
+
getConnectParams(): Promise<ConnectParams>;
|
|
25
|
+
/** store for external use. */
|
|
26
|
+
getCaipWallet(): WalletConnectWalletAdapter;
|
|
27
|
+
getUri(): string | undefined;
|
|
28
|
+
setUri(uri: string): void;
|
|
29
|
+
onUri(cb: (uri: string | undefined) => void): () => void;
|
|
30
|
+
offUri(cb: (uri: string | undefined) => void): void;
|
|
31
|
+
clearAllListeners(): void;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AACnG,OAAO,EAAe,WAAW,EAAkB,MAAM,2BAA2B,CAAA;AAEpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAGtD,KAAK,aAAa,GAAG;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAC1B,MAAM,EACN;QACC,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,MAAM,EAAE,MAAM,EAAE,CAAA;KAChB,CACD,CAAA;CACD,CAAA;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACpD,SAAgB,EAAE,EAAE,MAAM,CAA0B;IACpD,SAAgB,SAAS,EAAE,MAAM,CAAA;IACjC,SAAgB,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACxD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,MAAM,CAAyB;IAEvC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,UAAU,6BAER;IAEF,OAAO,CAAC,QAAQ,CAEZ;gBAEQ,OAAO,EAAE,2BAA2B;YAUlC,KAAK;IAIb,qBAAqB;IAKrB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IA2BhD,8BAA8B;IAC9B,aAAa;IAIb,MAAM,IAAI,MAAM,GAAG,SAAS;IAI5B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IAIxD,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI;IAI5C,iBAAiB,IAAI,IAAI;CAGhC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ServiceBase, Emitter } from '@trustwallet/connect-core';
|
|
2
|
+
import { WALLETCONNECT_WALLET } from '../constants';
|
|
3
|
+
import { WalletConnectWalletAdapter } from '../wallet';
|
|
4
|
+
import { scopeInterceptor } from '../scope-interceptor';
|
|
5
|
+
export class WalletConnectService extends ServiceBase {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super();
|
|
8
|
+
this.id = WALLETCONNECT_WALLET.ID;
|
|
9
|
+
this.caipWallet = new WalletConnectWalletAdapter({
|
|
10
|
+
walletConnectService: this,
|
|
11
|
+
});
|
|
12
|
+
this.wcEvents = new Emitter();
|
|
13
|
+
this.scopes = options.scopes;
|
|
14
|
+
this.projectId = options.projectId;
|
|
15
|
+
this.metadata = options.metadata;
|
|
16
|
+
this.signClientPromise = options.signClientPromise;
|
|
17
|
+
this.start();
|
|
18
|
+
}
|
|
19
|
+
async start() {
|
|
20
|
+
this.signClientInstance = await this.signClientPromise;
|
|
21
|
+
}
|
|
22
|
+
async getSignClientInstance() {
|
|
23
|
+
if (this.signClientInstance)
|
|
24
|
+
return this.signClientInstance;
|
|
25
|
+
return this.signClientPromise;
|
|
26
|
+
}
|
|
27
|
+
async getConnectParams() {
|
|
28
|
+
const optionalNamespaces = {};
|
|
29
|
+
/** Populate chains, methods, and events from scopes */
|
|
30
|
+
for (const [namespace, scope] of this.scopes) {
|
|
31
|
+
const transformedScope = scopeInterceptor(namespace, scope);
|
|
32
|
+
optionalNamespaces[namespace] = {
|
|
33
|
+
chains: transformedScope.CHAINS,
|
|
34
|
+
methods: Object.values(transformedScope.METHODS),
|
|
35
|
+
events: Object.values(transformedScope.EVENTS),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
optionalNamespaces,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** store for external use. */
|
|
43
|
+
getCaipWallet() {
|
|
44
|
+
return this.caipWallet;
|
|
45
|
+
}
|
|
46
|
+
getUri() {
|
|
47
|
+
return this.uri;
|
|
48
|
+
}
|
|
49
|
+
setUri(uri) {
|
|
50
|
+
this.uri = uri;
|
|
51
|
+
this.wcEvents.emit('uri', this.uri);
|
|
52
|
+
}
|
|
53
|
+
onUri(cb) {
|
|
54
|
+
return this.wcEvents.on('uri', cb);
|
|
55
|
+
}
|
|
56
|
+
offUri(cb) {
|
|
57
|
+
return this.wcEvents.off('uri', cb);
|
|
58
|
+
}
|
|
59
|
+
clearAllListeners() {
|
|
60
|
+
this.wcEvents.clear();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,WAAW,EAAE,OAAO,EAAS,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAavD,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAiBpD,YAAY,OAAoC;QAC/C,KAAK,EAAE,CAAA;QAjBQ,OAAE,GAAW,oBAAoB,CAAC,EAAE,CAAA;QAQpD,eAAU,GAAG,IAAI,0BAA0B,CAAC;YAC3C,oBAAoB,EAAE,IAAI;SAC1B,CAAC,CAAA;QAEM,aAAQ,GAAG,IAAI,OAAO,EAE1B,CAAA;QAIH,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QAElD,IAAI,CAAC,KAAK,EAAE,CAAA;IACb,CAAC;IAEO,KAAK,CAAC,KAAK;QAClB,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB;QAC1B,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAA;QAC3D,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACrB,MAAM,kBAAkB,GAQpB,EAAE,CAAA;QAEN,uDAAuD;QACvD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAE3D,kBAAkB,CAAC,SAAS,CAAC,GAAG;gBAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAChD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;aAC9C,CAAA;QACF,CAAC;QAED,OAAO;YACN,kBAAkB;SAClB,CAAA;IACF,CAAC;IAED,8BAA8B;IAC9B,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,GAAW;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,EAAqC;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,EAAqC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAEM,iBAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACD"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NamespaceId, Scope } from '@trustwallet/connect-core';
|
|
2
|
+
import { SignClient } from '@walletconnect/sign-client';
|
|
3
|
+
export type SignClientMetadata = {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
url: string;
|
|
7
|
+
icons: string[];
|
|
8
|
+
};
|
|
9
|
+
export type SignClientInstance = Awaited<ReturnType<(typeof SignClient)['init']>>;
|
|
10
|
+
export type WalletConnectOptions = {
|
|
11
|
+
projectId: string;
|
|
12
|
+
metadata?: SignClientMetadata;
|
|
13
|
+
};
|
|
14
|
+
export type WalletConnectServiceOptions = {
|
|
15
|
+
scopes: Map<NamespaceId, Scope>;
|
|
16
|
+
signClientPromise: Promise<SignClientInstance>;
|
|
17
|
+
} & WalletConnectOptions;
|
|
18
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,kBAAkB,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC/B,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC9C,GAAG,oBAAoB,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { WalletAdapterBase, WalletType, CaipProvider, CaipSessionResponse } from '@trustwallet/connect-core';
|
|
2
|
+
import { WalletConnectService } from '../service/service';
|
|
3
|
+
type WalletAdapterOptions = {
|
|
4
|
+
walletConnectService: WalletConnectService;
|
|
5
|
+
};
|
|
6
|
+
export declare class WalletConnectWalletAdapter extends WalletAdapterBase<'caip'> {
|
|
7
|
+
readonly options: WalletAdapterOptions;
|
|
8
|
+
namespaceIds: never[];
|
|
9
|
+
service: WalletConnectService;
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly type: Extract<WalletType, 'caip'>;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly icon: string;
|
|
14
|
+
private currentSession;
|
|
15
|
+
connectPromise: Promise<CaipSessionResponse> | undefined;
|
|
16
|
+
private accounts;
|
|
17
|
+
unsubscribers: (() => void)[];
|
|
18
|
+
constructor(options: WalletAdapterOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Get account data for a specific namespace
|
|
21
|
+
*/
|
|
22
|
+
private getAccount;
|
|
23
|
+
/**
|
|
24
|
+
* Set account data for a specific namespace
|
|
25
|
+
*/
|
|
26
|
+
private setAccount;
|
|
27
|
+
/**
|
|
28
|
+
* Update account data for a specific namespace (merge with existing)
|
|
29
|
+
*/
|
|
30
|
+
private updateAccount;
|
|
31
|
+
/**
|
|
32
|
+
* Reset all account data
|
|
33
|
+
*/
|
|
34
|
+
private resetAllAccounts;
|
|
35
|
+
/**
|
|
36
|
+
* Clean up all pending proposals from previous failed attempts
|
|
37
|
+
*/
|
|
38
|
+
private cleanupPendingPairings;
|
|
39
|
+
protected connect(): Promise<CaipSessionResponse>;
|
|
40
|
+
private disconnectRemainingSessions;
|
|
41
|
+
protected reconnect(): Promise<CaipSessionResponse | undefined>;
|
|
42
|
+
protected disconnect(): Promise<void>;
|
|
43
|
+
getProvider(): Promise<CaipProvider>;
|
|
44
|
+
protected startListeners(): Promise<void>;
|
|
45
|
+
protected stopListeners(): void;
|
|
46
|
+
onConnect(namespaces: CaipSessionResponse['namespaces']): void;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EAEjB,UAAU,EACV,YAAY,EACZ,mBAAmB,EAInB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAMzD,KAAK,oBAAoB,GAAG;IAC3B,oBAAoB,EAAE,oBAAoB,CAAA;CAC1C,CAAA;AAYD,qBAAa,0BAA2B,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAa5D,QAAQ,CAAC,OAAO,EAAE,oBAAoB;IAXlD,YAAY,UAAK;IACjB,OAAO,EAAE,oBAAoB,CAAA;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAA0B;IAC7C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA4B;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA4B;IACjD,OAAO,CAAC,cAAc,CAAiC;IACvD,cAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACxD,OAAO,CAAC,QAAQ,CAAiF;IACjG,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAK;gBAEb,OAAO,EAAE,oBAAoB;IAKlD;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;YACW,sBAAsB;cAiCpB,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAuEvD,OAAO,CAAC,2BAA2B;cA0BnB,SAAS,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;cA8BrD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC9B,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;cA4CjC,cAAc;IA2F9B,SAAS,CAAC,aAAa;IAKvB,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC;CAmCvD"}
|