@imtbl/sdk 0.1.8 → 0.1.9-alpha.1

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.
@@ -0,0 +1,221 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+
4
+ function $parcel$export(e, n, v, s) {
5
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
6
+ }
7
+ // Definitions | Events
8
+ var $207ed853f11d19d5$exports = {};
9
+
10
+ $parcel$export($207ed853f11d19d5$exports, "IMTBLWidgetEvents", () => $207ed853f11d19d5$export$5a0ace85cae72d45);
11
+ var $207ed853f11d19d5$export$5a0ace85cae72d45;
12
+ (function(IMTBLWidgetEvents) {
13
+ IMTBLWidgetEvents["IMTBL_CONNECT_WIDGET_EVENT"] = "imtbl-connect-widget";
14
+ IMTBLWidgetEvents["IMTBL_WALLET_WIDGET_EVENT"] = "imtbl-wallet-widget";
15
+ IMTBLWidgetEvents["IMTBL_SWAP_WIDGET_EVENT"] = "imtbl-swap-widget";
16
+ IMTBLWidgetEvents["IMTBL_BRIDGE_WIDGET_EVENT"] = "imtbl-bridge-widget";
17
+ })($207ed853f11d19d5$export$5a0ace85cae72d45 || ($207ed853f11d19d5$export$5a0ace85cae72d45 = {}));
18
+
19
+
20
+ var $a85ecdbd885c58ad$exports = {};
21
+
22
+ $parcel$export($a85ecdbd885c58ad$exports, "ConnectEventType", () => $a85ecdbd885c58ad$export$e72e7f9969a47dd3);
23
+ var $a85ecdbd885c58ad$export$e72e7f9969a47dd3;
24
+ (function(ConnectEventType) {
25
+ ConnectEventType["CLOSE_WIDGET"] = "close-widget";
26
+ ConnectEventType["SUCCESS"] = "success";
27
+ ConnectEventType["FAILURE"] = "failure";
28
+ })($a85ecdbd885c58ad$export$e72e7f9969a47dd3 || ($a85ecdbd885c58ad$export$e72e7f9969a47dd3 = {}));
29
+
30
+
31
+ var $77b6aac5c353d4a9$exports = {};
32
+
33
+ $parcel$export($77b6aac5c353d4a9$exports, "WalletEventType", () => $77b6aac5c353d4a9$export$d9be06b70b28c742);
34
+ var $77b6aac5c353d4a9$export$d9be06b70b28c742;
35
+ (function(WalletEventType) {
36
+ WalletEventType["CLOSE_WIDGET"] = "close-widget";
37
+ WalletEventType["NETWORK_SWITCH"] = "network-switch";
38
+ WalletEventType["DISCONNECT_WALLET"] = "disconnect-wallet";
39
+ })($77b6aac5c353d4a9$export$d9be06b70b28c742 || ($77b6aac5c353d4a9$export$d9be06b70b28c742 = {}));
40
+
41
+
42
+ var $53d219e7f6bf0cd6$exports = {};
43
+
44
+ $parcel$export($53d219e7f6bf0cd6$exports, "SwapEventType", () => $53d219e7f6bf0cd6$export$140a49745ab55563);
45
+ /**
46
+ * Enum representing possible Swap Widget event types.
47
+ */ var $53d219e7f6bf0cd6$export$140a49745ab55563;
48
+ (function(SwapEventType) {
49
+ SwapEventType["CLOSE_WIDGET"] = "close-widget";
50
+ SwapEventType["SUCCESS"] = "success";
51
+ SwapEventType["FAILURE"] = "failure";
52
+ SwapEventType["REJECTED"] = "rejected";
53
+ })($53d219e7f6bf0cd6$export$140a49745ab55563 || ($53d219e7f6bf0cd6$export$140a49745ab55563 = {}));
54
+
55
+
56
+ var $15cc9e120aa6f3bf$exports = {};
57
+
58
+ $parcel$export($15cc9e120aa6f3bf$exports, "BridgeEventType", () => $15cc9e120aa6f3bf$export$d1bfa21f7c76447a);
59
+ /**
60
+ * Enum of possible Bridge Widget event types.
61
+ */ var $15cc9e120aa6f3bf$export$d1bfa21f7c76447a;
62
+ (function(BridgeEventType) {
63
+ BridgeEventType["CLOSE_WIDGET"] = "close-widget";
64
+ BridgeEventType["SUCCESS"] = "success";
65
+ BridgeEventType["FAILURE"] = "failure";
66
+ })($15cc9e120aa6f3bf$export$d1bfa21f7c76447a || ($15cc9e120aa6f3bf$export$d1bfa21f7c76447a = {}));
67
+
68
+
69
+ var $ad06b030b1a3ba34$exports = {};
70
+
71
+ $parcel$export($ad06b030b1a3ba34$exports, "OrchestrationEventType", () => $ad06b030b1a3ba34$export$b80d2daf830437b9);
72
+ var $ad06b030b1a3ba34$export$b80d2daf830437b9;
73
+ (function(OrchestrationEventType) {
74
+ OrchestrationEventType["REQUEST_CONNECT"] = "request-connect";
75
+ OrchestrationEventType["REQUEST_WALLET"] = "request-wallet";
76
+ OrchestrationEventType["REQUEST_SWAP"] = "request-swap";
77
+ OrchestrationEventType["REQUEST_BRIDGE"] = "request-bridge";
78
+ OrchestrationEventType["REQUEST_ONRAMP"] = "request-onramp";
79
+ })($ad06b030b1a3ba34$export$b80d2daf830437b9 || ($ad06b030b1a3ba34$export$b80d2daf830437b9 = {}));
80
+ /* eslint-disable @typescript-eslint/naming-convention */
81
+
82
+ var $045213b18e9f1f94$exports = {};
83
+
84
+ $parcel$export($045213b18e9f1f94$exports, "Network", () => $045213b18e9f1f94$export$95be4ae94445245a);
85
+ $parcel$export($045213b18e9f1f94$exports, "WidgetTheme", () => $045213b18e9f1f94$export$c88931fdc51854eb);
86
+ $parcel$export($045213b18e9f1f94$exports, "CheckoutWidgetTagNames", () => $045213b18e9f1f94$export$75be0f6af9650f2c);
87
+ /**
88
+ * Enum representing the networks supported by Checkout.
89
+ */ var $045213b18e9f1f94$export$95be4ae94445245a;
90
+ (function(Network) {
91
+ Network["ETHEREUM"] = "Ethereum";
92
+ Network["SEPOLIA"] = "Sepolia";
93
+ Network["IMTBL_ZKEVM_TESTNET"] = "Immutable zkEVM Testnet";
94
+ Network["IMTBL_ZKEVM_DEVNET"] = "Immutable zkEVM Devnet";
95
+ Network["POLYGON_ZKEVM_TESTNET"] = "Polygon zkEVM Testnet";
96
+ Network["POLYGON_ZKEVM"] = "Polygon zkEVM";
97
+ })($045213b18e9f1f94$export$95be4ae94445245a || ($045213b18e9f1f94$export$95be4ae94445245a = {}));
98
+ var $045213b18e9f1f94$export$c88931fdc51854eb;
99
+ (function(WidgetTheme) {
100
+ WidgetTheme["LIGHT"] = "light";
101
+ WidgetTheme["DARK"] = "dark";
102
+ WidgetTheme["CUSTOM"] = "custom";
103
+ })($045213b18e9f1f94$export$c88931fdc51854eb || ($045213b18e9f1f94$export$c88931fdc51854eb = {}));
104
+ var $045213b18e9f1f94$export$75be0f6af9650f2c;
105
+ (function(CheckoutWidgetTagNames) {
106
+ CheckoutWidgetTagNames["CONNECT"] = "imtbl-connect";
107
+ CheckoutWidgetTagNames["WALLET"] = "imtbl-wallet";
108
+ CheckoutWidgetTagNames["SWAP"] = "imtbl-swap";
109
+ CheckoutWidgetTagNames["BRIDGE"] = "imtbl-bridge";
110
+ })($045213b18e9f1f94$export$75be0f6af9650f2c || ($045213b18e9f1f94$export$75be0f6af9650f2c = {}));
111
+
112
+
113
+ var $1f969328e5988c99$exports = {};
114
+
115
+ $parcel$export($1f969328e5988c99$exports, "BridgeReact", () => $1f969328e5988c99$export$30f61ebf204c69f6);
116
+
117
+
118
+ function $1f969328e5988c99$export$30f61ebf204c69f6(props) {
119
+ const { walletProvider: walletProvider , fromContractAddress: fromContractAddress , amount: amount , fromNetwork: fromNetwork } = props;
120
+ const config = window.ImtblCheckoutWidgetConfig;
121
+ return /*#__PURE__*/ (jsx)("imtbl-bridge", {
122
+ widgetConfig: config,
123
+ walletProvider: walletProvider,
124
+ fromContractAddress: fromContractAddress ?? "",
125
+ fromNetwork: fromNetwork ?? "",
126
+ amount: amount ?? ""
127
+ });
128
+ }
129
+
130
+
131
+ var $f2083cd30e2f5c56$exports = {};
132
+
133
+ $parcel$export($f2083cd30e2f5c56$exports, "ConnectReact", () => $f2083cd30e2f5c56$export$49d62957f420a1e2);
134
+
135
+
136
+ function $f2083cd30e2f5c56$export$49d62957f420a1e2(props) {
137
+ const { walletProvider: walletProvider } = props;
138
+ const config = window.ImtblCheckoutWidgetConfig;
139
+ return /*#__PURE__*/ (jsx)("imtbl-connect", {
140
+ widgetConfig: config,
141
+ walletProvider: walletProvider
142
+ });
143
+ }
144
+
145
+
146
+ var $a4fbb8e3a6aeff58$exports = {};
147
+
148
+ $parcel$export($a4fbb8e3a6aeff58$exports, "SwapReact", () => $a4fbb8e3a6aeff58$export$971e031379577f4);
149
+ /* eslint-disable max-len */
150
+
151
+ function $a4fbb8e3a6aeff58$export$971e031379577f4(props) {
152
+ const { walletProvider: walletProvider , fromContractAddress: fromContractAddress , amount: amount , toContractAddress: toContractAddress } = props;
153
+ const config = window.ImtblCheckoutWidgetConfig;
154
+ return /*#__PURE__*/ (jsx)("imtbl-swap", {
155
+ widgetConfig: config,
156
+ walletProvider: walletProvider,
157
+ fromContractAddress: fromContractAddress ?? "",
158
+ toContractAddress: toContractAddress ?? "",
159
+ amount: amount ?? ""
160
+ });
161
+ }
162
+
163
+
164
+ var $89d55ace0f8f1c07$exports = {};
165
+
166
+ $parcel$export($89d55ace0f8f1c07$exports, "WalletReact", () => $89d55ace0f8f1c07$export$ceaac94f34dba154);
167
+
168
+
169
+ function $89d55ace0f8f1c07$export$ceaac94f34dba154(props) {
170
+ const { walletProvider: walletProvider } = props;
171
+ const config = window.ImtblCheckoutWidgetConfig;
172
+ return /*#__PURE__*/ (jsx)("imtbl-wallet", {
173
+ widgetConfig: config,
174
+ walletProvider: walletProvider
175
+ });
176
+ }
177
+
178
+
179
+ var $430e3eda76fa4d5f$exports = {};
180
+
181
+ $parcel$export($430e3eda76fa4d5f$exports, "CheckoutWidgets", () => $430e3eda76fa4d5f$export$af210a0808087845);
182
+ $parcel$export($430e3eda76fa4d5f$exports, "UpdateConfig", () => $430e3eda76fa4d5f$export$bf1548ba7e61c17f);
183
+ $parcel$export($430e3eda76fa4d5f$exports, "SetProvider", () => $430e3eda76fa4d5f$export$931068bc678f0d73);
184
+ function $430e3eda76fa4d5f$export$af210a0808087845(config) {
185
+ const checkoutWidgetJS = document.createElement("script");
186
+ checkoutWidgetJS.setAttribute("src", "http://localhost:3000/lib/js/imtbl-checkout.js");
187
+ document.head.appendChild(checkoutWidgetJS);
188
+ window.ImtblCheckoutWidgetConfig = JSON.stringify(config);
189
+ }
190
+ function $430e3eda76fa4d5f$export$bf1548ba7e61c17f(config) {
191
+ window.ImtblCheckoutWidgetConfig = JSON.stringify(config);
192
+ }
193
+ function $430e3eda76fa4d5f$export$931068bc678f0d73(tagName, provider) {
194
+ if (!provider) {
195
+ // eslint-disable-next-line no-console
196
+ console.error("no provider parsed");
197
+ return;
198
+ }
199
+ let attempts = 0;
200
+ const maxAttempts = 10;
201
+ let timer;
202
+ const attemptToSetProvider = ()=>{
203
+ try {
204
+ const elements = document.getElementsByTagName(tagName);
205
+ const widget = elements[0];
206
+ widget.setProvider(provider);
207
+ window.clearInterval(timer);
208
+ } catch (err) {
209
+ attempts++;
210
+ if (attempts >= maxAttempts) {
211
+ window.clearInterval(timer);
212
+ // eslint-disable-next-line no-console
213
+ console.error("failed to set the provider");
214
+ }
215
+ }
216
+ };
217
+ timer = window.setInterval(attemptToSetProvider, 10);
218
+ attemptToSetProvider();
219
+ }
220
+
221
+ export { $15cc9e120aa6f3bf$export$d1bfa21f7c76447a as BridgeEventType, $1f969328e5988c99$export$30f61ebf204c69f6 as BridgeReact, $045213b18e9f1f94$export$75be0f6af9650f2c as CheckoutWidgetTagNames, $430e3eda76fa4d5f$export$af210a0808087845 as CheckoutWidgets, $a85ecdbd885c58ad$export$e72e7f9969a47dd3 as ConnectEventType, $f2083cd30e2f5c56$export$49d62957f420a1e2 as ConnectReact, $207ed853f11d19d5$export$5a0ace85cae72d45 as IMTBLWidgetEvents, $045213b18e9f1f94$export$95be4ae94445245a as Network, $ad06b030b1a3ba34$export$b80d2daf830437b9 as OrchestrationEventType, $430e3eda76fa4d5f$export$931068bc678f0d73 as SetProvider, $53d219e7f6bf0cd6$export$140a49745ab55563 as SwapEventType, $a4fbb8e3a6aeff58$export$971e031379577f4 as SwapReact, $430e3eda76fa4d5f$export$bf1548ba7e61c17f as UpdateConfig, $77b6aac5c353d4a9$export$d9be06b70b28c742 as WalletEventType, $89d55ace0f8f1c07$export$ceaac94f34dba154 as WalletReact, $045213b18e9f1f94$export$c88931fdc51854eb as WidgetTheme };
@@ -0,0 +1,296 @@
1
+ declare type Bytes = ArrayLike<number>;
2
+ declare type BytesLike = Bytes | string;
3
+ interface Hexable {
4
+ toHexString(): string;
5
+ }
6
+
7
+ declare type BigNumberish = BigNumber | Bytes | bigint | string | number;
8
+ declare class BigNumber implements Hexable {
9
+ readonly _hex: string;
10
+ readonly _isBigNumber: boolean;
11
+ constructor(constructorGuard: any, hex: string);
12
+ fromTwos(value: number): BigNumber;
13
+ toTwos(value: number): BigNumber;
14
+ abs(): BigNumber;
15
+ add(other: BigNumberish): BigNumber;
16
+ sub(other: BigNumberish): BigNumber;
17
+ div(other: BigNumberish): BigNumber;
18
+ mul(other: BigNumberish): BigNumber;
19
+ mod(other: BigNumberish): BigNumber;
20
+ pow(other: BigNumberish): BigNumber;
21
+ and(other: BigNumberish): BigNumber;
22
+ or(other: BigNumberish): BigNumber;
23
+ xor(other: BigNumberish): BigNumber;
24
+ mask(value: number): BigNumber;
25
+ shl(value: number): BigNumber;
26
+ shr(value: number): BigNumber;
27
+ eq(other: BigNumberish): boolean;
28
+ lt(other: BigNumberish): boolean;
29
+ lte(other: BigNumberish): boolean;
30
+ gt(other: BigNumberish): boolean;
31
+ gte(other: BigNumberish): boolean;
32
+ isNegative(): boolean;
33
+ isZero(): boolean;
34
+ toNumber(): number;
35
+ toBigInt(): bigint;
36
+ toString(): string;
37
+ toHexString(): string;
38
+ toJSON(key?: string): any;
39
+ static from(value: any): BigNumber;
40
+ static isBigNumber(value: any): value is BigNumber;
41
+ }
42
+
43
+ declare type Deferrable<T> = {
44
+ [K in keyof T]: T[K] | Promise<T[K]>;
45
+ };
46
+ declare class Description<T = any> {
47
+ constructor(info: {
48
+ [K in keyof T]: T[K];
49
+ });
50
+ }
51
+
52
+ declare type Network = {
53
+ name: string;
54
+ chainId: number;
55
+ ensAddress?: string;
56
+ _defaultProvider?: (providers: any, options?: any) => any;
57
+ };
58
+
59
+ declare type AccessList = Array<{
60
+ address: string;
61
+ storageKeys: Array<string>;
62
+ }>;
63
+ declare type AccessListish = AccessList | Array<[string, Array<string>]> | Record<string, Array<string>>;
64
+ interface Transaction {
65
+ hash?: string;
66
+ to?: string;
67
+ from?: string;
68
+ nonce: number;
69
+ gasLimit: BigNumber;
70
+ gasPrice?: BigNumber;
71
+ data: string;
72
+ value: BigNumber;
73
+ chainId: number;
74
+ r?: string;
75
+ s?: string;
76
+ v?: number;
77
+ type?: number | null;
78
+ accessList?: AccessList;
79
+ maxPriorityFeePerGas?: BigNumber;
80
+ maxFeePerGas?: BigNumber;
81
+ }
82
+
83
+ interface OnceBlockable {
84
+ once(eventName: "block", handler: () => void): void;
85
+ }
86
+
87
+ declare type TransactionRequest = {
88
+ to?: string;
89
+ from?: string;
90
+ nonce?: BigNumberish;
91
+ gasLimit?: BigNumberish;
92
+ gasPrice?: BigNumberish;
93
+ data?: BytesLike;
94
+ value?: BigNumberish;
95
+ chainId?: number;
96
+ type?: number;
97
+ accessList?: AccessListish;
98
+ maxPriorityFeePerGas?: BigNumberish;
99
+ maxFeePerGas?: BigNumberish;
100
+ customData?: Record<string, any>;
101
+ ccipReadEnabled?: boolean;
102
+ };
103
+ interface TransactionResponse extends Transaction {
104
+ hash: string;
105
+ blockNumber?: number;
106
+ blockHash?: string;
107
+ timestamp?: number;
108
+ confirmations: number;
109
+ from: string;
110
+ raw?: string;
111
+ wait: (confirmations?: number) => Promise<TransactionReceipt>;
112
+ }
113
+ declare type BlockTag = string | number;
114
+ interface _Block {
115
+ hash: string;
116
+ parentHash: string;
117
+ number: number;
118
+ timestamp: number;
119
+ nonce: string;
120
+ difficulty: number;
121
+ _difficulty: BigNumber;
122
+ gasLimit: BigNumber;
123
+ gasUsed: BigNumber;
124
+ miner: string;
125
+ extraData: string;
126
+ baseFeePerGas?: null | BigNumber;
127
+ }
128
+ interface Block extends _Block {
129
+ transactions: Array<string>;
130
+ }
131
+ interface BlockWithTransactions extends _Block {
132
+ transactions: Array<TransactionResponse>;
133
+ }
134
+ interface Log {
135
+ blockNumber: number;
136
+ blockHash: string;
137
+ transactionIndex: number;
138
+ removed: boolean;
139
+ address: string;
140
+ data: string;
141
+ topics: Array<string>;
142
+ transactionHash: string;
143
+ logIndex: number;
144
+ }
145
+ interface TransactionReceipt {
146
+ to: string;
147
+ from: string;
148
+ contractAddress: string;
149
+ transactionIndex: number;
150
+ root?: string;
151
+ gasUsed: BigNumber;
152
+ logsBloom: string;
153
+ blockHash: string;
154
+ transactionHash: string;
155
+ logs: Array<Log>;
156
+ blockNumber: number;
157
+ confirmations: number;
158
+ cumulativeGasUsed: BigNumber;
159
+ effectiveGasPrice: BigNumber;
160
+ byzantium: boolean;
161
+ type: number;
162
+ status?: number;
163
+ }
164
+ interface FeeData {
165
+ lastBaseFeePerGas: null | BigNumber;
166
+ maxFeePerGas: null | BigNumber;
167
+ maxPriorityFeePerGas: null | BigNumber;
168
+ gasPrice: null | BigNumber;
169
+ }
170
+ interface EventFilter {
171
+ address?: string;
172
+ topics?: Array<string | Array<string> | null>;
173
+ }
174
+ interface Filter extends EventFilter {
175
+ fromBlock?: BlockTag;
176
+ toBlock?: BlockTag;
177
+ }
178
+ declare abstract class ForkEvent extends Description {
179
+ readonly expiry: number;
180
+ readonly _isForkEvent?: boolean;
181
+ static isForkEvent(value: any): value is ForkEvent;
182
+ }
183
+ declare type EventType = string | Array<string | Array<string>> | EventFilter | ForkEvent;
184
+ declare type Listener = (...args: Array<any>) => void;
185
+ declare abstract class Provider implements OnceBlockable {
186
+ abstract getNetwork(): Promise<Network>;
187
+ abstract getBlockNumber(): Promise<number>;
188
+ abstract getGasPrice(): Promise<BigNumber>;
189
+ getFeeData(): Promise<FeeData>;
190
+ abstract getBalance(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<BigNumber>;
191
+ abstract getTransactionCount(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<number>;
192
+ abstract getCode(addressOrName: string | Promise<string>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
193
+ abstract getStorageAt(addressOrName: string | Promise<string>, position: BigNumberish | Promise<BigNumberish>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
194
+ abstract sendTransaction(signedTransaction: string | Promise<string>): Promise<TransactionResponse>;
195
+ abstract call(transaction: Deferrable<TransactionRequest>, blockTag?: BlockTag | Promise<BlockTag>): Promise<string>;
196
+ abstract estimateGas(transaction: Deferrable<TransactionRequest>): Promise<BigNumber>;
197
+ abstract getBlock(blockHashOrBlockTag: BlockTag | string | Promise<BlockTag | string>): Promise<Block>;
198
+ abstract getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise<BlockTag | string>): Promise<BlockWithTransactions>;
199
+ abstract getTransaction(transactionHash: string): Promise<TransactionResponse>;
200
+ abstract getTransactionReceipt(transactionHash: string): Promise<TransactionReceipt>;
201
+ abstract getLogs(filter: Filter): Promise<Array<Log>>;
202
+ abstract resolveName(name: string | Promise<string>): Promise<null | string>;
203
+ abstract lookupAddress(address: string | Promise<string>): Promise<null | string>;
204
+ abstract on(eventName: EventType, listener: Listener): Provider;
205
+ abstract once(eventName: EventType, listener: Listener): Provider;
206
+ abstract emit(eventName: EventType, ...args: Array<any>): boolean;
207
+ abstract listenerCount(eventName?: EventType): number;
208
+ abstract listeners(eventName?: EventType): Array<Listener>;
209
+ abstract off(eventName: EventType, listener?: Listener): Provider;
210
+ abstract removeAllListeners(eventName?: EventType): Provider;
211
+ addListener(eventName: EventType, listener: Listener): Provider;
212
+ removeListener(eventName: EventType, listener: Listener): Provider;
213
+ abstract waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise<TransactionReceipt>;
214
+ readonly _isProvider: boolean;
215
+ constructor();
216
+ static isProvider(value: any): value is Provider;
217
+ }
218
+
219
+ interface Overrides {
220
+ gasLimit?: BigNumberish | Promise<BigNumberish>;
221
+ gasPrice?: BigNumberish | Promise<BigNumberish>;
222
+ maxFeePerGas?: BigNumberish | Promise<BigNumberish>;
223
+ maxPriorityFeePerGas?: BigNumberish | Promise<BigNumberish>;
224
+ nonce?: BigNumberish | Promise<BigNumberish>;
225
+ type?: number;
226
+ accessList?: AccessListish;
227
+ customData?: Record<string, any>;
228
+ ccipReadEnabled?: boolean;
229
+ }
230
+ interface PayableOverrides extends Overrides {
231
+ value?: BigNumberish | Promise<BigNumberish>;
232
+ }
233
+ interface CallOverrides extends PayableOverrides {
234
+ blockTag?: BlockTag | Promise<BlockTag>;
235
+ from?: string | Promise<string>;
236
+ }
237
+ interface PopulatedTransaction {
238
+ to?: string;
239
+ from?: string;
240
+ nonce?: number;
241
+ gasLimit?: BigNumber;
242
+ gasPrice?: BigNumber;
243
+ data?: string;
244
+ value?: BigNumber;
245
+ chainId?: number;
246
+ type?: number;
247
+ accessList?: AccessList;
248
+ maxFeePerGas?: BigNumber;
249
+ maxPriorityFeePerGas?: BigNumber;
250
+ customData?: Record<string, any>;
251
+ ccipReadEnabled?: boolean;
252
+ }
253
+
254
+ /* Autogenerated file. Do not edit manually. */
255
+ /* tslint:disable */
256
+ /* eslint-disable */
257
+
258
+
259
+ type PromiseOrValue<T> = T | Promise<T>;
260
+
261
+ declare class ERC20 {
262
+ private readonly contract;
263
+ constructor(contractAddress: string);
264
+ /**
265
+ * @returns a promise that resolves with a BigNumber that represents the amount of tokens in existence
266
+ */
267
+ totalSupply(provider: Provider, overrides?: CallOverrides): Promise<BigNumber>;
268
+ /**
269
+ * @returns a promise that resolves with a BigNumber that represents the amount of tokens owned by account
270
+ */
271
+ balanceOf(provider: Provider, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
272
+ /**
273
+ * @returns a promise that resolves with a BigNumber that represents the remaining number of tokens that spender will be allowed to spend on behalf of owner through transferFrom
274
+ */
275
+ allowance(provider: Provider, owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
276
+ /**
277
+ * @returns a promise that resolves with a populated transaction
278
+ */
279
+ populateTransfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
280
+ from?: PromiseOrValue<string>;
281
+ }): Promise<PopulatedTransaction>;
282
+ /**
283
+ * @returns a promise that resolves with a populated transaction
284
+ */
285
+ populateApprove(spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
286
+ from?: PromiseOrValue<string>;
287
+ }): Promise<PopulatedTransaction>;
288
+ /**
289
+ * @returns a promise that resolves with a populated transaction
290
+ */
291
+ populateTransferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
292
+ from?: PromiseOrValue<string>;
293
+ }): Promise<PopulatedTransaction>;
294
+ }
295
+
296
+ export { ERC20 };