polkamarkets-js 3.2.0 → 3.3.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.
Files changed (145) hide show
  1. package/abis/AddAdminToLand.json +1 -0
  2. package/abis/ClaimMerkleRoot.json +1 -0
  3. package/abis/CreateLand.json +1 -0
  4. package/abis/CreateMarkets.json +1 -0
  5. package/abis/DeployContracts.json +1 -0
  6. package/abis/DeployMerkleRewardsDistributor.json +1 -0
  7. package/abis/DeployToken.json +1 -0
  8. package/abis/DeployUSDT.json +1 -0
  9. package/abis/MintTokens.json +1 -0
  10. package/abis/PublishMerkleRoot.json +1 -0
  11. package/abis/ResolveMarket.json +1 -0
  12. package/abis/TradeMarket.json +1 -0
  13. package/abis/USDT.json +1 -0
  14. package/package.json +1 -1
  15. package/script/UpdateMarket.s.sol +56 -0
  16. package/scripts/AddAdminToLand.s.sol +29 -0
  17. package/scripts/ClaimMerkleRoot.s.sol +34 -0
  18. package/scripts/CreateLand.s.sol +28 -0
  19. package/scripts/CreateMarkets.s.sol +71 -0
  20. package/scripts/DeployContracts.s.sol +94 -0
  21. package/scripts/DeployMerkleRewardsDistributor.s.sol +27 -0
  22. package/scripts/DeployToken.s.sol +17 -0
  23. package/scripts/DeployUSDT.s.sol +24 -0
  24. package/scripts/MintTokens.s.sol +21 -0
  25. package/scripts/PublishMerkleRoot.s.sol +50 -0
  26. package/scripts/ResolveMarket.s.sol +23 -0
  27. package/scripts/TradeMarket.s.sol +28 -0
  28. package/scripts/UpdateMarket.s.sol +55 -0
  29. package/src/models/PredictionMarketV3Contract.js +5 -1
  30. package/test/UpdateTest.t.sol +55 -0
  31. package/test/WhaleTest.t.sol +188 -0
  32. package/contracts/PredictionMarketV3_4Bad.sol +0 -1487
  33. package/contracts/PredictionMarketV3_4Good.sol +0 -1508
  34. package/dist/Application.d.ts +0 -201
  35. package/dist/Application.d.ts.map +0 -1
  36. package/dist/Application.js +0 -411
  37. package/dist/Application.js.map +0 -1
  38. package/dist/index.d.ts +0 -7
  39. package/dist/index.d.ts.map +0 -1
  40. package/dist/index.js +0 -16
  41. package/dist/index.js.map +0 -1
  42. package/dist/interfaces/index.d.ts +0 -4
  43. package/dist/interfaces/index.d.ts.map +0 -1
  44. package/dist/interfaces/index.js +0 -22
  45. package/dist/interfaces/index.js.map +0 -1
  46. package/dist/models/AchievementsContract.d.ts +0 -43
  47. package/dist/models/AchievementsContract.d.ts.map +0 -1
  48. package/dist/models/AchievementsContract.js +0 -177
  49. package/dist/models/AchievementsContract.js.map +0 -1
  50. package/dist/models/ArbitrationContract.d.ts +0 -23
  51. package/dist/models/ArbitrationContract.d.ts.map +0 -1
  52. package/dist/models/ArbitrationContract.js +0 -47
  53. package/dist/models/ArbitrationContract.js.map +0 -1
  54. package/dist/models/ArbitrationProxyContract.d.ts +0 -14
  55. package/dist/models/ArbitrationProxyContract.d.ts.map +0 -1
  56. package/dist/models/ArbitrationProxyContract.js +0 -26
  57. package/dist/models/ArbitrationProxyContract.js.map +0 -1
  58. package/dist/models/ERC20Contract.d.ts +0 -50
  59. package/dist/models/ERC20Contract.d.ts.map +0 -1
  60. package/dist/models/ERC20Contract.js +0 -99
  61. package/dist/models/ERC20Contract.js.map +0 -1
  62. package/dist/models/FantasyERC20Contract.d.ts +0 -13
  63. package/dist/models/FantasyERC20Contract.d.ts.map +0 -1
  64. package/dist/models/FantasyERC20Contract.js +0 -43
  65. package/dist/models/FantasyERC20Contract.js.map +0 -1
  66. package/dist/models/IContract.d.ts +0 -57
  67. package/dist/models/IContract.d.ts.map +0 -1
  68. package/dist/models/IContract.js +0 -515
  69. package/dist/models/IContract.js.map +0 -1
  70. package/dist/models/PolkamarketsSmartAccount.d.ts +0 -26
  71. package/dist/models/PolkamarketsSmartAccount.d.ts.map +0 -1
  72. package/dist/models/PolkamarketsSmartAccount.js +0 -100
  73. package/dist/models/PolkamarketsSmartAccount.js.map +0 -1
  74. package/dist/models/PredictionMarketContract.d.ts +0 -113
  75. package/dist/models/PredictionMarketContract.d.ts.map +0 -1
  76. package/dist/models/PredictionMarketContract.js +0 -298
  77. package/dist/models/PredictionMarketContract.js.map +0 -1
  78. package/dist/models/PredictionMarketV2Contract.d.ts +0 -157
  79. package/dist/models/PredictionMarketV2Contract.d.ts.map +0 -1
  80. package/dist/models/PredictionMarketV2Contract.js +0 -431
  81. package/dist/models/PredictionMarketV2Contract.js.map +0 -1
  82. package/dist/models/PredictionMarketV3Contract.d.ts +0 -42
  83. package/dist/models/PredictionMarketV3Contract.d.ts.map +0 -1
  84. package/dist/models/PredictionMarketV3Contract.js +0 -277
  85. package/dist/models/PredictionMarketV3Contract.js.map +0 -1
  86. package/dist/models/PredictionMarketV3ControllerContract.d.ts +0 -128
  87. package/dist/models/PredictionMarketV3ControllerContract.d.ts.map +0 -1
  88. package/dist/models/PredictionMarketV3ControllerContract.js +0 -174
  89. package/dist/models/PredictionMarketV3ControllerContract.js.map +0 -1
  90. package/dist/models/PredictionMarketV3FactoryContract.d.ts +0 -31
  91. package/dist/models/PredictionMarketV3FactoryContract.d.ts.map +0 -1
  92. package/dist/models/PredictionMarketV3FactoryContract.js +0 -81
  93. package/dist/models/PredictionMarketV3FactoryContract.js.map +0 -1
  94. package/dist/models/PredictionMarketV3ManagerContract.d.ts +0 -67
  95. package/dist/models/PredictionMarketV3ManagerContract.d.ts.map +0 -1
  96. package/dist/models/PredictionMarketV3ManagerContract.js +0 -97
  97. package/dist/models/PredictionMarketV3ManagerContract.js.map +0 -1
  98. package/dist/models/PredictionMarketV3QuerierContract.d.ts +0 -33
  99. package/dist/models/PredictionMarketV3QuerierContract.d.ts.map +0 -1
  100. package/dist/models/PredictionMarketV3QuerierContract.js +0 -61
  101. package/dist/models/PredictionMarketV3QuerierContract.js.map +0 -1
  102. package/dist/models/PredictionMarketV3_2Contract.d.ts +0 -32
  103. package/dist/models/PredictionMarketV3_2Contract.d.ts.map +0 -1
  104. package/dist/models/PredictionMarketV3_2Contract.js +0 -169
  105. package/dist/models/PredictionMarketV3_2Contract.js.map +0 -1
  106. package/dist/models/RealitioERC20Contract.d.ts +0 -16
  107. package/dist/models/RealitioERC20Contract.d.ts.map +0 -1
  108. package/dist/models/RealitioERC20Contract.js +0 -18
  109. package/dist/models/RealitioERC20Contract.js.map +0 -1
  110. package/dist/models/VotingContract.d.ts +0 -38
  111. package/dist/models/VotingContract.d.ts.map +0 -1
  112. package/dist/models/VotingContract.js +0 -85
  113. package/dist/models/VotingContract.js.map +0 -1
  114. package/dist/models/WETH9Contract.d.ts +0 -29
  115. package/dist/models/WETH9Contract.d.ts.map +0 -1
  116. package/dist/models/WETH9Contract.js +0 -44
  117. package/dist/models/WETH9Contract.js.map +0 -1
  118. package/dist/models/index.d.ts +0 -18
  119. package/dist/models/index.d.ts.map +0 -1
  120. package/dist/models/index.js +0 -37
  121. package/dist/models/index.js.map +0 -1
  122. package/dist/types/contracts.d.ts +0 -46
  123. package/dist/types/contracts.d.ts.map +0 -1
  124. package/dist/types/contracts.js +0 -3
  125. package/dist/types/contracts.js.map +0 -1
  126. package/dist/types/index.d.ts +0 -1
  127. package/dist/types/index.d.ts.map +0 -1
  128. package/dist/types/index.js +0 -3
  129. package/dist/types/index.js.map +0 -1
  130. package/dist/utils/Account.d.ts +0 -34
  131. package/dist/utils/Account.d.ts.map +0 -1
  132. package/dist/utils/Account.js +0 -38
  133. package/dist/utils/Account.js.map +0 -1
  134. package/dist/utils/Contract.d.ts +0 -31
  135. package/dist/utils/Contract.d.ts.map +0 -1
  136. package/dist/utils/Contract.js +0 -123
  137. package/dist/utils/Contract.js.map +0 -1
  138. package/dist/utils/Numbers.d.ts +0 -27
  139. package/dist/utils/Numbers.d.ts.map +0 -1
  140. package/dist/utils/Numbers.js +0 -87
  141. package/dist/utils/Numbers.js.map +0 -1
  142. package/script/CreateMarketLib.sol +0 -1873
  143. package/script/DeployProxy.s.sol +0 -27
  144. package/script/DeployUpgradeablePM.s.sol +0 -47
  145. package/script/PredictionMarketV3_3Flow.s.sol +0 -132
@@ -1,57 +0,0 @@
1
- import { IContractParams } from "../types/contracts";
2
- declare class IContract {
3
- web3: any;
4
- acc?: any;
5
- params: any;
6
- contractName: string;
7
- constructor({ web3, contractAddress, abi, acc, web3EventsProvider, gasPrice, isSocialLogin, startBlock, }: IContractParams);
8
- __init__(): Promise<void>;
9
- __metamaskCall({ f, acc, value, callback }: any): Promise<unknown>;
10
- waitForTransactionHashToBeGenerated(userOpHash: string, networkConfig: any): Promise<unknown>;
11
- operationDataFromCall(f: any): {
12
- contract: any;
13
- method: any;
14
- arguments: any;
15
- };
16
- getUserOpHash(chainId: any, userOp: any, entryPoint: any): string;
17
- packUserOp(userOp: any, forSignature?: boolean): string;
18
- waitForTransactionHashToBeGeneratedPimlico(userOpHash: string, pimlicoBundlerClient: any): Promise<unknown>;
19
- usePimlicoForGaslessTransactions(f: any, tx: any, methodCallData: any, networkConfig: any, provider: any): Promise<unknown>;
20
- useThirdWebForGaslessTransactions(f: any, tx: any, methodCallData: any, networkConfig: any, provider: any): Promise<any>;
21
- useThirdWebForGaslessTransactionsWithThirdWebAuth(f: any, tx: any, methodCallData: any, networkConfig: any, provider: any): Promise<any>;
22
- useThirdWebForGaslessWithZKSync(f: any, tx: any, methodCallData: any, networkConfig: any, provider: any): Promise<any>;
23
- sendGaslessTransactions(f: any): Promise<any>;
24
- convertEtherEventsToWeb3Events(events: any[]): any[];
25
- __sendTx(f: any, privateKey?: string | boolean, value?: string, callback?: (confirmationNumber: number) => void): Promise<any>;
26
- __deploy(params: any[], callback: (txHash: string) => void): Promise<unknown>;
27
- __assert(): Promise<void>;
28
- deploy({ callback, params }?: {
29
- callback?: (txHash: string) => void;
30
- params?: any[];
31
- }): Promise<unknown>;
32
- setNewOwner({ address }: {
33
- address: string;
34
- }): Promise<any>;
35
- owner(): Promise<string>;
36
- isPaused(): Promise<boolean>;
37
- pauseContract(): Promise<any>;
38
- unpauseContract(): Promise<any>;
39
- removeOtherERC20Tokens({ tokenAddress, toAddress }: {
40
- tokenAddress: string;
41
- toAddress: string;
42
- }): Promise<any>;
43
- safeGuardAllTokens({ toAddress }: {
44
- toAddress: string;
45
- }): Promise<any>;
46
- changeTokenAddress({ newTokenAddress }: {
47
- newTokenAddress: string;
48
- }): Promise<any>;
49
- getAddress(): string;
50
- getContract(): any;
51
- getBalance(): Promise<string>;
52
- getMyAccount(): Promise<string | null>;
53
- getEvents(event: string, filter?: any, fromBlock?: any, toBlock?: "latest" | number): Promise<any[]>;
54
- getBlock(blockNumber: number | string): Promise<any>;
55
- }
56
- export default IContract;
57
- //# sourceMappingURL=IContract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IContract.d.ts","sourceRoot":"","sources":["../../src/models/IContract.ts"],"names":[],"mappings":"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"}
@@ -1,515 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Contract_1 = __importDefault(require("../utils/Contract"));
7
- const axios_1 = __importDefault(require("axios"));
8
- // @ts-ignore
9
- const PolkamarketsSmartAccount_1 = __importDefault(require("./PolkamarketsSmartAccount"));
10
- const ethers_1 = require("ethers");
11
- // Permissionless and thirdweb imports (use any for now)
12
- const { ENTRYPOINT_ADDRESS_V06, bundlerActions, providerToSmartAccountSigner, getAccountNonce, } = require("permissionless");
13
- const { pimlicoBundlerActions, pimlicoPaymasterActions, } = require("permissionless/actions/pimlico");
14
- const { createClient, createPublicClient, http } = require("viem");
15
- const { signerToSimpleSmartAccount } = require("permissionless/accounts");
16
- const { getPaymasterAndData, estimateUserOpGas, bundleUserOp, signUserOp, waitForUserOpReceipt, getUserOpGasFees, createUnsignedUserOp, } = require("thirdweb/wallets/smart");
17
- const { createThirdwebClient, getContract: getThirdwebContract, prepareContractCall, prepareTransaction, sendTransaction, waitForReceipt, } = require("thirdweb");
18
- const { defineChain } = require("thirdweb/chains");
19
- const { ethers5Adapter } = require("thirdweb/adapters/ethers5");
20
- const { smartWallet } = require("thirdweb/wallets/smart");
21
- class IContract {
22
- constructor({ web3, contractAddress = null, abi, acc, web3EventsProvider, gasPrice, isSocialLogin = false, startBlock, }) {
23
- this.contractName = '';
24
- if (!abi) {
25
- throw new Error("No ABI Interface provided");
26
- }
27
- if (!web3) {
28
- throw new Error("Please provide a valid web3 provider");
29
- }
30
- this.web3 = web3;
31
- if (acc) {
32
- this.acc = acc;
33
- }
34
- this.params = {
35
- web3,
36
- abi,
37
- contractAddress,
38
- web3EventsProvider,
39
- gasPrice,
40
- contract: new Contract_1.default(web3, abi, contractAddress || ""),
41
- isSocialLogin,
42
- startBlock,
43
- };
44
- }
45
- async __init__() {
46
- if (!this.getAddress()) {
47
- throw new Error("Please add a Contract Address");
48
- }
49
- await this.__assert();
50
- }
51
- async __metamaskCall({ f, acc, value, callback = () => { } }) {
52
- return new Promise((resolve, reject) => {
53
- f
54
- .send({
55
- from: acc,
56
- value: value,
57
- gasPrice: this.params.gasPrice,
58
- maxPriorityFeePerGas: null,
59
- maxFeePerGas: null,
60
- })
61
- .on("confirmation", (confirmationNumber, receipt) => {
62
- callback(confirmationNumber);
63
- if (confirmationNumber > 0) {
64
- resolve(receipt);
65
- }
66
- })
67
- .on("error", (err) => {
68
- reject(err);
69
- });
70
- });
71
- }
72
- waitForTransactionHashToBeGenerated(userOpHash, networkConfig) {
73
- return new Promise((resolve, reject) => {
74
- const interval = setInterval(async () => {
75
- try {
76
- const userOperation = await axios_1.default.post(`${networkConfig.bundlerRPC}/rpc?chainId=${networkConfig.chainId}`, {
77
- method: "eth_getUserOperationByHash",
78
- params: [userOpHash],
79
- });
80
- if (userOperation.data.result &&
81
- userOperation.data.result.transactionHash) {
82
- clearInterval(interval);
83
- resolve(userOperation.data.result.transactionHash);
84
- }
85
- else if (networkConfig.bundlerAPI) {
86
- let userOperationData;
87
- try {
88
- userOperationData = await axios_1.default.get(`${networkConfig.bundlerAPI}/user_operations/${userOpHash}`);
89
- }
90
- catch (error) {
91
- // fetch should be non-blocking
92
- }
93
- if (userOperationData &&
94
- userOperationData.data &&
95
- userOperationData.data.status === "failed") {
96
- clearInterval(interval);
97
- reject(new Error("User operation failed"));
98
- }
99
- }
100
- }
101
- catch (error) {
102
- // non-blocking
103
- }
104
- }, 1000);
105
- });
106
- }
107
- operationDataFromCall(f) {
108
- return {
109
- contract: this.params.abi.contractName,
110
- method: f._method.name,
111
- arguments: f.arguments,
112
- };
113
- }
114
- getUserOpHash(chainId, userOp, entryPoint) {
115
- const abiCoder = new ethers_1.ethers.utils.AbiCoder();
116
- const userOpHash = ethers_1.ethers.utils.keccak256(this.packUserOp(userOp, true));
117
- const enc = abiCoder.encode(["bytes32", "address", "uint256"], [userOpHash, entryPoint, chainId]);
118
- return ethers_1.ethers.utils.keccak256(enc);
119
- }
120
- packUserOp(userOp, forSignature = true) {
121
- const abiCoder = new ethers_1.ethers.utils.AbiCoder();
122
- if (forSignature) {
123
- return abiCoder.encode([
124
- "address",
125
- "uint256",
126
- "bytes32",
127
- "bytes32",
128
- "uint256",
129
- "uint256",
130
- "uint256",
131
- "uint256",
132
- "uint256",
133
- "bytes32",
134
- ], [
135
- userOp.sender,
136
- userOp.nonce,
137
- ethers_1.ethers.utils.keccak256(userOp.initCode),
138
- ethers_1.ethers.utils.keccak256(userOp.callData),
139
- userOp.callGasLimit,
140
- userOp.verificationGasLimit,
141
- userOp.preVerificationGas,
142
- userOp.maxFeePerGas,
143
- userOp.maxPriorityFeePerGas,
144
- ethers_1.ethers.utils.keccak256(userOp.paymasterAndData),
145
- ]);
146
- }
147
- else {
148
- return abiCoder.encode([
149
- "address",
150
- "uint256",
151
- "bytes",
152
- "bytes",
153
- "uint256",
154
- "uint256",
155
- "uint256",
156
- "uint256",
157
- "uint256",
158
- "bytes",
159
- "bytes",
160
- ], [
161
- userOp.sender,
162
- userOp.nonce,
163
- userOp.initCode,
164
- userOp.callData,
165
- userOp.callGasLimit,
166
- userOp.verificationGasLimit,
167
- userOp.preVerificationGas,
168
- userOp.maxFeePerGas,
169
- userOp.maxPriorityFeePerGas,
170
- userOp.paymasterAndData,
171
- userOp.signature,
172
- ]);
173
- }
174
- }
175
- waitForTransactionHashToBeGeneratedPimlico(userOpHash, pimlicoBundlerClient) {
176
- return new Promise((resolve, reject) => {
177
- const interval = setInterval(async () => {
178
- try {
179
- const getStatusResult = await pimlicoBundlerClient.getUserOperationStatus({
180
- hash: userOpHash,
181
- });
182
- if (getStatusResult.status === "failed") {
183
- clearInterval(interval);
184
- reject(new Error(`User operation failed: ${getStatusResult.transactionHash}`));
185
- }
186
- if (getStatusResult.transactionHash) {
187
- clearInterval(interval);
188
- resolve(getStatusResult.transactionHash);
189
- }
190
- }
191
- catch (error) {
192
- // non-blocking
193
- }
194
- }, 1000);
195
- });
196
- }
197
- async usePimlicoForGaslessTransactions(f, tx, methodCallData, networkConfig, provider) {
198
- const publicClient = createPublicClient({
199
- chain: networkConfig.viemChain,
200
- transport: http(networkConfig.rpcUrl),
201
- });
202
- const bundlerClient = createClient({
203
- chain: networkConfig.viemChain,
204
- transport: http(networkConfig.bundlerRPC),
205
- })
206
- .extend(bundlerActions)
207
- .extend(pimlicoBundlerActions);
208
- const paymasterClient = createClient({
209
- chain: networkConfig.viemChain,
210
- transport: http(networkConfig.paymasterRPC),
211
- }).extend(pimlicoPaymasterActions);
212
- const smartAccountSigner = await providerToSmartAccountSigner(provider);
213
- const factoryAddress = networkConfig.factoryAddress || PolkamarketsSmartAccount_1.default.PIMLICO_FACTORY_ADDRESS;
214
- const smartAccount = await signerToSimpleSmartAccount(publicClient, {
215
- signer: smartAccountSigner,
216
- factoryAddress: factoryAddress,
217
- entryPoint: ENTRYPOINT_ADDRESS_V06,
218
- });
219
- const gasPrices = await bundlerClient.getUserOperationGasPrice();
220
- const userOperation = {
221
- sender: smartAccount.address,
222
- nonce: await getAccountNonce(publicClient, {
223
- sender: smartAccount.address,
224
- entryPoint: ENTRYPOINT_ADDRESS_V06,
225
- }),
226
- initCode: smartAccount.initCode,
227
- callData: smartAccount.encodeCallData(tx),
228
- maxFeePerGas: gasPrices.fast.maxFeePerGas,
229
- maxPriorityFeePerGas: gasPrices.fast.maxPriorityFeePerGas,
230
- signature: smartAccount.dummySignature,
231
- };
232
- const sponsorUserOperationResult = await paymasterClient.sponsorUserOperation({
233
- userOperation: userOperation,
234
- entryPoint: ENTRYPOINT_ADDRESS_V06,
235
- });
236
- userOperation.preVerificationGas = sponsorUserOperationResult.preVerificationGas;
237
- userOperation.verificationGasLimit = sponsorUserOperationResult.verificationGasLimit;
238
- userOperation.callGasLimit = sponsorUserOperationResult.callGasLimit;
239
- userOperation.paymasterAndData = sponsorUserOperationResult.paymasterAndData;
240
- userOperation.signature = await smartAccount.signUserOperation(userOperation);
241
- const userOpHash = await bundlerClient.sendUserOperation({
242
- userOperation,
243
- entryPoint: ENTRYPOINT_ADDRESS_V06,
244
- });
245
- return await this.waitForTransactionHashToBeGeneratedPimlico(userOpHash, bundlerClient);
246
- }
247
- async useThirdWebForGaslessTransactions(f, tx, methodCallData, networkConfig, provider) {
248
- const client = createThirdwebClient({
249
- clientId: networkConfig.thirdwebClientId,
250
- });
251
- const chain = defineChain(networkConfig.chainId);
252
- const smartAccountSigner = await ethers5Adapter.fromSigner(provider.getSigner());
253
- const account = await smartWallet({
254
- chain,
255
- client,
256
- factoryAddress: networkConfig.factoryAddress || PolkamarketsSmartAccount_1.default.THIRDWEB_FACTORY_ADDRESS,
257
- gasless: true,
258
- personalAccount: smartAccountSigner,
259
- });
260
- const contract = getThirdwebContract({
261
- address: this.getAddress(),
262
- abi: this.params.abi.abi,
263
- client: client,
264
- chain: chain,
265
- });
266
- const { to, data, value } = await prepareContractCall({
267
- contract,
268
- method: f._method.name,
269
- params: methodCallData.arguments,
270
- value: tx.value ? ethers_1.ethers.utils.parseEther(tx.value) : undefined,
271
- });
272
- const transaction = await prepareTransaction({
273
- to: to,
274
- data: data,
275
- value: value,
276
- chain: chain,
277
- client: client,
278
- });
279
- const { transactionHash } = await account.sendTransaction(transaction);
280
- return transactionHash;
281
- }
282
- async useThirdWebForGaslessTransactionsWithThirdWebAuth(f, tx, methodCallData, networkConfig, provider) {
283
- const client = createThirdwebClient({
284
- clientId: networkConfig.thirdwebClientId,
285
- });
286
- const chain = defineChain(networkConfig.chainId);
287
- const contract = getThirdwebContract({
288
- address: this.getAddress(),
289
- abi: this.params.abi.abi,
290
- client: client,
291
- chain: chain,
292
- });
293
- const { to, data, value } = await prepareContractCall({
294
- contract,
295
- method: f._method.name,
296
- params: methodCallData.arguments,
297
- value: tx.value ? ethers_1.ethers.utils.parseEther(tx.value) : undefined,
298
- });
299
- const transaction = await prepareTransaction({
300
- to: to,
301
- data: data,
302
- value: value,
303
- chain: chain,
304
- client: client,
305
- });
306
- const { transactionHash } = await sendTransaction({
307
- account: provider.smartAccount,
308
- transaction,
309
- });
310
- return transactionHash;
311
- }
312
- async useThirdWebForGaslessWithZKSync(f, tx, methodCallData, networkConfig, provider) {
313
- if (provider.getNonce) {
314
- const nonce = await provider.getNonce("latest");
315
- tx.nonce = nonce;
316
- }
317
- tx.gasLimit = await provider.estimateGas(tx);
318
- const signedTx = await provider.signTransaction(tx);
319
- const { hash } = await provider.sendTransaction(signedTx);
320
- return hash;
321
- }
322
- async sendGaslessTransactions(f) {
323
- const polkamarketsSmartAccount = PolkamarketsSmartAccount_1.default.singleton.getInstanceIfExists();
324
- const networkConfig = polkamarketsSmartAccount
325
- ? polkamarketsSmartAccount.networkConfig
326
- : {};
327
- const tx = {
328
- from: (await this.getMyAccount()) ||
329
- (this.acc ? this.acc.address : undefined),
330
- to: this.getAddress(),
331
- data: f.encodeABI(),
332
- };
333
- const methodCallData = this.operationDataFromCall(f);
334
- if (networkConfig.useThirdWeb && networkConfig.isZkSync) {
335
- return this.useThirdWebForGaslessWithZKSync(f, tx, methodCallData, networkConfig, this.web3);
336
- }
337
- else if (networkConfig.useThirdWeb &&
338
- polkamarketsSmartAccount.provider.adminAccount) {
339
- return this.useThirdWebForGaslessTransactionsWithThirdWebAuth(f, tx, methodCallData, networkConfig, polkamarketsSmartAccount.provider);
340
- }
341
- else if (networkConfig.useThirdWeb) {
342
- return this.useThirdWebForGaslessTransactions(f, tx, methodCallData, networkConfig, this.web3);
343
- }
344
- else if (networkConfig.usePimlico) {
345
- return this.usePimlicoForGaslessTransactions(f, tx, methodCallData, networkConfig, this.web3);
346
- }
347
- const { userOp, userOpHash } = await polkamarketsSmartAccount.smartAccount.buildUserOperation({ tx });
348
- const { receipt } = await polkamarketsSmartAccount.smartAccount.sendUserOperation({
349
- userOp,
350
- userOpHash,
351
- });
352
- return receipt;
353
- }
354
- convertEtherEventsToWeb3Events(events) {
355
- return events.map((event) => {
356
- const topics = event.topics.map((topic) => topic);
357
- return {
358
- ...event,
359
- raw: {
360
- topics,
361
- data: event.data,
362
- },
363
- };
364
- });
365
- }
366
- async __sendTx(f, privateKey, value, callback = () => { }) {
367
- if (privateKey === true) {
368
- // is a call
369
- return await f.call();
370
- }
371
- const { web3, isSocialLogin } = this.params;
372
- if (isSocialLogin) {
373
- return this.sendGaslessTransactions(f);
374
- }
375
- const polkamarketsSmartAccount = PolkamarketsSmartAccount_1.default.singleton.getInstanceIfExists();
376
- const { isConnectedWallet } = polkamarketsSmartAccount
377
- ? await polkamarketsSmartAccount.providerIsConnectedWallet()
378
- : { isConnectedWallet: false };
379
- if (isConnectedWallet) {
380
- const tx = {
381
- to: this.getAddress(),
382
- data: f.encodeABI(),
383
- value,
384
- };
385
- const account = await this.getMyAccount();
386
- return this.__metamaskCall({ f, acc: account, value, callback });
387
- }
388
- const tx = {
389
- from: (await this.getMyAccount()) ||
390
- (this.acc ? this.acc.address : undefined),
391
- to: this.getAddress(),
392
- data: f.encodeABI(),
393
- value,
394
- };
395
- if (privateKey) {
396
- const signedTx = await this.web3.eth.accounts.signTransaction(tx, privateKey);
397
- return this.web3.eth.sendSignedTransaction(signedTx.rawTransaction);
398
- }
399
- return this.web3.eth.sendTransaction(tx);
400
- }
401
- async __deploy(params, callback) {
402
- return new Promise((resolve, reject) => {
403
- this.params.contract
404
- .deploy({
405
- data: this.params.abi.bytecode,
406
- arguments: params,
407
- })
408
- .send({
409
- from: this.acc.address,
410
- gas: 5500000,
411
- gasPrice: this.params.gasPrice,
412
- }, (err, txHash) => {
413
- if (err) {
414
- return reject(err);
415
- }
416
- if (callback) {
417
- callback(txHash);
418
- }
419
- })
420
- .on("error", (err) => reject(err))
421
- .then((newContractInstance) => {
422
- this.params.contract.setContract(newContractInstance);
423
- this.params.contractAddress = newContractInstance.options.address;
424
- resolve(newContractInstance.options.address);
425
- });
426
- });
427
- }
428
- async __assert() {
429
- // virtual method
430
- }
431
- async deploy({ callback, params = [] } = {}) {
432
- if (this.params.isSocialLogin) {
433
- throw new Error("Social login does not support deploy");
434
- }
435
- const myAccount = await this.getMyAccount();
436
- if (!myAccount) {
437
- throw new Error("Please connect your wallet");
438
- }
439
- this.acc = { address: myAccount };
440
- return await this.__deploy(params, callback || (() => { }));
441
- }
442
- async setNewOwner({ address }) {
443
- if (this.params.isSocialLogin) {
444
- throw new Error("Social login does not support setNewOwner");
445
- }
446
- const myAccount = await this.getMyAccount();
447
- if (!myAccount) {
448
- throw new Error("Please connect your wallet");
449
- }
450
- return await this.__sendTx(this.getContract().methods.transferOwnership(address));
451
- }
452
- async owner() {
453
- return await this.getContract().methods.owner().call();
454
- }
455
- async isPaused() {
456
- return await this.getContract().methods.paused().call();
457
- }
458
- async pauseContract() {
459
- return await this.__sendTx(this.getContract().methods.pause());
460
- }
461
- async unpauseContract() {
462
- return await this.__sendTx(this.getContract().methods.unpause());
463
- }
464
- async removeOtherERC20Tokens({ tokenAddress, toAddress }) {
465
- return await this.__sendTx(this.getContract().methods.removeOtherERC20Tokens(tokenAddress, toAddress));
466
- }
467
- async safeGuardAllTokens({ toAddress }) {
468
- return await this.__sendTx(this.getContract().methods.safeGuardAllTokens(toAddress));
469
- }
470
- async changeTokenAddress({ newTokenAddress }) {
471
- return await this.__sendTx(this.getContract().methods.changeTokenAddress(newTokenAddress));
472
- }
473
- getAddress() {
474
- return this.params.contractAddress;
475
- }
476
- getContract() {
477
- return this.params.contract.getContract();
478
- }
479
- async getBalance() {
480
- const address = this.getAddress();
481
- if (!address)
482
- return "0";
483
- return this.web3.eth.getBalance(address);
484
- }
485
- async getMyAccount() {
486
- const polkamarketsSmartAccount = PolkamarketsSmartAccount_1.default.singleton.getInstanceIfExists();
487
- if (polkamarketsSmartAccount && polkamarketsSmartAccount.provider) {
488
- return await polkamarketsSmartAccount.getAddress();
489
- }
490
- if (this.acc && this.acc.address) {
491
- return this.acc.address;
492
- }
493
- else {
494
- const accounts = await this.web3.eth.getAccounts();
495
- if (accounts.length > 0) {
496
- return accounts[0];
497
- }
498
- }
499
- return null;
500
- }
501
- async getEvents(event, filter = {}, fromBlock = null, toBlock = "latest") {
502
- const web3 = this.params.web3EventsProvider ? new this.web3(this.params.web3EventsProvider) : this.web3;
503
- const contract = new web3.eth.Contract(this.params.abi.abi, this.getAddress());
504
- return await contract.getPastEvents(event, {
505
- filter,
506
- fromBlock: fromBlock || this.params.startBlock,
507
- toBlock: toBlock,
508
- });
509
- }
510
- async getBlock(blockNumber) {
511
- return await this.web3.eth.getBlock(blockNumber);
512
- }
513
- }
514
- exports.default = IContract;
515
- //# sourceMappingURL=IContract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IContract.js","sourceRoot":"","sources":["../../src/models/IContract.ts"],"names":[],"mappings":";;;;;AAAA,iEAAyC;AAEzC,kDAA0B;AAC1B,aAAa;AACb,0FAAkE;AAClE,mCAAgC;AAGhC,wDAAwD;AACxD,MAAM,EACJ,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,eAAe,GAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC9B,MAAM,EACJ,qBAAqB,EACrB,uBAAuB,GACxB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAC9C,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1E,MAAM,EACJ,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACtC,MAAM,EACJ,oBAAoB,EACpB,WAAW,EAAE,mBAAmB,EAChC,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACxB,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACnD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAChE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAE1D,MAAM,SAAS;IAMb,YAAY,EACV,IAAI,EACJ,eAAe,GAAG,IAAI,EACtB,GAAG,EACH,GAAG,EACH,kBAAkB,EAClB,QAAQ,EACR,aAAa,GAAG,KAAK,EACrB,UAAU,GACM;QAXlB,iBAAY,GAAW,EAAE,CAAC;QAYxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI;YACJ,GAAG;YACH,eAAe;YACf,kBAAkB;YAClB,QAAQ;YACR,QAAQ,EAAE,IAAI,kBAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC;YACxD,aAAa;YACb,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAAO;QAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,CAAC;iBACE,IAAI,CAAC;gBACJ,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,oBAAoB,EAAE,IAAI;gBAC1B,YAAY,EAAE,IAAI;aACnB,CAAC;iBACD,EAAE,CAAC,cAAc,EAAE,CAAC,kBAA0B,EAAE,OAAY,EAAE,EAAE;gBAC/D,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC,CAAC,UAAkB,EAAE,aAAkB;QACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACtC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,eAAK,CAAC,IAAI,CACpC,GAAG,aAAa,CAAC,UAAU,gBAAgB,aAAa,CAAC,OAAO,EAAE,EAClE;wBACE,MAAM,EAAE,4BAA4B;wBACpC,MAAM,EAAE,CAAC,UAAU,CAAC;qBACrB,CACF,CAAC;oBAEF,IACE,aAAa,CAAC,IAAI,CAAC,MAAM;wBACzB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EACzC,CAAC;wBACD,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACrD,CAAC;yBAAM,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;wBACpC,IAAI,iBAAiB,CAAC;wBACtB,IAAI,CAAC;4BACH,iBAAiB,GAAG,MAAM,eAAK,CAAC,GAAG,CACjC,GAAG,aAAa,CAAC,UAAU,oBAAoB,UAAU,EAAE,CAC5D,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,+BAA+B;wBACjC,CAAC;wBAED,IACE,iBAAiB;4BACjB,iBAAiB,CAAC,IAAI;4BACtB,iBAAiB,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAC1C,CAAC;4BACD,aAAa,CAAC,QAAQ,CAAC,CAAC;4BACxB,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,eAAe;gBACjB,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,CAAM;QAC1B,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY;YACtC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YACtB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAY,EAAE,MAAW,EAAE,UAAe;QACtD,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAClC,CAAC;QACF,OAAO,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,MAAW,EAAE,YAAY,GAAG,IAAI;QACzC,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,MAAM,CACpB;gBACE,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,EACD;gBACE,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,KAAK;gBACZ,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,oBAAoB;gBAC3B,MAAM,CAAC,kBAAkB;gBACzB,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,oBAAoB;gBAC3B,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;aAChD,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,MAAM,CACpB;gBACE,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,OAAO;aACR,EACD;gBACE,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,oBAAoB;gBAC3B,MAAM,CAAC,kBAAkB;gBACzB,MAAM,CAAC,YAAY;gBACnB,MAAM,CAAC,oBAAoB;gBAC3B,MAAM,CAAC,gBAAgB;gBACvB,MAAM,CAAC,SAAS;aACjB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0CAA0C,CACxC,UAAkB,EAClB,oBAAyB;QAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACtC,IAAI,CAAC;oBACH,MAAM,eAAe,GACnB,MAAM,oBAAoB,CAAC,sBAAsB,CAAC;wBAChD,IAAI,EAAE,UAAU;qBACjB,CAAC,CAAC;oBAEL,IAAI,eAAe,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;oBACjF,CAAC;oBAED,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC;wBACpC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,eAAe;gBACjB,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gCAAgC,CACpC,CAAM,EACN,EAAO,EACP,cAAmB,EACnB,aAAkB,EAClB,QAAa;QAEb,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,KAAK,EAAE,aAAa,CAAC,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACtC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,YAAY,CAAC;YACjC,KAAK,EAAE,aAAa,CAAC,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;SAC1C,CAAC;aACC,MAAM,CAAC,cAAc,CAAC;aACtB,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEjC,MAAM,eAAe,GAAG,YAAY,CAAC;YACnC,KAAK,EAAE,aAAa,CAAC,SAAS;YAC9B,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAEnC,MAAM,kBAAkB,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,IAAI,kCAAwB,CAAC,uBAAuB,CAAC;QAExG,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,YAAY,EAAE;YAClE,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,cAAc;YAC9B,UAAU,EAAE,sBAAsB;SACnC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,wBAAwB,EAAE,CAAC;QAEjE,MAAM,aAAa,GAAQ;YACzB,MAAM,EAAE,YAAY,CAAC,OAAO;YAC5B,KAAK,EAAE,MAAM,eAAe,CAAC,YAAY,EAAE;gBACzC,MAAM,EAAE,YAAY,CAAC,OAAO;gBAC5B,UAAU,EAAE,sBAAsB;aACnC,CAAC;YACF,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY;YACzC,oBAAoB,EAAE,SAAS,CAAC,IAAI,CAAC,oBAAoB;YACzD,SAAS,EAAE,YAAY,CAAC,cAAc;SACvC,CAAC;QAEF,MAAM,0BAA0B,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC;YAC5E,aAAa,EAAE,aAAa;YAC5B,UAAU,EAAE,sBAAsB;SACnC,CAAC,CAAC;QAEH,aAAa,CAAC,kBAAkB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC;QACjF,aAAa,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,oBAAoB,CAAC;QACrF,aAAa,CAAC,YAAY,GAAG,0BAA0B,CAAC,YAAY,CAAC;QACrE,aAAa,CAAC,gBAAgB,GAAG,0BAA0B,CAAC,gBAAgB,CAAC;QAE7E,aAAa,CAAC,SAAS,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC;YACvD,aAAa;YACb,UAAU,EAAE,sBAAsB;SACnC,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,0CAA0C,CAC1D,UAAU,EACV,aAAa,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iCAAiC,CACrC,CAAM,EACN,EAAO,EACP,cAAmB,EACnB,aAAkB,EAClB,QAAa;QAEb,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,QAAQ,EAAE,aAAa,CAAC,gBAAgB;SACzC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;YAChC,KAAK;YACL,MAAM;YACN,cAAc,EAAE,aAAa,CAAC,cAAc,IAAI,kCAAwB,CAAC,wBAAwB;YACjG,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACxB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACpD,QAAQ;YACR,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YACtB,MAAM,EAAE,cAAc,CAAC,SAAS;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;YAC3C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACvE,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,iDAAiD,CACrD,CAAM,EACN,EAAO,EACP,cAAmB,EACnB,aAAkB,EAClB,QAAa;QAEb,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,QAAQ,EAAE,aAAa,CAAC,gBAAgB;SACzC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;YACxB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACpD,QAAQ;YACR,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;YACtB,MAAM,EAAE,cAAc,CAAC,SAAS;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAChE,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;YAC3C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,eAAe,CAAC;YAChD,OAAO,EAAE,QAAQ,CAAC,YAAY;YAC9B,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,CAAM,EACN,EAAO,EACP,cAAmB,EACnB,aAAkB,EAClB,QAAa;QAEb,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChD,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,EAAE,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,CAAM;QAClC,MAAM,wBAAwB,GAC5B,kCAAwB,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAC3D,MAAM,aAAa,GAAG,wBAAwB;YAC5C,CAAC,CAAC,wBAAwB,CAAC,aAAa;YACxC,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,EAAE,GAAG;YACT,IAAI,EACF,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3C,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;SACpB,CAAC;QACF,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,aAAa,CAAC,WAAW,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,+BAA+B,CACzC,CAAC,EACD,EAAE,EACF,cAAc,EACd,aAAa,EACb,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;aAAM,IACL,aAAa,CAAC,WAAW;YACzB,wBAAwB,CAAC,QAAQ,CAAC,YAAY,EAC9C,CAAC;YACD,OAAO,IAAI,CAAC,iDAAiD,CAC3D,CAAC,EACD,EAAE,EACF,cAAc,EACd,aAAa,EACb,wBAAwB,CAAC,QAAQ,CAClC,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,iCAAiC,CAC3C,CAAC,EACD,EAAE,EACF,cAAc,EACd,aAAa,EACb,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,gCAAgC,CAC1C,CAAC,EACD,EAAE,EACF,cAAc,EACd,aAAa,EACb,IAAI,CAAC,IAAI,CACV,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAC1B,MAAM,wBAAwB,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,EAAE,OAAO,EAAE,GACf,MAAM,wBAAwB,CAAC,YAAY,CAAC,iBAAiB,CAAC;YAC5D,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QACL,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8BAA8B,CAAC,MAAa;QAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO;gBACL,GAAG,KAAK;gBACR,GAAG,EAAE;oBACH,MAAM;oBACN,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,CAAM,EACN,UAA6B,EAC7B,KAAc,EACd,WAAiD,GAAG,EAAE,GAAE,CAAC;QAEzD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,YAAY;YACZ,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,wBAAwB,GAC5B,kCAAwB,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,wBAAwB;YACpD,CAAC,CAAC,MAAM,wBAAwB,CAAC,yBAAyB,EAAE;YAC5D,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;QAEjC,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,EAAE,GAAG;gBACT,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;gBACrB,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;gBACnB,KAAK;aACN,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,EAAE,GAAG;YACT,IAAI,EACF,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3C,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;YACnB,KAAK;SACN,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAC3D,EAAE,EACF,UAAU,CACX,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAa,EAAE,QAAkC;QAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ;iBACjB,MAAM,CAAC;gBACN,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ;gBAC9B,SAAS,EAAE,MAAM;aAClB,CAAC;iBACD,IAAI,CACH;gBACE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO;gBACtB,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC/B,EACD,CAAC,GAAQ,EAAE,MAAc,EAAE,EAAE;gBAC3B,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CACF;iBACA,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACtC,IAAI,CAAC,CAAC,mBAAwB,EAAE,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;gBAClE,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,iBAAiB;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,EAAE,KAA8D,EAAE;QAClG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAuB;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,SAAS,EAA+C;QACnG,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAC3E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAyB;QAC3D,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAA+B;QACvE,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,wBAAwB,GAAG,kCAAwB,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAC1F,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,QAAQ,EAAE,CAAC;YAClE,OAAO,MAAM,wBAAwB,CAAC,UAAU,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,SAAc,EAAE,EAAE,YAAiB,IAAI,EAAE,UAA6B,QAAQ;QAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxG,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;YACzC,MAAM;YACN,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;YAC9C,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAA4B;QACzC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;CACF;AAED,kBAAe,SAAS,CAAC"}
@@ -1,26 +0,0 @@
1
- import { ethers } from "ethers";
2
- declare class PolkamarketsSmartAccount {
3
- networkConfig: any;
4
- provider: any;
5
- isConnectedWallet?: boolean;
6
- smartAccount: any;
7
- static PIMLICO_FACTORY_ADDRESS: string;
8
- static THIRDWEB_FACTORY_ADDRESS: string;
9
- static singleton: {
10
- getInstance: (provider: any, networkConfig: any, isConnectedWallet: boolean) => any;
11
- getInstanceIfExists: () => any;
12
- clearInstance: () => void;
13
- };
14
- providerIsConnectedWallet(): Promise<{
15
- isConnectedWallet: boolean;
16
- address: string;
17
- signer: ethers.providers.JsonRpcSigner;
18
- } | {
19
- isConnectedWallet: boolean;
20
- address: null;
21
- signer: null;
22
- }>;
23
- getAddress(): Promise<any>;
24
- }
25
- export default PolkamarketsSmartAccount;
26
- //# sourceMappingURL=PolkamarketsSmartAccount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PolkamarketsSmartAccount.d.ts","sourceRoot":"","sources":["../../src/models/PolkamarketsSmartAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhC,cAAM,wBAAwB;IAC5B,aAAa,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC;IAElB,MAAM,CAAC,uBAAuB,SAAgD;IAC9E,MAAM,CAAC,wBAAwB,SACgB;IAE/C,MAAM,CAAC,SAAS;gCAwCA,GAAG,iBACE,GAAG,qBACC,OAAO;;;MAgB3B;IAEC,yBAAyB;;;;;;;;;IAYzB,UAAU;CA6CjB;AAED,eAAe,wBAAwB,CAAC"}