@speculite/clob-client 0.1.3 → 0.1.4
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/README.md +13 -0
- package/dist/client/lifecycleClient.d.ts +13 -1
- package/dist/client/lifecycleClient.js +126 -16
- package/dist/client/lifecycleClient.js.map +1 -1
- package/dist/internal/constants.d.ts +49 -1
- package/dist/internal/constants.js +33 -2
- package/dist/internal/constants.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -76,6 +76,7 @@ console.log(order.order_id, order.lifecycle_status);
|
|
|
76
76
|
- `prepareMergeTx({ marketId, pairs, holder })`
|
|
77
77
|
- `prepareClaimTx({ marketId })`
|
|
78
78
|
- `prepareResolveTx({ marketId, pythAddress, rpcUrl? })`
|
|
79
|
+
- `getMintFundingStatus({ marketId, amount, account?, rpcUrl? })`
|
|
79
80
|
- `sendPreparedTransaction(tx, account?)`
|
|
80
81
|
- `approveUsdc(...)`
|
|
81
82
|
- `mintTokens(...)`
|
|
@@ -129,6 +130,18 @@ const client = new SpeculiteClobClient(
|
|
|
129
130
|
}
|
|
130
131
|
);
|
|
131
132
|
|
|
133
|
+
const funding = await client.getMintFundingStatus({
|
|
134
|
+
marketId: 'MARKET_UUID',
|
|
135
|
+
amount: '25'
|
|
136
|
+
});
|
|
137
|
+
if (!funding.hasSufficientAllowance) {
|
|
138
|
+
await client.approveUsdc({
|
|
139
|
+
spender: funding.exchangeAddress,
|
|
140
|
+
usdcAddress: funding.usdcAddress,
|
|
141
|
+
amount: '25'
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
132
145
|
const mint = await client.mintTokens({
|
|
133
146
|
marketId: 'MARKET_UUID',
|
|
134
147
|
amount: '25'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Hex } from 'viem';
|
|
2
|
-
import type { OnchainExecutionResult, OnchainExecutionAccount, PrepareApproveUsdcArgs, PrepareClaimArgs, PrepareMergeArgs, PrepareMintArgs, PrepareResolveArgs, PreparedOnchainTransaction, PreparedResolveTransaction } from '../types.js';
|
|
2
|
+
import type { MintFundingStatus, MintFundingStatusArgs, OnchainExecutionResult, OnchainExecutionAccount, PrepareApproveUsdcArgs, PrepareClaimArgs, PrepareMergeArgs, PrepareMintArgs, PrepareResolveArgs, PreparedOnchainTransaction, PreparedResolveTransaction } from '../types.js';
|
|
3
3
|
import { TradingClient } from './tradingClient.js';
|
|
4
4
|
/**
|
|
5
5
|
* Wallet-native lifecycle helpers.
|
|
@@ -8,6 +8,10 @@ import { TradingClient } from './tradingClient.js';
|
|
|
8
8
|
* action methods (`mintTokens`, `claimWinnings`, ...) prepare + send in one call.
|
|
9
9
|
*/
|
|
10
10
|
export declare class LifecycleClient extends TradingClient {
|
|
11
|
+
private buildMintTx;
|
|
12
|
+
private executionAccountAddress;
|
|
13
|
+
private mintFundingHint;
|
|
14
|
+
private shouldRunMintFundingDiagnostics;
|
|
11
15
|
/** Prepares ERC20 approve tx (typically USDC -> exchange). */
|
|
12
16
|
prepareApproveUsdcTx(args: PrepareApproveUsdcArgs): Promise<PreparedOnchainTransaction>;
|
|
13
17
|
/** Prepares mint tx for paired YES/NO tokens. */
|
|
@@ -23,6 +27,13 @@ export declare class LifecycleClient extends TradingClient {
|
|
|
23
27
|
* - returns payable tx payload
|
|
24
28
|
*/
|
|
25
29
|
prepareResolveTx(args: PrepareResolveArgs): Promise<PreparedResolveTransaction>;
|
|
30
|
+
/**
|
|
31
|
+
* Reads USDC allowance/balance required for `mint`.
|
|
32
|
+
*
|
|
33
|
+
* This is useful before `mintTokens` and also used internally
|
|
34
|
+
* to diagnose underflow-style reverts from ERC20 `transferFrom`.
|
|
35
|
+
*/
|
|
36
|
+
getMintFundingStatus(args: MintFundingStatusArgs): Promise<MintFundingStatus>;
|
|
26
37
|
/** Sends a prepared transaction via configured wallet client. */
|
|
27
38
|
sendPreparedTransaction(tx: PreparedOnchainTransaction, account?: OnchainExecutionAccount): Promise<Hex>;
|
|
28
39
|
/** Prepares + sends approve tx. */
|
|
@@ -32,6 +43,7 @@ export declare class LifecycleClient extends TradingClient {
|
|
|
32
43
|
/** Prepares + sends mint tx. */
|
|
33
44
|
mintTokens(args: PrepareMintArgs & {
|
|
34
45
|
account?: OnchainExecutionAccount;
|
|
46
|
+
rpcUrl?: string;
|
|
35
47
|
}): Promise<OnchainExecutionResult<PreparedOnchainTransaction>>;
|
|
36
48
|
/** Prepares + sends merge tx. */
|
|
37
49
|
mergeTokens(args: PrepareMergeArgs & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { encodeFunctionData, parseUnits } from 'viem';
|
|
2
|
-
import { ERC20_ABI, EXCHANGE_CLAIM_ABI, EXCHANGE_MERGE_ABI, EXCHANGE_MINT_ABI, EXCHANGE_RESOLVE_ABI, MIN_UPDATE_FEE_BUFFER_WEI, PYTH_ABI, } from '../internal/constants.js';
|
|
1
|
+
import { encodeFunctionData, formatUnits, parseUnits } from 'viem';
|
|
2
|
+
import { ERC20_ABI, EXCHANGE_CLAIM_ABI, EXCHANGE_MARKET_USDC_ABI, EXCHANGE_MERGE_ABI, EXCHANGE_MINT_ABI, EXCHANGE_RESOLVE_ABI, MIN_UPDATE_FEE_BUFFER_WEI, PYTH_ABI, } from '../internal/constants.js';
|
|
3
3
|
import { normalizeAddress, toPositiveDecimalString } from '../internal/utils.js';
|
|
4
4
|
import { TradingClient } from './tradingClient.js';
|
|
5
5
|
/**
|
|
@@ -9,6 +9,46 @@ import { TradingClient } from './tradingClient.js';
|
|
|
9
9
|
* action methods (`mintTokens`, `claimWinnings`, ...) prepare + send in one call.
|
|
10
10
|
*/
|
|
11
11
|
export class LifecycleClient extends TradingClient {
|
|
12
|
+
buildMintTx(marketIdOnchain, exchangeAddress, amount) {
|
|
13
|
+
const data = encodeFunctionData({
|
|
14
|
+
abi: EXCHANGE_MINT_ABI,
|
|
15
|
+
functionName: 'mint',
|
|
16
|
+
args: [BigInt(marketIdOnchain), amount]
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
to: exchangeAddress,
|
|
20
|
+
data,
|
|
21
|
+
chainId: this.chainId,
|
|
22
|
+
kind: 'mint'
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
executionAccountAddress(account) {
|
|
26
|
+
return normalizeAddress(typeof account === 'string' ? account : account.address, 'account');
|
|
27
|
+
}
|
|
28
|
+
mintFundingHint(status) {
|
|
29
|
+
const required = formatUnits(status.requiredAmount, 6);
|
|
30
|
+
const allowance = formatUnits(status.allowance, 6);
|
|
31
|
+
const balance = formatUnits(status.balance, 6);
|
|
32
|
+
const failures = [];
|
|
33
|
+
if (!status.hasSufficientAllowance) {
|
|
34
|
+
failures.push(`allowance ${allowance} < required ${required}`);
|
|
35
|
+
}
|
|
36
|
+
if (!status.hasSufficientBalance) {
|
|
37
|
+
failures.push(`balance ${balance} < required ${required}`);
|
|
38
|
+
}
|
|
39
|
+
const verdict = failures.length > 0
|
|
40
|
+
? failures.join('; ')
|
|
41
|
+
: 'allowance and balance checks passed';
|
|
42
|
+
return `Mint funding check: ${verdict}. owner=${status.owner} spender=${status.exchangeAddress} usdc=${status.usdcAddress} required=${required} allowance=${allowance} balance=${balance}.`;
|
|
43
|
+
}
|
|
44
|
+
shouldRunMintFundingDiagnostics(error) {
|
|
45
|
+
const message = String(error instanceof Error ? error.message : error).toLowerCase();
|
|
46
|
+
return (message.includes('underflow or overflow') ||
|
|
47
|
+
message.includes('0x11') ||
|
|
48
|
+
message.includes('usdc_transfer_failed') ||
|
|
49
|
+
message.includes('insufficient allowance') ||
|
|
50
|
+
message.includes('insufficient balance'));
|
|
51
|
+
}
|
|
12
52
|
/** Prepares ERC20 approve tx (typically USDC -> exchange). */
|
|
13
53
|
async prepareApproveUsdcTx(args) {
|
|
14
54
|
const spender = normalizeAddress(args.spender, 'spender');
|
|
@@ -30,17 +70,7 @@ export class LifecycleClient extends TradingClient {
|
|
|
30
70
|
async prepareMintTx(args) {
|
|
31
71
|
const market = await this.resolveOnchainMarketInfo(args.marketId, args.market);
|
|
32
72
|
const amount = parseUnits(toPositiveDecimalString(args.amount, 'amount'), 6);
|
|
33
|
-
|
|
34
|
-
abi: EXCHANGE_MINT_ABI,
|
|
35
|
-
functionName: 'mint',
|
|
36
|
-
args: [BigInt(market.marketIdOnchain), amount]
|
|
37
|
-
});
|
|
38
|
-
return {
|
|
39
|
-
to: market.exchangeAddress,
|
|
40
|
-
data,
|
|
41
|
-
chainId: this.chainId,
|
|
42
|
-
kind: 'mint'
|
|
43
|
-
};
|
|
73
|
+
return this.buildMintTx(market.marketIdOnchain, market.exchangeAddress, amount);
|
|
44
74
|
}
|
|
45
75
|
/** Prepares merge tx to redeem paired tokens back to USDC. */
|
|
46
76
|
async prepareMergeTx(args) {
|
|
@@ -117,6 +147,50 @@ export class LifecycleClient extends TradingClient {
|
|
|
117
147
|
marketIdOnchain: market.marketIdOnchain
|
|
118
148
|
};
|
|
119
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Reads USDC allowance/balance required for `mint`.
|
|
152
|
+
*
|
|
153
|
+
* This is useful before `mintTokens` and also used internally
|
|
154
|
+
* to diagnose underflow-style reverts from ERC20 `transferFrom`.
|
|
155
|
+
*/
|
|
156
|
+
async getMintFundingStatus(args) {
|
|
157
|
+
const market = await this.resolveOnchainMarketInfo(args.marketId, args.market);
|
|
158
|
+
const requiredAmount = parseUnits(toPositiveDecimalString(args.amount, 'amount'), 6);
|
|
159
|
+
const walletClient = this.requireWalletClient();
|
|
160
|
+
const executionAccount = await this.resolveWalletAccount(walletClient, args.account);
|
|
161
|
+
const owner = this.executionAccountAddress(executionAccount);
|
|
162
|
+
const publicClient = this.resolvePublicClient(args.rpcUrl);
|
|
163
|
+
const usdcAddress = normalizeAddress(await publicClient.readContract({
|
|
164
|
+
address: market.exchangeAddress,
|
|
165
|
+
abi: EXCHANGE_MARKET_USDC_ABI,
|
|
166
|
+
functionName: 'getMarketUSDC',
|
|
167
|
+
args: [BigInt(market.marketIdOnchain)]
|
|
168
|
+
}), 'market.usdcAddress');
|
|
169
|
+
const [allowance, balance] = await Promise.all([
|
|
170
|
+
publicClient.readContract({
|
|
171
|
+
address: usdcAddress,
|
|
172
|
+
abi: ERC20_ABI,
|
|
173
|
+
functionName: 'allowance',
|
|
174
|
+
args: [owner, market.exchangeAddress]
|
|
175
|
+
}),
|
|
176
|
+
publicClient.readContract({
|
|
177
|
+
address: usdcAddress,
|
|
178
|
+
abi: ERC20_ABI,
|
|
179
|
+
functionName: 'balanceOf',
|
|
180
|
+
args: [owner]
|
|
181
|
+
})
|
|
182
|
+
]);
|
|
183
|
+
return {
|
|
184
|
+
owner,
|
|
185
|
+
exchangeAddress: market.exchangeAddress,
|
|
186
|
+
usdcAddress,
|
|
187
|
+
requiredAmount,
|
|
188
|
+
allowance,
|
|
189
|
+
balance,
|
|
190
|
+
hasSufficientAllowance: allowance >= requiredAmount,
|
|
191
|
+
hasSufficientBalance: balance >= requiredAmount
|
|
192
|
+
};
|
|
193
|
+
}
|
|
120
194
|
/** Sends a prepared transaction via configured wallet client. */
|
|
121
195
|
async sendPreparedTransaction(tx, account) {
|
|
122
196
|
const walletClient = this.requireWalletClient();
|
|
@@ -137,9 +211,45 @@ export class LifecycleClient extends TradingClient {
|
|
|
137
211
|
}
|
|
138
212
|
/** Prepares + sends mint tx. */
|
|
139
213
|
async mintTokens(args) {
|
|
140
|
-
const
|
|
141
|
-
const
|
|
142
|
-
|
|
214
|
+
const market = await this.resolveOnchainMarketInfo(args.marketId, args.market);
|
|
215
|
+
const amount = parseUnits(toPositiveDecimalString(args.amount, 'amount'), 6);
|
|
216
|
+
const tx = this.buildMintTx(market.marketIdOnchain, market.exchangeAddress, amount);
|
|
217
|
+
const walletClient = this.requireWalletClient();
|
|
218
|
+
const executionAccount = await this.resolveWalletAccount(walletClient, args.account);
|
|
219
|
+
try {
|
|
220
|
+
const hash = await walletClient.sendTransaction({
|
|
221
|
+
account: executionAccount,
|
|
222
|
+
to: tx.to,
|
|
223
|
+
data: tx.data,
|
|
224
|
+
value: tx.value || 0n,
|
|
225
|
+
chain: walletClient.chain ?? null
|
|
226
|
+
});
|
|
227
|
+
return { hash, tx };
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
if (!this.shouldRunMintFundingDiagnostics(error)) {
|
|
231
|
+
throw error;
|
|
232
|
+
}
|
|
233
|
+
try {
|
|
234
|
+
const funding = await this.getMintFundingStatus({
|
|
235
|
+
...args,
|
|
236
|
+
market,
|
|
237
|
+
account: executionAccount
|
|
238
|
+
});
|
|
239
|
+
const base = error instanceof Error ? error.message : String(error);
|
|
240
|
+
throw new Error(`${base}\n${this.mintFundingHint(funding)}`);
|
|
241
|
+
}
|
|
242
|
+
catch (diagnosticError) {
|
|
243
|
+
if (diagnosticError instanceof Error && diagnosticError.message.includes('Mint funding check:')) {
|
|
244
|
+
throw diagnosticError;
|
|
245
|
+
}
|
|
246
|
+
const base = error instanceof Error ? error.message : String(error);
|
|
247
|
+
const diagnosticMessage = diagnosticError instanceof Error
|
|
248
|
+
? diagnosticError.message
|
|
249
|
+
: String(diagnosticError);
|
|
250
|
+
throw new Error(`${base}\nMint funding check unavailable: ${diagnosticMessage}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
143
253
|
}
|
|
144
254
|
/** Prepares + sends merge tx. */
|
|
145
255
|
async mergeTokens(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycleClient.js","sourceRoot":"","sources":["../../src/client/lifecycleClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAA0B,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycleClient.js","sourceRoot":"","sources":["../../src/client/lifecycleClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare const SCALE = 1000000;
|
|
|
36
36
|
export declare const MIN_UPDATE_FEE_BUFFER_WEI = 1000n;
|
|
37
37
|
/** Default Hermes endpoint used to fetch Pyth update payloads. */
|
|
38
38
|
export declare const DEFAULT_PYTH_PRICE_SERVICE_URL = "https://hermes.pyth.network";
|
|
39
|
-
/** ERC20 ABI subset needed for USDC approvals. */
|
|
39
|
+
/** ERC20 ABI subset needed for USDC approvals and funding checks. */
|
|
40
40
|
export declare const ERC20_ABI: readonly [{
|
|
41
41
|
readonly inputs: readonly [{
|
|
42
42
|
readonly internalType: "address";
|
|
@@ -55,6 +55,54 @@ export declare const ERC20_ABI: readonly [{
|
|
|
55
55
|
}];
|
|
56
56
|
readonly stateMutability: "nonpayable";
|
|
57
57
|
readonly type: "function";
|
|
58
|
+
}, {
|
|
59
|
+
readonly inputs: readonly [{
|
|
60
|
+
readonly internalType: "address";
|
|
61
|
+
readonly name: "owner";
|
|
62
|
+
readonly type: "address";
|
|
63
|
+
}, {
|
|
64
|
+
readonly internalType: "address";
|
|
65
|
+
readonly name: "spender";
|
|
66
|
+
readonly type: "address";
|
|
67
|
+
}];
|
|
68
|
+
readonly name: "allowance";
|
|
69
|
+
readonly outputs: readonly [{
|
|
70
|
+
readonly internalType: "uint256";
|
|
71
|
+
readonly name: "";
|
|
72
|
+
readonly type: "uint256";
|
|
73
|
+
}];
|
|
74
|
+
readonly stateMutability: "view";
|
|
75
|
+
readonly type: "function";
|
|
76
|
+
}, {
|
|
77
|
+
readonly inputs: readonly [{
|
|
78
|
+
readonly internalType: "address";
|
|
79
|
+
readonly name: "account";
|
|
80
|
+
readonly type: "address";
|
|
81
|
+
}];
|
|
82
|
+
readonly name: "balanceOf";
|
|
83
|
+
readonly outputs: readonly [{
|
|
84
|
+
readonly internalType: "uint256";
|
|
85
|
+
readonly name: "";
|
|
86
|
+
readonly type: "uint256";
|
|
87
|
+
}];
|
|
88
|
+
readonly stateMutability: "view";
|
|
89
|
+
readonly type: "function";
|
|
90
|
+
}];
|
|
91
|
+
/** Exchange ABI subset needed to discover the market's USDC token. */
|
|
92
|
+
export declare const EXCHANGE_MARKET_USDC_ABI: readonly [{
|
|
93
|
+
readonly inputs: readonly [{
|
|
94
|
+
readonly internalType: "uint256";
|
|
95
|
+
readonly name: "marketId";
|
|
96
|
+
readonly type: "uint256";
|
|
97
|
+
}];
|
|
98
|
+
readonly name: "getMarketUSDC";
|
|
99
|
+
readonly outputs: readonly [{
|
|
100
|
+
readonly internalType: "address";
|
|
101
|
+
readonly name: "";
|
|
102
|
+
readonly type: "address";
|
|
103
|
+
}];
|
|
104
|
+
readonly stateMutability: "view";
|
|
105
|
+
readonly type: "function";
|
|
58
106
|
}];
|
|
59
107
|
/** Exchange ABI subset needed to mint paired outcome tokens. */
|
|
60
108
|
export declare const EXCHANGE_MINT_ABI: readonly [{
|
|
@@ -19,8 +19,9 @@ export const SCALE = 1_000_000;
|
|
|
19
19
|
export const MIN_UPDATE_FEE_BUFFER_WEI = 1000n;
|
|
20
20
|
/** Default Hermes endpoint used to fetch Pyth update payloads. */
|
|
21
21
|
export const DEFAULT_PYTH_PRICE_SERVICE_URL = 'https://hermes.pyth.network';
|
|
22
|
-
/** ERC20 ABI subset needed for USDC approvals. */
|
|
23
|
-
export const ERC20_ABI = [
|
|
22
|
+
/** ERC20 ABI subset needed for USDC approvals and funding checks. */
|
|
23
|
+
export const ERC20_ABI = [
|
|
24
|
+
{
|
|
24
25
|
inputs: [
|
|
25
26
|
{ internalType: 'address', name: 'spender', type: 'address' },
|
|
26
27
|
{ internalType: 'uint256', name: 'value', type: 'uint256' }
|
|
@@ -29,6 +30,36 @@ export const ERC20_ABI = [{
|
|
|
29
30
|
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
|
|
30
31
|
stateMutability: 'nonpayable',
|
|
31
32
|
type: 'function'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
inputs: [
|
|
36
|
+
{ internalType: 'address', name: 'owner', type: 'address' },
|
|
37
|
+
{ internalType: 'address', name: 'spender', type: 'address' }
|
|
38
|
+
],
|
|
39
|
+
name: 'allowance',
|
|
40
|
+
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
|
|
41
|
+
stateMutability: 'view',
|
|
42
|
+
type: 'function'
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
inputs: [
|
|
46
|
+
{ internalType: 'address', name: 'account', type: 'address' }
|
|
47
|
+
],
|
|
48
|
+
name: 'balanceOf',
|
|
49
|
+
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
|
|
50
|
+
stateMutability: 'view',
|
|
51
|
+
type: 'function'
|
|
52
|
+
}
|
|
53
|
+
];
|
|
54
|
+
/** Exchange ABI subset needed to discover the market's USDC token. */
|
|
55
|
+
export const EXCHANGE_MARKET_USDC_ABI = [{
|
|
56
|
+
inputs: [
|
|
57
|
+
{ internalType: 'uint256', name: 'marketId', type: 'uint256' }
|
|
58
|
+
],
|
|
59
|
+
name: 'getMarketUSDC',
|
|
60
|
+
outputs: [{ internalType: 'address', name: '', type: 'address' }],
|
|
61
|
+
stateMutability: 'view',
|
|
62
|
+
type: 'function'
|
|
32
63
|
}];
|
|
33
64
|
/** Exchange ABI subset needed to mint paired outcome tokens. */
|
|
34
65
|
export const EXCHANGE_MINT_ABI = [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/internal/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;KACpC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAC/B,sFAAsF;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,kEAAkE;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAG,6BAA6B,CAAC;AAE5E,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/internal/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -300,6 +300,20 @@ export interface PrepareMintArgs {
|
|
|
300
300
|
amount: number | string;
|
|
301
301
|
market?: Partial<OnchainMarketInfo>;
|
|
302
302
|
}
|
|
303
|
+
export interface MintFundingStatusArgs extends PrepareMintArgs {
|
|
304
|
+
account?: OnchainExecutionAccount;
|
|
305
|
+
rpcUrl?: string;
|
|
306
|
+
}
|
|
307
|
+
export interface MintFundingStatus {
|
|
308
|
+
owner: Address;
|
|
309
|
+
exchangeAddress: Address;
|
|
310
|
+
usdcAddress: Address;
|
|
311
|
+
requiredAmount: bigint;
|
|
312
|
+
allowance: bigint;
|
|
313
|
+
balance: bigint;
|
|
314
|
+
hasSufficientAllowance: boolean;
|
|
315
|
+
hasSufficientBalance: boolean;
|
|
316
|
+
}
|
|
303
317
|
export interface PrepareMergeArgs {
|
|
304
318
|
marketId: string;
|
|
305
319
|
pairs: number | string;
|