@fiatsend/core 0.1.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/dist/index.d.mts +4719 -0
- package/dist/index.d.ts +4719 -0
- package/dist/index.js +4387 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +4366 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +44 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,4719 @@
|
|
|
1
|
+
import { PublicClient, WalletClient } from 'viem';
|
|
2
|
+
import { Address, RegisterMobileParams, TransactionResult, RegisterMobileWithSignatureParams, MobileNumberNFT, KYCLevel, OfframpParams, OfframpResult, GatewayConfig, SendPaymentParams, SendToPhoneParams, CreatePaymentRequestParams, Hash, PaymentRequest, Withdrawal, PoolInfo, UserPoolPosition, VaultInfo, UserVaultPosition, CreatePayoutParams, CreateBatchPayoutParams, Payout, CreateP2POrderParams, P2POrder } from '@fiatsend/types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Chain configurations and deployed contract addresses.
|
|
6
|
+
*
|
|
7
|
+
* Contract addresses are placeholder `0x0000...` until deployment.
|
|
8
|
+
* Override via `FiatsendClientConfig.contractAddresses` for testnet/mainnet.
|
|
9
|
+
*
|
|
10
|
+
* @module @fiatsend/core/config
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Addresses of all deployed Fiatsend contracts on a given chain */
|
|
14
|
+
interface ContractAddresses {
|
|
15
|
+
mobileNumberNFT: Address;
|
|
16
|
+
gateway: Address;
|
|
17
|
+
paymentRouter: Address;
|
|
18
|
+
withdrawals: Address;
|
|
19
|
+
liquidityPool: Address;
|
|
20
|
+
vaultController: Address;
|
|
21
|
+
ghsFiat: Address;
|
|
22
|
+
/** PayoutEscrow — core B2B payout claim contract */
|
|
23
|
+
payoutEscrow: Address;
|
|
24
|
+
/** P2PExchange — peer-to-peer exchange with payment references */
|
|
25
|
+
p2pExchange: Address;
|
|
26
|
+
}
|
|
27
|
+
/** Full chain configuration including RPC and contract addresses */
|
|
28
|
+
interface ChainConfig {
|
|
29
|
+
chainId: number;
|
|
30
|
+
name: string;
|
|
31
|
+
rpcUrl: string;
|
|
32
|
+
contracts: ContractAddresses;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pre-configured chain definitions.
|
|
36
|
+
*
|
|
37
|
+
* Contract addresses will be populated after deployment.
|
|
38
|
+
* Override any chain config with `FiatsendClientConfig.contractAddresses`.
|
|
39
|
+
*/
|
|
40
|
+
declare const CHAINS: Record<string, ChainConfig>;
|
|
41
|
+
/**
|
|
42
|
+
* Looks up a ChainConfig by chain name or numeric chain ID.
|
|
43
|
+
*
|
|
44
|
+
* @param chainIdOrName - Chain name (e.g., "bsc") or numeric chain ID (e.g., 56)
|
|
45
|
+
* @returns ChainConfig if found
|
|
46
|
+
* @throws Error if the chain is not configured
|
|
47
|
+
*/
|
|
48
|
+
declare function getChainConfig(chainIdOrName: string | number): ChainConfig;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* IdentityResource — interactions with the MobileNumberNFT contract.
|
|
52
|
+
*
|
|
53
|
+
* Handles NFT registration (direct and gasless), KYC level queries,
|
|
54
|
+
* and phone-number-to-owner resolution.
|
|
55
|
+
*
|
|
56
|
+
* @module @fiatsend/core/resources/identity
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Resource for MobileNumberNFT contract interactions.
|
|
61
|
+
*
|
|
62
|
+
* Obtained via `client.identity` on a `FiatsendClient` instance.
|
|
63
|
+
*/
|
|
64
|
+
declare class IdentityResource {
|
|
65
|
+
private readonly publicClient;
|
|
66
|
+
private readonly walletClient;
|
|
67
|
+
private readonly contractAddress;
|
|
68
|
+
constructor(params: {
|
|
69
|
+
publicClient: PublicClient;
|
|
70
|
+
walletClient?: WalletClient;
|
|
71
|
+
contractAddress: Address;
|
|
72
|
+
});
|
|
73
|
+
private get readContract();
|
|
74
|
+
private requireWallet;
|
|
75
|
+
/**
|
|
76
|
+
* Mints a soulbound MobileNumber NFT for the connected wallet.
|
|
77
|
+
*
|
|
78
|
+
* @param params - Encrypted phone bytes and ISO country code
|
|
79
|
+
* @returns Transaction result with hash and wait() function
|
|
80
|
+
*/
|
|
81
|
+
register(params: RegisterMobileParams): Promise<TransactionResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Gasless NFT mint: the authorized minter submits the transaction on behalf
|
|
84
|
+
* of the user. The user must have previously signed the EIP-712 typed data.
|
|
85
|
+
*
|
|
86
|
+
* @param params - User address, encrypted phone, country code, deadline, and signature
|
|
87
|
+
* @returns Transaction result with hash and wait() function
|
|
88
|
+
*/
|
|
89
|
+
registerWithSignature(params: RegisterMobileWithSignatureParams): Promise<TransactionResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the MobileNumber NFT data for an address, or null if not registered.
|
|
92
|
+
*
|
|
93
|
+
* @param address - Wallet address to query
|
|
94
|
+
*/
|
|
95
|
+
getNFT(address: Address): Promise<MobileNumberNFT | null>;
|
|
96
|
+
/**
|
|
97
|
+
* Returns the KYC level for an address (0 if no NFT).
|
|
98
|
+
*
|
|
99
|
+
* @param address - Wallet address to query
|
|
100
|
+
*/
|
|
101
|
+
getKYCLevel(address: Address): Promise<KYCLevel>;
|
|
102
|
+
/**
|
|
103
|
+
* Resolves an encrypted phone hash to the owner address.
|
|
104
|
+
*
|
|
105
|
+
* @param encryptedPhone - Encrypted phone bytes (0x-prefixed)
|
|
106
|
+
* @returns Owner address or null if not registered
|
|
107
|
+
*/
|
|
108
|
+
getOwnerByPhone(encryptedPhone: `0x${string}`): Promise<Address | null>;
|
|
109
|
+
/**
|
|
110
|
+
* Returns the token ID for an address (null if not registered).
|
|
111
|
+
*
|
|
112
|
+
* @param address - Wallet address
|
|
113
|
+
*/
|
|
114
|
+
getTokenId(address: Address): Promise<bigint | null>;
|
|
115
|
+
/**
|
|
116
|
+
* Returns the user's nonce for EIP-712 replay protection.
|
|
117
|
+
*
|
|
118
|
+
* @param address - Wallet address
|
|
119
|
+
*/
|
|
120
|
+
getNonce(address: Address): Promise<bigint>;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* GatewayResource — interactions with the FiatsendGateway contract.
|
|
125
|
+
*
|
|
126
|
+
* Handles offramp (stablecoin → fiat), onramp, token management,
|
|
127
|
+
* KYC status, and gateway configuration reads.
|
|
128
|
+
*
|
|
129
|
+
* @module @fiatsend/core/resources/gateway
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Resource for FiatsendGateway contract interactions.
|
|
134
|
+
*
|
|
135
|
+
* Obtained via `client.gateway` on a `FiatsendClient` instance.
|
|
136
|
+
*/
|
|
137
|
+
declare class GatewayResource {
|
|
138
|
+
private readonly publicClient;
|
|
139
|
+
private readonly walletClient;
|
|
140
|
+
private readonly contractAddress;
|
|
141
|
+
constructor(params: {
|
|
142
|
+
publicClient: PublicClient;
|
|
143
|
+
walletClient?: WalletClient;
|
|
144
|
+
contractAddress: Address;
|
|
145
|
+
});
|
|
146
|
+
private get readContract();
|
|
147
|
+
private requireWallet;
|
|
148
|
+
/**
|
|
149
|
+
* Initiates an offramp: converts a supported stablecoin to a mobile money payout.
|
|
150
|
+
*
|
|
151
|
+
* The user must:
|
|
152
|
+
* 1. Have a MobileNumber NFT
|
|
153
|
+
* 2. Pass KYC (if amount >= threshold)
|
|
154
|
+
* 3. Have approved the gateway to spend `params.amount` of `params.token`
|
|
155
|
+
*
|
|
156
|
+
* @param params - Token, amount, and destination phone number
|
|
157
|
+
* @returns Offramp result including the withdrawal ID and fees
|
|
158
|
+
*/
|
|
159
|
+
offramp(params: OfframpParams): Promise<OfframpResult>;
|
|
160
|
+
/**
|
|
161
|
+
* Returns the conversion rate for a supported token.
|
|
162
|
+
*
|
|
163
|
+
* @param token - Token address
|
|
164
|
+
* @returns Scaled conversion rate as stored in the contract
|
|
165
|
+
*/
|
|
166
|
+
getConversionRate(token: Address): Promise<bigint>;
|
|
167
|
+
/**
|
|
168
|
+
* Checks whether a token is supported by the gateway.
|
|
169
|
+
*
|
|
170
|
+
* @param token - Token address
|
|
171
|
+
*/
|
|
172
|
+
isTokenSupported(token: Address): Promise<boolean>;
|
|
173
|
+
/**
|
|
174
|
+
* Checks whether a user has passed KYC verification.
|
|
175
|
+
*
|
|
176
|
+
* @param user - User address
|
|
177
|
+
*/
|
|
178
|
+
isKYCPassed(user: Address): Promise<boolean>;
|
|
179
|
+
/**
|
|
180
|
+
* Returns the gateway's full configuration snapshot.
|
|
181
|
+
*/
|
|
182
|
+
getConfig(): Promise<GatewayConfig>;
|
|
183
|
+
/**
|
|
184
|
+
* Returns the daily volume used by a user today.
|
|
185
|
+
*
|
|
186
|
+
* @param user - User address
|
|
187
|
+
*/
|
|
188
|
+
getDailyVolume(user: Address): Promise<bigint>;
|
|
189
|
+
/**
|
|
190
|
+
* Returns the remaining daily allowance for a user.
|
|
191
|
+
*
|
|
192
|
+
* @param user - User address
|
|
193
|
+
*/
|
|
194
|
+
getDailyRemaining(user: Address): Promise<bigint>;
|
|
195
|
+
/**
|
|
196
|
+
* Mints GHSFIAT for a user. Requires the caller to be an authorized onramper.
|
|
197
|
+
*
|
|
198
|
+
* @param user - Recipient address
|
|
199
|
+
* @param amount - Amount to mint
|
|
200
|
+
* @returns Transaction result
|
|
201
|
+
*/
|
|
202
|
+
onramp(user: Address, amount: bigint): Promise<TransactionResult>;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* PaymentsResource — interactions with the PaymentRouter contract.
|
|
207
|
+
*
|
|
208
|
+
* Handles direct P2P transfers (by address and by phone number)
|
|
209
|
+
* and the payment request lifecycle.
|
|
210
|
+
*
|
|
211
|
+
* @module @fiatsend/core/resources/payments
|
|
212
|
+
*/
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Resource for PaymentRouter contract interactions.
|
|
216
|
+
*
|
|
217
|
+
* Obtained via `client.payments` on a `FiatsendClient` instance.
|
|
218
|
+
*/
|
|
219
|
+
declare class PaymentsResource {
|
|
220
|
+
private readonly publicClient;
|
|
221
|
+
private readonly walletClient;
|
|
222
|
+
private readonly contractAddress;
|
|
223
|
+
constructor(params: {
|
|
224
|
+
publicClient: PublicClient;
|
|
225
|
+
walletClient?: WalletClient;
|
|
226
|
+
contractAddress: Address;
|
|
227
|
+
});
|
|
228
|
+
private get readContract();
|
|
229
|
+
private requireWallet;
|
|
230
|
+
/**
|
|
231
|
+
* Sends tokens directly to an address.
|
|
232
|
+
*
|
|
233
|
+
* The caller must have approved `params.amount` of `params.token` to the PaymentRouter.
|
|
234
|
+
*
|
|
235
|
+
* @param params - Token, recipient address, amount, and optional memo
|
|
236
|
+
* @returns Transaction result
|
|
237
|
+
*/
|
|
238
|
+
send(params: SendPaymentParams): Promise<TransactionResult>;
|
|
239
|
+
/**
|
|
240
|
+
* Resolves an encrypted phone hash to an address via MobileNumberNFT and sends tokens.
|
|
241
|
+
*
|
|
242
|
+
* @param params - Token, encrypted phone, amount, and optional memo
|
|
243
|
+
* @returns Transaction result
|
|
244
|
+
*/
|
|
245
|
+
sendToPhone(params: SendToPhoneParams): Promise<TransactionResult>;
|
|
246
|
+
/**
|
|
247
|
+
* Creates a payment request — asks another address to pay you.
|
|
248
|
+
*
|
|
249
|
+
* @param params - Token, payer address, amount, and optional memo
|
|
250
|
+
* @returns The created request ID and transaction hash
|
|
251
|
+
*/
|
|
252
|
+
createRequest(params: CreatePaymentRequestParams): Promise<{
|
|
253
|
+
requestId: bigint;
|
|
254
|
+
hash: Hash;
|
|
255
|
+
}>;
|
|
256
|
+
/**
|
|
257
|
+
* Pays a pending payment request.
|
|
258
|
+
*
|
|
259
|
+
* Only the `to` address on the request can call this.
|
|
260
|
+
* The caller must approve `request.amount` of `request.token` to the PaymentRouter.
|
|
261
|
+
*
|
|
262
|
+
* @param requestId - The payment request ID to pay
|
|
263
|
+
* @returns Transaction result
|
|
264
|
+
*/
|
|
265
|
+
payRequest(requestId: bigint): Promise<TransactionResult>;
|
|
266
|
+
/**
|
|
267
|
+
* Cancels a pending payment request.
|
|
268
|
+
*
|
|
269
|
+
* Only the request creator (`from` address) can cancel.
|
|
270
|
+
*
|
|
271
|
+
* @param requestId - The payment request ID to cancel
|
|
272
|
+
* @returns Transaction result
|
|
273
|
+
*/
|
|
274
|
+
cancelRequest(requestId: bigint): Promise<TransactionResult>;
|
|
275
|
+
/**
|
|
276
|
+
* Fetches a payment request by ID.
|
|
277
|
+
*
|
|
278
|
+
* @param requestId - Payment request ID
|
|
279
|
+
* @returns PaymentRequest data
|
|
280
|
+
*/
|
|
281
|
+
getRequest(requestId: bigint): Promise<PaymentRequest>;
|
|
282
|
+
/**
|
|
283
|
+
* Returns the total number of payment requests created.
|
|
284
|
+
*/
|
|
285
|
+
getRequestCount(): Promise<bigint>;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* WithdrawalsResource — read-only interactions with the Withdrawals contract.
|
|
290
|
+
*
|
|
291
|
+
* Tracks the lifecycle of withdrawal records: pending → processing → completed/failed.
|
|
292
|
+
* Write operations (processWithdrawal, completeWithdrawal, failWithdrawal) are admin-only
|
|
293
|
+
* and not exposed in the SDK.
|
|
294
|
+
*
|
|
295
|
+
* @module @fiatsend/core/resources/withdrawals
|
|
296
|
+
*/
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Resource for Withdrawals contract read operations.
|
|
300
|
+
*
|
|
301
|
+
* Obtained via `client.withdrawals` on a `FiatsendClient` instance.
|
|
302
|
+
*/
|
|
303
|
+
declare class WithdrawalsResource {
|
|
304
|
+
private readonly publicClient;
|
|
305
|
+
private readonly contractAddress;
|
|
306
|
+
constructor(params: {
|
|
307
|
+
publicClient: PublicClient;
|
|
308
|
+
contractAddress: Address;
|
|
309
|
+
});
|
|
310
|
+
private get contract();
|
|
311
|
+
/**
|
|
312
|
+
* Returns a withdrawal record by ID.
|
|
313
|
+
*
|
|
314
|
+
* @param id - Withdrawal ID
|
|
315
|
+
*/
|
|
316
|
+
getWithdrawal(id: bigint): Promise<Withdrawal>;
|
|
317
|
+
/**
|
|
318
|
+
* Returns all withdrawal records for a user, resolved from their IDs.
|
|
319
|
+
*
|
|
320
|
+
* @param user - User address
|
|
321
|
+
*/
|
|
322
|
+
getUserWithdrawals(user: Address): Promise<Withdrawal[]>;
|
|
323
|
+
/**
|
|
324
|
+
* Returns the total number of withdrawals ever created.
|
|
325
|
+
*/
|
|
326
|
+
getWithdrawalCount(): Promise<bigint>;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* LiquidityResource — interactions with the LiquidityPool contract.
|
|
331
|
+
*
|
|
332
|
+
* LP providers deposit stablecoins and earn fee rewards from the gateway.
|
|
333
|
+
* The pool uses a per-share reward accumulator for gas-efficient distribution.
|
|
334
|
+
*
|
|
335
|
+
* @module @fiatsend/core/resources/liquidity
|
|
336
|
+
*/
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Resource for LiquidityPool contract interactions.
|
|
340
|
+
*
|
|
341
|
+
* Obtained via `client.liquidity` on a `FiatsendClient` instance.
|
|
342
|
+
*/
|
|
343
|
+
declare class LiquidityResource {
|
|
344
|
+
private readonly publicClient;
|
|
345
|
+
private readonly walletClient;
|
|
346
|
+
private readonly contractAddress;
|
|
347
|
+
constructor(params: {
|
|
348
|
+
publicClient: PublicClient;
|
|
349
|
+
walletClient?: WalletClient;
|
|
350
|
+
contractAddress: Address;
|
|
351
|
+
});
|
|
352
|
+
private get readContract();
|
|
353
|
+
private requireWallet;
|
|
354
|
+
/**
|
|
355
|
+
* Deposits stablecoins into the liquidity pool.
|
|
356
|
+
*
|
|
357
|
+
* The caller must approve `amount` of the pool's supported token to this contract.
|
|
358
|
+
*
|
|
359
|
+
* @param amount - Amount to deposit (must be >= pool minDeposit)
|
|
360
|
+
* @returns Transaction result
|
|
361
|
+
*/
|
|
362
|
+
deposit(amount: bigint): Promise<TransactionResult>;
|
|
363
|
+
/**
|
|
364
|
+
* Withdraws stablecoins from the pool (after the lock period has elapsed).
|
|
365
|
+
*
|
|
366
|
+
* @param amount - Amount to withdraw
|
|
367
|
+
* @returns Transaction result
|
|
368
|
+
*/
|
|
369
|
+
withdraw(amount: bigint): Promise<TransactionResult>;
|
|
370
|
+
/**
|
|
371
|
+
* Claims all pending fee rewards for the caller.
|
|
372
|
+
*
|
|
373
|
+
* @returns Transaction result
|
|
374
|
+
*/
|
|
375
|
+
claimRewards(): Promise<TransactionResult>;
|
|
376
|
+
/**
|
|
377
|
+
* Returns pool-level statistics.
|
|
378
|
+
*/
|
|
379
|
+
getPoolInfo(): Promise<PoolInfo>;
|
|
380
|
+
/**
|
|
381
|
+
* Returns a user's LP position including deposited balance and pending rewards.
|
|
382
|
+
*
|
|
383
|
+
* @param user - User address
|
|
384
|
+
*/
|
|
385
|
+
getPosition(user: Address): Promise<UserPoolPosition>;
|
|
386
|
+
/**
|
|
387
|
+
* Returns pending rewards for a user.
|
|
388
|
+
*
|
|
389
|
+
* @param user - User address
|
|
390
|
+
*/
|
|
391
|
+
getPendingRewards(user: Address): Promise<bigint>;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* VaultsResource — interactions with the VaultController contract.
|
|
396
|
+
*
|
|
397
|
+
* Passive yield vault for stablecoin deposits.
|
|
398
|
+
* Yield accrues linearly: (balance × annualYieldRate × timeElapsed) / (365 days × 10000)
|
|
399
|
+
*
|
|
400
|
+
* @module @fiatsend/core/resources/vaults
|
|
401
|
+
*/
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Resource for VaultController contract interactions.
|
|
405
|
+
*
|
|
406
|
+
* Obtained via `client.vaults` on a `FiatsendClient` instance.
|
|
407
|
+
*/
|
|
408
|
+
declare class VaultsResource {
|
|
409
|
+
private readonly publicClient;
|
|
410
|
+
private readonly walletClient;
|
|
411
|
+
private readonly contractAddress;
|
|
412
|
+
private readonly supportedTokenAddress;
|
|
413
|
+
constructor(params: {
|
|
414
|
+
publicClient: PublicClient;
|
|
415
|
+
walletClient?: WalletClient;
|
|
416
|
+
contractAddress: Address;
|
|
417
|
+
supportedTokenAddress: Address;
|
|
418
|
+
});
|
|
419
|
+
private get readContract();
|
|
420
|
+
private requireWallet;
|
|
421
|
+
/**
|
|
422
|
+
* Deposits stablecoins into the vault.
|
|
423
|
+
*
|
|
424
|
+
* The caller must approve `amount` of the vault's supported token to this contract.
|
|
425
|
+
*
|
|
426
|
+
* @param amount - Amount to deposit (must be >= vault minDeposit)
|
|
427
|
+
* @returns Transaction result
|
|
428
|
+
*/
|
|
429
|
+
deposit(amount: bigint): Promise<TransactionResult>;
|
|
430
|
+
/**
|
|
431
|
+
* Withdraws stablecoins from the vault. Accrued yield is claimed automatically.
|
|
432
|
+
*
|
|
433
|
+
* @param amount - Amount to withdraw
|
|
434
|
+
* @returns Transaction result
|
|
435
|
+
*/
|
|
436
|
+
withdraw(amount: bigint): Promise<TransactionResult>;
|
|
437
|
+
/**
|
|
438
|
+
* Claims accrued yield without withdrawing principal.
|
|
439
|
+
*
|
|
440
|
+
* @returns Transaction result
|
|
441
|
+
*/
|
|
442
|
+
claimYield(): Promise<TransactionResult>;
|
|
443
|
+
/**
|
|
444
|
+
* Returns vault-level configuration.
|
|
445
|
+
*/
|
|
446
|
+
getVaultInfo(): Promise<VaultInfo>;
|
|
447
|
+
/**
|
|
448
|
+
* Returns a user's vault position.
|
|
449
|
+
*
|
|
450
|
+
* @param user - User address
|
|
451
|
+
*/
|
|
452
|
+
getPosition(user: Address): Promise<UserVaultPosition>;
|
|
453
|
+
/**
|
|
454
|
+
* Returns the pending yield for a user.
|
|
455
|
+
*
|
|
456
|
+
* @param user - User address
|
|
457
|
+
*/
|
|
458
|
+
getPendingYield(user: Address): Promise<bigint>;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* PayoutsResource — interactions with the PayoutEscrow contract.
|
|
463
|
+
*
|
|
464
|
+
* The PayoutEscrow is the core B2B payout contract. Businesses deposit stablecoins
|
|
465
|
+
* via the Fiatsend API; funds are held in escrow until the recipient claims using
|
|
466
|
+
* their MobileNumberNFT identity. Recipients can claim to their wallet or
|
|
467
|
+
* immediately offramp to mobile money in a single transaction.
|
|
468
|
+
*
|
|
469
|
+
* @module @fiatsend/core/resources/payouts
|
|
470
|
+
*/
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Resource for PayoutEscrow contract interactions.
|
|
474
|
+
*
|
|
475
|
+
* The main interface for the B2B payout claim flow:
|
|
476
|
+
* - Businesses create payouts (requires API authorization)
|
|
477
|
+
* - Recipients claim by proving their phone NFT matches
|
|
478
|
+
* - Recipients can optionally claim directly to mobile money in one tx
|
|
479
|
+
* - Businesses can refund expired unclaimed payouts
|
|
480
|
+
*
|
|
481
|
+
* Obtained via `client.payouts` on a `FiatsendClient` instance.
|
|
482
|
+
*/
|
|
483
|
+
declare class PayoutsResource {
|
|
484
|
+
private readonly publicClient;
|
|
485
|
+
private readonly walletClient;
|
|
486
|
+
private readonly contractAddress;
|
|
487
|
+
constructor(params: {
|
|
488
|
+
publicClient: PublicClient;
|
|
489
|
+
walletClient?: WalletClient;
|
|
490
|
+
contractAddress: Address;
|
|
491
|
+
});
|
|
492
|
+
private get readContract();
|
|
493
|
+
private requireWallet;
|
|
494
|
+
private buildTxResult;
|
|
495
|
+
/**
|
|
496
|
+
* Creates a single payout in the escrow.
|
|
497
|
+
*
|
|
498
|
+
* The caller must be an authorized sender (set by the contract owner) and must
|
|
499
|
+
* have approved `amount` of `token` to the PayoutEscrow contract first.
|
|
500
|
+
*
|
|
501
|
+
* @param params - Payout parameters including token, amount, phone hash, and optional expiry
|
|
502
|
+
* @returns Transaction result
|
|
503
|
+
*/
|
|
504
|
+
createPayout(params: CreatePayoutParams): Promise<TransactionResult>;
|
|
505
|
+
/**
|
|
506
|
+
* Creates multiple payouts in a single transaction (single token approval).
|
|
507
|
+
*
|
|
508
|
+
* The caller must be an authorized sender and must have approved the total sum
|
|
509
|
+
* of all amounts to the PayoutEscrow contract.
|
|
510
|
+
*
|
|
511
|
+
* @param params - Batch payout parameters
|
|
512
|
+
* @returns Transaction result
|
|
513
|
+
*/
|
|
514
|
+
createBatchPayout(params: CreateBatchPayoutParams): Promise<TransactionResult>;
|
|
515
|
+
/**
|
|
516
|
+
* Claims a payout to the caller's wallet.
|
|
517
|
+
*
|
|
518
|
+
* The caller must hold a MobileNumberNFT whose phone hash matches the payout.
|
|
519
|
+
*
|
|
520
|
+
* @param payoutId - ID of the payout to claim
|
|
521
|
+
* @returns Transaction result
|
|
522
|
+
*/
|
|
523
|
+
claim(payoutId: Hash): Promise<TransactionResult>;
|
|
524
|
+
/**
|
|
525
|
+
* Claims a payout and immediately routes funds through the gateway to mobile money.
|
|
526
|
+
*
|
|
527
|
+
* Requires the gateway to be set on the PayoutEscrow and the token to be supported.
|
|
528
|
+
* The caller must hold a MobileNumberNFT whose phone hash matches the payout.
|
|
529
|
+
*
|
|
530
|
+
* @param payoutId - ID of the payout to claim
|
|
531
|
+
* @param phoneNumber - Destination MoMo phone number (e.g., "+233241234567")
|
|
532
|
+
* @returns Transaction result
|
|
533
|
+
*/
|
|
534
|
+
claimToMoMo(payoutId: Hash, phoneNumber: string): Promise<TransactionResult>;
|
|
535
|
+
/**
|
|
536
|
+
* Refunds an expired pending payout back to the original sender.
|
|
537
|
+
*
|
|
538
|
+
* Only the original sender or contract owner may call this. The payout must
|
|
539
|
+
* be past its expiry timestamp.
|
|
540
|
+
*
|
|
541
|
+
* @param payoutId - ID of the expired payout to refund
|
|
542
|
+
* @returns Transaction result
|
|
543
|
+
*/
|
|
544
|
+
refund(payoutId: Hash): Promise<TransactionResult>;
|
|
545
|
+
/**
|
|
546
|
+
* Returns the full payout struct for a given ID.
|
|
547
|
+
*
|
|
548
|
+
* @param payoutId - ID of the payout to look up
|
|
549
|
+
* @returns Full Payout object with TypeScript-mapped status
|
|
550
|
+
*/
|
|
551
|
+
getPayout(payoutId: Hash): Promise<Payout>;
|
|
552
|
+
/**
|
|
553
|
+
* Returns all payout IDs associated with a phone hash.
|
|
554
|
+
*
|
|
555
|
+
* @param phoneHash - keccak256 of the recipient's encrypted phone bytes
|
|
556
|
+
* @returns Array of payout IDs (as bytes32 hashes)
|
|
557
|
+
*/
|
|
558
|
+
getPayoutsForPhone(phoneHash: Hash): Promise<Hash[]>;
|
|
559
|
+
/**
|
|
560
|
+
* Returns full payout objects that are still pending for a given phone hash.
|
|
561
|
+
*
|
|
562
|
+
* Convenience wrapper around `getPayoutsForPhone` + `getPayout` — fetches all
|
|
563
|
+
* payout IDs for the phone and filters to those with status 'pending'.
|
|
564
|
+
*
|
|
565
|
+
* @param phoneHash - keccak256 of the recipient's encrypted phone bytes
|
|
566
|
+
* @returns Array of pending Payout objects
|
|
567
|
+
*/
|
|
568
|
+
getPendingPayouts(phoneHash: Hash): Promise<Payout[]>;
|
|
569
|
+
/**
|
|
570
|
+
* Returns all payouts claimable by a user based on their MobileNumberNFT phone hash.
|
|
571
|
+
*
|
|
572
|
+
* This is a convenience method: it reads the user's NFT phone hash on-chain (if
|
|
573
|
+
* the NFT contract is accessible via the escrow's `mobileNumberNFT` reference),
|
|
574
|
+
* then returns all pending payouts for that phone hash.
|
|
575
|
+
*
|
|
576
|
+
* Note: This requires the MobileNumberNFT to be queryable. If the NFT contract
|
|
577
|
+
* is not set, this will throw. Use `getPendingPayouts(phoneHash)` if you already
|
|
578
|
+
* know the phone hash.
|
|
579
|
+
*
|
|
580
|
+
* @param userAddress - Wallet address of the potential recipient
|
|
581
|
+
* @returns Array of pending Payout objects claimable by this user
|
|
582
|
+
*/
|
|
583
|
+
getClaimablePayouts(userAddress: Address): Promise<Payout[]>;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* P2PResource — interactions with the P2PExchange contract.
|
|
588
|
+
*
|
|
589
|
+
* Enables peer-to-peer token exchange with exact payment references for
|
|
590
|
+
* crypto-exchange platform auto-completion (Binance P2P, Paxful, Noones, etc.).
|
|
591
|
+
*
|
|
592
|
+
* Flow:
|
|
593
|
+
* 1. Maker calls `createOrder` — tokens are escrowed on-chain
|
|
594
|
+
* 2. Taker calls `takeOrder` — order is locked; taker pays off-chain via reference
|
|
595
|
+
* 3. Maker calls `confirmPayment` when off-chain payment arrives — tokens go to taker
|
|
596
|
+
* 4. Either party can call `disputeOrder` if there's disagreement
|
|
597
|
+
*
|
|
598
|
+
* @module @fiatsend/core/resources/p2p
|
|
599
|
+
*/
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Resource for P2PExchange contract interactions.
|
|
603
|
+
*
|
|
604
|
+
* Obtained via `client.p2p` on a `FiatsendClient` instance.
|
|
605
|
+
*/
|
|
606
|
+
declare class P2PResource {
|
|
607
|
+
private readonly publicClient;
|
|
608
|
+
private readonly walletClient;
|
|
609
|
+
private readonly contractAddress;
|
|
610
|
+
constructor(params: {
|
|
611
|
+
publicClient: PublicClient;
|
|
612
|
+
walletClient?: WalletClient;
|
|
613
|
+
contractAddress: Address;
|
|
614
|
+
});
|
|
615
|
+
private get readContract();
|
|
616
|
+
private requireWallet;
|
|
617
|
+
private buildTxResult;
|
|
618
|
+
/**
|
|
619
|
+
* Creates a new P2P order and escrows tokens from the maker.
|
|
620
|
+
*
|
|
621
|
+
* The caller must have approved `amount` of `token` to the P2PExchange contract.
|
|
622
|
+
*
|
|
623
|
+
* @param params - Order parameters
|
|
624
|
+
* @returns Transaction result
|
|
625
|
+
*/
|
|
626
|
+
createOrder(params: CreateP2POrderParams): Promise<TransactionResult>;
|
|
627
|
+
/**
|
|
628
|
+
* Locks an open order. Taker commits to pay via the exchange using the payment reference.
|
|
629
|
+
*
|
|
630
|
+
* Once taken, the taker must complete the off-chain payment using the exact reference
|
|
631
|
+
* string from the order. The maker then calls `confirmPayment` to release funds.
|
|
632
|
+
*
|
|
633
|
+
* @param orderId - ID of the order to take
|
|
634
|
+
* @returns Transaction result
|
|
635
|
+
*/
|
|
636
|
+
takeOrder(orderId: Hash): Promise<TransactionResult>;
|
|
637
|
+
/**
|
|
638
|
+
* Confirms payment received on the exchange and releases tokens to the taker.
|
|
639
|
+
*
|
|
640
|
+
* Only the maker can call this. After confirmation, the escrowed tokens are
|
|
641
|
+
* transferred to the taker's wallet.
|
|
642
|
+
*
|
|
643
|
+
* @param orderId - ID of the locked order to confirm
|
|
644
|
+
* @returns Transaction result
|
|
645
|
+
*/
|
|
646
|
+
confirmPayment(orderId: Hash): Promise<TransactionResult>;
|
|
647
|
+
/**
|
|
648
|
+
* Cancels an open (not yet taken) order and returns tokens to the maker.
|
|
649
|
+
*
|
|
650
|
+
* Only the maker can cancel, and only while the order is still open.
|
|
651
|
+
*
|
|
652
|
+
* @param orderId - ID of the open order to cancel
|
|
653
|
+
* @returns Transaction result
|
|
654
|
+
*/
|
|
655
|
+
cancelOrder(orderId: Hash): Promise<TransactionResult>;
|
|
656
|
+
/**
|
|
657
|
+
* Raises a dispute on a locked order.
|
|
658
|
+
*
|
|
659
|
+
* Either the maker or taker can dispute. Once disputed, the order is frozen
|
|
660
|
+
* until the designated dispute resolver calls `resolveDispute`.
|
|
661
|
+
*
|
|
662
|
+
* @param orderId - ID of the locked order to dispute
|
|
663
|
+
* @returns Transaction result
|
|
664
|
+
*/
|
|
665
|
+
disputeOrder(orderId: Hash): Promise<TransactionResult>;
|
|
666
|
+
/**
|
|
667
|
+
* Returns the full order struct for a given ID.
|
|
668
|
+
*
|
|
669
|
+
* @param orderId - ID of the order to look up
|
|
670
|
+
* @returns Full P2POrder object with TypeScript-mapped status
|
|
671
|
+
*/
|
|
672
|
+
getOrder(orderId: Hash): Promise<P2POrder>;
|
|
673
|
+
/**
|
|
674
|
+
* Returns all order IDs created by a user.
|
|
675
|
+
*
|
|
676
|
+
* @param user - Wallet address of the maker
|
|
677
|
+
* @returns Array of order IDs (as bytes32 hashes)
|
|
678
|
+
*/
|
|
679
|
+
getUserOrders(user: Address): Promise<Hash[]>;
|
|
680
|
+
/**
|
|
681
|
+
* Returns open order IDs available for taking.
|
|
682
|
+
*
|
|
683
|
+
* @param limit - Maximum number of order IDs to return (0 = all)
|
|
684
|
+
* @returns Array of open order IDs
|
|
685
|
+
*/
|
|
686
|
+
getOpenOrders(limit?: number): Promise<Hash[]>;
|
|
687
|
+
/**
|
|
688
|
+
* Returns full order objects for all currently open orders.
|
|
689
|
+
*
|
|
690
|
+
* Convenience wrapper around `getOpenOrders` + `getOrder` — fetches all
|
|
691
|
+
* open order IDs and resolves each to a full P2POrder.
|
|
692
|
+
*
|
|
693
|
+
* @param limit - Maximum number of orders to fetch (0 = all)
|
|
694
|
+
* @returns Array of full P2POrder objects
|
|
695
|
+
*/
|
|
696
|
+
getOpenOrdersDetailed(limit?: number): Promise<P2POrder[]>;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* FiatsendClient — the main entry point for the Fiatsend SDK.
|
|
701
|
+
*
|
|
702
|
+
* Instantiate with a chain name/ID and optional viem clients to get typed
|
|
703
|
+
* access to all Fiatsend contract resources.
|
|
704
|
+
*
|
|
705
|
+
* @example
|
|
706
|
+
* ```typescript
|
|
707
|
+
* import { FiatsendClient } from '@fiatsend/core';
|
|
708
|
+
* import { createPublicClient, createWalletClient, http } from 'viem';
|
|
709
|
+
* import { bsc } from 'viem/chains';
|
|
710
|
+
*
|
|
711
|
+
* const publicClient = createPublicClient({ chain: bsc, transport: http() });
|
|
712
|
+
*
|
|
713
|
+
* const fiatsend = new FiatsendClient({
|
|
714
|
+
* chain: 'bsc',
|
|
715
|
+
* publicClient,
|
|
716
|
+
* });
|
|
717
|
+
*
|
|
718
|
+
* // Business creates a payout
|
|
719
|
+
* await fiatsend.payouts.createPayout({
|
|
720
|
+
* payoutId: '0x...',
|
|
721
|
+
* token: USDC_ADDRESS,
|
|
722
|
+
* amount: parseTokenAmount('500', 6),
|
|
723
|
+
* phoneHash: encodePhoneNumber('+233241234567'),
|
|
724
|
+
* });
|
|
725
|
+
*
|
|
726
|
+
* // Recipient claims directly to mobile money
|
|
727
|
+
* await fiatsend.payouts.claimToMoMo(payoutId, '+233241234567');
|
|
728
|
+
* ```
|
|
729
|
+
*
|
|
730
|
+
* @module @fiatsend/core/client
|
|
731
|
+
*/
|
|
732
|
+
|
|
733
|
+
/** Configuration for creating a FiatsendClient */
|
|
734
|
+
interface FiatsendClientConfig {
|
|
735
|
+
/**
|
|
736
|
+
* Chain to connect to. Accepts a chain name (e.g., "bsc", "polygon")
|
|
737
|
+
* or a numeric chain ID (e.g., 56).
|
|
738
|
+
*/
|
|
739
|
+
chain: string | number;
|
|
740
|
+
/**
|
|
741
|
+
* Optional RPC URL override. If omitted, uses the default RPC from CHAINS config.
|
|
742
|
+
*/
|
|
743
|
+
rpcUrl?: string;
|
|
744
|
+
/**
|
|
745
|
+
* An existing viem PublicClient for read operations.
|
|
746
|
+
* If omitted, one is created automatically using the configured RPC URL.
|
|
747
|
+
*/
|
|
748
|
+
publicClient?: PublicClient;
|
|
749
|
+
/**
|
|
750
|
+
* An existing viem WalletClient for write (transaction) operations.
|
|
751
|
+
* Required for any state-changing method (register, offramp, createPayout, etc.).
|
|
752
|
+
*/
|
|
753
|
+
walletClient?: WalletClient;
|
|
754
|
+
/**
|
|
755
|
+
* Override any or all contract addresses for the selected chain.
|
|
756
|
+
* Useful during testing or when deploying to a new network.
|
|
757
|
+
*/
|
|
758
|
+
contractAddresses?: Partial<ContractAddresses>;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* The main Fiatsend SDK client.
|
|
762
|
+
*
|
|
763
|
+
* All contract interactions are grouped into typed resource classes accessible
|
|
764
|
+
* as properties. Read-only operations require only `publicClient`.
|
|
765
|
+
* Write operations additionally require `walletClient`.
|
|
766
|
+
*/
|
|
767
|
+
declare class FiatsendClient {
|
|
768
|
+
/** Chain configuration used by this client */
|
|
769
|
+
readonly chainConfig: ChainConfig;
|
|
770
|
+
/** viem PublicClient used for all read operations */
|
|
771
|
+
readonly publicClient: PublicClient;
|
|
772
|
+
/** viem WalletClient (optional) used for write operations */
|
|
773
|
+
readonly walletClient: WalletClient | undefined;
|
|
774
|
+
/** Resolved contract addresses */
|
|
775
|
+
readonly addresses: ContractAddresses;
|
|
776
|
+
/** MobileNumberNFT interactions — register, resolve, KYC */
|
|
777
|
+
readonly identity: IdentityResource;
|
|
778
|
+
/** FiatsendGateway interactions — offramp, onramp, configuration */
|
|
779
|
+
readonly gateway: GatewayResource;
|
|
780
|
+
/** PaymentRouter interactions — send, sendToPhone, payment requests */
|
|
781
|
+
readonly payments: PaymentsResource;
|
|
782
|
+
/** Withdrawals contract — read-only withdrawal tracking */
|
|
783
|
+
readonly withdrawals: WithdrawalsResource;
|
|
784
|
+
/** LiquidityPool interactions — deposit, withdraw, claim rewards */
|
|
785
|
+
readonly liquidity: LiquidityResource;
|
|
786
|
+
/** VaultController interactions — deposit, withdraw, claim yield */
|
|
787
|
+
readonly vaults: VaultsResource;
|
|
788
|
+
/**
|
|
789
|
+
* PayoutEscrow interactions — core B2B payout claim flow.
|
|
790
|
+
*
|
|
791
|
+
* Businesses create payouts; recipients claim via their MobileNumberNFT identity.
|
|
792
|
+
* Supports single-tx `claimToMoMo` for immediate mobile money delivery.
|
|
793
|
+
*/
|
|
794
|
+
readonly payouts: PayoutsResource;
|
|
795
|
+
/**
|
|
796
|
+
* P2PExchange interactions — peer-to-peer exchange with payment references.
|
|
797
|
+
*
|
|
798
|
+
* Makers escrow tokens on-chain; takers pay via exchange platforms (Binance P2P,
|
|
799
|
+
* Paxful, Noones) using the exact payment reference; makers confirm receipt.
|
|
800
|
+
*/
|
|
801
|
+
readonly p2p: P2PResource;
|
|
802
|
+
constructor(config: FiatsendClientConfig);
|
|
803
|
+
/**
|
|
804
|
+
* Convenience: returns a copy of this client with a new walletClient attached.
|
|
805
|
+
*
|
|
806
|
+
* Useful when the wallet connects after the client is created.
|
|
807
|
+
*
|
|
808
|
+
* @param walletClient - The viem WalletClient to attach
|
|
809
|
+
*/
|
|
810
|
+
withWallet(walletClient: WalletClient): FiatsendClient;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* ABI for the MobileNumberNFT contract.
|
|
815
|
+
*
|
|
816
|
+
* Soulbound ERC-721 identity NFT tied to an encrypted phone number.
|
|
817
|
+
* One NFT per user. Non-transferable after mint. Supports KYC tiers (0–2).
|
|
818
|
+
*/
|
|
819
|
+
declare const MobileNumberNFTABI: readonly [{
|
|
820
|
+
readonly type: "error";
|
|
821
|
+
readonly name: "AlreadyRegistered";
|
|
822
|
+
readonly inputs: readonly [];
|
|
823
|
+
}, {
|
|
824
|
+
readonly type: "error";
|
|
825
|
+
readonly name: "PhoneAlreadyRegistered";
|
|
826
|
+
readonly inputs: readonly [];
|
|
827
|
+
}, {
|
|
828
|
+
readonly type: "error";
|
|
829
|
+
readonly name: "NotAuthorized";
|
|
830
|
+
readonly inputs: readonly [];
|
|
831
|
+
}, {
|
|
832
|
+
readonly type: "error";
|
|
833
|
+
readonly name: "InvalidKYCLevel";
|
|
834
|
+
readonly inputs: readonly [];
|
|
835
|
+
}, {
|
|
836
|
+
readonly type: "error";
|
|
837
|
+
readonly name: "TransferNotAllowed";
|
|
838
|
+
readonly inputs: readonly [];
|
|
839
|
+
}, {
|
|
840
|
+
readonly type: "error";
|
|
841
|
+
readonly name: "SignatureExpired";
|
|
842
|
+
readonly inputs: readonly [];
|
|
843
|
+
}, {
|
|
844
|
+
readonly type: "error";
|
|
845
|
+
readonly name: "InvalidSignature";
|
|
846
|
+
readonly inputs: readonly [];
|
|
847
|
+
}, {
|
|
848
|
+
readonly type: "error";
|
|
849
|
+
readonly name: "ZeroAddress";
|
|
850
|
+
readonly inputs: readonly [];
|
|
851
|
+
}, {
|
|
852
|
+
readonly type: "event";
|
|
853
|
+
readonly name: "MobileNumberRegistered";
|
|
854
|
+
readonly inputs: readonly [{
|
|
855
|
+
readonly name: "user";
|
|
856
|
+
readonly type: "address";
|
|
857
|
+
readonly indexed: true;
|
|
858
|
+
readonly internalType: "address";
|
|
859
|
+
}, {
|
|
860
|
+
readonly name: "tokenId";
|
|
861
|
+
readonly type: "uint256";
|
|
862
|
+
readonly indexed: true;
|
|
863
|
+
readonly internalType: "uint256";
|
|
864
|
+
}, {
|
|
865
|
+
readonly name: "countryCode";
|
|
866
|
+
readonly type: "string";
|
|
867
|
+
readonly indexed: false;
|
|
868
|
+
readonly internalType: "string";
|
|
869
|
+
}];
|
|
870
|
+
readonly anonymous: false;
|
|
871
|
+
}, {
|
|
872
|
+
readonly type: "event";
|
|
873
|
+
readonly name: "KYCLevelUpdated";
|
|
874
|
+
readonly inputs: readonly [{
|
|
875
|
+
readonly name: "user";
|
|
876
|
+
readonly type: "address";
|
|
877
|
+
readonly indexed: true;
|
|
878
|
+
readonly internalType: "address";
|
|
879
|
+
}, {
|
|
880
|
+
readonly name: "tokenId";
|
|
881
|
+
readonly type: "uint256";
|
|
882
|
+
readonly indexed: true;
|
|
883
|
+
readonly internalType: "uint256";
|
|
884
|
+
}, {
|
|
885
|
+
readonly name: "newLevel";
|
|
886
|
+
readonly type: "uint8";
|
|
887
|
+
readonly indexed: false;
|
|
888
|
+
readonly internalType: "uint8";
|
|
889
|
+
}];
|
|
890
|
+
readonly anonymous: false;
|
|
891
|
+
}, {
|
|
892
|
+
readonly type: "event";
|
|
893
|
+
readonly name: "Transfer";
|
|
894
|
+
readonly inputs: readonly [{
|
|
895
|
+
readonly name: "from";
|
|
896
|
+
readonly type: "address";
|
|
897
|
+
readonly indexed: true;
|
|
898
|
+
readonly internalType: "address";
|
|
899
|
+
}, {
|
|
900
|
+
readonly name: "to";
|
|
901
|
+
readonly type: "address";
|
|
902
|
+
readonly indexed: true;
|
|
903
|
+
readonly internalType: "address";
|
|
904
|
+
}, {
|
|
905
|
+
readonly name: "tokenId";
|
|
906
|
+
readonly type: "uint256";
|
|
907
|
+
readonly indexed: true;
|
|
908
|
+
readonly internalType: "uint256";
|
|
909
|
+
}];
|
|
910
|
+
readonly anonymous: false;
|
|
911
|
+
}, {
|
|
912
|
+
readonly type: "event";
|
|
913
|
+
readonly name: "Approval";
|
|
914
|
+
readonly inputs: readonly [{
|
|
915
|
+
readonly name: "owner";
|
|
916
|
+
readonly type: "address";
|
|
917
|
+
readonly indexed: true;
|
|
918
|
+
readonly internalType: "address";
|
|
919
|
+
}, {
|
|
920
|
+
readonly name: "approved";
|
|
921
|
+
readonly type: "address";
|
|
922
|
+
readonly indexed: true;
|
|
923
|
+
readonly internalType: "address";
|
|
924
|
+
}, {
|
|
925
|
+
readonly name: "tokenId";
|
|
926
|
+
readonly type: "uint256";
|
|
927
|
+
readonly indexed: true;
|
|
928
|
+
readonly internalType: "uint256";
|
|
929
|
+
}];
|
|
930
|
+
readonly anonymous: false;
|
|
931
|
+
}, {
|
|
932
|
+
readonly type: "event";
|
|
933
|
+
readonly name: "ApprovalForAll";
|
|
934
|
+
readonly inputs: readonly [{
|
|
935
|
+
readonly name: "owner";
|
|
936
|
+
readonly type: "address";
|
|
937
|
+
readonly indexed: true;
|
|
938
|
+
readonly internalType: "address";
|
|
939
|
+
}, {
|
|
940
|
+
readonly name: "operator";
|
|
941
|
+
readonly type: "address";
|
|
942
|
+
readonly indexed: true;
|
|
943
|
+
readonly internalType: "address";
|
|
944
|
+
}, {
|
|
945
|
+
readonly name: "approved";
|
|
946
|
+
readonly type: "bool";
|
|
947
|
+
readonly indexed: false;
|
|
948
|
+
readonly internalType: "bool";
|
|
949
|
+
}];
|
|
950
|
+
readonly anonymous: false;
|
|
951
|
+
}, {
|
|
952
|
+
readonly type: "event";
|
|
953
|
+
readonly name: "OwnershipTransferred";
|
|
954
|
+
readonly inputs: readonly [{
|
|
955
|
+
readonly name: "previousOwner";
|
|
956
|
+
readonly type: "address";
|
|
957
|
+
readonly indexed: true;
|
|
958
|
+
readonly internalType: "address";
|
|
959
|
+
}, {
|
|
960
|
+
readonly name: "newOwner";
|
|
961
|
+
readonly type: "address";
|
|
962
|
+
readonly indexed: true;
|
|
963
|
+
readonly internalType: "address";
|
|
964
|
+
}];
|
|
965
|
+
readonly anonymous: false;
|
|
966
|
+
}, {
|
|
967
|
+
readonly type: "constructor";
|
|
968
|
+
readonly inputs: readonly [{
|
|
969
|
+
readonly name: "baseURI";
|
|
970
|
+
readonly type: "string";
|
|
971
|
+
readonly internalType: "string";
|
|
972
|
+
}];
|
|
973
|
+
readonly stateMutability: "nonpayable";
|
|
974
|
+
}, {
|
|
975
|
+
readonly type: "function";
|
|
976
|
+
readonly name: "registerMobile";
|
|
977
|
+
readonly inputs: readonly [{
|
|
978
|
+
readonly name: "encryptedPhone";
|
|
979
|
+
readonly type: "bytes";
|
|
980
|
+
readonly internalType: "bytes";
|
|
981
|
+
}, {
|
|
982
|
+
readonly name: "countryCode";
|
|
983
|
+
readonly type: "string";
|
|
984
|
+
readonly internalType: "string";
|
|
985
|
+
}];
|
|
986
|
+
readonly outputs: readonly [];
|
|
987
|
+
readonly stateMutability: "nonpayable";
|
|
988
|
+
}, {
|
|
989
|
+
readonly type: "function";
|
|
990
|
+
readonly name: "registerMobileWithSignature";
|
|
991
|
+
readonly inputs: readonly [{
|
|
992
|
+
readonly name: "user";
|
|
993
|
+
readonly type: "address";
|
|
994
|
+
readonly internalType: "address";
|
|
995
|
+
}, {
|
|
996
|
+
readonly name: "encryptedPhone";
|
|
997
|
+
readonly type: "bytes";
|
|
998
|
+
readonly internalType: "bytes";
|
|
999
|
+
}, {
|
|
1000
|
+
readonly name: "countryCode";
|
|
1001
|
+
readonly type: "string";
|
|
1002
|
+
readonly internalType: "string";
|
|
1003
|
+
}, {
|
|
1004
|
+
readonly name: "deadline";
|
|
1005
|
+
readonly type: "uint256";
|
|
1006
|
+
readonly internalType: "uint256";
|
|
1007
|
+
}, {
|
|
1008
|
+
readonly name: "signature";
|
|
1009
|
+
readonly type: "bytes";
|
|
1010
|
+
readonly internalType: "bytes";
|
|
1011
|
+
}];
|
|
1012
|
+
readonly outputs: readonly [];
|
|
1013
|
+
readonly stateMutability: "nonpayable";
|
|
1014
|
+
}, {
|
|
1015
|
+
readonly type: "function";
|
|
1016
|
+
readonly name: "updateKYCLevel";
|
|
1017
|
+
readonly inputs: readonly [{
|
|
1018
|
+
readonly name: "tokenId";
|
|
1019
|
+
readonly type: "uint256";
|
|
1020
|
+
readonly internalType: "uint256";
|
|
1021
|
+
}, {
|
|
1022
|
+
readonly name: "newLevel";
|
|
1023
|
+
readonly type: "uint8";
|
|
1024
|
+
readonly internalType: "uint8";
|
|
1025
|
+
}];
|
|
1026
|
+
readonly outputs: readonly [];
|
|
1027
|
+
readonly stateMutability: "nonpayable";
|
|
1028
|
+
}, {
|
|
1029
|
+
readonly type: "function";
|
|
1030
|
+
readonly name: "setAuthorizedMinter";
|
|
1031
|
+
readonly inputs: readonly [{
|
|
1032
|
+
readonly name: "minter";
|
|
1033
|
+
readonly type: "address";
|
|
1034
|
+
readonly internalType: "address";
|
|
1035
|
+
}, {
|
|
1036
|
+
readonly name: "authorized";
|
|
1037
|
+
readonly type: "bool";
|
|
1038
|
+
readonly internalType: "bool";
|
|
1039
|
+
}];
|
|
1040
|
+
readonly outputs: readonly [];
|
|
1041
|
+
readonly stateMutability: "nonpayable";
|
|
1042
|
+
}, {
|
|
1043
|
+
readonly type: "function";
|
|
1044
|
+
readonly name: "setBaseURI";
|
|
1045
|
+
readonly inputs: readonly [{
|
|
1046
|
+
readonly name: "baseURI";
|
|
1047
|
+
readonly type: "string";
|
|
1048
|
+
readonly internalType: "string";
|
|
1049
|
+
}];
|
|
1050
|
+
readonly outputs: readonly [];
|
|
1051
|
+
readonly stateMutability: "nonpayable";
|
|
1052
|
+
}, {
|
|
1053
|
+
readonly type: "function";
|
|
1054
|
+
readonly name: "transferOwnership";
|
|
1055
|
+
readonly inputs: readonly [{
|
|
1056
|
+
readonly name: "newOwner";
|
|
1057
|
+
readonly type: "address";
|
|
1058
|
+
readonly internalType: "address";
|
|
1059
|
+
}];
|
|
1060
|
+
readonly outputs: readonly [];
|
|
1061
|
+
readonly stateMutability: "nonpayable";
|
|
1062
|
+
}, {
|
|
1063
|
+
readonly type: "function";
|
|
1064
|
+
readonly name: "renounceOwnership";
|
|
1065
|
+
readonly inputs: readonly [];
|
|
1066
|
+
readonly outputs: readonly [];
|
|
1067
|
+
readonly stateMutability: "nonpayable";
|
|
1068
|
+
}, {
|
|
1069
|
+
readonly type: "function";
|
|
1070
|
+
readonly name: "getTokenId";
|
|
1071
|
+
readonly inputs: readonly [{
|
|
1072
|
+
readonly name: "user";
|
|
1073
|
+
readonly type: "address";
|
|
1074
|
+
readonly internalType: "address";
|
|
1075
|
+
}];
|
|
1076
|
+
readonly outputs: readonly [{
|
|
1077
|
+
readonly name: "";
|
|
1078
|
+
readonly type: "uint256";
|
|
1079
|
+
readonly internalType: "uint256";
|
|
1080
|
+
}];
|
|
1081
|
+
readonly stateMutability: "view";
|
|
1082
|
+
}, {
|
|
1083
|
+
readonly type: "function";
|
|
1084
|
+
readonly name: "getTokenIdByPhone";
|
|
1085
|
+
readonly inputs: readonly [{
|
|
1086
|
+
readonly name: "encryptedPhone";
|
|
1087
|
+
readonly type: "bytes";
|
|
1088
|
+
readonly internalType: "bytes";
|
|
1089
|
+
}];
|
|
1090
|
+
readonly outputs: readonly [{
|
|
1091
|
+
readonly name: "";
|
|
1092
|
+
readonly type: "uint256";
|
|
1093
|
+
readonly internalType: "uint256";
|
|
1094
|
+
}];
|
|
1095
|
+
readonly stateMutability: "view";
|
|
1096
|
+
}, {
|
|
1097
|
+
readonly type: "function";
|
|
1098
|
+
readonly name: "getKYCLevel";
|
|
1099
|
+
readonly inputs: readonly [{
|
|
1100
|
+
readonly name: "tokenId";
|
|
1101
|
+
readonly type: "uint256";
|
|
1102
|
+
readonly internalType: "uint256";
|
|
1103
|
+
}];
|
|
1104
|
+
readonly outputs: readonly [{
|
|
1105
|
+
readonly name: "";
|
|
1106
|
+
readonly type: "uint8";
|
|
1107
|
+
readonly internalType: "uint8";
|
|
1108
|
+
}];
|
|
1109
|
+
readonly stateMutability: "view";
|
|
1110
|
+
}, {
|
|
1111
|
+
readonly type: "function";
|
|
1112
|
+
readonly name: "getKYCLevelByAddress";
|
|
1113
|
+
readonly inputs: readonly [{
|
|
1114
|
+
readonly name: "user";
|
|
1115
|
+
readonly type: "address";
|
|
1116
|
+
readonly internalType: "address";
|
|
1117
|
+
}];
|
|
1118
|
+
readonly outputs: readonly [{
|
|
1119
|
+
readonly name: "";
|
|
1120
|
+
readonly type: "uint8";
|
|
1121
|
+
readonly internalType: "uint8";
|
|
1122
|
+
}];
|
|
1123
|
+
readonly stateMutability: "view";
|
|
1124
|
+
}, {
|
|
1125
|
+
readonly type: "function";
|
|
1126
|
+
readonly name: "getCountryCode";
|
|
1127
|
+
readonly inputs: readonly [{
|
|
1128
|
+
readonly name: "tokenId";
|
|
1129
|
+
readonly type: "uint256";
|
|
1130
|
+
readonly internalType: "uint256";
|
|
1131
|
+
}];
|
|
1132
|
+
readonly outputs: readonly [{
|
|
1133
|
+
readonly name: "";
|
|
1134
|
+
readonly type: "string";
|
|
1135
|
+
readonly internalType: "string";
|
|
1136
|
+
}];
|
|
1137
|
+
readonly stateMutability: "view";
|
|
1138
|
+
}, {
|
|
1139
|
+
readonly type: "function";
|
|
1140
|
+
readonly name: "getEncryptedPhone";
|
|
1141
|
+
readonly inputs: readonly [{
|
|
1142
|
+
readonly name: "tokenId";
|
|
1143
|
+
readonly type: "uint256";
|
|
1144
|
+
readonly internalType: "uint256";
|
|
1145
|
+
}];
|
|
1146
|
+
readonly outputs: readonly [{
|
|
1147
|
+
readonly name: "";
|
|
1148
|
+
readonly type: "bytes";
|
|
1149
|
+
readonly internalType: "bytes";
|
|
1150
|
+
}];
|
|
1151
|
+
readonly stateMutability: "view";
|
|
1152
|
+
}, {
|
|
1153
|
+
readonly type: "function";
|
|
1154
|
+
readonly name: "nonces";
|
|
1155
|
+
readonly inputs: readonly [{
|
|
1156
|
+
readonly name: "user";
|
|
1157
|
+
readonly type: "address";
|
|
1158
|
+
readonly internalType: "address";
|
|
1159
|
+
}];
|
|
1160
|
+
readonly outputs: readonly [{
|
|
1161
|
+
readonly name: "";
|
|
1162
|
+
readonly type: "uint256";
|
|
1163
|
+
readonly internalType: "uint256";
|
|
1164
|
+
}];
|
|
1165
|
+
readonly stateMutability: "view";
|
|
1166
|
+
}, {
|
|
1167
|
+
readonly type: "function";
|
|
1168
|
+
readonly name: "owner";
|
|
1169
|
+
readonly inputs: readonly [];
|
|
1170
|
+
readonly outputs: readonly [{
|
|
1171
|
+
readonly name: "";
|
|
1172
|
+
readonly type: "address";
|
|
1173
|
+
readonly internalType: "address";
|
|
1174
|
+
}];
|
|
1175
|
+
readonly stateMutability: "view";
|
|
1176
|
+
}, {
|
|
1177
|
+
readonly type: "function";
|
|
1178
|
+
readonly name: "ownerOf";
|
|
1179
|
+
readonly inputs: readonly [{
|
|
1180
|
+
readonly name: "tokenId";
|
|
1181
|
+
readonly type: "uint256";
|
|
1182
|
+
readonly internalType: "uint256";
|
|
1183
|
+
}];
|
|
1184
|
+
readonly outputs: readonly [{
|
|
1185
|
+
readonly name: "";
|
|
1186
|
+
readonly type: "address";
|
|
1187
|
+
readonly internalType: "address";
|
|
1188
|
+
}];
|
|
1189
|
+
readonly stateMutability: "view";
|
|
1190
|
+
}, {
|
|
1191
|
+
readonly type: "function";
|
|
1192
|
+
readonly name: "balanceOf";
|
|
1193
|
+
readonly inputs: readonly [{
|
|
1194
|
+
readonly name: "owner";
|
|
1195
|
+
readonly type: "address";
|
|
1196
|
+
readonly internalType: "address";
|
|
1197
|
+
}];
|
|
1198
|
+
readonly outputs: readonly [{
|
|
1199
|
+
readonly name: "";
|
|
1200
|
+
readonly type: "uint256";
|
|
1201
|
+
readonly internalType: "uint256";
|
|
1202
|
+
}];
|
|
1203
|
+
readonly stateMutability: "view";
|
|
1204
|
+
}, {
|
|
1205
|
+
readonly type: "function";
|
|
1206
|
+
readonly name: "tokenURI";
|
|
1207
|
+
readonly inputs: readonly [{
|
|
1208
|
+
readonly name: "tokenId";
|
|
1209
|
+
readonly type: "uint256";
|
|
1210
|
+
readonly internalType: "uint256";
|
|
1211
|
+
}];
|
|
1212
|
+
readonly outputs: readonly [{
|
|
1213
|
+
readonly name: "";
|
|
1214
|
+
readonly type: "string";
|
|
1215
|
+
readonly internalType: "string";
|
|
1216
|
+
}];
|
|
1217
|
+
readonly stateMutability: "view";
|
|
1218
|
+
}, {
|
|
1219
|
+
readonly type: "function";
|
|
1220
|
+
readonly name: "totalSupply";
|
|
1221
|
+
readonly inputs: readonly [];
|
|
1222
|
+
readonly outputs: readonly [{
|
|
1223
|
+
readonly name: "";
|
|
1224
|
+
readonly type: "uint256";
|
|
1225
|
+
readonly internalType: "uint256";
|
|
1226
|
+
}];
|
|
1227
|
+
readonly stateMutability: "view";
|
|
1228
|
+
}, {
|
|
1229
|
+
readonly type: "function";
|
|
1230
|
+
readonly name: "tokenByIndex";
|
|
1231
|
+
readonly inputs: readonly [{
|
|
1232
|
+
readonly name: "index";
|
|
1233
|
+
readonly type: "uint256";
|
|
1234
|
+
readonly internalType: "uint256";
|
|
1235
|
+
}];
|
|
1236
|
+
readonly outputs: readonly [{
|
|
1237
|
+
readonly name: "";
|
|
1238
|
+
readonly type: "uint256";
|
|
1239
|
+
readonly internalType: "uint256";
|
|
1240
|
+
}];
|
|
1241
|
+
readonly stateMutability: "view";
|
|
1242
|
+
}, {
|
|
1243
|
+
readonly type: "function";
|
|
1244
|
+
readonly name: "tokenOfOwnerByIndex";
|
|
1245
|
+
readonly inputs: readonly [{
|
|
1246
|
+
readonly name: "owner";
|
|
1247
|
+
readonly type: "address";
|
|
1248
|
+
readonly internalType: "address";
|
|
1249
|
+
}, {
|
|
1250
|
+
readonly name: "index";
|
|
1251
|
+
readonly type: "uint256";
|
|
1252
|
+
readonly internalType: "uint256";
|
|
1253
|
+
}];
|
|
1254
|
+
readonly outputs: readonly [{
|
|
1255
|
+
readonly name: "";
|
|
1256
|
+
readonly type: "uint256";
|
|
1257
|
+
readonly internalType: "uint256";
|
|
1258
|
+
}];
|
|
1259
|
+
readonly stateMutability: "view";
|
|
1260
|
+
}, {
|
|
1261
|
+
readonly type: "function";
|
|
1262
|
+
readonly name: "supportsInterface";
|
|
1263
|
+
readonly inputs: readonly [{
|
|
1264
|
+
readonly name: "interfaceId";
|
|
1265
|
+
readonly type: "bytes4";
|
|
1266
|
+
readonly internalType: "bytes4";
|
|
1267
|
+
}];
|
|
1268
|
+
readonly outputs: readonly [{
|
|
1269
|
+
readonly name: "";
|
|
1270
|
+
readonly type: "bool";
|
|
1271
|
+
readonly internalType: "bool";
|
|
1272
|
+
}];
|
|
1273
|
+
readonly stateMutability: "view";
|
|
1274
|
+
}, {
|
|
1275
|
+
readonly type: "function";
|
|
1276
|
+
readonly name: "name";
|
|
1277
|
+
readonly inputs: readonly [];
|
|
1278
|
+
readonly outputs: readonly [{
|
|
1279
|
+
readonly name: "";
|
|
1280
|
+
readonly type: "string";
|
|
1281
|
+
readonly internalType: "string";
|
|
1282
|
+
}];
|
|
1283
|
+
readonly stateMutability: "view";
|
|
1284
|
+
}, {
|
|
1285
|
+
readonly type: "function";
|
|
1286
|
+
readonly name: "symbol";
|
|
1287
|
+
readonly inputs: readonly [];
|
|
1288
|
+
readonly outputs: readonly [{
|
|
1289
|
+
readonly name: "";
|
|
1290
|
+
readonly type: "string";
|
|
1291
|
+
readonly internalType: "string";
|
|
1292
|
+
}];
|
|
1293
|
+
readonly stateMutability: "view";
|
|
1294
|
+
}];
|
|
1295
|
+
|
|
1296
|
+
/**
|
|
1297
|
+
* ABI for the FiatsendGateway contract.
|
|
1298
|
+
*
|
|
1299
|
+
* Core UUPS-upgradeable gateway for onramp/offramp operations.
|
|
1300
|
+
* Handles token conversion, KYC gating, fee collection, and daily limits.
|
|
1301
|
+
*/
|
|
1302
|
+
declare const FiatsendGatewayABI: readonly [{
|
|
1303
|
+
readonly type: "error";
|
|
1304
|
+
readonly name: "TokenNotSupported";
|
|
1305
|
+
readonly inputs: readonly [];
|
|
1306
|
+
}, {
|
|
1307
|
+
readonly type: "error";
|
|
1308
|
+
readonly name: "NoMobileNFT";
|
|
1309
|
+
readonly inputs: readonly [];
|
|
1310
|
+
}, {
|
|
1311
|
+
readonly type: "error";
|
|
1312
|
+
readonly name: "KYCRequired";
|
|
1313
|
+
readonly inputs: readonly [];
|
|
1314
|
+
}, {
|
|
1315
|
+
readonly type: "error";
|
|
1316
|
+
readonly name: "BelowMinimum";
|
|
1317
|
+
readonly inputs: readonly [];
|
|
1318
|
+
}, {
|
|
1319
|
+
readonly type: "error";
|
|
1320
|
+
readonly name: "DailyLimitExceeded";
|
|
1321
|
+
readonly inputs: readonly [];
|
|
1322
|
+
}, {
|
|
1323
|
+
readonly type: "error";
|
|
1324
|
+
readonly name: "ZeroAddress";
|
|
1325
|
+
readonly inputs: readonly [];
|
|
1326
|
+
}, {
|
|
1327
|
+
readonly type: "error";
|
|
1328
|
+
readonly name: "ZeroAmount";
|
|
1329
|
+
readonly inputs: readonly [];
|
|
1330
|
+
}, {
|
|
1331
|
+
readonly type: "error";
|
|
1332
|
+
readonly name: "InvalidFeeRate";
|
|
1333
|
+
readonly inputs: readonly [];
|
|
1334
|
+
}, {
|
|
1335
|
+
readonly type: "error";
|
|
1336
|
+
readonly name: "NotAuthorizedOnramp";
|
|
1337
|
+
readonly inputs: readonly [];
|
|
1338
|
+
}, {
|
|
1339
|
+
readonly type: "error";
|
|
1340
|
+
readonly name: "NotAuthorizedContract";
|
|
1341
|
+
readonly inputs: readonly [];
|
|
1342
|
+
}, {
|
|
1343
|
+
readonly type: "event";
|
|
1344
|
+
readonly name: "OfframpInitiated";
|
|
1345
|
+
readonly inputs: readonly [{
|
|
1346
|
+
readonly name: "user";
|
|
1347
|
+
readonly type: "address";
|
|
1348
|
+
readonly indexed: true;
|
|
1349
|
+
readonly internalType: "address";
|
|
1350
|
+
}, {
|
|
1351
|
+
readonly name: "token";
|
|
1352
|
+
readonly type: "address";
|
|
1353
|
+
readonly indexed: true;
|
|
1354
|
+
readonly internalType: "address";
|
|
1355
|
+
}, {
|
|
1356
|
+
readonly name: "amount";
|
|
1357
|
+
readonly type: "uint256";
|
|
1358
|
+
readonly indexed: false;
|
|
1359
|
+
readonly internalType: "uint256";
|
|
1360
|
+
}, {
|
|
1361
|
+
readonly name: "fee";
|
|
1362
|
+
readonly type: "uint256";
|
|
1363
|
+
readonly indexed: false;
|
|
1364
|
+
readonly internalType: "uint256";
|
|
1365
|
+
}, {
|
|
1366
|
+
readonly name: "phoneNumber";
|
|
1367
|
+
readonly type: "string";
|
|
1368
|
+
readonly indexed: false;
|
|
1369
|
+
readonly internalType: "string";
|
|
1370
|
+
}];
|
|
1371
|
+
readonly anonymous: false;
|
|
1372
|
+
}, {
|
|
1373
|
+
readonly type: "event";
|
|
1374
|
+
readonly name: "OnrampCompleted";
|
|
1375
|
+
readonly inputs: readonly [{
|
|
1376
|
+
readonly name: "user";
|
|
1377
|
+
readonly type: "address";
|
|
1378
|
+
readonly indexed: true;
|
|
1379
|
+
readonly internalType: "address";
|
|
1380
|
+
}, {
|
|
1381
|
+
readonly name: "amount";
|
|
1382
|
+
readonly type: "uint256";
|
|
1383
|
+
readonly indexed: false;
|
|
1384
|
+
readonly internalType: "uint256";
|
|
1385
|
+
}];
|
|
1386
|
+
readonly anonymous: false;
|
|
1387
|
+
}, {
|
|
1388
|
+
readonly type: "event";
|
|
1389
|
+
readonly name: "ConversionRateUpdated";
|
|
1390
|
+
readonly inputs: readonly [{
|
|
1391
|
+
readonly name: "token";
|
|
1392
|
+
readonly type: "address";
|
|
1393
|
+
readonly indexed: true;
|
|
1394
|
+
readonly internalType: "address";
|
|
1395
|
+
}, {
|
|
1396
|
+
readonly name: "rate";
|
|
1397
|
+
readonly type: "uint256";
|
|
1398
|
+
readonly indexed: false;
|
|
1399
|
+
readonly internalType: "uint256";
|
|
1400
|
+
}];
|
|
1401
|
+
readonly anonymous: false;
|
|
1402
|
+
}, {
|
|
1403
|
+
readonly type: "event";
|
|
1404
|
+
readonly name: "TokenAdded";
|
|
1405
|
+
readonly inputs: readonly [{
|
|
1406
|
+
readonly name: "token";
|
|
1407
|
+
readonly type: "address";
|
|
1408
|
+
readonly indexed: true;
|
|
1409
|
+
readonly internalType: "address";
|
|
1410
|
+
}];
|
|
1411
|
+
readonly anonymous: false;
|
|
1412
|
+
}, {
|
|
1413
|
+
readonly type: "event";
|
|
1414
|
+
readonly name: "TokenRemoved";
|
|
1415
|
+
readonly inputs: readonly [{
|
|
1416
|
+
readonly name: "token";
|
|
1417
|
+
readonly type: "address";
|
|
1418
|
+
readonly indexed: true;
|
|
1419
|
+
readonly internalType: "address";
|
|
1420
|
+
}];
|
|
1421
|
+
readonly anonymous: false;
|
|
1422
|
+
}, {
|
|
1423
|
+
readonly type: "event";
|
|
1424
|
+
readonly name: "FeeCollected";
|
|
1425
|
+
readonly inputs: readonly [{
|
|
1426
|
+
readonly name: "token";
|
|
1427
|
+
readonly type: "address";
|
|
1428
|
+
readonly indexed: true;
|
|
1429
|
+
readonly internalType: "address";
|
|
1430
|
+
}, {
|
|
1431
|
+
readonly name: "feeAmount";
|
|
1432
|
+
readonly type: "uint256";
|
|
1433
|
+
readonly indexed: false;
|
|
1434
|
+
readonly internalType: "uint256";
|
|
1435
|
+
}, {
|
|
1436
|
+
readonly name: "treasury";
|
|
1437
|
+
readonly type: "address";
|
|
1438
|
+
readonly indexed: false;
|
|
1439
|
+
readonly internalType: "address";
|
|
1440
|
+
}];
|
|
1441
|
+
readonly anonymous: false;
|
|
1442
|
+
}, {
|
|
1443
|
+
readonly type: "event";
|
|
1444
|
+
readonly name: "Paused";
|
|
1445
|
+
readonly inputs: readonly [{
|
|
1446
|
+
readonly name: "account";
|
|
1447
|
+
readonly type: "address";
|
|
1448
|
+
readonly indexed: false;
|
|
1449
|
+
readonly internalType: "address";
|
|
1450
|
+
}];
|
|
1451
|
+
readonly anonymous: false;
|
|
1452
|
+
}, {
|
|
1453
|
+
readonly type: "event";
|
|
1454
|
+
readonly name: "Unpaused";
|
|
1455
|
+
readonly inputs: readonly [{
|
|
1456
|
+
readonly name: "account";
|
|
1457
|
+
readonly type: "address";
|
|
1458
|
+
readonly indexed: false;
|
|
1459
|
+
readonly internalType: "address";
|
|
1460
|
+
}];
|
|
1461
|
+
readonly anonymous: false;
|
|
1462
|
+
}, {
|
|
1463
|
+
readonly type: "event";
|
|
1464
|
+
readonly name: "OwnershipTransferred";
|
|
1465
|
+
readonly inputs: readonly [{
|
|
1466
|
+
readonly name: "previousOwner";
|
|
1467
|
+
readonly type: "address";
|
|
1468
|
+
readonly indexed: true;
|
|
1469
|
+
readonly internalType: "address";
|
|
1470
|
+
}, {
|
|
1471
|
+
readonly name: "newOwner";
|
|
1472
|
+
readonly type: "address";
|
|
1473
|
+
readonly indexed: true;
|
|
1474
|
+
readonly internalType: "address";
|
|
1475
|
+
}];
|
|
1476
|
+
readonly anonymous: false;
|
|
1477
|
+
}, {
|
|
1478
|
+
readonly type: "event";
|
|
1479
|
+
readonly name: "Upgraded";
|
|
1480
|
+
readonly inputs: readonly [{
|
|
1481
|
+
readonly name: "implementation";
|
|
1482
|
+
readonly type: "address";
|
|
1483
|
+
readonly indexed: true;
|
|
1484
|
+
readonly internalType: "address";
|
|
1485
|
+
}];
|
|
1486
|
+
readonly anonymous: false;
|
|
1487
|
+
}, {
|
|
1488
|
+
readonly type: "event";
|
|
1489
|
+
readonly name: "Initialized";
|
|
1490
|
+
readonly inputs: readonly [{
|
|
1491
|
+
readonly name: "version";
|
|
1492
|
+
readonly type: "uint64";
|
|
1493
|
+
readonly indexed: false;
|
|
1494
|
+
readonly internalType: "uint64";
|
|
1495
|
+
}];
|
|
1496
|
+
readonly anonymous: false;
|
|
1497
|
+
}, {
|
|
1498
|
+
readonly type: "function";
|
|
1499
|
+
readonly name: "initialize";
|
|
1500
|
+
readonly inputs: readonly [{
|
|
1501
|
+
readonly name: "_ghsFiatToken";
|
|
1502
|
+
readonly type: "address";
|
|
1503
|
+
readonly internalType: "address";
|
|
1504
|
+
}, {
|
|
1505
|
+
readonly name: "_mobileNumberNFT";
|
|
1506
|
+
readonly type: "address";
|
|
1507
|
+
readonly internalType: "address";
|
|
1508
|
+
}, {
|
|
1509
|
+
readonly name: "_treasury";
|
|
1510
|
+
readonly type: "address";
|
|
1511
|
+
readonly internalType: "address";
|
|
1512
|
+
}, {
|
|
1513
|
+
readonly name: "_feeRate";
|
|
1514
|
+
readonly type: "uint256";
|
|
1515
|
+
readonly internalType: "uint256";
|
|
1516
|
+
}];
|
|
1517
|
+
readonly outputs: readonly [];
|
|
1518
|
+
readonly stateMutability: "nonpayable";
|
|
1519
|
+
}, {
|
|
1520
|
+
readonly type: "function";
|
|
1521
|
+
readonly name: "offrampFor";
|
|
1522
|
+
readonly inputs: readonly [{
|
|
1523
|
+
readonly name: "user";
|
|
1524
|
+
readonly type: "address";
|
|
1525
|
+
readonly internalType: "address";
|
|
1526
|
+
}, {
|
|
1527
|
+
readonly name: "token";
|
|
1528
|
+
readonly type: "address";
|
|
1529
|
+
readonly internalType: "address";
|
|
1530
|
+
}, {
|
|
1531
|
+
readonly name: "amount";
|
|
1532
|
+
readonly type: "uint256";
|
|
1533
|
+
readonly internalType: "uint256";
|
|
1534
|
+
}, {
|
|
1535
|
+
readonly name: "phoneNumber";
|
|
1536
|
+
readonly type: "string";
|
|
1537
|
+
readonly internalType: "string";
|
|
1538
|
+
}];
|
|
1539
|
+
readonly outputs: readonly [];
|
|
1540
|
+
readonly stateMutability: "nonpayable";
|
|
1541
|
+
}, {
|
|
1542
|
+
readonly type: "function";
|
|
1543
|
+
readonly name: "offramp";
|
|
1544
|
+
readonly inputs: readonly [{
|
|
1545
|
+
readonly name: "token";
|
|
1546
|
+
readonly type: "address";
|
|
1547
|
+
readonly internalType: "address";
|
|
1548
|
+
}, {
|
|
1549
|
+
readonly name: "amount";
|
|
1550
|
+
readonly type: "uint256";
|
|
1551
|
+
readonly internalType: "uint256";
|
|
1552
|
+
}, {
|
|
1553
|
+
readonly name: "phoneNumber";
|
|
1554
|
+
readonly type: "string";
|
|
1555
|
+
readonly internalType: "string";
|
|
1556
|
+
}];
|
|
1557
|
+
readonly outputs: readonly [];
|
|
1558
|
+
readonly stateMutability: "nonpayable";
|
|
1559
|
+
}, {
|
|
1560
|
+
readonly type: "function";
|
|
1561
|
+
readonly name: "onramp";
|
|
1562
|
+
readonly inputs: readonly [{
|
|
1563
|
+
readonly name: "user";
|
|
1564
|
+
readonly type: "address";
|
|
1565
|
+
readonly internalType: "address";
|
|
1566
|
+
}, {
|
|
1567
|
+
readonly name: "amount";
|
|
1568
|
+
readonly type: "uint256";
|
|
1569
|
+
readonly internalType: "uint256";
|
|
1570
|
+
}];
|
|
1571
|
+
readonly outputs: readonly [];
|
|
1572
|
+
readonly stateMutability: "nonpayable";
|
|
1573
|
+
}, {
|
|
1574
|
+
readonly type: "function";
|
|
1575
|
+
readonly name: "setConversionRate";
|
|
1576
|
+
readonly inputs: readonly [{
|
|
1577
|
+
readonly name: "token";
|
|
1578
|
+
readonly type: "address";
|
|
1579
|
+
readonly internalType: "address";
|
|
1580
|
+
}, {
|
|
1581
|
+
readonly name: "rate";
|
|
1582
|
+
readonly type: "uint256";
|
|
1583
|
+
readonly internalType: "uint256";
|
|
1584
|
+
}];
|
|
1585
|
+
readonly outputs: readonly [];
|
|
1586
|
+
readonly stateMutability: "nonpayable";
|
|
1587
|
+
}, {
|
|
1588
|
+
readonly type: "function";
|
|
1589
|
+
readonly name: "addSupportedToken";
|
|
1590
|
+
readonly inputs: readonly [{
|
|
1591
|
+
readonly name: "token";
|
|
1592
|
+
readonly type: "address";
|
|
1593
|
+
readonly internalType: "address";
|
|
1594
|
+
}];
|
|
1595
|
+
readonly outputs: readonly [];
|
|
1596
|
+
readonly stateMutability: "nonpayable";
|
|
1597
|
+
}, {
|
|
1598
|
+
readonly type: "function";
|
|
1599
|
+
readonly name: "removeSupportedToken";
|
|
1600
|
+
readonly inputs: readonly [{
|
|
1601
|
+
readonly name: "token";
|
|
1602
|
+
readonly type: "address";
|
|
1603
|
+
readonly internalType: "address";
|
|
1604
|
+
}];
|
|
1605
|
+
readonly outputs: readonly [];
|
|
1606
|
+
readonly stateMutability: "nonpayable";
|
|
1607
|
+
}, {
|
|
1608
|
+
readonly type: "function";
|
|
1609
|
+
readonly name: "setKYC";
|
|
1610
|
+
readonly inputs: readonly [{
|
|
1611
|
+
readonly name: "user";
|
|
1612
|
+
readonly type: "address";
|
|
1613
|
+
readonly internalType: "address";
|
|
1614
|
+
}, {
|
|
1615
|
+
readonly name: "status";
|
|
1616
|
+
readonly type: "bool";
|
|
1617
|
+
readonly internalType: "bool";
|
|
1618
|
+
}];
|
|
1619
|
+
readonly outputs: readonly [];
|
|
1620
|
+
readonly stateMutability: "nonpayable";
|
|
1621
|
+
}, {
|
|
1622
|
+
readonly type: "function";
|
|
1623
|
+
readonly name: "setProtocolFee";
|
|
1624
|
+
readonly inputs: readonly [{
|
|
1625
|
+
readonly name: "newFeeRate";
|
|
1626
|
+
readonly type: "uint256";
|
|
1627
|
+
readonly internalType: "uint256";
|
|
1628
|
+
}];
|
|
1629
|
+
readonly outputs: readonly [];
|
|
1630
|
+
readonly stateMutability: "nonpayable";
|
|
1631
|
+
}, {
|
|
1632
|
+
readonly type: "function";
|
|
1633
|
+
readonly name: "setMinWithdrawAmount";
|
|
1634
|
+
readonly inputs: readonly [{
|
|
1635
|
+
readonly name: "amount";
|
|
1636
|
+
readonly type: "uint256";
|
|
1637
|
+
readonly internalType: "uint256";
|
|
1638
|
+
}];
|
|
1639
|
+
readonly outputs: readonly [];
|
|
1640
|
+
readonly stateMutability: "nonpayable";
|
|
1641
|
+
}, {
|
|
1642
|
+
readonly type: "function";
|
|
1643
|
+
readonly name: "setDailyLimit";
|
|
1644
|
+
readonly inputs: readonly [{
|
|
1645
|
+
readonly name: "limit";
|
|
1646
|
+
readonly type: "uint256";
|
|
1647
|
+
readonly internalType: "uint256";
|
|
1648
|
+
}];
|
|
1649
|
+
readonly outputs: readonly [];
|
|
1650
|
+
readonly stateMutability: "nonpayable";
|
|
1651
|
+
}, {
|
|
1652
|
+
readonly type: "function";
|
|
1653
|
+
readonly name: "setWithdrawalsContract";
|
|
1654
|
+
readonly inputs: readonly [{
|
|
1655
|
+
readonly name: "_withdrawals";
|
|
1656
|
+
readonly type: "address";
|
|
1657
|
+
readonly internalType: "address";
|
|
1658
|
+
}];
|
|
1659
|
+
readonly outputs: readonly [];
|
|
1660
|
+
readonly stateMutability: "nonpayable";
|
|
1661
|
+
}, {
|
|
1662
|
+
readonly type: "function";
|
|
1663
|
+
readonly name: "setAuthorizedOnramper";
|
|
1664
|
+
readonly inputs: readonly [{
|
|
1665
|
+
readonly name: "onramper";
|
|
1666
|
+
readonly type: "address";
|
|
1667
|
+
readonly internalType: "address";
|
|
1668
|
+
}, {
|
|
1669
|
+
readonly name: "authorized";
|
|
1670
|
+
readonly type: "bool";
|
|
1671
|
+
readonly internalType: "bool";
|
|
1672
|
+
}];
|
|
1673
|
+
readonly outputs: readonly [];
|
|
1674
|
+
readonly stateMutability: "nonpayable";
|
|
1675
|
+
}, {
|
|
1676
|
+
readonly type: "function";
|
|
1677
|
+
readonly name: "setAuthorizedContract";
|
|
1678
|
+
readonly inputs: readonly [{
|
|
1679
|
+
readonly name: "contractAddr";
|
|
1680
|
+
readonly type: "address";
|
|
1681
|
+
readonly internalType: "address";
|
|
1682
|
+
}, {
|
|
1683
|
+
readonly name: "authorized";
|
|
1684
|
+
readonly type: "bool";
|
|
1685
|
+
readonly internalType: "bool";
|
|
1686
|
+
}];
|
|
1687
|
+
readonly outputs: readonly [];
|
|
1688
|
+
readonly stateMutability: "nonpayable";
|
|
1689
|
+
}, {
|
|
1690
|
+
readonly type: "function";
|
|
1691
|
+
readonly name: "setProtocolTreasury";
|
|
1692
|
+
readonly inputs: readonly [{
|
|
1693
|
+
readonly name: "treasury";
|
|
1694
|
+
readonly type: "address";
|
|
1695
|
+
readonly internalType: "address";
|
|
1696
|
+
}];
|
|
1697
|
+
readonly outputs: readonly [];
|
|
1698
|
+
readonly stateMutability: "nonpayable";
|
|
1699
|
+
}, {
|
|
1700
|
+
readonly type: "function";
|
|
1701
|
+
readonly name: "emergencyWithdraw";
|
|
1702
|
+
readonly inputs: readonly [{
|
|
1703
|
+
readonly name: "token";
|
|
1704
|
+
readonly type: "address";
|
|
1705
|
+
readonly internalType: "address";
|
|
1706
|
+
}, {
|
|
1707
|
+
readonly name: "amount";
|
|
1708
|
+
readonly type: "uint256";
|
|
1709
|
+
readonly internalType: "uint256";
|
|
1710
|
+
}];
|
|
1711
|
+
readonly outputs: readonly [];
|
|
1712
|
+
readonly stateMutability: "nonpayable";
|
|
1713
|
+
}, {
|
|
1714
|
+
readonly type: "function";
|
|
1715
|
+
readonly name: "pause";
|
|
1716
|
+
readonly inputs: readonly [];
|
|
1717
|
+
readonly outputs: readonly [];
|
|
1718
|
+
readonly stateMutability: "nonpayable";
|
|
1719
|
+
}, {
|
|
1720
|
+
readonly type: "function";
|
|
1721
|
+
readonly name: "unpause";
|
|
1722
|
+
readonly inputs: readonly [];
|
|
1723
|
+
readonly outputs: readonly [];
|
|
1724
|
+
readonly stateMutability: "nonpayable";
|
|
1725
|
+
}, {
|
|
1726
|
+
readonly type: "function";
|
|
1727
|
+
readonly name: "transferOwnership";
|
|
1728
|
+
readonly inputs: readonly [{
|
|
1729
|
+
readonly name: "newOwner";
|
|
1730
|
+
readonly type: "address";
|
|
1731
|
+
readonly internalType: "address";
|
|
1732
|
+
}];
|
|
1733
|
+
readonly outputs: readonly [];
|
|
1734
|
+
readonly stateMutability: "nonpayable";
|
|
1735
|
+
}, {
|
|
1736
|
+
readonly type: "function";
|
|
1737
|
+
readonly name: "renounceOwnership";
|
|
1738
|
+
readonly inputs: readonly [];
|
|
1739
|
+
readonly outputs: readonly [];
|
|
1740
|
+
readonly stateMutability: "nonpayable";
|
|
1741
|
+
}, {
|
|
1742
|
+
readonly type: "function";
|
|
1743
|
+
readonly name: "upgradeTo";
|
|
1744
|
+
readonly inputs: readonly [{
|
|
1745
|
+
readonly name: "newImplementation";
|
|
1746
|
+
readonly type: "address";
|
|
1747
|
+
readonly internalType: "address";
|
|
1748
|
+
}];
|
|
1749
|
+
readonly outputs: readonly [];
|
|
1750
|
+
readonly stateMutability: "nonpayable";
|
|
1751
|
+
}, {
|
|
1752
|
+
readonly type: "function";
|
|
1753
|
+
readonly name: "upgradeToAndCall";
|
|
1754
|
+
readonly inputs: readonly [{
|
|
1755
|
+
readonly name: "newImplementation";
|
|
1756
|
+
readonly type: "address";
|
|
1757
|
+
readonly internalType: "address";
|
|
1758
|
+
}, {
|
|
1759
|
+
readonly name: "data";
|
|
1760
|
+
readonly type: "bytes";
|
|
1761
|
+
readonly internalType: "bytes";
|
|
1762
|
+
}];
|
|
1763
|
+
readonly outputs: readonly [];
|
|
1764
|
+
readonly stateMutability: "payable";
|
|
1765
|
+
}, {
|
|
1766
|
+
readonly type: "function";
|
|
1767
|
+
readonly name: "isTokenSupported";
|
|
1768
|
+
readonly inputs: readonly [{
|
|
1769
|
+
readonly name: "token";
|
|
1770
|
+
readonly type: "address";
|
|
1771
|
+
readonly internalType: "address";
|
|
1772
|
+
}];
|
|
1773
|
+
readonly outputs: readonly [{
|
|
1774
|
+
readonly name: "";
|
|
1775
|
+
readonly type: "bool";
|
|
1776
|
+
readonly internalType: "bool";
|
|
1777
|
+
}];
|
|
1778
|
+
readonly stateMutability: "view";
|
|
1779
|
+
}, {
|
|
1780
|
+
readonly type: "function";
|
|
1781
|
+
readonly name: "getConversionRate";
|
|
1782
|
+
readonly inputs: readonly [{
|
|
1783
|
+
readonly name: "token";
|
|
1784
|
+
readonly type: "address";
|
|
1785
|
+
readonly internalType: "address";
|
|
1786
|
+
}];
|
|
1787
|
+
readonly outputs: readonly [{
|
|
1788
|
+
readonly name: "";
|
|
1789
|
+
readonly type: "uint256";
|
|
1790
|
+
readonly internalType: "uint256";
|
|
1791
|
+
}];
|
|
1792
|
+
readonly stateMutability: "view";
|
|
1793
|
+
}, {
|
|
1794
|
+
readonly type: "function";
|
|
1795
|
+
readonly name: "isKYCPassed";
|
|
1796
|
+
readonly inputs: readonly [{
|
|
1797
|
+
readonly name: "user";
|
|
1798
|
+
readonly type: "address";
|
|
1799
|
+
readonly internalType: "address";
|
|
1800
|
+
}];
|
|
1801
|
+
readonly outputs: readonly [{
|
|
1802
|
+
readonly name: "";
|
|
1803
|
+
readonly type: "bool";
|
|
1804
|
+
readonly internalType: "bool";
|
|
1805
|
+
}];
|
|
1806
|
+
readonly stateMutability: "view";
|
|
1807
|
+
}, {
|
|
1808
|
+
readonly type: "function";
|
|
1809
|
+
readonly name: "getDailyVolume";
|
|
1810
|
+
readonly inputs: readonly [{
|
|
1811
|
+
readonly name: "user";
|
|
1812
|
+
readonly type: "address";
|
|
1813
|
+
readonly internalType: "address";
|
|
1814
|
+
}];
|
|
1815
|
+
readonly outputs: readonly [{
|
|
1816
|
+
readonly name: "";
|
|
1817
|
+
readonly type: "uint256";
|
|
1818
|
+
readonly internalType: "uint256";
|
|
1819
|
+
}];
|
|
1820
|
+
readonly stateMutability: "view";
|
|
1821
|
+
}, {
|
|
1822
|
+
readonly type: "function";
|
|
1823
|
+
readonly name: "isAuthorizedContract";
|
|
1824
|
+
readonly inputs: readonly [{
|
|
1825
|
+
readonly name: "contractAddr";
|
|
1826
|
+
readonly type: "address";
|
|
1827
|
+
readonly internalType: "address";
|
|
1828
|
+
}];
|
|
1829
|
+
readonly outputs: readonly [{
|
|
1830
|
+
readonly name: "";
|
|
1831
|
+
readonly type: "bool";
|
|
1832
|
+
readonly internalType: "bool";
|
|
1833
|
+
}];
|
|
1834
|
+
readonly stateMutability: "view";
|
|
1835
|
+
}, {
|
|
1836
|
+
readonly type: "function";
|
|
1837
|
+
readonly name: "protocolFeeRate";
|
|
1838
|
+
readonly inputs: readonly [];
|
|
1839
|
+
readonly outputs: readonly [{
|
|
1840
|
+
readonly name: "";
|
|
1841
|
+
readonly type: "uint256";
|
|
1842
|
+
readonly internalType: "uint256";
|
|
1843
|
+
}];
|
|
1844
|
+
readonly stateMutability: "view";
|
|
1845
|
+
}, {
|
|
1846
|
+
readonly type: "function";
|
|
1847
|
+
readonly name: "protocolTreasury";
|
|
1848
|
+
readonly inputs: readonly [];
|
|
1849
|
+
readonly outputs: readonly [{
|
|
1850
|
+
readonly name: "";
|
|
1851
|
+
readonly type: "address";
|
|
1852
|
+
readonly internalType: "address";
|
|
1853
|
+
}];
|
|
1854
|
+
readonly stateMutability: "view";
|
|
1855
|
+
}, {
|
|
1856
|
+
readonly type: "function";
|
|
1857
|
+
readonly name: "minWithdrawAmount";
|
|
1858
|
+
readonly inputs: readonly [];
|
|
1859
|
+
readonly outputs: readonly [{
|
|
1860
|
+
readonly name: "";
|
|
1861
|
+
readonly type: "uint256";
|
|
1862
|
+
readonly internalType: "uint256";
|
|
1863
|
+
}];
|
|
1864
|
+
readonly stateMutability: "view";
|
|
1865
|
+
}, {
|
|
1866
|
+
readonly type: "function";
|
|
1867
|
+
readonly name: "dailyLimit";
|
|
1868
|
+
readonly inputs: readonly [];
|
|
1869
|
+
readonly outputs: readonly [{
|
|
1870
|
+
readonly name: "";
|
|
1871
|
+
readonly type: "uint256";
|
|
1872
|
+
readonly internalType: "uint256";
|
|
1873
|
+
}];
|
|
1874
|
+
readonly stateMutability: "view";
|
|
1875
|
+
}, {
|
|
1876
|
+
readonly type: "function";
|
|
1877
|
+
readonly name: "paused";
|
|
1878
|
+
readonly inputs: readonly [];
|
|
1879
|
+
readonly outputs: readonly [{
|
|
1880
|
+
readonly name: "";
|
|
1881
|
+
readonly type: "bool";
|
|
1882
|
+
readonly internalType: "bool";
|
|
1883
|
+
}];
|
|
1884
|
+
readonly stateMutability: "view";
|
|
1885
|
+
}, {
|
|
1886
|
+
readonly type: "function";
|
|
1887
|
+
readonly name: "owner";
|
|
1888
|
+
readonly inputs: readonly [];
|
|
1889
|
+
readonly outputs: readonly [{
|
|
1890
|
+
readonly name: "";
|
|
1891
|
+
readonly type: "address";
|
|
1892
|
+
readonly internalType: "address";
|
|
1893
|
+
}];
|
|
1894
|
+
readonly stateMutability: "view";
|
|
1895
|
+
}, {
|
|
1896
|
+
readonly type: "function";
|
|
1897
|
+
readonly name: "MAX_FEE_RATE";
|
|
1898
|
+
readonly inputs: readonly [];
|
|
1899
|
+
readonly outputs: readonly [{
|
|
1900
|
+
readonly name: "";
|
|
1901
|
+
readonly type: "uint256";
|
|
1902
|
+
readonly internalType: "uint256";
|
|
1903
|
+
}];
|
|
1904
|
+
readonly stateMutability: "view";
|
|
1905
|
+
}, {
|
|
1906
|
+
readonly type: "function";
|
|
1907
|
+
readonly name: "KYC_THRESHOLD";
|
|
1908
|
+
readonly inputs: readonly [];
|
|
1909
|
+
readonly outputs: readonly [{
|
|
1910
|
+
readonly name: "";
|
|
1911
|
+
readonly type: "uint256";
|
|
1912
|
+
readonly internalType: "uint256";
|
|
1913
|
+
}];
|
|
1914
|
+
readonly stateMutability: "view";
|
|
1915
|
+
}, {
|
|
1916
|
+
readonly type: "function";
|
|
1917
|
+
readonly name: "ghsFiatToken";
|
|
1918
|
+
readonly inputs: readonly [];
|
|
1919
|
+
readonly outputs: readonly [{
|
|
1920
|
+
readonly name: "";
|
|
1921
|
+
readonly type: "address";
|
|
1922
|
+
readonly internalType: "address";
|
|
1923
|
+
}];
|
|
1924
|
+
readonly stateMutability: "view";
|
|
1925
|
+
}, {
|
|
1926
|
+
readonly type: "function";
|
|
1927
|
+
readonly name: "mobileNumberNFT";
|
|
1928
|
+
readonly inputs: readonly [];
|
|
1929
|
+
readonly outputs: readonly [{
|
|
1930
|
+
readonly name: "";
|
|
1931
|
+
readonly type: "address";
|
|
1932
|
+
readonly internalType: "address";
|
|
1933
|
+
}];
|
|
1934
|
+
readonly stateMutability: "view";
|
|
1935
|
+
}, {
|
|
1936
|
+
readonly type: "function";
|
|
1937
|
+
readonly name: "withdrawalsContract";
|
|
1938
|
+
readonly inputs: readonly [];
|
|
1939
|
+
readonly outputs: readonly [{
|
|
1940
|
+
readonly name: "";
|
|
1941
|
+
readonly type: "address";
|
|
1942
|
+
readonly internalType: "address";
|
|
1943
|
+
}];
|
|
1944
|
+
readonly stateMutability: "view";
|
|
1945
|
+
}, {
|
|
1946
|
+
readonly type: "function";
|
|
1947
|
+
readonly name: "proxiableUUID";
|
|
1948
|
+
readonly inputs: readonly [];
|
|
1949
|
+
readonly outputs: readonly [{
|
|
1950
|
+
readonly name: "";
|
|
1951
|
+
readonly type: "bytes32";
|
|
1952
|
+
readonly internalType: "bytes32";
|
|
1953
|
+
}];
|
|
1954
|
+
readonly stateMutability: "view";
|
|
1955
|
+
}];
|
|
1956
|
+
|
|
1957
|
+
/**
|
|
1958
|
+
* ABI for the PaymentRouter contract.
|
|
1959
|
+
*
|
|
1960
|
+
* Routes P2P payments and payment requests between users.
|
|
1961
|
+
* Resolves phone-number-based payments via MobileNumberNFT.
|
|
1962
|
+
*/
|
|
1963
|
+
declare const PaymentRouterABI: readonly [{
|
|
1964
|
+
readonly type: "error";
|
|
1965
|
+
readonly name: "ZeroAddress";
|
|
1966
|
+
readonly inputs: readonly [];
|
|
1967
|
+
}, {
|
|
1968
|
+
readonly type: "error";
|
|
1969
|
+
readonly name: "ZeroAmount";
|
|
1970
|
+
readonly inputs: readonly [];
|
|
1971
|
+
}, {
|
|
1972
|
+
readonly type: "error";
|
|
1973
|
+
readonly name: "PhoneNotRegistered";
|
|
1974
|
+
readonly inputs: readonly [];
|
|
1975
|
+
}, {
|
|
1976
|
+
readonly type: "error";
|
|
1977
|
+
readonly name: "RequestNotFound";
|
|
1978
|
+
readonly inputs: readonly [];
|
|
1979
|
+
}, {
|
|
1980
|
+
readonly type: "error";
|
|
1981
|
+
readonly name: "RequestNotPending";
|
|
1982
|
+
readonly inputs: readonly [];
|
|
1983
|
+
}, {
|
|
1984
|
+
readonly type: "error";
|
|
1985
|
+
readonly name: "NotRequestOwner";
|
|
1986
|
+
readonly inputs: readonly [];
|
|
1987
|
+
}, {
|
|
1988
|
+
readonly type: "error";
|
|
1989
|
+
readonly name: "NotRequestRecipient";
|
|
1990
|
+
readonly inputs: readonly [];
|
|
1991
|
+
}, {
|
|
1992
|
+
readonly type: "error";
|
|
1993
|
+
readonly name: "SelfPayment";
|
|
1994
|
+
readonly inputs: readonly [];
|
|
1995
|
+
}, {
|
|
1996
|
+
readonly type: "event";
|
|
1997
|
+
readonly name: "PaymentSent";
|
|
1998
|
+
readonly inputs: readonly [{
|
|
1999
|
+
readonly name: "from";
|
|
2000
|
+
readonly type: "address";
|
|
2001
|
+
readonly indexed: true;
|
|
2002
|
+
readonly internalType: "address";
|
|
2003
|
+
}, {
|
|
2004
|
+
readonly name: "to";
|
|
2005
|
+
readonly type: "address";
|
|
2006
|
+
readonly indexed: true;
|
|
2007
|
+
readonly internalType: "address";
|
|
2008
|
+
}, {
|
|
2009
|
+
readonly name: "token";
|
|
2010
|
+
readonly type: "address";
|
|
2011
|
+
readonly indexed: false;
|
|
2012
|
+
readonly internalType: "address";
|
|
2013
|
+
}, {
|
|
2014
|
+
readonly name: "amount";
|
|
2015
|
+
readonly type: "uint256";
|
|
2016
|
+
readonly indexed: false;
|
|
2017
|
+
readonly internalType: "uint256";
|
|
2018
|
+
}, {
|
|
2019
|
+
readonly name: "memo";
|
|
2020
|
+
readonly type: "string";
|
|
2021
|
+
readonly indexed: false;
|
|
2022
|
+
readonly internalType: "string";
|
|
2023
|
+
}];
|
|
2024
|
+
readonly anonymous: false;
|
|
2025
|
+
}, {
|
|
2026
|
+
readonly type: "event";
|
|
2027
|
+
readonly name: "PaymentRequestCreated";
|
|
2028
|
+
readonly inputs: readonly [{
|
|
2029
|
+
readonly name: "requestId";
|
|
2030
|
+
readonly type: "uint256";
|
|
2031
|
+
readonly indexed: true;
|
|
2032
|
+
readonly internalType: "uint256";
|
|
2033
|
+
}, {
|
|
2034
|
+
readonly name: "from";
|
|
2035
|
+
readonly type: "address";
|
|
2036
|
+
readonly indexed: true;
|
|
2037
|
+
readonly internalType: "address";
|
|
2038
|
+
}, {
|
|
2039
|
+
readonly name: "to";
|
|
2040
|
+
readonly type: "address";
|
|
2041
|
+
readonly indexed: true;
|
|
2042
|
+
readonly internalType: "address";
|
|
2043
|
+
}, {
|
|
2044
|
+
readonly name: "token";
|
|
2045
|
+
readonly type: "address";
|
|
2046
|
+
readonly indexed: false;
|
|
2047
|
+
readonly internalType: "address";
|
|
2048
|
+
}, {
|
|
2049
|
+
readonly name: "amount";
|
|
2050
|
+
readonly type: "uint256";
|
|
2051
|
+
readonly indexed: false;
|
|
2052
|
+
readonly internalType: "uint256";
|
|
2053
|
+
}];
|
|
2054
|
+
readonly anonymous: false;
|
|
2055
|
+
}, {
|
|
2056
|
+
readonly type: "event";
|
|
2057
|
+
readonly name: "PaymentRequestPaid";
|
|
2058
|
+
readonly inputs: readonly [{
|
|
2059
|
+
readonly name: "requestId";
|
|
2060
|
+
readonly type: "uint256";
|
|
2061
|
+
readonly indexed: true;
|
|
2062
|
+
readonly internalType: "uint256";
|
|
2063
|
+
}, {
|
|
2064
|
+
readonly name: "paidBy";
|
|
2065
|
+
readonly type: "address";
|
|
2066
|
+
readonly indexed: true;
|
|
2067
|
+
readonly internalType: "address";
|
|
2068
|
+
}];
|
|
2069
|
+
readonly anonymous: false;
|
|
2070
|
+
}, {
|
|
2071
|
+
readonly type: "event";
|
|
2072
|
+
readonly name: "PaymentRequestCancelled";
|
|
2073
|
+
readonly inputs: readonly [{
|
|
2074
|
+
readonly name: "requestId";
|
|
2075
|
+
readonly type: "uint256";
|
|
2076
|
+
readonly indexed: true;
|
|
2077
|
+
readonly internalType: "uint256";
|
|
2078
|
+
}];
|
|
2079
|
+
readonly anonymous: false;
|
|
2080
|
+
}, {
|
|
2081
|
+
readonly type: "event";
|
|
2082
|
+
readonly name: "OwnershipTransferred";
|
|
2083
|
+
readonly inputs: readonly [{
|
|
2084
|
+
readonly name: "previousOwner";
|
|
2085
|
+
readonly type: "address";
|
|
2086
|
+
readonly indexed: true;
|
|
2087
|
+
readonly internalType: "address";
|
|
2088
|
+
}, {
|
|
2089
|
+
readonly name: "newOwner";
|
|
2090
|
+
readonly type: "address";
|
|
2091
|
+
readonly indexed: true;
|
|
2092
|
+
readonly internalType: "address";
|
|
2093
|
+
}];
|
|
2094
|
+
readonly anonymous: false;
|
|
2095
|
+
}, {
|
|
2096
|
+
readonly type: "constructor";
|
|
2097
|
+
readonly inputs: readonly [{
|
|
2098
|
+
readonly name: "_mobileNumberNFT";
|
|
2099
|
+
readonly type: "address";
|
|
2100
|
+
readonly internalType: "address";
|
|
2101
|
+
}, {
|
|
2102
|
+
readonly name: "_feeTreasury";
|
|
2103
|
+
readonly type: "address";
|
|
2104
|
+
readonly internalType: "address";
|
|
2105
|
+
}];
|
|
2106
|
+
readonly stateMutability: "nonpayable";
|
|
2107
|
+
}, {
|
|
2108
|
+
readonly type: "function";
|
|
2109
|
+
readonly name: "send";
|
|
2110
|
+
readonly inputs: readonly [{
|
|
2111
|
+
readonly name: "token";
|
|
2112
|
+
readonly type: "address";
|
|
2113
|
+
readonly internalType: "address";
|
|
2114
|
+
}, {
|
|
2115
|
+
readonly name: "to";
|
|
2116
|
+
readonly type: "address";
|
|
2117
|
+
readonly internalType: "address";
|
|
2118
|
+
}, {
|
|
2119
|
+
readonly name: "amount";
|
|
2120
|
+
readonly type: "uint256";
|
|
2121
|
+
readonly internalType: "uint256";
|
|
2122
|
+
}, {
|
|
2123
|
+
readonly name: "memo";
|
|
2124
|
+
readonly type: "string";
|
|
2125
|
+
readonly internalType: "string";
|
|
2126
|
+
}];
|
|
2127
|
+
readonly outputs: readonly [];
|
|
2128
|
+
readonly stateMutability: "nonpayable";
|
|
2129
|
+
}, {
|
|
2130
|
+
readonly type: "function";
|
|
2131
|
+
readonly name: "sendToPhone";
|
|
2132
|
+
readonly inputs: readonly [{
|
|
2133
|
+
readonly name: "token";
|
|
2134
|
+
readonly type: "address";
|
|
2135
|
+
readonly internalType: "address";
|
|
2136
|
+
}, {
|
|
2137
|
+
readonly name: "encryptedPhone";
|
|
2138
|
+
readonly type: "bytes";
|
|
2139
|
+
readonly internalType: "bytes";
|
|
2140
|
+
}, {
|
|
2141
|
+
readonly name: "amount";
|
|
2142
|
+
readonly type: "uint256";
|
|
2143
|
+
readonly internalType: "uint256";
|
|
2144
|
+
}, {
|
|
2145
|
+
readonly name: "memo";
|
|
2146
|
+
readonly type: "string";
|
|
2147
|
+
readonly internalType: "string";
|
|
2148
|
+
}];
|
|
2149
|
+
readonly outputs: readonly [];
|
|
2150
|
+
readonly stateMutability: "nonpayable";
|
|
2151
|
+
}, {
|
|
2152
|
+
readonly type: "function";
|
|
2153
|
+
readonly name: "createPaymentRequest";
|
|
2154
|
+
readonly inputs: readonly [{
|
|
2155
|
+
readonly name: "token";
|
|
2156
|
+
readonly type: "address";
|
|
2157
|
+
readonly internalType: "address";
|
|
2158
|
+
}, {
|
|
2159
|
+
readonly name: "from";
|
|
2160
|
+
readonly type: "address";
|
|
2161
|
+
readonly internalType: "address";
|
|
2162
|
+
}, {
|
|
2163
|
+
readonly name: "amount";
|
|
2164
|
+
readonly type: "uint256";
|
|
2165
|
+
readonly internalType: "uint256";
|
|
2166
|
+
}, {
|
|
2167
|
+
readonly name: "memo";
|
|
2168
|
+
readonly type: "string";
|
|
2169
|
+
readonly internalType: "string";
|
|
2170
|
+
}];
|
|
2171
|
+
readonly outputs: readonly [{
|
|
2172
|
+
readonly name: "requestId";
|
|
2173
|
+
readonly type: "uint256";
|
|
2174
|
+
readonly internalType: "uint256";
|
|
2175
|
+
}];
|
|
2176
|
+
readonly stateMutability: "nonpayable";
|
|
2177
|
+
}, {
|
|
2178
|
+
readonly type: "function";
|
|
2179
|
+
readonly name: "payRequest";
|
|
2180
|
+
readonly inputs: readonly [{
|
|
2181
|
+
readonly name: "requestId";
|
|
2182
|
+
readonly type: "uint256";
|
|
2183
|
+
readonly internalType: "uint256";
|
|
2184
|
+
}];
|
|
2185
|
+
readonly outputs: readonly [];
|
|
2186
|
+
readonly stateMutability: "nonpayable";
|
|
2187
|
+
}, {
|
|
2188
|
+
readonly type: "function";
|
|
2189
|
+
readonly name: "cancelRequest";
|
|
2190
|
+
readonly inputs: readonly [{
|
|
2191
|
+
readonly name: "requestId";
|
|
2192
|
+
readonly type: "uint256";
|
|
2193
|
+
readonly internalType: "uint256";
|
|
2194
|
+
}];
|
|
2195
|
+
readonly outputs: readonly [];
|
|
2196
|
+
readonly stateMutability: "nonpayable";
|
|
2197
|
+
}, {
|
|
2198
|
+
readonly type: "function";
|
|
2199
|
+
readonly name: "setP2PFeeRate";
|
|
2200
|
+
readonly inputs: readonly [{
|
|
2201
|
+
readonly name: "rate";
|
|
2202
|
+
readonly type: "uint256";
|
|
2203
|
+
readonly internalType: "uint256";
|
|
2204
|
+
}];
|
|
2205
|
+
readonly outputs: readonly [];
|
|
2206
|
+
readonly stateMutability: "nonpayable";
|
|
2207
|
+
}, {
|
|
2208
|
+
readonly type: "function";
|
|
2209
|
+
readonly name: "setFeeTreasury";
|
|
2210
|
+
readonly inputs: readonly [{
|
|
2211
|
+
readonly name: "treasury";
|
|
2212
|
+
readonly type: "address";
|
|
2213
|
+
readonly internalType: "address";
|
|
2214
|
+
}];
|
|
2215
|
+
readonly outputs: readonly [];
|
|
2216
|
+
readonly stateMutability: "nonpayable";
|
|
2217
|
+
}, {
|
|
2218
|
+
readonly type: "function";
|
|
2219
|
+
readonly name: "transferOwnership";
|
|
2220
|
+
readonly inputs: readonly [{
|
|
2221
|
+
readonly name: "newOwner";
|
|
2222
|
+
readonly type: "address";
|
|
2223
|
+
readonly internalType: "address";
|
|
2224
|
+
}];
|
|
2225
|
+
readonly outputs: readonly [];
|
|
2226
|
+
readonly stateMutability: "nonpayable";
|
|
2227
|
+
}, {
|
|
2228
|
+
readonly type: "function";
|
|
2229
|
+
readonly name: "renounceOwnership";
|
|
2230
|
+
readonly inputs: readonly [];
|
|
2231
|
+
readonly outputs: readonly [];
|
|
2232
|
+
readonly stateMutability: "nonpayable";
|
|
2233
|
+
}, {
|
|
2234
|
+
readonly type: "function";
|
|
2235
|
+
readonly name: "getPaymentRequest";
|
|
2236
|
+
readonly inputs: readonly [{
|
|
2237
|
+
readonly name: "requestId";
|
|
2238
|
+
readonly type: "uint256";
|
|
2239
|
+
readonly internalType: "uint256";
|
|
2240
|
+
}];
|
|
2241
|
+
readonly outputs: readonly [{
|
|
2242
|
+
readonly name: "";
|
|
2243
|
+
readonly type: "tuple";
|
|
2244
|
+
readonly internalType: "struct IPaymentRouter.PaymentRequest";
|
|
2245
|
+
readonly components: readonly [{
|
|
2246
|
+
readonly name: "id";
|
|
2247
|
+
readonly type: "uint256";
|
|
2248
|
+
readonly internalType: "uint256";
|
|
2249
|
+
}, {
|
|
2250
|
+
readonly name: "from";
|
|
2251
|
+
readonly type: "address";
|
|
2252
|
+
readonly internalType: "address";
|
|
2253
|
+
}, {
|
|
2254
|
+
readonly name: "to";
|
|
2255
|
+
readonly type: "address";
|
|
2256
|
+
readonly internalType: "address";
|
|
2257
|
+
}, {
|
|
2258
|
+
readonly name: "token";
|
|
2259
|
+
readonly type: "address";
|
|
2260
|
+
readonly internalType: "address";
|
|
2261
|
+
}, {
|
|
2262
|
+
readonly name: "amount";
|
|
2263
|
+
readonly type: "uint256";
|
|
2264
|
+
readonly internalType: "uint256";
|
|
2265
|
+
}, {
|
|
2266
|
+
readonly name: "memo";
|
|
2267
|
+
readonly type: "string";
|
|
2268
|
+
readonly internalType: "string";
|
|
2269
|
+
}, {
|
|
2270
|
+
readonly name: "status";
|
|
2271
|
+
readonly type: "uint8";
|
|
2272
|
+
readonly internalType: "enum IPaymentRouter.RequestStatus";
|
|
2273
|
+
}, {
|
|
2274
|
+
readonly name: "createdAt";
|
|
2275
|
+
readonly type: "uint256";
|
|
2276
|
+
readonly internalType: "uint256";
|
|
2277
|
+
}];
|
|
2278
|
+
}];
|
|
2279
|
+
readonly stateMutability: "view";
|
|
2280
|
+
}, {
|
|
2281
|
+
readonly type: "function";
|
|
2282
|
+
readonly name: "paymentRequestCounter";
|
|
2283
|
+
readonly inputs: readonly [];
|
|
2284
|
+
readonly outputs: readonly [{
|
|
2285
|
+
readonly name: "";
|
|
2286
|
+
readonly type: "uint256";
|
|
2287
|
+
readonly internalType: "uint256";
|
|
2288
|
+
}];
|
|
2289
|
+
readonly stateMutability: "view";
|
|
2290
|
+
}, {
|
|
2291
|
+
readonly type: "function";
|
|
2292
|
+
readonly name: "p2pFeeRate";
|
|
2293
|
+
readonly inputs: readonly [];
|
|
2294
|
+
readonly outputs: readonly [{
|
|
2295
|
+
readonly name: "";
|
|
2296
|
+
readonly type: "uint256";
|
|
2297
|
+
readonly internalType: "uint256";
|
|
2298
|
+
}];
|
|
2299
|
+
readonly stateMutability: "view";
|
|
2300
|
+
}, {
|
|
2301
|
+
readonly type: "function";
|
|
2302
|
+
readonly name: "feeTreasury";
|
|
2303
|
+
readonly inputs: readonly [];
|
|
2304
|
+
readonly outputs: readonly [{
|
|
2305
|
+
readonly name: "";
|
|
2306
|
+
readonly type: "address";
|
|
2307
|
+
readonly internalType: "address";
|
|
2308
|
+
}];
|
|
2309
|
+
readonly stateMutability: "view";
|
|
2310
|
+
}, {
|
|
2311
|
+
readonly type: "function";
|
|
2312
|
+
readonly name: "mobileNumberNFT";
|
|
2313
|
+
readonly inputs: readonly [];
|
|
2314
|
+
readonly outputs: readonly [{
|
|
2315
|
+
readonly name: "";
|
|
2316
|
+
readonly type: "address";
|
|
2317
|
+
readonly internalType: "address";
|
|
2318
|
+
}];
|
|
2319
|
+
readonly stateMutability: "view";
|
|
2320
|
+
}, {
|
|
2321
|
+
readonly type: "function";
|
|
2322
|
+
readonly name: "owner";
|
|
2323
|
+
readonly inputs: readonly [];
|
|
2324
|
+
readonly outputs: readonly [{
|
|
2325
|
+
readonly name: "";
|
|
2326
|
+
readonly type: "address";
|
|
2327
|
+
readonly internalType: "address";
|
|
2328
|
+
}];
|
|
2329
|
+
readonly stateMutability: "view";
|
|
2330
|
+
}];
|
|
2331
|
+
|
|
2332
|
+
/**
|
|
2333
|
+
* ABI for the Withdrawals contract.
|
|
2334
|
+
*
|
|
2335
|
+
* Manages withdrawal lifecycle: pending → processing → completed/failed.
|
|
2336
|
+
* Only the gateway can create withdrawals. Owner manages status transitions.
|
|
2337
|
+
*/
|
|
2338
|
+
declare const WithdrawalsABI: readonly [{
|
|
2339
|
+
readonly type: "error";
|
|
2340
|
+
readonly name: "OnlyGateway";
|
|
2341
|
+
readonly inputs: readonly [];
|
|
2342
|
+
}, {
|
|
2343
|
+
readonly type: "error";
|
|
2344
|
+
readonly name: "WithdrawalNotFound";
|
|
2345
|
+
readonly inputs: readonly [];
|
|
2346
|
+
}, {
|
|
2347
|
+
readonly type: "error";
|
|
2348
|
+
readonly name: "InvalidStatus";
|
|
2349
|
+
readonly inputs: readonly [];
|
|
2350
|
+
}, {
|
|
2351
|
+
readonly type: "error";
|
|
2352
|
+
readonly name: "ZeroAddress";
|
|
2353
|
+
readonly inputs: readonly [];
|
|
2354
|
+
}, {
|
|
2355
|
+
readonly type: "error";
|
|
2356
|
+
readonly name: "ZeroAmount";
|
|
2357
|
+
readonly inputs: readonly [];
|
|
2358
|
+
}, {
|
|
2359
|
+
readonly type: "event";
|
|
2360
|
+
readonly name: "WithdrawalCreated";
|
|
2361
|
+
readonly inputs: readonly [{
|
|
2362
|
+
readonly name: "id";
|
|
2363
|
+
readonly type: "uint256";
|
|
2364
|
+
readonly indexed: true;
|
|
2365
|
+
readonly internalType: "uint256";
|
|
2366
|
+
}, {
|
|
2367
|
+
readonly name: "user";
|
|
2368
|
+
readonly type: "address";
|
|
2369
|
+
readonly indexed: true;
|
|
2370
|
+
readonly internalType: "address";
|
|
2371
|
+
}, {
|
|
2372
|
+
readonly name: "token";
|
|
2373
|
+
readonly type: "address";
|
|
2374
|
+
readonly indexed: false;
|
|
2375
|
+
readonly internalType: "address";
|
|
2376
|
+
}, {
|
|
2377
|
+
readonly name: "amount";
|
|
2378
|
+
readonly type: "uint256";
|
|
2379
|
+
readonly indexed: false;
|
|
2380
|
+
readonly internalType: "uint256";
|
|
2381
|
+
}, {
|
|
2382
|
+
readonly name: "fee";
|
|
2383
|
+
readonly type: "uint256";
|
|
2384
|
+
readonly indexed: false;
|
|
2385
|
+
readonly internalType: "uint256";
|
|
2386
|
+
}, {
|
|
2387
|
+
readonly name: "phoneNumber";
|
|
2388
|
+
readonly type: "string";
|
|
2389
|
+
readonly indexed: false;
|
|
2390
|
+
readonly internalType: "string";
|
|
2391
|
+
}];
|
|
2392
|
+
readonly anonymous: false;
|
|
2393
|
+
}, {
|
|
2394
|
+
readonly type: "event";
|
|
2395
|
+
readonly name: "WithdrawalProcessing";
|
|
2396
|
+
readonly inputs: readonly [{
|
|
2397
|
+
readonly name: "id";
|
|
2398
|
+
readonly type: "uint256";
|
|
2399
|
+
readonly indexed: true;
|
|
2400
|
+
readonly internalType: "uint256";
|
|
2401
|
+
}];
|
|
2402
|
+
readonly anonymous: false;
|
|
2403
|
+
}, {
|
|
2404
|
+
readonly type: "event";
|
|
2405
|
+
readonly name: "WithdrawalCompleted";
|
|
2406
|
+
readonly inputs: readonly [{
|
|
2407
|
+
readonly name: "id";
|
|
2408
|
+
readonly type: "uint256";
|
|
2409
|
+
readonly indexed: true;
|
|
2410
|
+
readonly internalType: "uint256";
|
|
2411
|
+
}, {
|
|
2412
|
+
readonly name: "completedAt";
|
|
2413
|
+
readonly type: "uint256";
|
|
2414
|
+
readonly indexed: false;
|
|
2415
|
+
readonly internalType: "uint256";
|
|
2416
|
+
}];
|
|
2417
|
+
readonly anonymous: false;
|
|
2418
|
+
}, {
|
|
2419
|
+
readonly type: "event";
|
|
2420
|
+
readonly name: "WithdrawalFailed";
|
|
2421
|
+
readonly inputs: readonly [{
|
|
2422
|
+
readonly name: "id";
|
|
2423
|
+
readonly type: "uint256";
|
|
2424
|
+
readonly indexed: true;
|
|
2425
|
+
readonly internalType: "uint256";
|
|
2426
|
+
}, {
|
|
2427
|
+
readonly name: "user";
|
|
2428
|
+
readonly type: "address";
|
|
2429
|
+
readonly indexed: true;
|
|
2430
|
+
readonly internalType: "address";
|
|
2431
|
+
}, {
|
|
2432
|
+
readonly name: "refundAmount";
|
|
2433
|
+
readonly type: "uint256";
|
|
2434
|
+
readonly indexed: false;
|
|
2435
|
+
readonly internalType: "uint256";
|
|
2436
|
+
}];
|
|
2437
|
+
readonly anonymous: false;
|
|
2438
|
+
}, {
|
|
2439
|
+
readonly type: "event";
|
|
2440
|
+
readonly name: "GatewayUpdated";
|
|
2441
|
+
readonly inputs: readonly [{
|
|
2442
|
+
readonly name: "gateway";
|
|
2443
|
+
readonly type: "address";
|
|
2444
|
+
readonly indexed: true;
|
|
2445
|
+
readonly internalType: "address";
|
|
2446
|
+
}];
|
|
2447
|
+
readonly anonymous: false;
|
|
2448
|
+
}, {
|
|
2449
|
+
readonly type: "event";
|
|
2450
|
+
readonly name: "OwnershipTransferred";
|
|
2451
|
+
readonly inputs: readonly [{
|
|
2452
|
+
readonly name: "previousOwner";
|
|
2453
|
+
readonly type: "address";
|
|
2454
|
+
readonly indexed: true;
|
|
2455
|
+
readonly internalType: "address";
|
|
2456
|
+
}, {
|
|
2457
|
+
readonly name: "newOwner";
|
|
2458
|
+
readonly type: "address";
|
|
2459
|
+
readonly indexed: true;
|
|
2460
|
+
readonly internalType: "address";
|
|
2461
|
+
}];
|
|
2462
|
+
readonly anonymous: false;
|
|
2463
|
+
}, {
|
|
2464
|
+
readonly type: "constructor";
|
|
2465
|
+
readonly inputs: readonly [];
|
|
2466
|
+
readonly stateMutability: "nonpayable";
|
|
2467
|
+
}, {
|
|
2468
|
+
readonly type: "function";
|
|
2469
|
+
readonly name: "setGateway";
|
|
2470
|
+
readonly inputs: readonly [{
|
|
2471
|
+
readonly name: "_gateway";
|
|
2472
|
+
readonly type: "address";
|
|
2473
|
+
readonly internalType: "address";
|
|
2474
|
+
}];
|
|
2475
|
+
readonly outputs: readonly [];
|
|
2476
|
+
readonly stateMutability: "nonpayable";
|
|
2477
|
+
}, {
|
|
2478
|
+
readonly type: "function";
|
|
2479
|
+
readonly name: "processWithdrawal";
|
|
2480
|
+
readonly inputs: readonly [{
|
|
2481
|
+
readonly name: "id";
|
|
2482
|
+
readonly type: "uint256";
|
|
2483
|
+
readonly internalType: "uint256";
|
|
2484
|
+
}];
|
|
2485
|
+
readonly outputs: readonly [];
|
|
2486
|
+
readonly stateMutability: "nonpayable";
|
|
2487
|
+
}, {
|
|
2488
|
+
readonly type: "function";
|
|
2489
|
+
readonly name: "completeWithdrawal";
|
|
2490
|
+
readonly inputs: readonly [{
|
|
2491
|
+
readonly name: "id";
|
|
2492
|
+
readonly type: "uint256";
|
|
2493
|
+
readonly internalType: "uint256";
|
|
2494
|
+
}];
|
|
2495
|
+
readonly outputs: readonly [];
|
|
2496
|
+
readonly stateMutability: "nonpayable";
|
|
2497
|
+
}, {
|
|
2498
|
+
readonly type: "function";
|
|
2499
|
+
readonly name: "failWithdrawal";
|
|
2500
|
+
readonly inputs: readonly [{
|
|
2501
|
+
readonly name: "id";
|
|
2502
|
+
readonly type: "uint256";
|
|
2503
|
+
readonly internalType: "uint256";
|
|
2504
|
+
}];
|
|
2505
|
+
readonly outputs: readonly [];
|
|
2506
|
+
readonly stateMutability: "nonpayable";
|
|
2507
|
+
}, {
|
|
2508
|
+
readonly type: "function";
|
|
2509
|
+
readonly name: "createWithdrawal";
|
|
2510
|
+
readonly inputs: readonly [{
|
|
2511
|
+
readonly name: "user";
|
|
2512
|
+
readonly type: "address";
|
|
2513
|
+
readonly internalType: "address";
|
|
2514
|
+
}, {
|
|
2515
|
+
readonly name: "token";
|
|
2516
|
+
readonly type: "address";
|
|
2517
|
+
readonly internalType: "address";
|
|
2518
|
+
}, {
|
|
2519
|
+
readonly name: "amount";
|
|
2520
|
+
readonly type: "uint256";
|
|
2521
|
+
readonly internalType: "uint256";
|
|
2522
|
+
}, {
|
|
2523
|
+
readonly name: "fee";
|
|
2524
|
+
readonly type: "uint256";
|
|
2525
|
+
readonly internalType: "uint256";
|
|
2526
|
+
}, {
|
|
2527
|
+
readonly name: "paymentMethod";
|
|
2528
|
+
readonly type: "uint8";
|
|
2529
|
+
readonly internalType: "uint8";
|
|
2530
|
+
}, {
|
|
2531
|
+
readonly name: "phoneNumber";
|
|
2532
|
+
readonly type: "string";
|
|
2533
|
+
readonly internalType: "string";
|
|
2534
|
+
}];
|
|
2535
|
+
readonly outputs: readonly [{
|
|
2536
|
+
readonly name: "id";
|
|
2537
|
+
readonly type: "uint256";
|
|
2538
|
+
readonly internalType: "uint256";
|
|
2539
|
+
}];
|
|
2540
|
+
readonly stateMutability: "nonpayable";
|
|
2541
|
+
}, {
|
|
2542
|
+
readonly type: "function";
|
|
2543
|
+
readonly name: "getWithdrawal";
|
|
2544
|
+
readonly inputs: readonly [{
|
|
2545
|
+
readonly name: "id";
|
|
2546
|
+
readonly type: "uint256";
|
|
2547
|
+
readonly internalType: "uint256";
|
|
2548
|
+
}];
|
|
2549
|
+
readonly outputs: readonly [{
|
|
2550
|
+
readonly name: "";
|
|
2551
|
+
readonly type: "tuple";
|
|
2552
|
+
readonly internalType: "struct Withdrawals.Withdrawal";
|
|
2553
|
+
readonly components: readonly [{
|
|
2554
|
+
readonly name: "id";
|
|
2555
|
+
readonly type: "uint256";
|
|
2556
|
+
readonly internalType: "uint256";
|
|
2557
|
+
}, {
|
|
2558
|
+
readonly name: "user";
|
|
2559
|
+
readonly type: "address";
|
|
2560
|
+
readonly internalType: "address";
|
|
2561
|
+
}, {
|
|
2562
|
+
readonly name: "token";
|
|
2563
|
+
readonly type: "address";
|
|
2564
|
+
readonly internalType: "address";
|
|
2565
|
+
}, {
|
|
2566
|
+
readonly name: "amount";
|
|
2567
|
+
readonly type: "uint256";
|
|
2568
|
+
readonly internalType: "uint256";
|
|
2569
|
+
}, {
|
|
2570
|
+
readonly name: "fee";
|
|
2571
|
+
readonly type: "uint256";
|
|
2572
|
+
readonly internalType: "uint256";
|
|
2573
|
+
}, {
|
|
2574
|
+
readonly name: "status";
|
|
2575
|
+
readonly type: "uint8";
|
|
2576
|
+
readonly internalType: "uint8";
|
|
2577
|
+
}, {
|
|
2578
|
+
readonly name: "paymentMethod";
|
|
2579
|
+
readonly type: "uint8";
|
|
2580
|
+
readonly internalType: "uint8";
|
|
2581
|
+
}, {
|
|
2582
|
+
readonly name: "phoneNumber";
|
|
2583
|
+
readonly type: "string";
|
|
2584
|
+
readonly internalType: "string";
|
|
2585
|
+
}, {
|
|
2586
|
+
readonly name: "createdAt";
|
|
2587
|
+
readonly type: "uint256";
|
|
2588
|
+
readonly internalType: "uint256";
|
|
2589
|
+
}, {
|
|
2590
|
+
readonly name: "completedAt";
|
|
2591
|
+
readonly type: "uint256";
|
|
2592
|
+
readonly internalType: "uint256";
|
|
2593
|
+
}];
|
|
2594
|
+
}];
|
|
2595
|
+
readonly stateMutability: "view";
|
|
2596
|
+
}, {
|
|
2597
|
+
readonly type: "function";
|
|
2598
|
+
readonly name: "getUserWithdrawals";
|
|
2599
|
+
readonly inputs: readonly [{
|
|
2600
|
+
readonly name: "user";
|
|
2601
|
+
readonly type: "address";
|
|
2602
|
+
readonly internalType: "address";
|
|
2603
|
+
}];
|
|
2604
|
+
readonly outputs: readonly [{
|
|
2605
|
+
readonly name: "";
|
|
2606
|
+
readonly type: "uint256[]";
|
|
2607
|
+
readonly internalType: "uint256[]";
|
|
2608
|
+
}];
|
|
2609
|
+
readonly stateMutability: "view";
|
|
2610
|
+
}, {
|
|
2611
|
+
readonly type: "function";
|
|
2612
|
+
readonly name: "withdrawalCounter";
|
|
2613
|
+
readonly inputs: readonly [];
|
|
2614
|
+
readonly outputs: readonly [{
|
|
2615
|
+
readonly name: "";
|
|
2616
|
+
readonly type: "uint256";
|
|
2617
|
+
readonly internalType: "uint256";
|
|
2618
|
+
}];
|
|
2619
|
+
readonly stateMutability: "view";
|
|
2620
|
+
}, {
|
|
2621
|
+
readonly type: "function";
|
|
2622
|
+
readonly name: "gateway";
|
|
2623
|
+
readonly inputs: readonly [];
|
|
2624
|
+
readonly outputs: readonly [{
|
|
2625
|
+
readonly name: "";
|
|
2626
|
+
readonly type: "address";
|
|
2627
|
+
readonly internalType: "address";
|
|
2628
|
+
}];
|
|
2629
|
+
readonly stateMutability: "view";
|
|
2630
|
+
}, {
|
|
2631
|
+
readonly type: "function";
|
|
2632
|
+
readonly name: "STATUS_PENDING";
|
|
2633
|
+
readonly inputs: readonly [];
|
|
2634
|
+
readonly outputs: readonly [{
|
|
2635
|
+
readonly name: "";
|
|
2636
|
+
readonly type: "uint8";
|
|
2637
|
+
readonly internalType: "uint8";
|
|
2638
|
+
}];
|
|
2639
|
+
readonly stateMutability: "view";
|
|
2640
|
+
}, {
|
|
2641
|
+
readonly type: "function";
|
|
2642
|
+
readonly name: "STATUS_PROCESSING";
|
|
2643
|
+
readonly inputs: readonly [];
|
|
2644
|
+
readonly outputs: readonly [{
|
|
2645
|
+
readonly name: "";
|
|
2646
|
+
readonly type: "uint8";
|
|
2647
|
+
readonly internalType: "uint8";
|
|
2648
|
+
}];
|
|
2649
|
+
readonly stateMutability: "view";
|
|
2650
|
+
}, {
|
|
2651
|
+
readonly type: "function";
|
|
2652
|
+
readonly name: "STATUS_COMPLETED";
|
|
2653
|
+
readonly inputs: readonly [];
|
|
2654
|
+
readonly outputs: readonly [{
|
|
2655
|
+
readonly name: "";
|
|
2656
|
+
readonly type: "uint8";
|
|
2657
|
+
readonly internalType: "uint8";
|
|
2658
|
+
}];
|
|
2659
|
+
readonly stateMutability: "view";
|
|
2660
|
+
}, {
|
|
2661
|
+
readonly type: "function";
|
|
2662
|
+
readonly name: "STATUS_FAILED";
|
|
2663
|
+
readonly inputs: readonly [];
|
|
2664
|
+
readonly outputs: readonly [{
|
|
2665
|
+
readonly name: "";
|
|
2666
|
+
readonly type: "uint8";
|
|
2667
|
+
readonly internalType: "uint8";
|
|
2668
|
+
}];
|
|
2669
|
+
readonly stateMutability: "view";
|
|
2670
|
+
}, {
|
|
2671
|
+
readonly type: "function";
|
|
2672
|
+
readonly name: "owner";
|
|
2673
|
+
readonly inputs: readonly [];
|
|
2674
|
+
readonly outputs: readonly [{
|
|
2675
|
+
readonly name: "";
|
|
2676
|
+
readonly type: "address";
|
|
2677
|
+
readonly internalType: "address";
|
|
2678
|
+
}];
|
|
2679
|
+
readonly stateMutability: "view";
|
|
2680
|
+
}];
|
|
2681
|
+
|
|
2682
|
+
/**
|
|
2683
|
+
* ABI for the LiquidityPool contract.
|
|
2684
|
+
*
|
|
2685
|
+
* LPs deposit a supported stablecoin and earn a proportional share of
|
|
2686
|
+
* conversion fees distributed by the gateway.
|
|
2687
|
+
*/
|
|
2688
|
+
declare const LiquidityPoolABI: readonly [{
|
|
2689
|
+
readonly type: "error";
|
|
2690
|
+
readonly name: "BelowMinDeposit";
|
|
2691
|
+
readonly inputs: readonly [];
|
|
2692
|
+
}, {
|
|
2693
|
+
readonly type: "error";
|
|
2694
|
+
readonly name: "ZeroAmount";
|
|
2695
|
+
readonly inputs: readonly [];
|
|
2696
|
+
}, {
|
|
2697
|
+
readonly type: "error";
|
|
2698
|
+
readonly name: "LockPeriodActive";
|
|
2699
|
+
readonly inputs: readonly [];
|
|
2700
|
+
}, {
|
|
2701
|
+
readonly type: "error";
|
|
2702
|
+
readonly name: "InsufficientBalance";
|
|
2703
|
+
readonly inputs: readonly [];
|
|
2704
|
+
}, {
|
|
2705
|
+
readonly type: "error";
|
|
2706
|
+
readonly name: "OnlyGateway";
|
|
2707
|
+
readonly inputs: readonly [];
|
|
2708
|
+
}, {
|
|
2709
|
+
readonly type: "error";
|
|
2710
|
+
readonly name: "ZeroAddress";
|
|
2711
|
+
readonly inputs: readonly [];
|
|
2712
|
+
}, {
|
|
2713
|
+
readonly type: "event";
|
|
2714
|
+
readonly name: "Deposited";
|
|
2715
|
+
readonly inputs: readonly [{
|
|
2716
|
+
readonly name: "user";
|
|
2717
|
+
readonly type: "address";
|
|
2718
|
+
readonly indexed: true;
|
|
2719
|
+
readonly internalType: "address";
|
|
2720
|
+
}, {
|
|
2721
|
+
readonly name: "amount";
|
|
2722
|
+
readonly type: "uint256";
|
|
2723
|
+
readonly indexed: false;
|
|
2724
|
+
readonly internalType: "uint256";
|
|
2725
|
+
}];
|
|
2726
|
+
readonly anonymous: false;
|
|
2727
|
+
}, {
|
|
2728
|
+
readonly type: "event";
|
|
2729
|
+
readonly name: "Withdrawn";
|
|
2730
|
+
readonly inputs: readonly [{
|
|
2731
|
+
readonly name: "user";
|
|
2732
|
+
readonly type: "address";
|
|
2733
|
+
readonly indexed: true;
|
|
2734
|
+
readonly internalType: "address";
|
|
2735
|
+
}, {
|
|
2736
|
+
readonly name: "amount";
|
|
2737
|
+
readonly type: "uint256";
|
|
2738
|
+
readonly indexed: false;
|
|
2739
|
+
readonly internalType: "uint256";
|
|
2740
|
+
}];
|
|
2741
|
+
readonly anonymous: false;
|
|
2742
|
+
}, {
|
|
2743
|
+
readonly type: "event";
|
|
2744
|
+
readonly name: "RewardsClaimed";
|
|
2745
|
+
readonly inputs: readonly [{
|
|
2746
|
+
readonly name: "user";
|
|
2747
|
+
readonly type: "address";
|
|
2748
|
+
readonly indexed: true;
|
|
2749
|
+
readonly internalType: "address";
|
|
2750
|
+
}, {
|
|
2751
|
+
readonly name: "amount";
|
|
2752
|
+
readonly type: "uint256";
|
|
2753
|
+
readonly indexed: false;
|
|
2754
|
+
readonly internalType: "uint256";
|
|
2755
|
+
}];
|
|
2756
|
+
readonly anonymous: false;
|
|
2757
|
+
}, {
|
|
2758
|
+
readonly type: "event";
|
|
2759
|
+
readonly name: "RewardsDistributed";
|
|
2760
|
+
readonly inputs: readonly [{
|
|
2761
|
+
readonly name: "amount";
|
|
2762
|
+
readonly type: "uint256";
|
|
2763
|
+
readonly indexed: false;
|
|
2764
|
+
readonly internalType: "uint256";
|
|
2765
|
+
}];
|
|
2766
|
+
readonly anonymous: false;
|
|
2767
|
+
}, {
|
|
2768
|
+
readonly type: "event";
|
|
2769
|
+
readonly name: "OwnershipTransferred";
|
|
2770
|
+
readonly inputs: readonly [{
|
|
2771
|
+
readonly name: "previousOwner";
|
|
2772
|
+
readonly type: "address";
|
|
2773
|
+
readonly indexed: true;
|
|
2774
|
+
readonly internalType: "address";
|
|
2775
|
+
}, {
|
|
2776
|
+
readonly name: "newOwner";
|
|
2777
|
+
readonly type: "address";
|
|
2778
|
+
readonly indexed: true;
|
|
2779
|
+
readonly internalType: "address";
|
|
2780
|
+
}];
|
|
2781
|
+
readonly anonymous: false;
|
|
2782
|
+
}, {
|
|
2783
|
+
readonly type: "constructor";
|
|
2784
|
+
readonly inputs: readonly [{
|
|
2785
|
+
readonly name: "_supportedToken";
|
|
2786
|
+
readonly type: "address";
|
|
2787
|
+
readonly internalType: "address";
|
|
2788
|
+
}, {
|
|
2789
|
+
readonly name: "_gateway";
|
|
2790
|
+
readonly type: "address";
|
|
2791
|
+
readonly internalType: "address";
|
|
2792
|
+
}, {
|
|
2793
|
+
readonly name: "_minDeposit";
|
|
2794
|
+
readonly type: "uint256";
|
|
2795
|
+
readonly internalType: "uint256";
|
|
2796
|
+
}, {
|
|
2797
|
+
readonly name: "_lockPeriod";
|
|
2798
|
+
readonly type: "uint256";
|
|
2799
|
+
readonly internalType: "uint256";
|
|
2800
|
+
}];
|
|
2801
|
+
readonly stateMutability: "nonpayable";
|
|
2802
|
+
}, {
|
|
2803
|
+
readonly type: "function";
|
|
2804
|
+
readonly name: "deposit";
|
|
2805
|
+
readonly inputs: readonly [{
|
|
2806
|
+
readonly name: "amount";
|
|
2807
|
+
readonly type: "uint256";
|
|
2808
|
+
readonly internalType: "uint256";
|
|
2809
|
+
}];
|
|
2810
|
+
readonly outputs: readonly [];
|
|
2811
|
+
readonly stateMutability: "nonpayable";
|
|
2812
|
+
}, {
|
|
2813
|
+
readonly type: "function";
|
|
2814
|
+
readonly name: "withdraw";
|
|
2815
|
+
readonly inputs: readonly [{
|
|
2816
|
+
readonly name: "amount";
|
|
2817
|
+
readonly type: "uint256";
|
|
2818
|
+
readonly internalType: "uint256";
|
|
2819
|
+
}];
|
|
2820
|
+
readonly outputs: readonly [];
|
|
2821
|
+
readonly stateMutability: "nonpayable";
|
|
2822
|
+
}, {
|
|
2823
|
+
readonly type: "function";
|
|
2824
|
+
readonly name: "claimRewards";
|
|
2825
|
+
readonly inputs: readonly [];
|
|
2826
|
+
readonly outputs: readonly [];
|
|
2827
|
+
readonly stateMutability: "nonpayable";
|
|
2828
|
+
}, {
|
|
2829
|
+
readonly type: "function";
|
|
2830
|
+
readonly name: "distributeRewards";
|
|
2831
|
+
readonly inputs: readonly [{
|
|
2832
|
+
readonly name: "amount";
|
|
2833
|
+
readonly type: "uint256";
|
|
2834
|
+
readonly internalType: "uint256";
|
|
2835
|
+
}];
|
|
2836
|
+
readonly outputs: readonly [];
|
|
2837
|
+
readonly stateMutability: "nonpayable";
|
|
2838
|
+
}, {
|
|
2839
|
+
readonly type: "function";
|
|
2840
|
+
readonly name: "setGateway";
|
|
2841
|
+
readonly inputs: readonly [{
|
|
2842
|
+
readonly name: "_gateway";
|
|
2843
|
+
readonly type: "address";
|
|
2844
|
+
readonly internalType: "address";
|
|
2845
|
+
}];
|
|
2846
|
+
readonly outputs: readonly [];
|
|
2847
|
+
readonly stateMutability: "nonpayable";
|
|
2848
|
+
}, {
|
|
2849
|
+
readonly type: "function";
|
|
2850
|
+
readonly name: "setMinDeposit";
|
|
2851
|
+
readonly inputs: readonly [{
|
|
2852
|
+
readonly name: "_minDeposit";
|
|
2853
|
+
readonly type: "uint256";
|
|
2854
|
+
readonly internalType: "uint256";
|
|
2855
|
+
}];
|
|
2856
|
+
readonly outputs: readonly [];
|
|
2857
|
+
readonly stateMutability: "nonpayable";
|
|
2858
|
+
}, {
|
|
2859
|
+
readonly type: "function";
|
|
2860
|
+
readonly name: "setLockPeriod";
|
|
2861
|
+
readonly inputs: readonly [{
|
|
2862
|
+
readonly name: "_lockPeriod";
|
|
2863
|
+
readonly type: "uint256";
|
|
2864
|
+
readonly internalType: "uint256";
|
|
2865
|
+
}];
|
|
2866
|
+
readonly outputs: readonly [];
|
|
2867
|
+
readonly stateMutability: "nonpayable";
|
|
2868
|
+
}, {
|
|
2869
|
+
readonly type: "function";
|
|
2870
|
+
readonly name: "getRewards";
|
|
2871
|
+
readonly inputs: readonly [{
|
|
2872
|
+
readonly name: "user";
|
|
2873
|
+
readonly type: "address";
|
|
2874
|
+
readonly internalType: "address";
|
|
2875
|
+
}];
|
|
2876
|
+
readonly outputs: readonly [{
|
|
2877
|
+
readonly name: "";
|
|
2878
|
+
readonly type: "uint256";
|
|
2879
|
+
readonly internalType: "uint256";
|
|
2880
|
+
}];
|
|
2881
|
+
readonly stateMutability: "view";
|
|
2882
|
+
}, {
|
|
2883
|
+
readonly type: "function";
|
|
2884
|
+
readonly name: "getDeposit";
|
|
2885
|
+
readonly inputs: readonly [{
|
|
2886
|
+
readonly name: "user";
|
|
2887
|
+
readonly type: "address";
|
|
2888
|
+
readonly internalType: "address";
|
|
2889
|
+
}];
|
|
2890
|
+
readonly outputs: readonly [{
|
|
2891
|
+
readonly name: "";
|
|
2892
|
+
readonly type: "uint256";
|
|
2893
|
+
readonly internalType: "uint256";
|
|
2894
|
+
}];
|
|
2895
|
+
readonly stateMutability: "view";
|
|
2896
|
+
}, {
|
|
2897
|
+
readonly type: "function";
|
|
2898
|
+
readonly name: "getPoolInfo";
|
|
2899
|
+
readonly inputs: readonly [];
|
|
2900
|
+
readonly outputs: readonly [{
|
|
2901
|
+
readonly name: "";
|
|
2902
|
+
readonly type: "tuple";
|
|
2903
|
+
readonly internalType: "struct ILiquidityPool.PoolInfo";
|
|
2904
|
+
readonly components: readonly [{
|
|
2905
|
+
readonly name: "totalDeposits";
|
|
2906
|
+
readonly type: "uint256";
|
|
2907
|
+
readonly internalType: "uint256";
|
|
2908
|
+
}, {
|
|
2909
|
+
readonly name: "rewardPerToken";
|
|
2910
|
+
readonly type: "uint256";
|
|
2911
|
+
readonly internalType: "uint256";
|
|
2912
|
+
}, {
|
|
2913
|
+
readonly name: "supportedToken";
|
|
2914
|
+
readonly type: "address";
|
|
2915
|
+
readonly internalType: "address";
|
|
2916
|
+
}, {
|
|
2917
|
+
readonly name: "minDeposit";
|
|
2918
|
+
readonly type: "uint256";
|
|
2919
|
+
readonly internalType: "uint256";
|
|
2920
|
+
}, {
|
|
2921
|
+
readonly name: "lockPeriod";
|
|
2922
|
+
readonly type: "uint256";
|
|
2923
|
+
readonly internalType: "uint256";
|
|
2924
|
+
}];
|
|
2925
|
+
}];
|
|
2926
|
+
readonly stateMutability: "view";
|
|
2927
|
+
}, {
|
|
2928
|
+
readonly type: "function";
|
|
2929
|
+
readonly name: "supportedToken";
|
|
2930
|
+
readonly inputs: readonly [];
|
|
2931
|
+
readonly outputs: readonly [{
|
|
2932
|
+
readonly name: "";
|
|
2933
|
+
readonly type: "address";
|
|
2934
|
+
readonly internalType: "address";
|
|
2935
|
+
}];
|
|
2936
|
+
readonly stateMutability: "view";
|
|
2937
|
+
}, {
|
|
2938
|
+
readonly type: "function";
|
|
2939
|
+
readonly name: "totalDeposits";
|
|
2940
|
+
readonly inputs: readonly [];
|
|
2941
|
+
readonly outputs: readonly [{
|
|
2942
|
+
readonly name: "";
|
|
2943
|
+
readonly type: "uint256";
|
|
2944
|
+
readonly internalType: "uint256";
|
|
2945
|
+
}];
|
|
2946
|
+
readonly stateMutability: "view";
|
|
2947
|
+
}, {
|
|
2948
|
+
readonly type: "function";
|
|
2949
|
+
readonly name: "minDeposit";
|
|
2950
|
+
readonly inputs: readonly [];
|
|
2951
|
+
readonly outputs: readonly [{
|
|
2952
|
+
readonly name: "";
|
|
2953
|
+
readonly type: "uint256";
|
|
2954
|
+
readonly internalType: "uint256";
|
|
2955
|
+
}];
|
|
2956
|
+
readonly stateMutability: "view";
|
|
2957
|
+
}, {
|
|
2958
|
+
readonly type: "function";
|
|
2959
|
+
readonly name: "lockPeriod";
|
|
2960
|
+
readonly inputs: readonly [];
|
|
2961
|
+
readonly outputs: readonly [{
|
|
2962
|
+
readonly name: "";
|
|
2963
|
+
readonly type: "uint256";
|
|
2964
|
+
readonly internalType: "uint256";
|
|
2965
|
+
}];
|
|
2966
|
+
readonly stateMutability: "view";
|
|
2967
|
+
}, {
|
|
2968
|
+
readonly type: "function";
|
|
2969
|
+
readonly name: "accRewardPerShare";
|
|
2970
|
+
readonly inputs: readonly [];
|
|
2971
|
+
readonly outputs: readonly [{
|
|
2972
|
+
readonly name: "";
|
|
2973
|
+
readonly type: "uint256";
|
|
2974
|
+
readonly internalType: "uint256";
|
|
2975
|
+
}];
|
|
2976
|
+
readonly stateMutability: "view";
|
|
2977
|
+
}, {
|
|
2978
|
+
readonly type: "function";
|
|
2979
|
+
readonly name: "gateway";
|
|
2980
|
+
readonly inputs: readonly [];
|
|
2981
|
+
readonly outputs: readonly [{
|
|
2982
|
+
readonly name: "";
|
|
2983
|
+
readonly type: "address";
|
|
2984
|
+
readonly internalType: "address";
|
|
2985
|
+
}];
|
|
2986
|
+
readonly stateMutability: "view";
|
|
2987
|
+
}, {
|
|
2988
|
+
readonly type: "function";
|
|
2989
|
+
readonly name: "owner";
|
|
2990
|
+
readonly inputs: readonly [];
|
|
2991
|
+
readonly outputs: readonly [{
|
|
2992
|
+
readonly name: "";
|
|
2993
|
+
readonly type: "address";
|
|
2994
|
+
readonly internalType: "address";
|
|
2995
|
+
}];
|
|
2996
|
+
readonly stateMutability: "view";
|
|
2997
|
+
}];
|
|
2998
|
+
|
|
2999
|
+
/**
|
|
3000
|
+
* ABI for the VaultController contract.
|
|
3001
|
+
*
|
|
3002
|
+
* Passive yield vault for stablecoin deposits.
|
|
3003
|
+
* Yield accrues linearly based on an annual rate (basis points).
|
|
3004
|
+
*/
|
|
3005
|
+
declare const VaultControllerABI: readonly [{
|
|
3006
|
+
readonly type: "error";
|
|
3007
|
+
readonly name: "BelowMinDeposit";
|
|
3008
|
+
readonly inputs: readonly [];
|
|
3009
|
+
}, {
|
|
3010
|
+
readonly type: "error";
|
|
3011
|
+
readonly name: "ZeroAmount";
|
|
3012
|
+
readonly inputs: readonly [];
|
|
3013
|
+
}, {
|
|
3014
|
+
readonly type: "error";
|
|
3015
|
+
readonly name: "InsufficientBalance";
|
|
3016
|
+
readonly inputs: readonly [];
|
|
3017
|
+
}, {
|
|
3018
|
+
readonly type: "error";
|
|
3019
|
+
readonly name: "NoYieldAvailable";
|
|
3020
|
+
readonly inputs: readonly [];
|
|
3021
|
+
}, {
|
|
3022
|
+
readonly type: "error";
|
|
3023
|
+
readonly name: "ZeroAddress";
|
|
3024
|
+
readonly inputs: readonly [];
|
|
3025
|
+
}, {
|
|
3026
|
+
readonly type: "error";
|
|
3027
|
+
readonly name: "InvalidYieldRate";
|
|
3028
|
+
readonly inputs: readonly [];
|
|
3029
|
+
}, {
|
|
3030
|
+
readonly type: "event";
|
|
3031
|
+
readonly name: "VaultDeposited";
|
|
3032
|
+
readonly inputs: readonly [{
|
|
3033
|
+
readonly name: "user";
|
|
3034
|
+
readonly type: "address";
|
|
3035
|
+
readonly indexed: true;
|
|
3036
|
+
readonly internalType: "address";
|
|
3037
|
+
}, {
|
|
3038
|
+
readonly name: "amount";
|
|
3039
|
+
readonly type: "uint256";
|
|
3040
|
+
readonly indexed: false;
|
|
3041
|
+
readonly internalType: "uint256";
|
|
3042
|
+
}];
|
|
3043
|
+
readonly anonymous: false;
|
|
3044
|
+
}, {
|
|
3045
|
+
readonly type: "event";
|
|
3046
|
+
readonly name: "VaultWithdrawn";
|
|
3047
|
+
readonly inputs: readonly [{
|
|
3048
|
+
readonly name: "user";
|
|
3049
|
+
readonly type: "address";
|
|
3050
|
+
readonly indexed: true;
|
|
3051
|
+
readonly internalType: "address";
|
|
3052
|
+
}, {
|
|
3053
|
+
readonly name: "amount";
|
|
3054
|
+
readonly type: "uint256";
|
|
3055
|
+
readonly indexed: false;
|
|
3056
|
+
readonly internalType: "uint256";
|
|
3057
|
+
}];
|
|
3058
|
+
readonly anonymous: false;
|
|
3059
|
+
}, {
|
|
3060
|
+
readonly type: "event";
|
|
3061
|
+
readonly name: "YieldClaimed";
|
|
3062
|
+
readonly inputs: readonly [{
|
|
3063
|
+
readonly name: "user";
|
|
3064
|
+
readonly type: "address";
|
|
3065
|
+
readonly indexed: true;
|
|
3066
|
+
readonly internalType: "address";
|
|
3067
|
+
}, {
|
|
3068
|
+
readonly name: "yieldAmount";
|
|
3069
|
+
readonly type: "uint256";
|
|
3070
|
+
readonly indexed: false;
|
|
3071
|
+
readonly internalType: "uint256";
|
|
3072
|
+
}];
|
|
3073
|
+
readonly anonymous: false;
|
|
3074
|
+
}, {
|
|
3075
|
+
readonly type: "event";
|
|
3076
|
+
readonly name: "YieldRateUpdated";
|
|
3077
|
+
readonly inputs: readonly [{
|
|
3078
|
+
readonly name: "newRate";
|
|
3079
|
+
readonly type: "uint256";
|
|
3080
|
+
readonly indexed: false;
|
|
3081
|
+
readonly internalType: "uint256";
|
|
3082
|
+
}];
|
|
3083
|
+
readonly anonymous: false;
|
|
3084
|
+
}, {
|
|
3085
|
+
readonly type: "event";
|
|
3086
|
+
readonly name: "OwnershipTransferred";
|
|
3087
|
+
readonly inputs: readonly [{
|
|
3088
|
+
readonly name: "previousOwner";
|
|
3089
|
+
readonly type: "address";
|
|
3090
|
+
readonly indexed: true;
|
|
3091
|
+
readonly internalType: "address";
|
|
3092
|
+
}, {
|
|
3093
|
+
readonly name: "newOwner";
|
|
3094
|
+
readonly type: "address";
|
|
3095
|
+
readonly indexed: true;
|
|
3096
|
+
readonly internalType: "address";
|
|
3097
|
+
}];
|
|
3098
|
+
readonly anonymous: false;
|
|
3099
|
+
}, {
|
|
3100
|
+
readonly type: "constructor";
|
|
3101
|
+
readonly inputs: readonly [{
|
|
3102
|
+
readonly name: "_supportedToken";
|
|
3103
|
+
readonly type: "address";
|
|
3104
|
+
readonly internalType: "address";
|
|
3105
|
+
}, {
|
|
3106
|
+
readonly name: "_annualYieldRate";
|
|
3107
|
+
readonly type: "uint256";
|
|
3108
|
+
readonly internalType: "uint256";
|
|
3109
|
+
}, {
|
|
3110
|
+
readonly name: "_minDeposit";
|
|
3111
|
+
readonly type: "uint256";
|
|
3112
|
+
readonly internalType: "uint256";
|
|
3113
|
+
}];
|
|
3114
|
+
readonly stateMutability: "nonpayable";
|
|
3115
|
+
}, {
|
|
3116
|
+
readonly type: "function";
|
|
3117
|
+
readonly name: "deposit";
|
|
3118
|
+
readonly inputs: readonly [{
|
|
3119
|
+
readonly name: "amount";
|
|
3120
|
+
readonly type: "uint256";
|
|
3121
|
+
readonly internalType: "uint256";
|
|
3122
|
+
}];
|
|
3123
|
+
readonly outputs: readonly [];
|
|
3124
|
+
readonly stateMutability: "nonpayable";
|
|
3125
|
+
}, {
|
|
3126
|
+
readonly type: "function";
|
|
3127
|
+
readonly name: "withdraw";
|
|
3128
|
+
readonly inputs: readonly [{
|
|
3129
|
+
readonly name: "amount";
|
|
3130
|
+
readonly type: "uint256";
|
|
3131
|
+
readonly internalType: "uint256";
|
|
3132
|
+
}];
|
|
3133
|
+
readonly outputs: readonly [];
|
|
3134
|
+
readonly stateMutability: "nonpayable";
|
|
3135
|
+
}, {
|
|
3136
|
+
readonly type: "function";
|
|
3137
|
+
readonly name: "claimYield";
|
|
3138
|
+
readonly inputs: readonly [];
|
|
3139
|
+
readonly outputs: readonly [];
|
|
3140
|
+
readonly stateMutability: "nonpayable";
|
|
3141
|
+
}, {
|
|
3142
|
+
readonly type: "function";
|
|
3143
|
+
readonly name: "setAnnualYieldRate";
|
|
3144
|
+
readonly inputs: readonly [{
|
|
3145
|
+
readonly name: "rate";
|
|
3146
|
+
readonly type: "uint256";
|
|
3147
|
+
readonly internalType: "uint256";
|
|
3148
|
+
}];
|
|
3149
|
+
readonly outputs: readonly [];
|
|
3150
|
+
readonly stateMutability: "nonpayable";
|
|
3151
|
+
}, {
|
|
3152
|
+
readonly type: "function";
|
|
3153
|
+
readonly name: "setMinDeposit";
|
|
3154
|
+
readonly inputs: readonly [{
|
|
3155
|
+
readonly name: "amount";
|
|
3156
|
+
readonly type: "uint256";
|
|
3157
|
+
readonly internalType: "uint256";
|
|
3158
|
+
}];
|
|
3159
|
+
readonly outputs: readonly [];
|
|
3160
|
+
readonly stateMutability: "nonpayable";
|
|
3161
|
+
}, {
|
|
3162
|
+
readonly type: "function";
|
|
3163
|
+
readonly name: "transferOwnership";
|
|
3164
|
+
readonly inputs: readonly [{
|
|
3165
|
+
readonly name: "newOwner";
|
|
3166
|
+
readonly type: "address";
|
|
3167
|
+
readonly internalType: "address";
|
|
3168
|
+
}];
|
|
3169
|
+
readonly outputs: readonly [];
|
|
3170
|
+
readonly stateMutability: "nonpayable";
|
|
3171
|
+
}, {
|
|
3172
|
+
readonly type: "function";
|
|
3173
|
+
readonly name: "renounceOwnership";
|
|
3174
|
+
readonly inputs: readonly [];
|
|
3175
|
+
readonly outputs: readonly [];
|
|
3176
|
+
readonly stateMutability: "nonpayable";
|
|
3177
|
+
}, {
|
|
3178
|
+
readonly type: "function";
|
|
3179
|
+
readonly name: "getVault";
|
|
3180
|
+
readonly inputs: readonly [{
|
|
3181
|
+
readonly name: "user";
|
|
3182
|
+
readonly type: "address";
|
|
3183
|
+
readonly internalType: "address";
|
|
3184
|
+
}];
|
|
3185
|
+
readonly outputs: readonly [{
|
|
3186
|
+
readonly name: "";
|
|
3187
|
+
readonly type: "tuple";
|
|
3188
|
+
readonly internalType: "struct IVault.VaultInfo";
|
|
3189
|
+
readonly components: readonly [{
|
|
3190
|
+
readonly name: "balance";
|
|
3191
|
+
readonly type: "uint256";
|
|
3192
|
+
readonly internalType: "uint256";
|
|
3193
|
+
}, {
|
|
3194
|
+
readonly name: "depositedAt";
|
|
3195
|
+
readonly type: "uint256";
|
|
3196
|
+
readonly internalType: "uint256";
|
|
3197
|
+
}, {
|
|
3198
|
+
readonly name: "lastYieldClaim";
|
|
3199
|
+
readonly type: "uint256";
|
|
3200
|
+
readonly internalType: "uint256";
|
|
3201
|
+
}];
|
|
3202
|
+
}];
|
|
3203
|
+
readonly stateMutability: "view";
|
|
3204
|
+
}, {
|
|
3205
|
+
readonly type: "function";
|
|
3206
|
+
readonly name: "calculateYield";
|
|
3207
|
+
readonly inputs: readonly [{
|
|
3208
|
+
readonly name: "user";
|
|
3209
|
+
readonly type: "address";
|
|
3210
|
+
readonly internalType: "address";
|
|
3211
|
+
}];
|
|
3212
|
+
readonly outputs: readonly [{
|
|
3213
|
+
readonly name: "";
|
|
3214
|
+
readonly type: "uint256";
|
|
3215
|
+
readonly internalType: "uint256";
|
|
3216
|
+
}];
|
|
3217
|
+
readonly stateMutability: "view";
|
|
3218
|
+
}, {
|
|
3219
|
+
readonly type: "function";
|
|
3220
|
+
readonly name: "annualYieldRate";
|
|
3221
|
+
readonly inputs: readonly [];
|
|
3222
|
+
readonly outputs: readonly [{
|
|
3223
|
+
readonly name: "";
|
|
3224
|
+
readonly type: "uint256";
|
|
3225
|
+
readonly internalType: "uint256";
|
|
3226
|
+
}];
|
|
3227
|
+
readonly stateMutability: "view";
|
|
3228
|
+
}, {
|
|
3229
|
+
readonly type: "function";
|
|
3230
|
+
readonly name: "minDeposit";
|
|
3231
|
+
readonly inputs: readonly [];
|
|
3232
|
+
readonly outputs: readonly [{
|
|
3233
|
+
readonly name: "";
|
|
3234
|
+
readonly type: "uint256";
|
|
3235
|
+
readonly internalType: "uint256";
|
|
3236
|
+
}];
|
|
3237
|
+
readonly stateMutability: "view";
|
|
3238
|
+
}, {
|
|
3239
|
+
readonly type: "function";
|
|
3240
|
+
readonly name: "totalDeposited";
|
|
3241
|
+
readonly inputs: readonly [];
|
|
3242
|
+
readonly outputs: readonly [{
|
|
3243
|
+
readonly name: "";
|
|
3244
|
+
readonly type: "uint256";
|
|
3245
|
+
readonly internalType: "uint256";
|
|
3246
|
+
}];
|
|
3247
|
+
readonly stateMutability: "view";
|
|
3248
|
+
}, {
|
|
3249
|
+
readonly type: "function";
|
|
3250
|
+
readonly name: "supportedToken";
|
|
3251
|
+
readonly inputs: readonly [];
|
|
3252
|
+
readonly outputs: readonly [{
|
|
3253
|
+
readonly name: "";
|
|
3254
|
+
readonly type: "address";
|
|
3255
|
+
readonly internalType: "address";
|
|
3256
|
+
}];
|
|
3257
|
+
readonly stateMutability: "view";
|
|
3258
|
+
}, {
|
|
3259
|
+
readonly type: "function";
|
|
3260
|
+
readonly name: "MAX_YIELD_RATE";
|
|
3261
|
+
readonly inputs: readonly [];
|
|
3262
|
+
readonly outputs: readonly [{
|
|
3263
|
+
readonly name: "";
|
|
3264
|
+
readonly type: "uint256";
|
|
3265
|
+
readonly internalType: "uint256";
|
|
3266
|
+
}];
|
|
3267
|
+
readonly stateMutability: "view";
|
|
3268
|
+
}, {
|
|
3269
|
+
readonly type: "function";
|
|
3270
|
+
readonly name: "owner";
|
|
3271
|
+
readonly inputs: readonly [];
|
|
3272
|
+
readonly outputs: readonly [{
|
|
3273
|
+
readonly name: "";
|
|
3274
|
+
readonly type: "address";
|
|
3275
|
+
readonly internalType: "address";
|
|
3276
|
+
}];
|
|
3277
|
+
readonly stateMutability: "view";
|
|
3278
|
+
}];
|
|
3279
|
+
|
|
3280
|
+
/**
|
|
3281
|
+
* ABI for the GHSFIAT token contract.
|
|
3282
|
+
*
|
|
3283
|
+
* ERC-20 stablecoin pegged to the Ghana Cedi (GHS).
|
|
3284
|
+
* Role-based minting/burning. Pausable for emergency stops.
|
|
3285
|
+
*/
|
|
3286
|
+
declare const GHSFIATABI: readonly [{
|
|
3287
|
+
readonly type: "error";
|
|
3288
|
+
readonly name: "ZeroAddress";
|
|
3289
|
+
readonly inputs: readonly [];
|
|
3290
|
+
}, {
|
|
3291
|
+
readonly type: "error";
|
|
3292
|
+
readonly name: "ZeroAmount";
|
|
3293
|
+
readonly inputs: readonly [];
|
|
3294
|
+
}, {
|
|
3295
|
+
readonly type: "event";
|
|
3296
|
+
readonly name: "Transfer";
|
|
3297
|
+
readonly inputs: readonly [{
|
|
3298
|
+
readonly name: "from";
|
|
3299
|
+
readonly type: "address";
|
|
3300
|
+
readonly indexed: true;
|
|
3301
|
+
readonly internalType: "address";
|
|
3302
|
+
}, {
|
|
3303
|
+
readonly name: "to";
|
|
3304
|
+
readonly type: "address";
|
|
3305
|
+
readonly indexed: true;
|
|
3306
|
+
readonly internalType: "address";
|
|
3307
|
+
}, {
|
|
3308
|
+
readonly name: "value";
|
|
3309
|
+
readonly type: "uint256";
|
|
3310
|
+
readonly indexed: false;
|
|
3311
|
+
readonly internalType: "uint256";
|
|
3312
|
+
}];
|
|
3313
|
+
readonly anonymous: false;
|
|
3314
|
+
}, {
|
|
3315
|
+
readonly type: "event";
|
|
3316
|
+
readonly name: "Approval";
|
|
3317
|
+
readonly inputs: readonly [{
|
|
3318
|
+
readonly name: "owner";
|
|
3319
|
+
readonly type: "address";
|
|
3320
|
+
readonly indexed: true;
|
|
3321
|
+
readonly internalType: "address";
|
|
3322
|
+
}, {
|
|
3323
|
+
readonly name: "spender";
|
|
3324
|
+
readonly type: "address";
|
|
3325
|
+
readonly indexed: true;
|
|
3326
|
+
readonly internalType: "address";
|
|
3327
|
+
}, {
|
|
3328
|
+
readonly name: "value";
|
|
3329
|
+
readonly type: "uint256";
|
|
3330
|
+
readonly indexed: false;
|
|
3331
|
+
readonly internalType: "uint256";
|
|
3332
|
+
}];
|
|
3333
|
+
readonly anonymous: false;
|
|
3334
|
+
}, {
|
|
3335
|
+
readonly type: "event";
|
|
3336
|
+
readonly name: "Paused";
|
|
3337
|
+
readonly inputs: readonly [{
|
|
3338
|
+
readonly name: "account";
|
|
3339
|
+
readonly type: "address";
|
|
3340
|
+
readonly indexed: false;
|
|
3341
|
+
readonly internalType: "address";
|
|
3342
|
+
}];
|
|
3343
|
+
readonly anonymous: false;
|
|
3344
|
+
}, {
|
|
3345
|
+
readonly type: "event";
|
|
3346
|
+
readonly name: "Unpaused";
|
|
3347
|
+
readonly inputs: readonly [{
|
|
3348
|
+
readonly name: "account";
|
|
3349
|
+
readonly type: "address";
|
|
3350
|
+
readonly indexed: false;
|
|
3351
|
+
readonly internalType: "address";
|
|
3352
|
+
}];
|
|
3353
|
+
readonly anonymous: false;
|
|
3354
|
+
}, {
|
|
3355
|
+
readonly type: "event";
|
|
3356
|
+
readonly name: "RoleGranted";
|
|
3357
|
+
readonly inputs: readonly [{
|
|
3358
|
+
readonly name: "role";
|
|
3359
|
+
readonly type: "bytes32";
|
|
3360
|
+
readonly indexed: true;
|
|
3361
|
+
readonly internalType: "bytes32";
|
|
3362
|
+
}, {
|
|
3363
|
+
readonly name: "account";
|
|
3364
|
+
readonly type: "address";
|
|
3365
|
+
readonly indexed: true;
|
|
3366
|
+
readonly internalType: "address";
|
|
3367
|
+
}, {
|
|
3368
|
+
readonly name: "sender";
|
|
3369
|
+
readonly type: "address";
|
|
3370
|
+
readonly indexed: true;
|
|
3371
|
+
readonly internalType: "address";
|
|
3372
|
+
}];
|
|
3373
|
+
readonly anonymous: false;
|
|
3374
|
+
}, {
|
|
3375
|
+
readonly type: "event";
|
|
3376
|
+
readonly name: "RoleRevoked";
|
|
3377
|
+
readonly inputs: readonly [{
|
|
3378
|
+
readonly name: "role";
|
|
3379
|
+
readonly type: "bytes32";
|
|
3380
|
+
readonly indexed: true;
|
|
3381
|
+
readonly internalType: "bytes32";
|
|
3382
|
+
}, {
|
|
3383
|
+
readonly name: "account";
|
|
3384
|
+
readonly type: "address";
|
|
3385
|
+
readonly indexed: true;
|
|
3386
|
+
readonly internalType: "address";
|
|
3387
|
+
}, {
|
|
3388
|
+
readonly name: "sender";
|
|
3389
|
+
readonly type: "address";
|
|
3390
|
+
readonly indexed: true;
|
|
3391
|
+
readonly internalType: "address";
|
|
3392
|
+
}];
|
|
3393
|
+
readonly anonymous: false;
|
|
3394
|
+
}, {
|
|
3395
|
+
readonly type: "constructor";
|
|
3396
|
+
readonly inputs: readonly [{
|
|
3397
|
+
readonly name: "admin";
|
|
3398
|
+
readonly type: "address";
|
|
3399
|
+
readonly internalType: "address";
|
|
3400
|
+
}];
|
|
3401
|
+
readonly stateMutability: "nonpayable";
|
|
3402
|
+
}, {
|
|
3403
|
+
readonly type: "function";
|
|
3404
|
+
readonly name: "mint";
|
|
3405
|
+
readonly inputs: readonly [{
|
|
3406
|
+
readonly name: "to";
|
|
3407
|
+
readonly type: "address";
|
|
3408
|
+
readonly internalType: "address";
|
|
3409
|
+
}, {
|
|
3410
|
+
readonly name: "amount";
|
|
3411
|
+
readonly type: "uint256";
|
|
3412
|
+
readonly internalType: "uint256";
|
|
3413
|
+
}];
|
|
3414
|
+
readonly outputs: readonly [];
|
|
3415
|
+
readonly stateMutability: "nonpayable";
|
|
3416
|
+
}, {
|
|
3417
|
+
readonly type: "function";
|
|
3418
|
+
readonly name: "burn";
|
|
3419
|
+
readonly inputs: readonly [{
|
|
3420
|
+
readonly name: "amount";
|
|
3421
|
+
readonly type: "uint256";
|
|
3422
|
+
readonly internalType: "uint256";
|
|
3423
|
+
}];
|
|
3424
|
+
readonly outputs: readonly [];
|
|
3425
|
+
readonly stateMutability: "nonpayable";
|
|
3426
|
+
}, {
|
|
3427
|
+
readonly type: "function";
|
|
3428
|
+
readonly name: "burnFrom";
|
|
3429
|
+
readonly inputs: readonly [{
|
|
3430
|
+
readonly name: "account";
|
|
3431
|
+
readonly type: "address";
|
|
3432
|
+
readonly internalType: "address";
|
|
3433
|
+
}, {
|
|
3434
|
+
readonly name: "amount";
|
|
3435
|
+
readonly type: "uint256";
|
|
3436
|
+
readonly internalType: "uint256";
|
|
3437
|
+
}];
|
|
3438
|
+
readonly outputs: readonly [];
|
|
3439
|
+
readonly stateMutability: "nonpayable";
|
|
3440
|
+
}, {
|
|
3441
|
+
readonly type: "function";
|
|
3442
|
+
readonly name: "pause";
|
|
3443
|
+
readonly inputs: readonly [];
|
|
3444
|
+
readonly outputs: readonly [];
|
|
3445
|
+
readonly stateMutability: "nonpayable";
|
|
3446
|
+
}, {
|
|
3447
|
+
readonly type: "function";
|
|
3448
|
+
readonly name: "unpause";
|
|
3449
|
+
readonly inputs: readonly [];
|
|
3450
|
+
readonly outputs: readonly [];
|
|
3451
|
+
readonly stateMutability: "nonpayable";
|
|
3452
|
+
}, {
|
|
3453
|
+
readonly type: "function";
|
|
3454
|
+
readonly name: "transfer";
|
|
3455
|
+
readonly inputs: readonly [{
|
|
3456
|
+
readonly name: "to";
|
|
3457
|
+
readonly type: "address";
|
|
3458
|
+
readonly internalType: "address";
|
|
3459
|
+
}, {
|
|
3460
|
+
readonly name: "value";
|
|
3461
|
+
readonly type: "uint256";
|
|
3462
|
+
readonly internalType: "uint256";
|
|
3463
|
+
}];
|
|
3464
|
+
readonly outputs: readonly [{
|
|
3465
|
+
readonly name: "";
|
|
3466
|
+
readonly type: "bool";
|
|
3467
|
+
readonly internalType: "bool";
|
|
3468
|
+
}];
|
|
3469
|
+
readonly stateMutability: "nonpayable";
|
|
3470
|
+
}, {
|
|
3471
|
+
readonly type: "function";
|
|
3472
|
+
readonly name: "transferFrom";
|
|
3473
|
+
readonly inputs: readonly [{
|
|
3474
|
+
readonly name: "from";
|
|
3475
|
+
readonly type: "address";
|
|
3476
|
+
readonly internalType: "address";
|
|
3477
|
+
}, {
|
|
3478
|
+
readonly name: "to";
|
|
3479
|
+
readonly type: "address";
|
|
3480
|
+
readonly internalType: "address";
|
|
3481
|
+
}, {
|
|
3482
|
+
readonly name: "value";
|
|
3483
|
+
readonly type: "uint256";
|
|
3484
|
+
readonly internalType: "uint256";
|
|
3485
|
+
}];
|
|
3486
|
+
readonly outputs: readonly [{
|
|
3487
|
+
readonly name: "";
|
|
3488
|
+
readonly type: "bool";
|
|
3489
|
+
readonly internalType: "bool";
|
|
3490
|
+
}];
|
|
3491
|
+
readonly stateMutability: "nonpayable";
|
|
3492
|
+
}, {
|
|
3493
|
+
readonly type: "function";
|
|
3494
|
+
readonly name: "approve";
|
|
3495
|
+
readonly inputs: readonly [{
|
|
3496
|
+
readonly name: "spender";
|
|
3497
|
+
readonly type: "address";
|
|
3498
|
+
readonly internalType: "address";
|
|
3499
|
+
}, {
|
|
3500
|
+
readonly name: "value";
|
|
3501
|
+
readonly type: "uint256";
|
|
3502
|
+
readonly internalType: "uint256";
|
|
3503
|
+
}];
|
|
3504
|
+
readonly outputs: readonly [{
|
|
3505
|
+
readonly name: "";
|
|
3506
|
+
readonly type: "bool";
|
|
3507
|
+
readonly internalType: "bool";
|
|
3508
|
+
}];
|
|
3509
|
+
readonly stateMutability: "nonpayable";
|
|
3510
|
+
}, {
|
|
3511
|
+
readonly type: "function";
|
|
3512
|
+
readonly name: "grantRole";
|
|
3513
|
+
readonly inputs: readonly [{
|
|
3514
|
+
readonly name: "role";
|
|
3515
|
+
readonly type: "bytes32";
|
|
3516
|
+
readonly internalType: "bytes32";
|
|
3517
|
+
}, {
|
|
3518
|
+
readonly name: "account";
|
|
3519
|
+
readonly type: "address";
|
|
3520
|
+
readonly internalType: "address";
|
|
3521
|
+
}];
|
|
3522
|
+
readonly outputs: readonly [];
|
|
3523
|
+
readonly stateMutability: "nonpayable";
|
|
3524
|
+
}, {
|
|
3525
|
+
readonly type: "function";
|
|
3526
|
+
readonly name: "revokeRole";
|
|
3527
|
+
readonly inputs: readonly [{
|
|
3528
|
+
readonly name: "role";
|
|
3529
|
+
readonly type: "bytes32";
|
|
3530
|
+
readonly internalType: "bytes32";
|
|
3531
|
+
}, {
|
|
3532
|
+
readonly name: "account";
|
|
3533
|
+
readonly type: "address";
|
|
3534
|
+
readonly internalType: "address";
|
|
3535
|
+
}];
|
|
3536
|
+
readonly outputs: readonly [];
|
|
3537
|
+
readonly stateMutability: "nonpayable";
|
|
3538
|
+
}, {
|
|
3539
|
+
readonly type: "function";
|
|
3540
|
+
readonly name: "renounceRole";
|
|
3541
|
+
readonly inputs: readonly [{
|
|
3542
|
+
readonly name: "role";
|
|
3543
|
+
readonly type: "bytes32";
|
|
3544
|
+
readonly internalType: "bytes32";
|
|
3545
|
+
}, {
|
|
3546
|
+
readonly name: "callerConfirmation";
|
|
3547
|
+
readonly type: "address";
|
|
3548
|
+
readonly internalType: "address";
|
|
3549
|
+
}];
|
|
3550
|
+
readonly outputs: readonly [];
|
|
3551
|
+
readonly stateMutability: "nonpayable";
|
|
3552
|
+
}, {
|
|
3553
|
+
readonly type: "function";
|
|
3554
|
+
readonly name: "balanceOf";
|
|
3555
|
+
readonly inputs: readonly [{
|
|
3556
|
+
readonly name: "account";
|
|
3557
|
+
readonly type: "address";
|
|
3558
|
+
readonly internalType: "address";
|
|
3559
|
+
}];
|
|
3560
|
+
readonly outputs: readonly [{
|
|
3561
|
+
readonly name: "";
|
|
3562
|
+
readonly type: "uint256";
|
|
3563
|
+
readonly internalType: "uint256";
|
|
3564
|
+
}];
|
|
3565
|
+
readonly stateMutability: "view";
|
|
3566
|
+
}, {
|
|
3567
|
+
readonly type: "function";
|
|
3568
|
+
readonly name: "allowance";
|
|
3569
|
+
readonly inputs: readonly [{
|
|
3570
|
+
readonly name: "owner";
|
|
3571
|
+
readonly type: "address";
|
|
3572
|
+
readonly internalType: "address";
|
|
3573
|
+
}, {
|
|
3574
|
+
readonly name: "spender";
|
|
3575
|
+
readonly type: "address";
|
|
3576
|
+
readonly internalType: "address";
|
|
3577
|
+
}];
|
|
3578
|
+
readonly outputs: readonly [{
|
|
3579
|
+
readonly name: "";
|
|
3580
|
+
readonly type: "uint256";
|
|
3581
|
+
readonly internalType: "uint256";
|
|
3582
|
+
}];
|
|
3583
|
+
readonly stateMutability: "view";
|
|
3584
|
+
}, {
|
|
3585
|
+
readonly type: "function";
|
|
3586
|
+
readonly name: "totalSupply";
|
|
3587
|
+
readonly inputs: readonly [];
|
|
3588
|
+
readonly outputs: readonly [{
|
|
3589
|
+
readonly name: "";
|
|
3590
|
+
readonly type: "uint256";
|
|
3591
|
+
readonly internalType: "uint256";
|
|
3592
|
+
}];
|
|
3593
|
+
readonly stateMutability: "view";
|
|
3594
|
+
}, {
|
|
3595
|
+
readonly type: "function";
|
|
3596
|
+
readonly name: "name";
|
|
3597
|
+
readonly inputs: readonly [];
|
|
3598
|
+
readonly outputs: readonly [{
|
|
3599
|
+
readonly name: "";
|
|
3600
|
+
readonly type: "string";
|
|
3601
|
+
readonly internalType: "string";
|
|
3602
|
+
}];
|
|
3603
|
+
readonly stateMutability: "view";
|
|
3604
|
+
}, {
|
|
3605
|
+
readonly type: "function";
|
|
3606
|
+
readonly name: "symbol";
|
|
3607
|
+
readonly inputs: readonly [];
|
|
3608
|
+
readonly outputs: readonly [{
|
|
3609
|
+
readonly name: "";
|
|
3610
|
+
readonly type: "string";
|
|
3611
|
+
readonly internalType: "string";
|
|
3612
|
+
}];
|
|
3613
|
+
readonly stateMutability: "view";
|
|
3614
|
+
}, {
|
|
3615
|
+
readonly type: "function";
|
|
3616
|
+
readonly name: "decimals";
|
|
3617
|
+
readonly inputs: readonly [];
|
|
3618
|
+
readonly outputs: readonly [{
|
|
3619
|
+
readonly name: "";
|
|
3620
|
+
readonly type: "uint8";
|
|
3621
|
+
readonly internalType: "uint8";
|
|
3622
|
+
}];
|
|
3623
|
+
readonly stateMutability: "view";
|
|
3624
|
+
}, {
|
|
3625
|
+
readonly type: "function";
|
|
3626
|
+
readonly name: "paused";
|
|
3627
|
+
readonly inputs: readonly [];
|
|
3628
|
+
readonly outputs: readonly [{
|
|
3629
|
+
readonly name: "";
|
|
3630
|
+
readonly type: "bool";
|
|
3631
|
+
readonly internalType: "bool";
|
|
3632
|
+
}];
|
|
3633
|
+
readonly stateMutability: "view";
|
|
3634
|
+
}, {
|
|
3635
|
+
readonly type: "function";
|
|
3636
|
+
readonly name: "MINTER_ROLE";
|
|
3637
|
+
readonly inputs: readonly [];
|
|
3638
|
+
readonly outputs: readonly [{
|
|
3639
|
+
readonly name: "";
|
|
3640
|
+
readonly type: "bytes32";
|
|
3641
|
+
readonly internalType: "bytes32";
|
|
3642
|
+
}];
|
|
3643
|
+
readonly stateMutability: "view";
|
|
3644
|
+
}, {
|
|
3645
|
+
readonly type: "function";
|
|
3646
|
+
readonly name: "PAUSER_ROLE";
|
|
3647
|
+
readonly inputs: readonly [];
|
|
3648
|
+
readonly outputs: readonly [{
|
|
3649
|
+
readonly name: "";
|
|
3650
|
+
readonly type: "bytes32";
|
|
3651
|
+
readonly internalType: "bytes32";
|
|
3652
|
+
}];
|
|
3653
|
+
readonly stateMutability: "view";
|
|
3654
|
+
}, {
|
|
3655
|
+
readonly type: "function";
|
|
3656
|
+
readonly name: "DEFAULT_ADMIN_ROLE";
|
|
3657
|
+
readonly inputs: readonly [];
|
|
3658
|
+
readonly outputs: readonly [{
|
|
3659
|
+
readonly name: "";
|
|
3660
|
+
readonly type: "bytes32";
|
|
3661
|
+
readonly internalType: "bytes32";
|
|
3662
|
+
}];
|
|
3663
|
+
readonly stateMutability: "view";
|
|
3664
|
+
}, {
|
|
3665
|
+
readonly type: "function";
|
|
3666
|
+
readonly name: "hasRole";
|
|
3667
|
+
readonly inputs: readonly [{
|
|
3668
|
+
readonly name: "role";
|
|
3669
|
+
readonly type: "bytes32";
|
|
3670
|
+
readonly internalType: "bytes32";
|
|
3671
|
+
}, {
|
|
3672
|
+
readonly name: "account";
|
|
3673
|
+
readonly type: "address";
|
|
3674
|
+
readonly internalType: "address";
|
|
3675
|
+
}];
|
|
3676
|
+
readonly outputs: readonly [{
|
|
3677
|
+
readonly name: "";
|
|
3678
|
+
readonly type: "bool";
|
|
3679
|
+
readonly internalType: "bool";
|
|
3680
|
+
}];
|
|
3681
|
+
readonly stateMutability: "view";
|
|
3682
|
+
}, {
|
|
3683
|
+
readonly type: "function";
|
|
3684
|
+
readonly name: "getRoleAdmin";
|
|
3685
|
+
readonly inputs: readonly [{
|
|
3686
|
+
readonly name: "role";
|
|
3687
|
+
readonly type: "bytes32";
|
|
3688
|
+
readonly internalType: "bytes32";
|
|
3689
|
+
}];
|
|
3690
|
+
readonly outputs: readonly [{
|
|
3691
|
+
readonly name: "";
|
|
3692
|
+
readonly type: "bytes32";
|
|
3693
|
+
readonly internalType: "bytes32";
|
|
3694
|
+
}];
|
|
3695
|
+
readonly stateMutability: "view";
|
|
3696
|
+
}, {
|
|
3697
|
+
readonly type: "function";
|
|
3698
|
+
readonly name: "supportsInterface";
|
|
3699
|
+
readonly inputs: readonly [{
|
|
3700
|
+
readonly name: "interfaceId";
|
|
3701
|
+
readonly type: "bytes4";
|
|
3702
|
+
readonly internalType: "bytes4";
|
|
3703
|
+
}];
|
|
3704
|
+
readonly outputs: readonly [{
|
|
3705
|
+
readonly name: "";
|
|
3706
|
+
readonly type: "bool";
|
|
3707
|
+
readonly internalType: "bool";
|
|
3708
|
+
}];
|
|
3709
|
+
readonly stateMutability: "view";
|
|
3710
|
+
}];
|
|
3711
|
+
|
|
3712
|
+
/**
|
|
3713
|
+
* ABI for the PayoutEscrow contract.
|
|
3714
|
+
*
|
|
3715
|
+
* Core B2B payout contract. Businesses deposit stablecoins via the Fiatsend API;
|
|
3716
|
+
* funds are held here until the recipient claims using their MobileNumberNFT identity.
|
|
3717
|
+
* Recipients can claim to their wallet or immediately offramp to mobile money in one tx.
|
|
3718
|
+
*/
|
|
3719
|
+
declare const PayoutEscrowABI: readonly [{
|
|
3720
|
+
readonly type: "error";
|
|
3721
|
+
readonly name: "PayoutAlreadyExists";
|
|
3722
|
+
readonly inputs: readonly [];
|
|
3723
|
+
}, {
|
|
3724
|
+
readonly type: "error";
|
|
3725
|
+
readonly name: "PayoutNotFound";
|
|
3726
|
+
readonly inputs: readonly [];
|
|
3727
|
+
}, {
|
|
3728
|
+
readonly type: "error";
|
|
3729
|
+
readonly name: "NotAuthorizedSender";
|
|
3730
|
+
readonly inputs: readonly [];
|
|
3731
|
+
}, {
|
|
3732
|
+
readonly type: "error";
|
|
3733
|
+
readonly name: "NotPending";
|
|
3734
|
+
readonly inputs: readonly [];
|
|
3735
|
+
}, {
|
|
3736
|
+
readonly type: "error";
|
|
3737
|
+
readonly name: "NotExpiredYet";
|
|
3738
|
+
readonly inputs: readonly [];
|
|
3739
|
+
}, {
|
|
3740
|
+
readonly type: "error";
|
|
3741
|
+
readonly name: "NotRefundEligible";
|
|
3742
|
+
readonly inputs: readonly [];
|
|
3743
|
+
}, {
|
|
3744
|
+
readonly type: "error";
|
|
3745
|
+
readonly name: "PhoneHashMismatch";
|
|
3746
|
+
readonly inputs: readonly [];
|
|
3747
|
+
}, {
|
|
3748
|
+
readonly type: "error";
|
|
3749
|
+
readonly name: "NoMobileNFT";
|
|
3750
|
+
readonly inputs: readonly [];
|
|
3751
|
+
}, {
|
|
3752
|
+
readonly type: "error";
|
|
3753
|
+
readonly name: "ZeroAddress";
|
|
3754
|
+
readonly inputs: readonly [];
|
|
3755
|
+
}, {
|
|
3756
|
+
readonly type: "error";
|
|
3757
|
+
readonly name: "ZeroAmount";
|
|
3758
|
+
readonly inputs: readonly [];
|
|
3759
|
+
}, {
|
|
3760
|
+
readonly type: "error";
|
|
3761
|
+
readonly name: "ArrayLengthMismatch";
|
|
3762
|
+
readonly inputs: readonly [];
|
|
3763
|
+
}, {
|
|
3764
|
+
readonly type: "error";
|
|
3765
|
+
readonly name: "InvalidExpiry";
|
|
3766
|
+
readonly inputs: readonly [];
|
|
3767
|
+
}, {
|
|
3768
|
+
readonly type: "error";
|
|
3769
|
+
readonly name: "GatewayNotSet";
|
|
3770
|
+
readonly inputs: readonly [];
|
|
3771
|
+
}, {
|
|
3772
|
+
readonly type: "error";
|
|
3773
|
+
readonly name: "TokenNotSupportedByGateway";
|
|
3774
|
+
readonly inputs: readonly [];
|
|
3775
|
+
}, {
|
|
3776
|
+
readonly type: "event";
|
|
3777
|
+
readonly name: "PayoutCreated";
|
|
3778
|
+
readonly inputs: readonly [{
|
|
3779
|
+
readonly name: "payoutId";
|
|
3780
|
+
readonly type: "bytes32";
|
|
3781
|
+
readonly indexed: true;
|
|
3782
|
+
readonly internalType: "bytes32";
|
|
3783
|
+
}, {
|
|
3784
|
+
readonly name: "sender";
|
|
3785
|
+
readonly type: "address";
|
|
3786
|
+
readonly indexed: true;
|
|
3787
|
+
readonly internalType: "address";
|
|
3788
|
+
}, {
|
|
3789
|
+
readonly name: "token";
|
|
3790
|
+
readonly type: "address";
|
|
3791
|
+
readonly indexed: false;
|
|
3792
|
+
readonly internalType: "address";
|
|
3793
|
+
}, {
|
|
3794
|
+
readonly name: "amount";
|
|
3795
|
+
readonly type: "uint256";
|
|
3796
|
+
readonly indexed: false;
|
|
3797
|
+
readonly internalType: "uint256";
|
|
3798
|
+
}, {
|
|
3799
|
+
readonly name: "phoneHash";
|
|
3800
|
+
readonly type: "bytes32";
|
|
3801
|
+
readonly indexed: true;
|
|
3802
|
+
readonly internalType: "bytes32";
|
|
3803
|
+
}];
|
|
3804
|
+
readonly anonymous: false;
|
|
3805
|
+
}, {
|
|
3806
|
+
readonly type: "event";
|
|
3807
|
+
readonly name: "PayoutClaimed";
|
|
3808
|
+
readonly inputs: readonly [{
|
|
3809
|
+
readonly name: "payoutId";
|
|
3810
|
+
readonly type: "bytes32";
|
|
3811
|
+
readonly indexed: true;
|
|
3812
|
+
readonly internalType: "bytes32";
|
|
3813
|
+
}, {
|
|
3814
|
+
readonly name: "recipient";
|
|
3815
|
+
readonly type: "address";
|
|
3816
|
+
readonly indexed: true;
|
|
3817
|
+
readonly internalType: "address";
|
|
3818
|
+
}, {
|
|
3819
|
+
readonly name: "amount";
|
|
3820
|
+
readonly type: "uint256";
|
|
3821
|
+
readonly indexed: false;
|
|
3822
|
+
readonly internalType: "uint256";
|
|
3823
|
+
}];
|
|
3824
|
+
readonly anonymous: false;
|
|
3825
|
+
}, {
|
|
3826
|
+
readonly type: "event";
|
|
3827
|
+
readonly name: "PayoutRefunded";
|
|
3828
|
+
readonly inputs: readonly [{
|
|
3829
|
+
readonly name: "payoutId";
|
|
3830
|
+
readonly type: "bytes32";
|
|
3831
|
+
readonly indexed: true;
|
|
3832
|
+
readonly internalType: "bytes32";
|
|
3833
|
+
}, {
|
|
3834
|
+
readonly name: "sender";
|
|
3835
|
+
readonly type: "address";
|
|
3836
|
+
readonly indexed: true;
|
|
3837
|
+
readonly internalType: "address";
|
|
3838
|
+
}, {
|
|
3839
|
+
readonly name: "amount";
|
|
3840
|
+
readonly type: "uint256";
|
|
3841
|
+
readonly indexed: false;
|
|
3842
|
+
readonly internalType: "uint256";
|
|
3843
|
+
}];
|
|
3844
|
+
readonly anonymous: false;
|
|
3845
|
+
}, {
|
|
3846
|
+
readonly type: "event";
|
|
3847
|
+
readonly name: "PayoutExpired";
|
|
3848
|
+
readonly inputs: readonly [{
|
|
3849
|
+
readonly name: "payoutId";
|
|
3850
|
+
readonly type: "bytes32";
|
|
3851
|
+
readonly indexed: true;
|
|
3852
|
+
readonly internalType: "bytes32";
|
|
3853
|
+
}];
|
|
3854
|
+
readonly anonymous: false;
|
|
3855
|
+
}, {
|
|
3856
|
+
readonly type: "event";
|
|
3857
|
+
readonly name: "AuthorizedSenderSet";
|
|
3858
|
+
readonly inputs: readonly [{
|
|
3859
|
+
readonly name: "sender";
|
|
3860
|
+
readonly type: "address";
|
|
3861
|
+
readonly indexed: true;
|
|
3862
|
+
readonly internalType: "address";
|
|
3863
|
+
}, {
|
|
3864
|
+
readonly name: "authorized";
|
|
3865
|
+
readonly type: "bool";
|
|
3866
|
+
readonly indexed: false;
|
|
3867
|
+
readonly internalType: "bool";
|
|
3868
|
+
}];
|
|
3869
|
+
readonly anonymous: false;
|
|
3870
|
+
}, {
|
|
3871
|
+
readonly type: "event";
|
|
3872
|
+
readonly name: "GatewaySet";
|
|
3873
|
+
readonly inputs: readonly [{
|
|
3874
|
+
readonly name: "gateway";
|
|
3875
|
+
readonly type: "address";
|
|
3876
|
+
readonly indexed: true;
|
|
3877
|
+
readonly internalType: "address";
|
|
3878
|
+
}];
|
|
3879
|
+
readonly anonymous: false;
|
|
3880
|
+
}, {
|
|
3881
|
+
readonly type: "event";
|
|
3882
|
+
readonly name: "DefaultExpiryDurationSet";
|
|
3883
|
+
readonly inputs: readonly [{
|
|
3884
|
+
readonly name: "duration";
|
|
3885
|
+
readonly type: "uint256";
|
|
3886
|
+
readonly indexed: false;
|
|
3887
|
+
readonly internalType: "uint256";
|
|
3888
|
+
}];
|
|
3889
|
+
readonly anonymous: false;
|
|
3890
|
+
}, {
|
|
3891
|
+
readonly type: "event";
|
|
3892
|
+
readonly name: "OwnershipTransferred";
|
|
3893
|
+
readonly inputs: readonly [{
|
|
3894
|
+
readonly name: "previousOwner";
|
|
3895
|
+
readonly type: "address";
|
|
3896
|
+
readonly indexed: true;
|
|
3897
|
+
readonly internalType: "address";
|
|
3898
|
+
}, {
|
|
3899
|
+
readonly name: "newOwner";
|
|
3900
|
+
readonly type: "address";
|
|
3901
|
+
readonly indexed: true;
|
|
3902
|
+
readonly internalType: "address";
|
|
3903
|
+
}];
|
|
3904
|
+
readonly anonymous: false;
|
|
3905
|
+
}, {
|
|
3906
|
+
readonly type: "event";
|
|
3907
|
+
readonly name: "Paused";
|
|
3908
|
+
readonly inputs: readonly [{
|
|
3909
|
+
readonly name: "account";
|
|
3910
|
+
readonly type: "address";
|
|
3911
|
+
readonly indexed: false;
|
|
3912
|
+
readonly internalType: "address";
|
|
3913
|
+
}];
|
|
3914
|
+
readonly anonymous: false;
|
|
3915
|
+
}, {
|
|
3916
|
+
readonly type: "event";
|
|
3917
|
+
readonly name: "Unpaused";
|
|
3918
|
+
readonly inputs: readonly [{
|
|
3919
|
+
readonly name: "account";
|
|
3920
|
+
readonly type: "address";
|
|
3921
|
+
readonly indexed: false;
|
|
3922
|
+
readonly internalType: "address";
|
|
3923
|
+
}];
|
|
3924
|
+
readonly anonymous: false;
|
|
3925
|
+
}, {
|
|
3926
|
+
readonly type: "constructor";
|
|
3927
|
+
readonly inputs: readonly [{
|
|
3928
|
+
readonly name: "_mobileNumberNFT";
|
|
3929
|
+
readonly type: "address";
|
|
3930
|
+
readonly internalType: "address";
|
|
3931
|
+
}, {
|
|
3932
|
+
readonly name: "_gateway";
|
|
3933
|
+
readonly type: "address";
|
|
3934
|
+
readonly internalType: "address";
|
|
3935
|
+
}, {
|
|
3936
|
+
readonly name: "_expiryDuration";
|
|
3937
|
+
readonly type: "uint256";
|
|
3938
|
+
readonly internalType: "uint256";
|
|
3939
|
+
}];
|
|
3940
|
+
readonly stateMutability: "nonpayable";
|
|
3941
|
+
}, {
|
|
3942
|
+
readonly type: "function";
|
|
3943
|
+
readonly name: "createPayout";
|
|
3944
|
+
readonly inputs: readonly [{
|
|
3945
|
+
readonly name: "payoutId";
|
|
3946
|
+
readonly type: "bytes32";
|
|
3947
|
+
readonly internalType: "bytes32";
|
|
3948
|
+
}, {
|
|
3949
|
+
readonly name: "token";
|
|
3950
|
+
readonly type: "address";
|
|
3951
|
+
readonly internalType: "address";
|
|
3952
|
+
}, {
|
|
3953
|
+
readonly name: "amount";
|
|
3954
|
+
readonly type: "uint256";
|
|
3955
|
+
readonly internalType: "uint256";
|
|
3956
|
+
}, {
|
|
3957
|
+
readonly name: "phoneHash";
|
|
3958
|
+
readonly type: "bytes32";
|
|
3959
|
+
readonly internalType: "bytes32";
|
|
3960
|
+
}, {
|
|
3961
|
+
readonly name: "expiresAt";
|
|
3962
|
+
readonly type: "uint256";
|
|
3963
|
+
readonly internalType: "uint256";
|
|
3964
|
+
}];
|
|
3965
|
+
readonly outputs: readonly [];
|
|
3966
|
+
readonly stateMutability: "nonpayable";
|
|
3967
|
+
}, {
|
|
3968
|
+
readonly type: "function";
|
|
3969
|
+
readonly name: "createBatchPayout";
|
|
3970
|
+
readonly inputs: readonly [{
|
|
3971
|
+
readonly name: "payoutIds";
|
|
3972
|
+
readonly type: "bytes32[]";
|
|
3973
|
+
readonly internalType: "bytes32[]";
|
|
3974
|
+
}, {
|
|
3975
|
+
readonly name: "token";
|
|
3976
|
+
readonly type: "address";
|
|
3977
|
+
readonly internalType: "address";
|
|
3978
|
+
}, {
|
|
3979
|
+
readonly name: "amounts";
|
|
3980
|
+
readonly type: "uint256[]";
|
|
3981
|
+
readonly internalType: "uint256[]";
|
|
3982
|
+
}, {
|
|
3983
|
+
readonly name: "phoneHashes";
|
|
3984
|
+
readonly type: "bytes32[]";
|
|
3985
|
+
readonly internalType: "bytes32[]";
|
|
3986
|
+
}, {
|
|
3987
|
+
readonly name: "expiresAt";
|
|
3988
|
+
readonly type: "uint256";
|
|
3989
|
+
readonly internalType: "uint256";
|
|
3990
|
+
}];
|
|
3991
|
+
readonly outputs: readonly [];
|
|
3992
|
+
readonly stateMutability: "nonpayable";
|
|
3993
|
+
}, {
|
|
3994
|
+
readonly type: "function";
|
|
3995
|
+
readonly name: "claim";
|
|
3996
|
+
readonly inputs: readonly [{
|
|
3997
|
+
readonly name: "payoutId";
|
|
3998
|
+
readonly type: "bytes32";
|
|
3999
|
+
readonly internalType: "bytes32";
|
|
4000
|
+
}];
|
|
4001
|
+
readonly outputs: readonly [];
|
|
4002
|
+
readonly stateMutability: "nonpayable";
|
|
4003
|
+
}, {
|
|
4004
|
+
readonly type: "function";
|
|
4005
|
+
readonly name: "claimToMoMo";
|
|
4006
|
+
readonly inputs: readonly [{
|
|
4007
|
+
readonly name: "payoutId";
|
|
4008
|
+
readonly type: "bytes32";
|
|
4009
|
+
readonly internalType: "bytes32";
|
|
4010
|
+
}, {
|
|
4011
|
+
readonly name: "phoneNumber";
|
|
4012
|
+
readonly type: "string";
|
|
4013
|
+
readonly internalType: "string";
|
|
4014
|
+
}];
|
|
4015
|
+
readonly outputs: readonly [];
|
|
4016
|
+
readonly stateMutability: "nonpayable";
|
|
4017
|
+
}, {
|
|
4018
|
+
readonly type: "function";
|
|
4019
|
+
readonly name: "refund";
|
|
4020
|
+
readonly inputs: readonly [{
|
|
4021
|
+
readonly name: "payoutId";
|
|
4022
|
+
readonly type: "bytes32";
|
|
4023
|
+
readonly internalType: "bytes32";
|
|
4024
|
+
}];
|
|
4025
|
+
readonly outputs: readonly [];
|
|
4026
|
+
readonly stateMutability: "nonpayable";
|
|
4027
|
+
}, {
|
|
4028
|
+
readonly type: "function";
|
|
4029
|
+
readonly name: "getPayout";
|
|
4030
|
+
readonly inputs: readonly [{
|
|
4031
|
+
readonly name: "payoutId";
|
|
4032
|
+
readonly type: "bytes32";
|
|
4033
|
+
readonly internalType: "bytes32";
|
|
4034
|
+
}];
|
|
4035
|
+
readonly outputs: readonly [{
|
|
4036
|
+
readonly name: "";
|
|
4037
|
+
readonly type: "tuple";
|
|
4038
|
+
readonly internalType: "struct IPayoutEscrow.Payout";
|
|
4039
|
+
readonly components: readonly [{
|
|
4040
|
+
readonly name: "id";
|
|
4041
|
+
readonly type: "bytes32";
|
|
4042
|
+
readonly internalType: "bytes32";
|
|
4043
|
+
}, {
|
|
4044
|
+
readonly name: "sender";
|
|
4045
|
+
readonly type: "address";
|
|
4046
|
+
readonly internalType: "address";
|
|
4047
|
+
}, {
|
|
4048
|
+
readonly name: "recipient";
|
|
4049
|
+
readonly type: "address";
|
|
4050
|
+
readonly internalType: "address";
|
|
4051
|
+
}, {
|
|
4052
|
+
readonly name: "token";
|
|
4053
|
+
readonly type: "address";
|
|
4054
|
+
readonly internalType: "address";
|
|
4055
|
+
}, {
|
|
4056
|
+
readonly name: "amount";
|
|
4057
|
+
readonly type: "uint256";
|
|
4058
|
+
readonly internalType: "uint256";
|
|
4059
|
+
}, {
|
|
4060
|
+
readonly name: "phoneHash";
|
|
4061
|
+
readonly type: "bytes32";
|
|
4062
|
+
readonly internalType: "bytes32";
|
|
4063
|
+
}, {
|
|
4064
|
+
readonly name: "status";
|
|
4065
|
+
readonly type: "uint8";
|
|
4066
|
+
readonly internalType: "enum IPayoutEscrow.PayoutStatus";
|
|
4067
|
+
}, {
|
|
4068
|
+
readonly name: "expiresAt";
|
|
4069
|
+
readonly type: "uint256";
|
|
4070
|
+
readonly internalType: "uint256";
|
|
4071
|
+
}, {
|
|
4072
|
+
readonly name: "createdAt";
|
|
4073
|
+
readonly type: "uint256";
|
|
4074
|
+
readonly internalType: "uint256";
|
|
4075
|
+
}, {
|
|
4076
|
+
readonly name: "claimedAt";
|
|
4077
|
+
readonly type: "uint256";
|
|
4078
|
+
readonly internalType: "uint256";
|
|
4079
|
+
}];
|
|
4080
|
+
}];
|
|
4081
|
+
readonly stateMutability: "view";
|
|
4082
|
+
}, {
|
|
4083
|
+
readonly type: "function";
|
|
4084
|
+
readonly name: "getPayoutsForPhone";
|
|
4085
|
+
readonly inputs: readonly [{
|
|
4086
|
+
readonly name: "phoneHash";
|
|
4087
|
+
readonly type: "bytes32";
|
|
4088
|
+
readonly internalType: "bytes32";
|
|
4089
|
+
}];
|
|
4090
|
+
readonly outputs: readonly [{
|
|
4091
|
+
readonly name: "";
|
|
4092
|
+
readonly type: "bytes32[]";
|
|
4093
|
+
readonly internalType: "bytes32[]";
|
|
4094
|
+
}];
|
|
4095
|
+
readonly stateMutability: "view";
|
|
4096
|
+
}, {
|
|
4097
|
+
readonly type: "function";
|
|
4098
|
+
readonly name: "getPayoutsByStatus";
|
|
4099
|
+
readonly inputs: readonly [{
|
|
4100
|
+
readonly name: "phoneHash";
|
|
4101
|
+
readonly type: "bytes32";
|
|
4102
|
+
readonly internalType: "bytes32";
|
|
4103
|
+
}, {
|
|
4104
|
+
readonly name: "status";
|
|
4105
|
+
readonly type: "uint8";
|
|
4106
|
+
readonly internalType: "enum IPayoutEscrow.PayoutStatus";
|
|
4107
|
+
}];
|
|
4108
|
+
readonly outputs: readonly [{
|
|
4109
|
+
readonly name: "";
|
|
4110
|
+
readonly type: "bytes32[]";
|
|
4111
|
+
readonly internalType: "bytes32[]";
|
|
4112
|
+
}];
|
|
4113
|
+
readonly stateMutability: "view";
|
|
4114
|
+
}, {
|
|
4115
|
+
readonly type: "function";
|
|
4116
|
+
readonly name: "setAuthorizedSender";
|
|
4117
|
+
readonly inputs: readonly [{
|
|
4118
|
+
readonly name: "sender";
|
|
4119
|
+
readonly type: "address";
|
|
4120
|
+
readonly internalType: "address";
|
|
4121
|
+
}, {
|
|
4122
|
+
readonly name: "authorized";
|
|
4123
|
+
readonly type: "bool";
|
|
4124
|
+
readonly internalType: "bool";
|
|
4125
|
+
}];
|
|
4126
|
+
readonly outputs: readonly [];
|
|
4127
|
+
readonly stateMutability: "nonpayable";
|
|
4128
|
+
}, {
|
|
4129
|
+
readonly type: "function";
|
|
4130
|
+
readonly name: "setDefaultExpiryDuration";
|
|
4131
|
+
readonly inputs: readonly [{
|
|
4132
|
+
readonly name: "duration";
|
|
4133
|
+
readonly type: "uint256";
|
|
4134
|
+
readonly internalType: "uint256";
|
|
4135
|
+
}];
|
|
4136
|
+
readonly outputs: readonly [];
|
|
4137
|
+
readonly stateMutability: "nonpayable";
|
|
4138
|
+
}, {
|
|
4139
|
+
readonly type: "function";
|
|
4140
|
+
readonly name: "setGateway";
|
|
4141
|
+
readonly inputs: readonly [{
|
|
4142
|
+
readonly name: "_gateway";
|
|
4143
|
+
readonly type: "address";
|
|
4144
|
+
readonly internalType: "address";
|
|
4145
|
+
}];
|
|
4146
|
+
readonly outputs: readonly [];
|
|
4147
|
+
readonly stateMutability: "nonpayable";
|
|
4148
|
+
}, {
|
|
4149
|
+
readonly type: "function";
|
|
4150
|
+
readonly name: "pause";
|
|
4151
|
+
readonly inputs: readonly [];
|
|
4152
|
+
readonly outputs: readonly [];
|
|
4153
|
+
readonly stateMutability: "nonpayable";
|
|
4154
|
+
}, {
|
|
4155
|
+
readonly type: "function";
|
|
4156
|
+
readonly name: "unpause";
|
|
4157
|
+
readonly inputs: readonly [];
|
|
4158
|
+
readonly outputs: readonly [];
|
|
4159
|
+
readonly stateMutability: "nonpayable";
|
|
4160
|
+
}, {
|
|
4161
|
+
readonly type: "function";
|
|
4162
|
+
readonly name: "transferOwnership";
|
|
4163
|
+
readonly inputs: readonly [{
|
|
4164
|
+
readonly name: "newOwner";
|
|
4165
|
+
readonly type: "address";
|
|
4166
|
+
readonly internalType: "address";
|
|
4167
|
+
}];
|
|
4168
|
+
readonly outputs: readonly [];
|
|
4169
|
+
readonly stateMutability: "nonpayable";
|
|
4170
|
+
}, {
|
|
4171
|
+
readonly type: "function";
|
|
4172
|
+
readonly name: "renounceOwnership";
|
|
4173
|
+
readonly inputs: readonly [];
|
|
4174
|
+
readonly outputs: readonly [];
|
|
4175
|
+
readonly stateMutability: "nonpayable";
|
|
4176
|
+
}, {
|
|
4177
|
+
readonly type: "function";
|
|
4178
|
+
readonly name: "mobileNumberNFT";
|
|
4179
|
+
readonly inputs: readonly [];
|
|
4180
|
+
readonly outputs: readonly [{
|
|
4181
|
+
readonly name: "";
|
|
4182
|
+
readonly type: "address";
|
|
4183
|
+
readonly internalType: "address";
|
|
4184
|
+
}];
|
|
4185
|
+
readonly stateMutability: "view";
|
|
4186
|
+
}, {
|
|
4187
|
+
readonly type: "function";
|
|
4188
|
+
readonly name: "gateway";
|
|
4189
|
+
readonly inputs: readonly [];
|
|
4190
|
+
readonly outputs: readonly [{
|
|
4191
|
+
readonly name: "";
|
|
4192
|
+
readonly type: "address";
|
|
4193
|
+
readonly internalType: "address";
|
|
4194
|
+
}];
|
|
4195
|
+
readonly stateMutability: "view";
|
|
4196
|
+
}, {
|
|
4197
|
+
readonly type: "function";
|
|
4198
|
+
readonly name: "defaultExpiryDuration";
|
|
4199
|
+
readonly inputs: readonly [];
|
|
4200
|
+
readonly outputs: readonly [{
|
|
4201
|
+
readonly name: "";
|
|
4202
|
+
readonly type: "uint256";
|
|
4203
|
+
readonly internalType: "uint256";
|
|
4204
|
+
}];
|
|
4205
|
+
readonly stateMutability: "view";
|
|
4206
|
+
}, {
|
|
4207
|
+
readonly type: "function";
|
|
4208
|
+
readonly name: "authorizedSenders";
|
|
4209
|
+
readonly inputs: readonly [{
|
|
4210
|
+
readonly name: "sender";
|
|
4211
|
+
readonly type: "address";
|
|
4212
|
+
readonly internalType: "address";
|
|
4213
|
+
}];
|
|
4214
|
+
readonly outputs: readonly [{
|
|
4215
|
+
readonly name: "";
|
|
4216
|
+
readonly type: "bool";
|
|
4217
|
+
readonly internalType: "bool";
|
|
4218
|
+
}];
|
|
4219
|
+
readonly stateMutability: "view";
|
|
4220
|
+
}, {
|
|
4221
|
+
readonly type: "function";
|
|
4222
|
+
readonly name: "owner";
|
|
4223
|
+
readonly inputs: readonly [];
|
|
4224
|
+
readonly outputs: readonly [{
|
|
4225
|
+
readonly name: "";
|
|
4226
|
+
readonly type: "address";
|
|
4227
|
+
readonly internalType: "address";
|
|
4228
|
+
}];
|
|
4229
|
+
readonly stateMutability: "view";
|
|
4230
|
+
}, {
|
|
4231
|
+
readonly type: "function";
|
|
4232
|
+
readonly name: "paused";
|
|
4233
|
+
readonly inputs: readonly [];
|
|
4234
|
+
readonly outputs: readonly [{
|
|
4235
|
+
readonly name: "";
|
|
4236
|
+
readonly type: "bool";
|
|
4237
|
+
readonly internalType: "bool";
|
|
4238
|
+
}];
|
|
4239
|
+
readonly stateMutability: "view";
|
|
4240
|
+
}];
|
|
4241
|
+
|
|
4242
|
+
/**
|
|
4243
|
+
* ABI for the P2PExchange contract.
|
|
4244
|
+
*
|
|
4245
|
+
* Peer-to-peer token exchange with exact payment references for crypto-exchange
|
|
4246
|
+
* auto-completion. A maker escrows tokens on-chain; a taker pays off-chain using
|
|
4247
|
+
* the exact reference; the maker confirms receipt and tokens are released — or
|
|
4248
|
+
* a dispute resolver adjudicates disagreements.
|
|
4249
|
+
*/
|
|
4250
|
+
declare const P2PExchangeABI: readonly [{
|
|
4251
|
+
readonly type: "error";
|
|
4252
|
+
readonly name: "OrderAlreadyExists";
|
|
4253
|
+
readonly inputs: readonly [];
|
|
4254
|
+
}, {
|
|
4255
|
+
readonly type: "error";
|
|
4256
|
+
readonly name: "OrderNotFound";
|
|
4257
|
+
readonly inputs: readonly [];
|
|
4258
|
+
}, {
|
|
4259
|
+
readonly type: "error";
|
|
4260
|
+
readonly name: "NotMaker";
|
|
4261
|
+
readonly inputs: readonly [];
|
|
4262
|
+
}, {
|
|
4263
|
+
readonly type: "error";
|
|
4264
|
+
readonly name: "NotParty";
|
|
4265
|
+
readonly inputs: readonly [];
|
|
4266
|
+
}, {
|
|
4267
|
+
readonly type: "error";
|
|
4268
|
+
readonly name: "NotDisputeResolver";
|
|
4269
|
+
readonly inputs: readonly [];
|
|
4270
|
+
}, {
|
|
4271
|
+
readonly type: "error";
|
|
4272
|
+
readonly name: "OrderNotOpen";
|
|
4273
|
+
readonly inputs: readonly [];
|
|
4274
|
+
}, {
|
|
4275
|
+
readonly type: "error";
|
|
4276
|
+
readonly name: "OrderNotLocked";
|
|
4277
|
+
readonly inputs: readonly [];
|
|
4278
|
+
}, {
|
|
4279
|
+
readonly type: "error";
|
|
4280
|
+
readonly name: "OrderNotDisputed";
|
|
4281
|
+
readonly inputs: readonly [];
|
|
4282
|
+
}, {
|
|
4283
|
+
readonly type: "error";
|
|
4284
|
+
readonly name: "AlreadyTaken";
|
|
4285
|
+
readonly inputs: readonly [];
|
|
4286
|
+
}, {
|
|
4287
|
+
readonly type: "error";
|
|
4288
|
+
readonly name: "SelfTake";
|
|
4289
|
+
readonly inputs: readonly [];
|
|
4290
|
+
}, {
|
|
4291
|
+
readonly type: "error";
|
|
4292
|
+
readonly name: "ZeroAddress";
|
|
4293
|
+
readonly inputs: readonly [];
|
|
4294
|
+
}, {
|
|
4295
|
+
readonly type: "error";
|
|
4296
|
+
readonly name: "ZeroAmount";
|
|
4297
|
+
readonly inputs: readonly [];
|
|
4298
|
+
}, {
|
|
4299
|
+
readonly type: "error";
|
|
4300
|
+
readonly name: "ZeroExpiryDuration";
|
|
4301
|
+
readonly inputs: readonly [];
|
|
4302
|
+
}, {
|
|
4303
|
+
readonly type: "error";
|
|
4304
|
+
readonly name: "InvalidWinner";
|
|
4305
|
+
readonly inputs: readonly [];
|
|
4306
|
+
}, {
|
|
4307
|
+
readonly type: "event";
|
|
4308
|
+
readonly name: "OrderCreated";
|
|
4309
|
+
readonly inputs: readonly [{
|
|
4310
|
+
readonly name: "orderId";
|
|
4311
|
+
readonly type: "bytes32";
|
|
4312
|
+
readonly indexed: true;
|
|
4313
|
+
readonly internalType: "bytes32";
|
|
4314
|
+
}, {
|
|
4315
|
+
readonly name: "maker";
|
|
4316
|
+
readonly type: "address";
|
|
4317
|
+
readonly indexed: true;
|
|
4318
|
+
readonly internalType: "address";
|
|
4319
|
+
}, {
|
|
4320
|
+
readonly name: "token";
|
|
4321
|
+
readonly type: "address";
|
|
4322
|
+
readonly indexed: false;
|
|
4323
|
+
readonly internalType: "address";
|
|
4324
|
+
}, {
|
|
4325
|
+
readonly name: "amount";
|
|
4326
|
+
readonly type: "uint256";
|
|
4327
|
+
readonly indexed: false;
|
|
4328
|
+
readonly internalType: "uint256";
|
|
4329
|
+
}, {
|
|
4330
|
+
readonly name: "paymentReference";
|
|
4331
|
+
readonly type: "string";
|
|
4332
|
+
readonly indexed: false;
|
|
4333
|
+
readonly internalType: "string";
|
|
4334
|
+
}, {
|
|
4335
|
+
readonly name: "exchangePlatform";
|
|
4336
|
+
readonly type: "string";
|
|
4337
|
+
readonly indexed: false;
|
|
4338
|
+
readonly internalType: "string";
|
|
4339
|
+
}];
|
|
4340
|
+
readonly anonymous: false;
|
|
4341
|
+
}, {
|
|
4342
|
+
readonly type: "event";
|
|
4343
|
+
readonly name: "OrderTaken";
|
|
4344
|
+
readonly inputs: readonly [{
|
|
4345
|
+
readonly name: "orderId";
|
|
4346
|
+
readonly type: "bytes32";
|
|
4347
|
+
readonly indexed: true;
|
|
4348
|
+
readonly internalType: "bytes32";
|
|
4349
|
+
}, {
|
|
4350
|
+
readonly name: "taker";
|
|
4351
|
+
readonly type: "address";
|
|
4352
|
+
readonly indexed: true;
|
|
4353
|
+
readonly internalType: "address";
|
|
4354
|
+
}];
|
|
4355
|
+
readonly anonymous: false;
|
|
4356
|
+
}, {
|
|
4357
|
+
readonly type: "event";
|
|
4358
|
+
readonly name: "OrderCompleted";
|
|
4359
|
+
readonly inputs: readonly [{
|
|
4360
|
+
readonly name: "orderId";
|
|
4361
|
+
readonly type: "bytes32";
|
|
4362
|
+
readonly indexed: true;
|
|
4363
|
+
readonly internalType: "bytes32";
|
|
4364
|
+
}, {
|
|
4365
|
+
readonly name: "taker";
|
|
4366
|
+
readonly type: "address";
|
|
4367
|
+
readonly indexed: true;
|
|
4368
|
+
readonly internalType: "address";
|
|
4369
|
+
}, {
|
|
4370
|
+
readonly name: "amount";
|
|
4371
|
+
readonly type: "uint256";
|
|
4372
|
+
readonly indexed: false;
|
|
4373
|
+
readonly internalType: "uint256";
|
|
4374
|
+
}];
|
|
4375
|
+
readonly anonymous: false;
|
|
4376
|
+
}, {
|
|
4377
|
+
readonly type: "event";
|
|
4378
|
+
readonly name: "OrderCancelled";
|
|
4379
|
+
readonly inputs: readonly [{
|
|
4380
|
+
readonly name: "orderId";
|
|
4381
|
+
readonly type: "bytes32";
|
|
4382
|
+
readonly indexed: true;
|
|
4383
|
+
readonly internalType: "bytes32";
|
|
4384
|
+
}];
|
|
4385
|
+
readonly anonymous: false;
|
|
4386
|
+
}, {
|
|
4387
|
+
readonly type: "event";
|
|
4388
|
+
readonly name: "OrderDisputed";
|
|
4389
|
+
readonly inputs: readonly [{
|
|
4390
|
+
readonly name: "orderId";
|
|
4391
|
+
readonly type: "bytes32";
|
|
4392
|
+
readonly indexed: true;
|
|
4393
|
+
readonly internalType: "bytes32";
|
|
4394
|
+
}, {
|
|
4395
|
+
readonly name: "disputedBy";
|
|
4396
|
+
readonly type: "address";
|
|
4397
|
+
readonly indexed: true;
|
|
4398
|
+
readonly internalType: "address";
|
|
4399
|
+
}];
|
|
4400
|
+
readonly anonymous: false;
|
|
4401
|
+
}, {
|
|
4402
|
+
readonly type: "event";
|
|
4403
|
+
readonly name: "DisputeResolved";
|
|
4404
|
+
readonly inputs: readonly [{
|
|
4405
|
+
readonly name: "orderId";
|
|
4406
|
+
readonly type: "bytes32";
|
|
4407
|
+
readonly indexed: true;
|
|
4408
|
+
readonly internalType: "bytes32";
|
|
4409
|
+
}, {
|
|
4410
|
+
readonly name: "winner";
|
|
4411
|
+
readonly type: "address";
|
|
4412
|
+
readonly indexed: true;
|
|
4413
|
+
readonly internalType: "address";
|
|
4414
|
+
}, {
|
|
4415
|
+
readonly name: "amount";
|
|
4416
|
+
readonly type: "uint256";
|
|
4417
|
+
readonly indexed: false;
|
|
4418
|
+
readonly internalType: "uint256";
|
|
4419
|
+
}];
|
|
4420
|
+
readonly anonymous: false;
|
|
4421
|
+
}, {
|
|
4422
|
+
readonly type: "event";
|
|
4423
|
+
readonly name: "DisputeResolverSet";
|
|
4424
|
+
readonly inputs: readonly [{
|
|
4425
|
+
readonly name: "resolver";
|
|
4426
|
+
readonly type: "address";
|
|
4427
|
+
readonly indexed: true;
|
|
4428
|
+
readonly internalType: "address";
|
|
4429
|
+
}];
|
|
4430
|
+
readonly anonymous: false;
|
|
4431
|
+
}, {
|
|
4432
|
+
readonly type: "event";
|
|
4433
|
+
readonly name: "OwnershipTransferred";
|
|
4434
|
+
readonly inputs: readonly [{
|
|
4435
|
+
readonly name: "previousOwner";
|
|
4436
|
+
readonly type: "address";
|
|
4437
|
+
readonly indexed: true;
|
|
4438
|
+
readonly internalType: "address";
|
|
4439
|
+
}, {
|
|
4440
|
+
readonly name: "newOwner";
|
|
4441
|
+
readonly type: "address";
|
|
4442
|
+
readonly indexed: true;
|
|
4443
|
+
readonly internalType: "address";
|
|
4444
|
+
}];
|
|
4445
|
+
readonly anonymous: false;
|
|
4446
|
+
}, {
|
|
4447
|
+
readonly type: "event";
|
|
4448
|
+
readonly name: "Paused";
|
|
4449
|
+
readonly inputs: readonly [{
|
|
4450
|
+
readonly name: "account";
|
|
4451
|
+
readonly type: "address";
|
|
4452
|
+
readonly indexed: false;
|
|
4453
|
+
readonly internalType: "address";
|
|
4454
|
+
}];
|
|
4455
|
+
readonly anonymous: false;
|
|
4456
|
+
}, {
|
|
4457
|
+
readonly type: "event";
|
|
4458
|
+
readonly name: "Unpaused";
|
|
4459
|
+
readonly inputs: readonly [{
|
|
4460
|
+
readonly name: "account";
|
|
4461
|
+
readonly type: "address";
|
|
4462
|
+
readonly indexed: false;
|
|
4463
|
+
readonly internalType: "address";
|
|
4464
|
+
}];
|
|
4465
|
+
readonly anonymous: false;
|
|
4466
|
+
}, {
|
|
4467
|
+
readonly type: "constructor";
|
|
4468
|
+
readonly inputs: readonly [{
|
|
4469
|
+
readonly name: "_disputeResolver";
|
|
4470
|
+
readonly type: "address";
|
|
4471
|
+
readonly internalType: "address";
|
|
4472
|
+
}];
|
|
4473
|
+
readonly stateMutability: "nonpayable";
|
|
4474
|
+
}, {
|
|
4475
|
+
readonly type: "function";
|
|
4476
|
+
readonly name: "createOrder";
|
|
4477
|
+
readonly inputs: readonly [{
|
|
4478
|
+
readonly name: "orderId";
|
|
4479
|
+
readonly type: "bytes32";
|
|
4480
|
+
readonly internalType: "bytes32";
|
|
4481
|
+
}, {
|
|
4482
|
+
readonly name: "token";
|
|
4483
|
+
readonly type: "address";
|
|
4484
|
+
readonly internalType: "address";
|
|
4485
|
+
}, {
|
|
4486
|
+
readonly name: "amount";
|
|
4487
|
+
readonly type: "uint256";
|
|
4488
|
+
readonly internalType: "uint256";
|
|
4489
|
+
}, {
|
|
4490
|
+
readonly name: "paymentReference";
|
|
4491
|
+
readonly type: "string";
|
|
4492
|
+
readonly internalType: "string";
|
|
4493
|
+
}, {
|
|
4494
|
+
readonly name: "exchangePlatform";
|
|
4495
|
+
readonly type: "string";
|
|
4496
|
+
readonly internalType: "string";
|
|
4497
|
+
}, {
|
|
4498
|
+
readonly name: "expiryDuration";
|
|
4499
|
+
readonly type: "uint256";
|
|
4500
|
+
readonly internalType: "uint256";
|
|
4501
|
+
}];
|
|
4502
|
+
readonly outputs: readonly [];
|
|
4503
|
+
readonly stateMutability: "nonpayable";
|
|
4504
|
+
}, {
|
|
4505
|
+
readonly type: "function";
|
|
4506
|
+
readonly name: "takeOrder";
|
|
4507
|
+
readonly inputs: readonly [{
|
|
4508
|
+
readonly name: "orderId";
|
|
4509
|
+
readonly type: "bytes32";
|
|
4510
|
+
readonly internalType: "bytes32";
|
|
4511
|
+
}];
|
|
4512
|
+
readonly outputs: readonly [];
|
|
4513
|
+
readonly stateMutability: "nonpayable";
|
|
4514
|
+
}, {
|
|
4515
|
+
readonly type: "function";
|
|
4516
|
+
readonly name: "confirmPayment";
|
|
4517
|
+
readonly inputs: readonly [{
|
|
4518
|
+
readonly name: "orderId";
|
|
4519
|
+
readonly type: "bytes32";
|
|
4520
|
+
readonly internalType: "bytes32";
|
|
4521
|
+
}];
|
|
4522
|
+
readonly outputs: readonly [];
|
|
4523
|
+
readonly stateMutability: "nonpayable";
|
|
4524
|
+
}, {
|
|
4525
|
+
readonly type: "function";
|
|
4526
|
+
readonly name: "cancelOrder";
|
|
4527
|
+
readonly inputs: readonly [{
|
|
4528
|
+
readonly name: "orderId";
|
|
4529
|
+
readonly type: "bytes32";
|
|
4530
|
+
readonly internalType: "bytes32";
|
|
4531
|
+
}];
|
|
4532
|
+
readonly outputs: readonly [];
|
|
4533
|
+
readonly stateMutability: "nonpayable";
|
|
4534
|
+
}, {
|
|
4535
|
+
readonly type: "function";
|
|
4536
|
+
readonly name: "disputeOrder";
|
|
4537
|
+
readonly inputs: readonly [{
|
|
4538
|
+
readonly name: "orderId";
|
|
4539
|
+
readonly type: "bytes32";
|
|
4540
|
+
readonly internalType: "bytes32";
|
|
4541
|
+
}];
|
|
4542
|
+
readonly outputs: readonly [];
|
|
4543
|
+
readonly stateMutability: "nonpayable";
|
|
4544
|
+
}, {
|
|
4545
|
+
readonly type: "function";
|
|
4546
|
+
readonly name: "resolveDispute";
|
|
4547
|
+
readonly inputs: readonly [{
|
|
4548
|
+
readonly name: "orderId";
|
|
4549
|
+
readonly type: "bytes32";
|
|
4550
|
+
readonly internalType: "bytes32";
|
|
4551
|
+
}, {
|
|
4552
|
+
readonly name: "winner";
|
|
4553
|
+
readonly type: "address";
|
|
4554
|
+
readonly internalType: "address";
|
|
4555
|
+
}];
|
|
4556
|
+
readonly outputs: readonly [];
|
|
4557
|
+
readonly stateMutability: "nonpayable";
|
|
4558
|
+
}, {
|
|
4559
|
+
readonly type: "function";
|
|
4560
|
+
readonly name: "getOrder";
|
|
4561
|
+
readonly inputs: readonly [{
|
|
4562
|
+
readonly name: "orderId";
|
|
4563
|
+
readonly type: "bytes32";
|
|
4564
|
+
readonly internalType: "bytes32";
|
|
4565
|
+
}];
|
|
4566
|
+
readonly outputs: readonly [{
|
|
4567
|
+
readonly name: "";
|
|
4568
|
+
readonly type: "tuple";
|
|
4569
|
+
readonly internalType: "struct IP2PExchange.P2POrder";
|
|
4570
|
+
readonly components: readonly [{
|
|
4571
|
+
readonly name: "id";
|
|
4572
|
+
readonly type: "bytes32";
|
|
4573
|
+
readonly internalType: "bytes32";
|
|
4574
|
+
}, {
|
|
4575
|
+
readonly name: "maker";
|
|
4576
|
+
readonly type: "address";
|
|
4577
|
+
readonly internalType: "address";
|
|
4578
|
+
}, {
|
|
4579
|
+
readonly name: "taker";
|
|
4580
|
+
readonly type: "address";
|
|
4581
|
+
readonly internalType: "address";
|
|
4582
|
+
}, {
|
|
4583
|
+
readonly name: "token";
|
|
4584
|
+
readonly type: "address";
|
|
4585
|
+
readonly internalType: "address";
|
|
4586
|
+
}, {
|
|
4587
|
+
readonly name: "amount";
|
|
4588
|
+
readonly type: "uint256";
|
|
4589
|
+
readonly internalType: "uint256";
|
|
4590
|
+
}, {
|
|
4591
|
+
readonly name: "paymentReference";
|
|
4592
|
+
readonly type: "string";
|
|
4593
|
+
readonly internalType: "string";
|
|
4594
|
+
}, {
|
|
4595
|
+
readonly name: "exchangePlatform";
|
|
4596
|
+
readonly type: "string";
|
|
4597
|
+
readonly internalType: "string";
|
|
4598
|
+
}, {
|
|
4599
|
+
readonly name: "status";
|
|
4600
|
+
readonly type: "uint8";
|
|
4601
|
+
readonly internalType: "enum IP2PExchange.OrderStatus";
|
|
4602
|
+
}, {
|
|
4603
|
+
readonly name: "createdAt";
|
|
4604
|
+
readonly type: "uint256";
|
|
4605
|
+
readonly internalType: "uint256";
|
|
4606
|
+
}, {
|
|
4607
|
+
readonly name: "lockedAt";
|
|
4608
|
+
readonly type: "uint256";
|
|
4609
|
+
readonly internalType: "uint256";
|
|
4610
|
+
}, {
|
|
4611
|
+
readonly name: "completedAt";
|
|
4612
|
+
readonly type: "uint256";
|
|
4613
|
+
readonly internalType: "uint256";
|
|
4614
|
+
}, {
|
|
4615
|
+
readonly name: "expiryDuration";
|
|
4616
|
+
readonly type: "uint256";
|
|
4617
|
+
readonly internalType: "uint256";
|
|
4618
|
+
}];
|
|
4619
|
+
}];
|
|
4620
|
+
readonly stateMutability: "view";
|
|
4621
|
+
}, {
|
|
4622
|
+
readonly type: "function";
|
|
4623
|
+
readonly name: "getUserOrders";
|
|
4624
|
+
readonly inputs: readonly [{
|
|
4625
|
+
readonly name: "user";
|
|
4626
|
+
readonly type: "address";
|
|
4627
|
+
readonly internalType: "address";
|
|
4628
|
+
}];
|
|
4629
|
+
readonly outputs: readonly [{
|
|
4630
|
+
readonly name: "";
|
|
4631
|
+
readonly type: "bytes32[]";
|
|
4632
|
+
readonly internalType: "bytes32[]";
|
|
4633
|
+
}];
|
|
4634
|
+
readonly stateMutability: "view";
|
|
4635
|
+
}, {
|
|
4636
|
+
readonly type: "function";
|
|
4637
|
+
readonly name: "getOpenOrders";
|
|
4638
|
+
readonly inputs: readonly [{
|
|
4639
|
+
readonly name: "limit";
|
|
4640
|
+
readonly type: "uint256";
|
|
4641
|
+
readonly internalType: "uint256";
|
|
4642
|
+
}];
|
|
4643
|
+
readonly outputs: readonly [{
|
|
4644
|
+
readonly name: "";
|
|
4645
|
+
readonly type: "bytes32[]";
|
|
4646
|
+
readonly internalType: "bytes32[]";
|
|
4647
|
+
}];
|
|
4648
|
+
readonly stateMutability: "view";
|
|
4649
|
+
}, {
|
|
4650
|
+
readonly type: "function";
|
|
4651
|
+
readonly name: "setDisputeResolver";
|
|
4652
|
+
readonly inputs: readonly [{
|
|
4653
|
+
readonly name: "resolver";
|
|
4654
|
+
readonly type: "address";
|
|
4655
|
+
readonly internalType: "address";
|
|
4656
|
+
}];
|
|
4657
|
+
readonly outputs: readonly [];
|
|
4658
|
+
readonly stateMutability: "nonpayable";
|
|
4659
|
+
}, {
|
|
4660
|
+
readonly type: "function";
|
|
4661
|
+
readonly name: "pause";
|
|
4662
|
+
readonly inputs: readonly [];
|
|
4663
|
+
readonly outputs: readonly [];
|
|
4664
|
+
readonly stateMutability: "nonpayable";
|
|
4665
|
+
}, {
|
|
4666
|
+
readonly type: "function";
|
|
4667
|
+
readonly name: "unpause";
|
|
4668
|
+
readonly inputs: readonly [];
|
|
4669
|
+
readonly outputs: readonly [];
|
|
4670
|
+
readonly stateMutability: "nonpayable";
|
|
4671
|
+
}, {
|
|
4672
|
+
readonly type: "function";
|
|
4673
|
+
readonly name: "transferOwnership";
|
|
4674
|
+
readonly inputs: readonly [{
|
|
4675
|
+
readonly name: "newOwner";
|
|
4676
|
+
readonly type: "address";
|
|
4677
|
+
readonly internalType: "address";
|
|
4678
|
+
}];
|
|
4679
|
+
readonly outputs: readonly [];
|
|
4680
|
+
readonly stateMutability: "nonpayable";
|
|
4681
|
+
}, {
|
|
4682
|
+
readonly type: "function";
|
|
4683
|
+
readonly name: "renounceOwnership";
|
|
4684
|
+
readonly inputs: readonly [];
|
|
4685
|
+
readonly outputs: readonly [];
|
|
4686
|
+
readonly stateMutability: "nonpayable";
|
|
4687
|
+
}, {
|
|
4688
|
+
readonly type: "function";
|
|
4689
|
+
readonly name: "disputeResolver";
|
|
4690
|
+
readonly inputs: readonly [];
|
|
4691
|
+
readonly outputs: readonly [{
|
|
4692
|
+
readonly name: "";
|
|
4693
|
+
readonly type: "address";
|
|
4694
|
+
readonly internalType: "address";
|
|
4695
|
+
}];
|
|
4696
|
+
readonly stateMutability: "view";
|
|
4697
|
+
}, {
|
|
4698
|
+
readonly type: "function";
|
|
4699
|
+
readonly name: "owner";
|
|
4700
|
+
readonly inputs: readonly [];
|
|
4701
|
+
readonly outputs: readonly [{
|
|
4702
|
+
readonly name: "";
|
|
4703
|
+
readonly type: "address";
|
|
4704
|
+
readonly internalType: "address";
|
|
4705
|
+
}];
|
|
4706
|
+
readonly stateMutability: "view";
|
|
4707
|
+
}, {
|
|
4708
|
+
readonly type: "function";
|
|
4709
|
+
readonly name: "paused";
|
|
4710
|
+
readonly inputs: readonly [];
|
|
4711
|
+
readonly outputs: readonly [{
|
|
4712
|
+
readonly name: "";
|
|
4713
|
+
readonly type: "bool";
|
|
4714
|
+
readonly internalType: "bool";
|
|
4715
|
+
}];
|
|
4716
|
+
readonly stateMutability: "view";
|
|
4717
|
+
}];
|
|
4718
|
+
|
|
4719
|
+
export { CHAINS, type ChainConfig, type ContractAddresses, FiatsendClient, type FiatsendClientConfig, FiatsendGatewayABI, GHSFIATABI, GatewayResource, IdentityResource, LiquidityPoolABI, LiquidityResource, MobileNumberNFTABI, P2PExchangeABI, P2PResource, PaymentRouterABI, PaymentsResource, PayoutEscrowABI, PayoutsResource, VaultControllerABI, VaultsResource, WithdrawalsABI, WithdrawalsResource, getChainConfig };
|