export declare const abis: { AbstractSubaccountApprovalNonceable: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "subaccountApprovalNonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; ArbitrumNodeInterface: readonly [{ readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: "size"; readonly type: "uint64"; }, { readonly internalType: "uint64"; readonly name: "leaf"; readonly type: "uint64"; }]; readonly name: "constructOutboxProof"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "send"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "root"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "proof"; readonly type: "bytes32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deposit"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "l2CallValue"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "excessFeeRefundAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callValueRefundAddress"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "estimateRetryableTicket"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: "blockNum"; readonly type: "uint64"; }]; readonly name: "findBatchContainingBlock"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "batch"; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "contractCreation"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "gasEstimateComponents"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "gasEstimate"; readonly type: "uint64"; }, { readonly internalType: "uint64"; readonly name: "gasEstimateForL1"; readonly type: "uint64"; }, { readonly internalType: "uint256"; readonly name: "baseFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "l1BaseFeeEstimate"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "contractCreation"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "gasEstimateL1Component"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "gasEstimateForL1"; readonly type: "uint64"; }, { readonly internalType: "uint256"; readonly name: "baseFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "l1BaseFeeEstimate"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "blockHash"; readonly type: "bytes32"; }]; readonly name: "getL1Confirmations"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "confirmations"; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "batchNum"; readonly type: "uint256"; }, { readonly internalType: "uint64"; readonly name: "index"; readonly type: "uint64"; }]; readonly name: "legacyLookupMessageBatchProof"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: "proof"; readonly type: "bytes32[]"; }, { readonly internalType: "uint256"; readonly name: "path"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "l2Sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "l1Dest"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "l2Block"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "l1Block"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "calldataForL1"; readonly type: "bytes"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "nitroGenesisBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "number"; readonly type: "uint256"; }]; readonly stateMutability: "pure"; readonly type: "function"; }]; ClaimHandler: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract ClaimVault"; readonly name: "_claimVault"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "existingDistributionId"; readonly type: "uint256"; }]; readonly name: "DuplicateClaimTerms"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyAccount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyClaimableAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InsufficientFunds"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recoveredSigner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidClaimTermsSignature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidClaimTermsSignatureForContract"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }]; readonly name: "InvalidParams"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "termsSignature"; readonly type: "bytes"; }, { readonly internalType: "string"; readonly name: "acceptedTerms"; readonly type: "string"; }]; readonly internalType: "struct ClaimHandler.ClaimParam[]"; readonly name: "params"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "acceptTermsAndClaim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claimVault"; readonly outputs: readonly [{ readonly internalType: "contract ClaimVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly internalType: "struct ClaimUtils.DepositParam[]"; readonly name: "params"; readonly type: "tuple[]"; }]; readonly name: "depositFunds"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256[]"; readonly name: "distributionIds"; readonly type: "uint256[]"; }]; readonly name: "getClaimableAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getTotalClaimableAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }]; readonly name: "removeTerms"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "terms"; readonly type: "string"; }]; readonly name: "setTerms"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "fromAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toAccount"; readonly type: "address"; }]; readonly internalType: "struct ClaimHandler.TransferClaimParam[]"; readonly name: "params"; readonly type: "tuple[]"; }]; readonly name: "transferClaim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "distributionId"; readonly type: "uint256"; }]; readonly internalType: "struct ClaimHandler.WithdrawParam[]"; readonly name: "params"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "withdrawFunds"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; CustomErrors: readonly [{ readonly inputs: readonly []; readonly name: "ActionAlreadySignalled"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ActionNotSignalled"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "AdlNotEnabled"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "pnlToPoolFactor"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "maxPnlFactorForAdl"; readonly type: "uint256"; }]; readonly name: "AdlNotRequired"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "values"; readonly type: "bytes[]"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "label"; readonly type: "string"; }]; readonly name: "ArrayOutOfBoundsBytes"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "values"; readonly type: "uint256[]"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "label"; readonly type: "string"; }]; readonly name: "ArrayOutOfBoundsUint256"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "buybackToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "AvailableFeeAmountIsZero"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minOracleBlockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "prevMinOracleBlockNumber"; readonly type: "uint256"; }]; readonly name: "BlockNumbersNotSorted"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "BridgeOutNotSupportedDuringShift"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "buybackToken"; readonly type: "address"; }]; readonly name: "BuybackAndFeeTokenAreEqual"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "heartbeatDuration"; readonly type: "uint256"; }]; readonly name: "ChainlinkPriceFeedNotUpdated"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "adjustedClaimableAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimedAmount"; readonly type: "uint256"; }]; readonly name: "CollateralAlreadyClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "compactedValues"; readonly type: "uint256[]"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "slotIndex"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "label"; readonly type: "string"; }]; readonly name: "CompactedArrayOutOfBounds"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "baseKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "ConfigValueExceedsAllowedRange"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "DataListLengthExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "DataStreamIdAlreadyExistsForToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DepositNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "DisabledMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "existingDistributionId"; readonly type: "uint256"; }]; readonly name: "DuplicateClaimTerms"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "label"; readonly type: "string"; }]; readonly name: "DuplicatedIndex"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "DuplicatedMarketInSwapPath"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EdgeDataStreamIdAlreadyExistsForToken"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyAccount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyAddressInMarketTokenBalanceValidation"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyChainlinkPriceFeed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyChainlinkPriceFeedMultiplier"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyClaimFeesMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyClaimableAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyDataStreamFeedId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyDataStreamMultiplier"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyDeposit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyDepositAmounts"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyDepositAmountsAfterSwap"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyFundingAccount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }]; readonly name: "EmptyGlv"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvDeposit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvDepositAmounts"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvMarketAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvTokenSupply"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvWithdrawalAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "EmptyMarketPrice"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyMarketTokenSupply"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyMultichainTransferInAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyMultichainTransferOutAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyPosition"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyPositionImpactWithdrawalAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyPrimaryPrice"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReduceLentAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyRelayFeeAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyShift"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyShiftAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptySizeDeltaInTokens"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyTarget"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyValidatedPrices"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyWithdrawalAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EndOfOracleSimulation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }]; readonly name: "EventItemNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "ExternalCallFailed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "FeeBatchNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }]; readonly name: "GlvAlreadyExists"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "GlvDepositNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvDisabledMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvEnabledMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "marketTokenBalance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }]; readonly name: "GlvInsufficientMarketTokenBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "provided"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expected"; readonly type: "address"; }]; readonly name: "GlvInvalidLongToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "provided"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expected"; readonly type: "address"; }]; readonly name: "GlvInvalidShortToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvMarketAlreadyExists"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "glvMaxMarketCount"; readonly type: "uint256"; }]; readonly name: "GlvMaxMarketCountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "maxMarketTokenBalanceAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "marketTokenBalanceAmount"; readonly type: "uint256"; }]; readonly name: "GlvMaxMarketTokenBalanceAmountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "maxMarketTokenBalanceUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "marketTokenBalanceUsd"; readonly type: "uint256"; }]; readonly name: "GlvMaxMarketTokenBalanceUsdExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "GlvNameTooLong"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvNegativeMarketPoolValue"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvNonZeroMarketBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "key"; readonly type: "address"; }]; readonly name: "GlvNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lastGlvShiftExecutedAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "glvShiftMinInterval"; readonly type: "uint256"; }]; readonly name: "GlvShiftIntervalNotYetPassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "effectivePriceImpactFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "glvMaxShiftPriceImpactFactor"; readonly type: "uint256"; }]; readonly name: "GlvShiftMaxPriceImpactExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "GlvShiftNotFound"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "GlvSymbolTooLong"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvUnsupportedMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "GlvWithdrawalNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "signerIndex"; readonly type: "uint256"; }]; readonly name: "GmEmptySigner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minOracleBlockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentBlockNumber"; readonly type: "uint256"; }]; readonly name: "GmInvalidBlockNumber"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minOracleBlockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxOracleBlockNumber"; readonly type: "uint256"; }]; readonly name: "GmInvalidMinMaxBlockNumber"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "oracleSigners"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxOracleSigners"; readonly type: "uint256"; }]; readonly name: "GmMaxOracleSigners"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "prevPrice"; readonly type: "uint256"; }]; readonly name: "GmMaxPricesNotSorted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "signerIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxSignerIndex"; readonly type: "uint256"; }]; readonly name: "GmMaxSignerIndex"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "oracleSigners"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOracleSigners"; readonly type: "uint256"; }]; readonly name: "GmMinOracleSigners"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "prevPrice"; readonly type: "uint256"; }]; readonly name: "GmMinPricesNotSorted"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "buybackToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientBuybackOutputAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "collateralDeltaAmount"; readonly type: "int256"; }]; readonly name: "InsufficientCollateralAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "remainingCollateralUsd"; readonly type: "int256"; }]; readonly name: "InsufficientCollateralUsd"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minExecutionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }]; readonly name: "InsufficientExecutionFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "startingGas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "estimatedGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAdditionalGasForExecution"; readonly type: "uint256"; }]; readonly name: "InsufficientExecutionGas"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "startingGas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minHandleErrorGas"; readonly type: "uint256"; }]; readonly name: "InsufficientExecutionGasForErrorHandling"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeProvided"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeRequired"; readonly type: "uint256"; }]; readonly name: "InsufficientFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InsufficientFunds"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "remainingCostUsd"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "step"; readonly type: "string"; }]; readonly name: "InsufficientFundsToPayForCosts"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minHandleExecutionErrorGas"; readonly type: "uint256"; }]; readonly name: "InsufficientGasForAutoCancellation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minHandleExecutionErrorGas"; readonly type: "uint256"; }]; readonly name: "InsufficientGasForCancellation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "estimatedGasLimit"; readonly type: "uint256"; }]; readonly name: "InsufficientGasLeft"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gasToBeForwarded"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }]; readonly name: "InsufficientGasLeftForCallback"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minHandleExecutionErrorGas"; readonly type: "uint256"; }]; readonly name: "InsufficientHandleExecutionErrorGas"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "withdrawalAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolValue"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "totalPendingImpactAmount"; readonly type: "int256"; }]; readonly name: "InsufficientImpactPoolValueForWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }]; readonly name: "InsufficientMarketTokens"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "InsufficientMultichainBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientOutputAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "poolAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "InsufficientPoolAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "reservedUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxReservedUsd"; readonly type: "uint256"; }]; readonly name: "InsufficientReserve"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "reservedUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxReservedUsd"; readonly type: "uint256"; }]; readonly name: "InsufficientReserveForOpenInterest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "outputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientSwapOutputAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "wntAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }]; readonly name: "InsufficientWntAmountForExecutionFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "nextPnlToPoolFactor"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "pnlToPoolFactor"; readonly type: "int256"; }]; readonly name: "InvalidAdl"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "remainingAmount"; readonly type: "uint256"; }]; readonly name: "InvalidAmountInForFeeBatch"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "baseKey"; readonly type: "bytes32"; }]; readonly name: "InvalidBaseKey"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "largestMinBlockNumber"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "smallestMaxBlockNumber"; readonly type: "uint256"; }]; readonly name: "InvalidBlockRangeSet"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidBridgeOutToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "buybackToken"; readonly type: "address"; }]; readonly name: "InvalidBuybackToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedCancellationReceiver"; readonly type: "address"; }]; readonly name: "InvalidCancellationReceiverForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimAffiliateRewardsInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "timeKeysLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimCollateralInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimFundingFeesInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recoveredSigner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidClaimTermsSignature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidClaimTermsSignatureForContract"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimUiFeesInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "InvalidClaimableFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "InvalidClaimableReductionFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidCollateralTokenForMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidContributorToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int192"; readonly name: "bid"; readonly type: "int192"; }, { readonly internalType: "int192"; readonly name: "ask"; readonly type: "int192"; }]; readonly name: "InvalidDataStreamBidAsk"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "feedId"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "expectedFeedId"; readonly type: "bytes32"; }]; readonly name: "InvalidDataStreamFeedId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int192"; readonly name: "bid"; readonly type: "int192"; }, { readonly internalType: "int192"; readonly name: "ask"; readonly type: "int192"; }]; readonly name: "InvalidDataStreamPrices"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "spreadReductionFactor"; readonly type: "uint256"; }]; readonly name: "InvalidDataStreamSpreadReductionFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionSizeInUsd"; readonly type: "uint256"; }]; readonly name: "InvalidDecreaseOrderSize"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "decreasePositionSwapType"; readonly type: "uint256"; }]; readonly name: "InvalidDecreasePositionSwapType"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "bid"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "ask"; readonly type: "uint256"; }]; readonly name: "InvalidEdgeDataStreamBidAsk"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "expo"; readonly type: "int256"; }]; readonly name: "InvalidEdgeDataStreamExpo"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "bid"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "ask"; readonly type: "uint256"; }]; readonly name: "InvalidEdgeDataStreamPrices"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "recoverError"; readonly type: "uint256"; }]; readonly name: "InvalidEdgeSignature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidEdgeSigner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "eid"; readonly type: "uint256"; }]; readonly name: "InvalidEid"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minExecutionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxExecutionFee"; readonly type: "uint256"; }]; readonly name: "InvalidExecutionFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalExecutionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "msgValue"; readonly type: "uint256"; }]; readonly name: "InvalidExecutionFeeForMigration"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "targetsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "dataListLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCallInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }]; readonly name: "InvalidExternalCallTarget"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "refundTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "refundReceiversLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalReceiversInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeBatchTokensLength"; readonly type: "uint256"; }]; readonly name: "InvalidFeeBatchTokenIndex"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "InvalidFeeReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int256"; readonly name: "price"; readonly type: "int256"; }]; readonly name: "InvalidFeedPrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalGlpAmountToRedeem"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalGlpAmount"; readonly type: "uint256"; }]; readonly name: "InvalidGlpAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }]; readonly name: "InvalidGlvDepositInitialLongToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }]; readonly name: "InvalidGlvDepositInitialShortToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "longTokenSwapPathLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenSwapPathLength"; readonly type: "uint256"; }]; readonly name: "InvalidGlvDepositSwapPath"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxPrice"; readonly type: "uint256"; }]; readonly name: "InvalidGmMedianMinMaxPrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidGmOraclePrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recoveredSigner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidGmSignature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxPrice"; readonly type: "uint256"; }]; readonly name: "InvalidGmSignerMinMaxPrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "InvalidHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidInitializer"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "keeper"; readonly type: "address"; }]; readonly name: "InvalidKeeperForFrozenOrder"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedMinBalance"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableFundingFeeAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForClaimableFunding"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForCollateralAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedMinGlvTokens"; readonly type: "uint256"; }]; readonly name: "InvalidMinGlvTokensForFirstGlvDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedMinMarketTokens"; readonly type: "uint256"; }]; readonly name: "InvalidMinMarketTokensForFirstDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly name: "InvalidMinMaxForPrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "endpoint"; readonly type: "address"; }]; readonly name: "InvalidMultichainEndpoint"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }]; readonly name: "InvalidMultichainProvider"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }]; readonly name: "InvalidNativeTokenSender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }]; readonly name: "InvalidOracleProvider"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedProvider"; readonly type: "address"; }]; readonly name: "InvalidOracleProviderForToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "dataLength"; readonly type: "uint256"; }]; readonly name: "InvalidOracleSetPricesDataParam"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "providersLength"; readonly type: "uint256"; }]; readonly name: "InvalidOracleSetPricesProvidersParam"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }]; readonly name: "InvalidOracleSigner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "primaryPriceMin"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "primaryPriceMax"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "InvalidOrderPrices"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedTokenOut"; readonly type: "address"; }]; readonly name: "InvalidOutputToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }]; readonly name: "InvalidParams"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "poolValue"; readonly type: "int256"; }]; readonly name: "InvalidPoolValueForDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "poolValue"; readonly type: "int256"; }]; readonly name: "InvalidPoolValueForWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "distributionAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionImpactPoolAmount"; readonly type: "uint256"; }]; readonly name: "InvalidPositionImpactPoolDistributionRate"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "InvalidPositionMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }]; readonly name: "InvalidPositionSizeValues"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "primaryTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "primaryPricesLength"; readonly type: "uint256"; }]; readonly name: "InvalidPrimaryPricesForSimulation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedReceiver"; readonly type: "address"; }]; readonly name: "InvalidReceiverForFirstDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedReceiver"; readonly type: "address"; }]; readonly name: "InvalidReceiverForFirstGlvDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedReceiver"; readonly type: "address"; }]; readonly name: "InvalidReceiverForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "signatureType"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "recovered"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "recoveredFromMinified"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSigner"; readonly type: "address"; }]; readonly name: "InvalidRecoveredSigner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidSetContributorPaymentInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidSetMaxTotalContributorTokenAmountInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "signatureType"; readonly type: "string"; }]; readonly name: "InvalidSignature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionSizeInUsd"; readonly type: "uint256"; }]; readonly name: "InvalidSizeDeltaForAdl"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSubaccountApprovalDesChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "storedNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "InvalidSubaccountApprovalNonce"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidSubaccountApprovalSubaccount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "InvalidSwapMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "outputToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedOutputToken"; readonly type: "address"; }]; readonly name: "InvalidSwapOutputToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "path"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "bridgingToken"; readonly type: "address"; }]; readonly name: "InvalidSwapPathForV1"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "timelockDelay"; readonly type: "uint256"; }]; readonly name: "InvalidTimelockDelay"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "InvalidTokenIn"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidTransferRequestsLength"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidTrustedSignerAddress"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "uiFeeFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxUiFeeFactor"; readonly type: "uint256"; }]; readonly name: "InvalidUiFeeFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "version"; readonly type: "uint256"; }]; readonly name: "InvalidVersion"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "remainingCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsdForLeverage"; readonly type: "int256"; }]; readonly name: "LiquidatablePosition"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "fromMarketLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarketLongToken"; readonly type: "address"; }]; readonly name: "LongTokensAreNotEqual"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "existingMarketAddress"; readonly type: "address"; }]; readonly name: "MarketAlreadyExists"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "key"; readonly type: "address"; }]; readonly name: "MarketNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "label"; readonly type: "string"; }]; readonly name: "MaskIndexOutOfBounds"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "count"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAutoCancelOrders"; readonly type: "uint256"; }]; readonly name: "MaxAutoCancelOrdersExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "priceTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "buybackMaxPriceAge"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }]; readonly name: "MaxBuybackPriceAgeExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxCallbackGasLimit"; readonly type: "uint256"; }]; readonly name: "MaxCallbackGasLimitExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "dataLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxDataLength"; readonly type: "uint256"; }]; readonly name: "MaxDataListLengthExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "maxFundingFactorPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "limit"; readonly type: "uint256"; }]; readonly name: "MaxFundingFactorPerSecondLimitExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "poolUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxLendableUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lentUsd"; readonly type: "uint256"; }]; readonly name: "MaxLendableFactorForWithdrawalsExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "openInterest"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxOpenInterest"; readonly type: "uint256"; }]; readonly name: "MaxOpenInterestExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "range"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxRange"; readonly type: "uint256"; }]; readonly name: "MaxOracleTimestampRangeExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "poolAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxPoolAmount"; readonly type: "uint256"; }]; readonly name: "MaxPoolAmountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "poolUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxPoolUsdForDeposit"; readonly type: "uint256"; }]; readonly name: "MaxPoolUsdForDepositExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "oracleTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }]; readonly name: "MaxPriceAgeExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "refPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxRefPriceDeviationFactor"; readonly type: "uint256"; }]; readonly name: "MaxRefPriceDeviationExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "count"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxCount"; readonly type: "uint256"; }]; readonly name: "MaxSubaccountActionCountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "swapPathLengh"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxSwapPathLength"; readonly type: "uint256"; }]; readonly name: "MaxSwapPathLengthExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "timelockDelay"; readonly type: "uint256"; }]; readonly name: "MaxTimelockDelayExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalCallbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalCallbackGasLimit"; readonly type: "uint256"; }]; readonly name: "MaxTotalCallbackGasLimitForAutoCancelOrdersExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "totalAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTotalAmount"; readonly type: "uint256"; }]; readonly name: "MaxTotalContributorTokenAmountExceeded"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "interval"; readonly type: "uint256"; }]; readonly name: "MinContributorPaymentIntervalBelowAllowedRange"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minPaymentInterval"; readonly type: "uint256"; }]; readonly name: "MinContributorPaymentIntervalNotYetPassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }]; readonly name: "MinGlvTokens"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }]; readonly name: "MinLongTokens"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }]; readonly name: "MinMarketTokens"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "positionSizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minPositionSizeUsd"; readonly type: "uint256"; }]; readonly name: "MinPositionSize"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "received"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expected"; readonly type: "uint256"; }]; readonly name: "MinShortTokens"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "executionPrice"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionSizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }]; readonly name: "NegativeExecutionPrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }]; readonly name: "NonAtomicOracleProvider"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokensWithPricesLength"; readonly type: "uint256"; }]; readonly name: "NonEmptyTokensWithPrices"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "OpenInterestCannotBeUpdatedForSwapOnlyMarket"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "OraclePriceOutdated"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "OracleProviderAlreadyExistsForToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }]; readonly name: "OracleProviderMinChangeDelayNotYetPassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "maxOracleTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "requestTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "requestExpirationTime"; readonly type: "uint256"; }]; readonly name: "OracleTimestampsAreLargerThanRequestExpirationTime"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minOracleTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedTimestamp"; readonly type: "uint256"; }]; readonly name: "OracleTimestampsAreSmallerThanRequired"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "OrderAlreadyFrozen"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "OrderNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }]; readonly name: "OrderNotFulfillableAtAcceptablePrice"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "OrderNotUpdatable"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "OrderTypeCannotBeCreated"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }]; readonly name: "OrderValidFromTimeNotReached"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "pnlToPoolFactor"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "maxPnlFactor"; readonly type: "uint256"; }]; readonly name: "PnlFactorExceededForLongs"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "pnlToPoolFactor"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "maxPnlFactor"; readonly type: "uint256"; }]; readonly name: "PnlFactorExceededForShorts"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "nextPnlToPoolFactor"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "minPnlFactorForAdl"; readonly type: "uint256"; }]; readonly name: "PnlOvercorrected"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "PositionNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "remainingCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsdForLeverage"; readonly type: "int256"; }]; readonly name: "PositionShouldNotBeLiquidated"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "minPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxPrice"; readonly type: "uint256"; }]; readonly name: "PriceAlreadySet"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "PriceFeedAlreadyExistsForToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }]; readonly name: "PriceImpactLargerThanOrderSize"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "lentAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalReductionAmount"; readonly type: "uint256"; }]; readonly name: "ReductionExceedsLentAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "calldataLength"; readonly type: "uint256"; }]; readonly name: "RelayCalldataTooLong"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RelayEmptyBatch"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requestAge"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "requestExpirationAge"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "requestType"; readonly type: "string"; }]; readonly name: "RequestNotYetCancellable"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "SelfTransferNotSupported"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "SequencerDown"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "timeSinceUp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sequencerGraceDuration"; readonly type: "uint256"; }]; readonly name: "SequencerGraceDurationNotYetPassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "ShiftFromAndToMarketAreEqual"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "ShiftNotFound"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "fromMarketLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarketLongToken"; readonly type: "address"; }]; readonly name: "ShortTokensAreNotEqual"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "signalTime"; readonly type: "uint256"; }]; readonly name: "SignalTimeNotYetPassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "SubaccountApprovalDeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }]; readonly name: "SubaccountApprovalExpired"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }]; readonly name: "SubaccountIntegrationIdDisabled"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }]; readonly name: "SubaccountNotAuthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountAfterFees"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "negativeImpactAmount"; readonly type: "int256"; }]; readonly name: "SwapPriceImpactExceedsAmountIn"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "longTokenSwapPathLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenSwapPathLength"; readonly type: "uint256"; }]; readonly name: "SwapsNotAllowedForAtomicWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "parametersLength"; readonly type: "uint256"; }]; readonly name: "SyncConfigInvalidInputLengths"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "marketFromData"; readonly type: "address"; }]; readonly name: "SyncConfigInvalidMarketFromData"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "SyncConfigUpdatesDisabledForMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "parameter"; readonly type: "string"; }]; readonly name: "SyncConfigUpdatesDisabledForMarketParameter"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "parameter"; readonly type: "string"; }]; readonly name: "SyncConfigUpdatesDisabledForParameter"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ThereMustBeAtLeastOneRoleAdmin"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ThereMustBeAtLeastOneTimelockMultiSig"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "length"; readonly type: "uint256"; }]; readonly name: "Uint256AsBytesLengthExceeds32Bytes"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnableToGetBorrowingFactorEmptyPoolUsd"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "UnableToGetCachedTokenPrice"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnableToGetFundingFactorEmptyOpenInterest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "inputToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "UnableToGetOppositeToken"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnableToPayOrderFee"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnableToPayOrderFeeFromCollateral"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "estimatedRemainingCollateralUsd"; readonly type: "int256"; }]; readonly name: "UnableToWithdrawCollateral"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "positionBorrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "cumulativeBorrowingFactor"; readonly type: "uint256"; }]; readonly name: "UnexpectedBorrowingFactor"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnexpectedMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "poolValue"; readonly type: "int256"; }]; readonly name: "UnexpectedPoolValue"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnexpectedPositionState"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeTokenAfterSwap"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "UnexpectedTokenForVirtualInventory"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "UnexpectedValidFromTime"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "UnsupportedOrderType"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "orderType"; readonly type: "uint256"; }]; readonly name: "UnsupportedOrderTypeForAutoCancellation"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "usdDelta"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "longOpenInterest"; readonly type: "uint256"; }]; readonly name: "UsdDeltaExceedsLongOpenInterest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "usdDelta"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "poolUsd"; readonly type: "uint256"; }]; readonly name: "UsdDeltaExceedsPoolValue"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "usdDelta"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "shortOpenInterest"; readonly type: "uint256"; }]; readonly name: "UsdDeltaExceedsShortOpenInterest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "WithdrawalNotFound"; readonly type: "error"; }]; DataStore: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly name: "addAddress"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly name: "addBytes32"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "addUint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "addressArrayValues"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "addressValues"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly name: "applyBoundedDeltaToUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly name: "applyDeltaToInt"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }, { readonly internalType: "string"; readonly name: "errorMessage"; readonly type: "string"; }]; readonly name: "applyDeltaToUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "applyDeltaToUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "boolArrayValues"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "boolValues"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "bytes32ArrayValues"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "bytes32Values"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly name: "containsAddress"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly name: "containsBytes32"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "containsUint"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly name: "decrementInt"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "decrementUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getAddressArray"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }]; readonly name: "getAddressCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAddressValuesAt"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: ""; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getBool"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getBoolArray"; readonly outputs: readonly [{ readonly internalType: "bool[]"; readonly name: ""; readonly type: "bool[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getBytes32"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getBytes32Array"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }]; readonly name: "getBytes32Count"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getBytes32ValuesAt"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getInt"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getIntArray"; readonly outputs: readonly [{ readonly internalType: "int256[]"; readonly name: ""; readonly type: "int256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getString"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getStringArray"; readonly outputs: readonly [{ readonly internalType: "string[]"; readonly name: ""; readonly type: "string[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getUintArray"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }]; readonly name: "getUintCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getUintValuesAt"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly name: "incrementInt"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "incrementUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "intArrayValues"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "intValues"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly name: "removeAddress"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeAddress"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeAddressArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeBool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeBoolArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly name: "removeBytes32"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeBytes32"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeBytes32Array"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeInt"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeIntArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeString"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeStringArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeUint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "setKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "removeUint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "removeUintArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly name: "setAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly name: "setAddressArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly name: "setBool"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly name: "setBoolArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly name: "setBytes32"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly name: "setBytes32Array"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly name: "setInt"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly name: "setIntArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly name: "setString"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly name: "setStringArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "setUint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly name: "setUintArray"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "stringArrayValues"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "stringValues"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "uintArrayValues"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "uintValues"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; ERC20: readonly [{ readonly type: "event"; readonly name: "Approval"; readonly inputs: readonly [{ readonly indexed: true; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly name: "value"; readonly type: "uint256"; }]; }, { readonly type: "event"; readonly name: "Transfer"; readonly inputs: readonly [{ readonly indexed: true; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly name: "value"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "allowance"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }, { readonly name: "spender"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "approve"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "spender"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly type: "function"; readonly name: "balanceOf"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "decimals"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint8"; }]; }, { readonly type: "function"; readonly name: "name"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly type: "function"; readonly name: "symbol"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "string"; }]; }, { readonly type: "function"; readonly name: "totalSupply"; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "transfer"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "recipient"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }, { readonly type: "function"; readonly name: "transferFrom"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "sender"; readonly type: "address"; }, { readonly name: "recipient"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly type: "bool"; }]; }]; ERC20PermitInterface: readonly [{ readonly inputs: readonly []; readonly name: "PERMIT_TYPEHASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; ERC721: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "approved"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "ApprovalForAll"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "baseURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "getApproved"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }]; readonly name: "isApprovedForAll"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "ownerOf"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "_data"; readonly type: "bytes"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "setApprovalForAll"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenOfOwnerByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "tokenURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; EventEmitter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly indexed: true; readonly internalType: "string"; readonly name: "eventNameHash"; readonly type: "string"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly indexed: false; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "EventLog"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly indexed: true; readonly internalType: "string"; readonly name: "eventNameHash"; readonly type: "string"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly indexed: false; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "EventLog1"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly indexed: true; readonly internalType: "string"; readonly name: "eventNameHash"; readonly type: "string"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "topic2"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly indexed: false; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "EventLog2"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "emitDataLog1"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic2"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "emitDataLog2"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic2"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic3"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "emitDataLog3"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic2"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic3"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic4"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "emitDataLog4"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "emitEventLog"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "emitEventLog1"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "eventName"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "topic1"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "topic2"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "value"; readonly type: "address"; }]; readonly internalType: "struct EventUtils.AddressKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "address[]"; readonly name: "value"; readonly type: "address[]"; }]; readonly internalType: "struct EventUtils.AddressArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.AddressItems"; readonly name: "addressItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly internalType: "struct EventUtils.UintKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "uint256[]"; readonly name: "value"; readonly type: "uint256[]"; }]; readonly internalType: "struct EventUtils.UintArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.UintItems"; readonly name: "uintItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256"; readonly name: "value"; readonly type: "int256"; }]; readonly internalType: "struct EventUtils.IntKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "int256[]"; readonly name: "value"; readonly type: "int256[]"; }]; readonly internalType: "struct EventUtils.IntArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.IntItems"; readonly name: "intItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "value"; readonly type: "bool"; }]; readonly internalType: "struct EventUtils.BoolKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bool[]"; readonly name: "value"; readonly type: "bool[]"; }]; readonly internalType: "struct EventUtils.BoolArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BoolItems"; readonly name: "boolItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32"; readonly name: "value"; readonly type: "bytes32"; }]; readonly internalType: "struct EventUtils.Bytes32KeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes32[]"; readonly name: "value"; readonly type: "bytes32[]"; }]; readonly internalType: "struct EventUtils.Bytes32ArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.Bytes32Items"; readonly name: "bytes32Items"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes"; readonly name: "value"; readonly type: "bytes"; }]; readonly internalType: "struct EventUtils.BytesKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "bytes[]"; readonly name: "value"; readonly type: "bytes[]"; }]; readonly internalType: "struct EventUtils.BytesArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.BytesItems"; readonly name: "bytesItems"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "value"; readonly type: "string"; }]; readonly internalType: "struct EventUtils.StringKeyValue[]"; readonly name: "items"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "string"; readonly name: "key"; readonly type: "string"; }, { readonly internalType: "string[]"; readonly name: "value"; readonly type: "string[]"; }]; readonly internalType: "struct EventUtils.StringArrayKeyValue[]"; readonly name: "arrayItems"; readonly type: "tuple[]"; }]; readonly internalType: "struct EventUtils.StringItems"; readonly name: "stringItems"; readonly type: "tuple"; }]; readonly internalType: "struct EventUtils.EventLogData"; readonly name: "eventData"; readonly type: "tuple"; }]; readonly name: "emitEventLog2"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; ExchangeRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract Router"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IDepositHandler"; readonly name: "_depositHandler"; readonly type: "address"; }, { readonly internalType: "contract IWithdrawalHandler"; readonly name: "_withdrawalHandler"; readonly type: "address"; }, { readonly internalType: "contract IShiftHandler"; readonly name: "_shiftHandler"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "_orderHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "_externalHandler"; readonly type: "address"; }, { readonly internalType: "contract IJitOrderHandler"; readonly name: "_jitOrderHandler"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "adjustedClaimableAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimedAmount"; readonly type: "uint256"; }]; readonly name: "CollateralAlreadyClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "DisabledMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyAddressInMarketTokenBalanceValidation"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyDeposit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyMarket"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "timeKeysLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimCollateralInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "InvalidClaimableFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedMinBalance"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableFundingFeeAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForClaimableFunding"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForCollateralAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "uiFeeFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxUiFeeFactor"; readonly type: "uint256"; }]; readonly name: "InvalidUiFeeFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelDeposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelShift"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimAffiliateRewards"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "timeKeys"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimCollateral"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimFundingFees"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimUiFees"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IDepositUtils.CreateDepositParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IDepositUtils.CreateDepositParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createDeposit"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }]; readonly internalType: "struct IShiftUtils.CreateShiftParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IShiftUtils.CreateShiftParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createShift"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createWithdrawal"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "depositHandler"; readonly outputs: readonly [{ readonly internalType: "contract IDepositHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParams"; readonly name: "params"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }]; readonly name: "executeAtomicWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "jitOrderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IJitOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly name: "makeExternalCalls"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }]; readonly name: "setSavedCallbackContract"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "uiFeeFactor"; readonly type: "uint256"; }]; readonly name: "setUiFeeFactor"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "shiftHandler"; readonly outputs: readonly [{ readonly internalType: "contract IShiftHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestDeposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }]; readonly internalType: "struct GlvShiftUtils.CreateGlvShiftParams[]"; readonly name: "shiftParamsList"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestJitOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestShift"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }, { readonly internalType: "enum ISwapPricingUtils.SwapPricingType"; readonly name: "swapPricingType"; readonly type: "uint8"; }]; readonly name: "simulateExecuteLatestWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdrawalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IWithdrawalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; GelatoRelayRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract Router"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "_oracle"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "_orderHandler"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "_orderVault"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "_swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "_externalHandler"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RelayEmptyBatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams[]"; readonly name: "createOrderParamsList"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams[]"; readonly name: "updateOrderParamsList"; readonly type: "tuple[]"; }, { readonly internalType: "bytes32[]"; readonly name: "cancelOrderKeys"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IRelayUtils.BatchParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "batch"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; GlpManager: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_usdg"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_glp"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_cooldownDuration"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "aumInUsdg"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "glpSupply"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "mintAmount"; readonly type: "uint256"; }]; readonly name: "AddLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "glpAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "aumInUsdg"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "glpSupply"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }]; readonly name: "RemoveLiquidity"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "MAX_COOLDOWN_DURATION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "USDG_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minUsdg"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minGlp"; readonly type: "uint256"; }]; readonly name: "addLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_fundingAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minUsdg"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minGlp"; readonly type: "uint256"; }]; readonly name: "addLiquidityForAccount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "aumAddition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "aumDeduction"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "cooldownDuration"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "maximise"; readonly type: "bool"; }]; readonly name: "getAum"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "maximise"; readonly type: "bool"; }]; readonly name: "getAumInUsdg"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getAums"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glp"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lastAddedAt"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_glpAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "removeLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_glpAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "removeLiquidityForAccount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_aumAddition"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_aumDeduction"; readonly type: "uint256"; }]; readonly name: "setAumAdjustment"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_cooldownDuration"; readonly type: "uint256"; }]; readonly name: "setCooldownDuration"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateMode"; readonly type: "bool"; }]; readonly name: "setInPrivateMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "usdg"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "vault"; readonly outputs: readonly [{ readonly internalType: "contract IVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; GlvReader: readonly [{ readonly inputs: readonly []; readonly name: "EmptyMarketTokenSupply"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "GlvNegativeMarketPoolValue"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAccountGlvDeposits"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvDeposit.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvDeposit.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isMarketTokenDeposit"; readonly type: "bool"; }]; readonly internalType: "struct GlvDeposit.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvDeposit.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAccountGlvWithdrawals"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvWithdrawal.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "glvTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvWithdrawal.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly internalType: "struct GlvWithdrawal.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvWithdrawal.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }]; readonly name: "getGlv"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glvToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Glv.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }]; readonly name: "getGlvBySalt"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glvToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Glv.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getGlvDeposit"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvDeposit.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvDeposit.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isMarketTokenDeposit"; readonly type: "bool"; }]; readonly internalType: "struct GlvDeposit.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvDeposit.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getGlvDeposits"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvDeposit.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvDeposit.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isMarketTokenDeposit"; readonly type: "bool"; }]; readonly internalType: "struct GlvDeposit.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvDeposit.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }]; readonly name: "getGlvInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glvToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Glv.Props"; readonly name: "glv"; readonly type: "tuple"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }]; readonly internalType: "struct GlvReader.GlvInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getGlvInfoList"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glvToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Glv.Props"; readonly name: "glv"; readonly type: "tuple"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }]; readonly internalType: "struct GlvReader.GlvInfo[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getGlvShift"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }]; readonly internalType: "struct GlvShift.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct GlvShift.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }]; readonly internalType: "struct GlvShift.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getGlvShifts"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }]; readonly internalType: "struct GlvShift.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct GlvShift.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }]; readonly internalType: "struct GlvShift.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "marketAddresses"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "indexTokenPrices"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getGlvTokenPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "marketAddresses"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "indexTokenPrices"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getGlvValue"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getGlvWithdrawal"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvWithdrawal.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "glvTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvWithdrawal.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly internalType: "struct GlvWithdrawal.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvWithdrawal.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getGlvWithdrawals"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct GlvWithdrawal.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "glvTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct GlvWithdrawal.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly internalType: "struct GlvWithdrawal.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct GlvWithdrawal.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getGlvs"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glvToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Glv.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; GlvRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract Router"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IGlvDepositHandler"; readonly name: "_glvDepositHandler"; readonly type: "address"; }, { readonly internalType: "contract IGlvWithdrawalHandler"; readonly name: "_glvWithdrawalHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "_externalHandler"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvDeposit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyGlvWithdrawal"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }]; readonly name: "InvalidNativeTokenSender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelGlvDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelGlvWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IGlvDepositUtils.CreateGlvDepositParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isMarketTokenDeposit"; readonly type: "bool"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IGlvDepositUtils.CreateGlvDepositParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createGlvDeposit"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IGlvWithdrawalUtils.CreateGlvWithdrawalParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IGlvWithdrawalUtils.CreateGlvWithdrawalParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createGlvWithdrawal"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glvDepositHandler"; readonly outputs: readonly [{ readonly internalType: "contract IGlvDepositHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glvWithdrawalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IGlvWithdrawalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly name: "makeExternalCalls"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteGlvDeposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteGlvWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestGlvDeposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "primaryTokens"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props[]"; readonly name: "primaryPrices"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "minTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxTimestamp"; readonly type: "uint256"; }]; readonly internalType: "struct OracleUtils.SimulatePricesParams"; readonly name: "simulatedOracleParams"; readonly type: "tuple"; }]; readonly name: "simulateExecuteLatestGlvWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; GmxMigrator: readonly [{ readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_minAuthorizations"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "ClearAction"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "SignAction"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "SignalApprove"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "SignalPendingAction"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "actionsNonce"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "admin"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "ammRouter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_nonce"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "caps"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "endMigration"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getIouToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getTokenAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getTokenPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmxPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_ammRouter"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_gmxPrice"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_signers"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_whitelistedTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_iouTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_prices"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "_caps"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "_lpTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_lpTokenAs"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_lpTokenBs"; readonly type: "address[]"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "iouTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isMigrationActive"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isSigner"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lpTokenAs"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lpTokenBs"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lpTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenAmount"; readonly type: "uint256"; }]; readonly name: "migrate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "minAuthorizations"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "pendingActions"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "prices"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_nonce"; readonly type: "uint256"; }]; readonly name: "signApprove"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "signalApprove"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "signedActions"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "signers"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "whitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; GovToken: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "roleStore_"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "name_"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol_"; readonly type: "string"; }, { readonly internalType: "uint8"; readonly name: "decimals_"; readonly type: "uint8"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "InvalidShortString"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "str"; readonly type: "string"; }]; readonly name: "StringTooLong"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "delegator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "fromDelegate"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "toDelegate"; readonly type: "address"; }]; readonly name: "DelegateChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "delegate"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "previousBalance"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newBalance"; readonly type: "uint256"; }]; readonly name: "DelegateVotesChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly []; readonly name: "EIP712DomainChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "CLOCK_MODE"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "burn"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "pos"; readonly type: "uint32"; }]; readonly name: "checkpoints"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "fromBlock"; readonly type: "uint32"; }, { readonly internalType: "uint224"; readonly name: "votes"; readonly type: "uint224"; }]; readonly internalType: "struct ERC20Votes.Checkpoint"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "clock"; readonly outputs: readonly [{ readonly internalType: "uint48"; readonly name: ""; readonly type: "uint48"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "subtractedValue"; readonly type: "uint256"; }]; readonly name: "decreaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "delegatee"; readonly type: "address"; }]; readonly name: "delegate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "delegatee"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiry"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "delegateBySig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "delegates"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eip712Domain"; readonly outputs: readonly [{ readonly internalType: "bytes1"; readonly name: "fields"; readonly type: "bytes1"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "version"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "chainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "verifyingContract"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }, { readonly internalType: "uint256[]"; readonly name: "extensions"; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "timepoint"; readonly type: "uint256"; }]; readonly name: "getPastTotalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "timepoint"; readonly type: "uint256"; }]; readonly name: "getPastVotes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "getVotes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "addedValue"; readonly type: "uint256"; }]; readonly name: "increaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "numCheckpoints"; readonly outputs: readonly [{ readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; LayerZeroProvider: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "_multichainVault"; readonly type: "address"; }, { readonly internalType: "contract IMultichainGmRouter"; readonly name: "_multichainGmRouter"; readonly type: "address"; }, { readonly internalType: "contract IMultichainGlvRouter"; readonly name: "_multichainGlvRouter"; readonly type: "address"; }, { readonly internalType: "contract IMultichainOrderRouter"; readonly name: "_multichainOrderRouter"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyWithdrawalAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "estimatedGasLimit"; readonly type: "uint256"; }]; readonly name: "InsufficientGasLeft"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "msgValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedNativeValue"; readonly type: "uint256"; }]; readonly name: "InsufficientNativeTokenAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "InvalidBridgeOutToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "eid"; readonly type: "uint256"; }]; readonly name: "InvalidEid"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly internalType: "struct IRelayUtils.BridgeOutParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "bridgeOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "message"; readonly type: "bytes"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly name: "lzCompose"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainGlvRouter"; readonly outputs: readonly [{ readonly internalType: "contract IMultichainGlvRouter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainGmRouter"; readonly outputs: readonly [{ readonly internalType: "contract IMultichainGmRouter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainOrderRouter"; readonly outputs: readonly [{ readonly internalType: "contract IMultichainOrderRouter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "withdrawTokens"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; MintableBaseToken: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "_symbol"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "_initialSupply"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "addAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "addNonStakingAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "admins"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "allowances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "balances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "burn"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "claim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateTransferMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isMinter"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "nonStakingAccounts"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "nonStakingSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "recoverClaim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "removeAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "removeNonStakingAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateTransferMode"; readonly type: "bool"; }]; readonly name: "setInPrivateTransferMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "_symbol"; readonly type: "string"; }]; readonly name: "setInfo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_minter"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setMinter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_yieldTrackers"; readonly type: "address[]"; }]; readonly name: "setYieldTrackers"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "stakedBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalStaked"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "yieldTrackers"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; Multicall: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "aggregate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "bytes[]"; readonly name: "returnData"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "allowFailure"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call3[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "aggregate3"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bool"; readonly name: "success"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "returnData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Result[]"; readonly name: "returnData"; readonly type: "tuple[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "allowFailure"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call3Value[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "aggregate3Value"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bool"; readonly name: "success"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "returnData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Result[]"; readonly name: "returnData"; readonly type: "tuple[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "blockAndAggregate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "blockHash"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "success"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "returnData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Result[]"; readonly name: "returnData"; readonly type: "tuple[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBasefee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "basefee"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }]; readonly name: "getBlockHash"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "blockHash"; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getBlockNumber"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getChainId"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "chainid"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getCurrentBlockCoinbase"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "coinbase"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getCurrentBlockGasLimit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "gaslimit"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getCurrentBlockTimestamp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "addr"; readonly type: "address"; }]; readonly name: "getEthBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getLastBlockHash"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: "blockHash"; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "requireSuccess"; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "tryAggregate"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bool"; readonly name: "success"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "returnData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Result[]"; readonly name: "returnData"; readonly type: "tuple[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "requireSuccess"; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Call[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "tryBlockAndAggregate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "blockNumber"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "blockHash"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "success"; readonly type: "bool"; }, { readonly internalType: "bytes"; readonly name: "returnData"; readonly type: "bytes"; }]; readonly internalType: "struct Multicall3.Result[]"; readonly name: "returnData"; readonly type: "tuple[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }]; MultichainClaimsRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "adjustedClaimableAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimedAmount"; readonly type: "uint256"; }]; readonly name: "CollateralAlreadyClaimed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "DisabledMarket"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyAddressInMarketTokenBalanceValidation"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyMarket"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "marketsLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "tokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "timeKeysLength"; readonly type: "uint256"; }]; readonly name: "InvalidClaimCollateralInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "InvalidClaimableFactor"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expectedMinBalance"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableFundingFeeAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForClaimableFunding"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }]; readonly name: "InvalidMarketTokenBalanceForCollateralAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimAffiliateRewards"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "timeKeys"; readonly type: "uint256[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimCollateral"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "claimFundingFees"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; MultichainGlvRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }, { readonly internalType: "contract IGlvDepositHandler"; readonly name: "_glvDepositHandler"; readonly type: "address"; }, { readonly internalType: "contract IGlvWithdrawalHandler"; readonly name: "_glvWithdrawalHandler"; readonly type: "address"; }, { readonly internalType: "contract GlvVault"; readonly name: "_glvVault"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidTransferRequestsLength"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "receivers"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; readonly internalType: "struct IRelayUtils.TransferRequests"; readonly name: "transferRequests"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IGlvDepositUtils.CreateGlvDepositParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minGlvTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isMarketTokenDeposit"; readonly type: "bool"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IGlvDepositUtils.CreateGlvDepositParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createGlvDeposit"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "receivers"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; readonly internalType: "struct IRelayUtils.TransferRequests"; readonly name: "transferRequests"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glv"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IGlvWithdrawalUtils.CreateGlvWithdrawalParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IGlvWithdrawalUtils.CreateGlvWithdrawalParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createGlvWithdrawal"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glvDepositHandler"; readonly outputs: readonly [{ readonly internalType: "contract IGlvDepositHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glvVault"; readonly outputs: readonly [{ readonly internalType: "contract GlvVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glvWithdrawalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IGlvWithdrawalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; MultichainGmRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }, { readonly internalType: "contract DepositVault"; readonly name: "_depositVault"; readonly type: "address"; }, { readonly internalType: "contract IDepositHandler"; readonly name: "_depositHandler"; readonly type: "address"; }, { readonly internalType: "contract WithdrawalVault"; readonly name: "_withdrawalVault"; readonly type: "address"; }, { readonly internalType: "contract IWithdrawalHandler"; readonly name: "_withdrawalHandler"; readonly type: "address"; }, { readonly internalType: "contract ShiftVault"; readonly name: "_shiftVault"; readonly type: "address"; }, { readonly internalType: "contract IShiftHandler"; readonly name: "_shiftHandler"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidTransferRequestsLength"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "receivers"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; readonly internalType: "struct IRelayUtils.TransferRequests"; readonly name: "transferRequests"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IDepositUtils.CreateDepositParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IDepositUtils.CreateDepositParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createDeposit"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "receivers"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; readonly internalType: "struct IRelayUtils.TransferRequests"; readonly name: "transferRequests"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }]; readonly internalType: "struct IShiftUtils.CreateShiftParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IShiftUtils.CreateShiftParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createShift"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "receivers"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "amounts"; readonly type: "uint256[]"; }]; readonly internalType: "struct IRelayUtils.TransferRequests"; readonly name: "transferRequests"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IWithdrawalUtils.CreateWithdrawalParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createWithdrawal"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "depositHandler"; readonly outputs: readonly [{ readonly internalType: "contract IDepositHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "depositVault"; readonly outputs: readonly [{ readonly internalType: "contract DepositVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "shiftHandler"; readonly outputs: readonly [{ readonly internalType: "contract IShiftHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "shiftVault"; readonly outputs: readonly [{ readonly internalType: "contract ShiftVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdrawalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IWithdrawalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdrawalVault"; readonly outputs: readonly [{ readonly internalType: "contract WithdrawalVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; MultichainOrderRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }, { readonly internalType: "contract IReferralStorage"; readonly name: "_referralStorage"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "code"; readonly type: "bytes32"; }]; readonly name: "ReferralCodeAlreadyExists"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RelayEmptyBatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams[]"; readonly name: "createOrderParamsList"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams[]"; readonly name: "updateOrderParamsList"; readonly type: "tuple[]"; }, { readonly internalType: "bytes32[]"; readonly name: "cancelOrderKeys"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IRelayUtils.BatchParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "batch"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "referralStorage"; readonly outputs: readonly [{ readonly internalType: "contract IReferralStorage"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }]; readonly name: "registerCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }]; readonly name: "setTraderReferralCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; MultichainSubaccountRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RelayEmptyBatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams[]"; readonly name: "createOrderParamsList"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams[]"; readonly name: "updateOrderParamsList"; readonly type: "tuple[]"; }, { readonly internalType: "bytes32[]"; readonly name: "cancelOrderKeys"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IRelayUtils.BatchParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "batch"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }]; readonly name: "removeSubaccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "subaccountApprovalNonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; MultichainTransferRouter: readonly [{ readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract Router"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "oracle"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "orderVault"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "orderHandler"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "contract MultichainVault"; readonly name: "multichainVault"; readonly type: "address"; }]; readonly internalType: "struct MultichainRouter.BaseConstructorParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidInitializer"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }]; readonly name: "InvalidMultichainProvider"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "bridgeIn"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly internalType: "struct IRelayUtils.BridgeOutParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "bridgeOut"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly internalType: "struct IRelayUtils.BridgeOutParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "bridgeOutFromController"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_multichainProvider"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainProvider"; readonly outputs: readonly [{ readonly internalType: "contract IMultichainProvider"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "multichainVault"; readonly outputs: readonly [{ readonly internalType: "contract MultichainVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "provider"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly internalType: "struct IRelayUtils.BridgeOutParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "transferOut"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; MultichainVault: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }]; readonly name: "InvalidNativeTokenSender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "SelfTransferNotSupported"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "recordTransferIn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "syncTokenBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferOut"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly name: "transferOut"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferOutNativeToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; ReferralStorage: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "code"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAccount"; readonly type: "address"; }]; readonly name: "GovSetCodeOwner"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "code"; readonly type: "bytes32"; }]; readonly name: "RegisterCode"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAccount"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "code"; readonly type: "bytes32"; }]; readonly name: "SetCodeOwner"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "prevGov"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "nextGov"; readonly type: "address"; }]; readonly name: "SetGov"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "handler"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly name: "SetHandler"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "referrer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "discountShare"; readonly type: "uint256"; }]; readonly name: "SetReferrerDiscountShare"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "referrer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tierId"; readonly type: "uint256"; }]; readonly name: "SetReferrerTier"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "tierId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalRebate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "discountShare"; readonly type: "uint256"; }]; readonly name: "SetTier"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "code"; readonly type: "bytes32"; }]; readonly name: "SetTraderReferralCode"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "codeOwners"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "getTraderReferralInfo"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "_newAccount"; readonly type: "address"; }]; readonly name: "govSetCodeOwner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pendingGov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "referrerDiscountShares"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "referrerTiers"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }]; readonly name: "registerCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "_newAccount"; readonly type: "address"; }]; readonly name: "setCodeOwner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_discountShare"; readonly type: "uint256"; }]; readonly name: "setReferrerDiscountShare"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_referrer"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tierId"; readonly type: "uint256"; }]; readonly name: "setReferrerTier"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tierId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_totalRebate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_discountShare"; readonly type: "uint256"; }]; readonly name: "setTier"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }]; readonly name: "setTraderReferralCode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }]; readonly name: "setTraderReferralCodeByUser"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "tiers"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalRebate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "discountShare"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "traderReferralCodes"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newGov"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; RelayParams: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; RewardReader: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_depositTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_rewardTrackers"; readonly type: "address[]"; }]; readonly name: "getDepositBalances"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_rewardTrackers"; readonly type: "address[]"; }]; readonly name: "getStakingInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_vesters"; readonly type: "address[]"; }]; readonly name: "getVestingInfoV2"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; RewardRouter: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "StakeGlp"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "StakeGmx"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "UnstakeGlp"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "UnstakeGmx"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }]; readonly name: "acceptTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }]; readonly name: "batchCompoundForAccounts"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }]; readonly name: "batchRestakeForAccounts"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }]; readonly name: "batchStakeGmxForAccounts"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "bnGmx"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "bonusGmxTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claimEsGmx"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claimFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "compound"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "esGmx"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "extendedGmxTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGlpTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGmxTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glp"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glpManager"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glpVester"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmx"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmxVester"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "govToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_shouldClaimGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldClaimEsGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeEsGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeMultiplierPoints"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldClaimWeth"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldConvertWethToEth"; readonly type: "bool"; }]; readonly name: "handleRewards"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gmxReceiver"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_shouldClaimGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldClaimEsGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeEsGmx"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldStakeMultiplierPoints"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldClaimWeth"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_shouldConvertWethToEth"; readonly type: "bool"; }]; readonly name: "handleRewardsV2"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inRestakingMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inStrictTransferMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "weth"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "gmx"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "esGmx"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "bnGmx"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glp"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "stakedGmxTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "bonusGmxTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "extendedGmxTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "feeGmxTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "feeGlpTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "stakedGlpTracker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glpManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "gmxVester"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "glpVester"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "externalHandler"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "govToken"; readonly type: "address"; }]; readonly internalType: "struct RewardRouterV2.InitializeParams"; readonly name: "_initializeParams"; readonly type: "tuple"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly name: "makeExternalCalls"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxBoostBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minUsdg"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minGlp"; readonly type: "uint256"; }]; readonly name: "mintAndStakeGlp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_minUsdg"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minGlp"; readonly type: "uint256"; }]; readonly name: "mintAndStakeGlpETH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "pendingReceivers"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_govToken"; readonly type: "address"; }]; readonly name: "setGovToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inRestakingMode"; readonly type: "bool"; }]; readonly name: "setInRestakingMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inStrictTransferMode"; readonly type: "bool"; }]; readonly name: "setInStrictTransferMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxBoostBasisPoints"; readonly type: "uint256"; }]; readonly name: "setMaxBoostBasisPoints"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "enum RewardRouterV2.VotingPowerType"; readonly name: "_votingPowerType"; readonly type: "uint8"; }]; readonly name: "setVotingPowerType"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "signalTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "stakeEsGmx"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "stakeGmx"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stakedGlpTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stakedGmxTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_glpAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minOut"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "unstakeAndRedeemGlp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_glpAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minOut"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "unstakeAndRedeemGlpETH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "unstakeEsGmx"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "unstakeGmx"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "votingPowerType"; readonly outputs: readonly [{ readonly internalType: "enum RewardRouterV2.VotingPowerType"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "weth"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; RewardTracker: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "_symbol"; readonly type: "string"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Claim"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "allowances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "averageStakedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "balances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "claim"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "claimForAccount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "claimable"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "claimableReward"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "cumulativeRewardPerToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeRewards"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "depositBalances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "distributor"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateClaimingMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateStakingMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateTransferMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_depositTokens"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "_distributor"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isDepositToken"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "previousCumulatedRewardPerToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_depositToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isDepositToken"; readonly type: "bool"; }]; readonly name: "setDepositToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateClaimingMode"; readonly type: "bool"; }]; readonly name: "setInPrivateClaimingMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateStakingMode"; readonly type: "bool"; }]; readonly name: "setInPrivateStakingMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateTransferMode"; readonly type: "bool"; }]; readonly name: "setInPrivateTransferMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_depositToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "stake"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_fundingAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_depositToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "stakeForAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "stakedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "tokensPerInterval"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "totalDepositSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_depositToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "unstake"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_depositToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "unstakeForAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "updateRewards"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; SmartAccount: readonly [{ readonly name: "isValidSignature"; readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_hash"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "_signature"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: "magicValue"; readonly type: "bytes4"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; StBTC: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "allowance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; }]; readonly name: "ERC20InsufficientAllowance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "needed"; readonly type: "uint256"; }]; readonly name: "ERC20InsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "approver"; readonly type: "address"; }]; readonly name: "ERC20InvalidApprover"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "ERC20InvalidReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "ERC20InvalidSender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "ERC20InvalidSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly name: "ERC4626ExceededMaxDeposit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly name: "ERC4626ExceededMaxMint"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly name: "ERC4626ExceededMaxRedeem"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly name: "ERC4626ExceededMaxWithdraw"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NoRewards"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotFeeReceiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "OwnableInvalidOwner"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "OwnableUnauthorizedAccount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ValueMismatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroShares"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "caller"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Harvest"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferStarted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "reward"; readonly type: "uint256"; }]; readonly name: "RewardAdded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "acceptOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "asset"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "assetsPerShare"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "convertToAssets"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }]; readonly name: "convertToShares"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "deposit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "directDeposit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "earned"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeReceiver"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "harvest"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: "_asset"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_initialOwner"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "lastTimeRewardApplicable"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "lastUpdateTime"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxDeposit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxMint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "maxRedeem"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "maxWithdraw"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "notifyRewardAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pendingOwner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "periodFinish"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }]; readonly name: "previewDeposit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "previewMint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }]; readonly name: "previewRedeem"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }]; readonly name: "previewWithdraw"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "shares"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "redeem"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardPerToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardPerTokenPaid"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardPerTokenStored"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewards"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newFeeReceiver"; readonly type: "address"; }]; readonly name: "setFeeReceiver"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalAssets"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalStaked"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "assets"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "withdraw"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; SubaccountGelatoRelayRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract Router"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOracle"; readonly name: "_oracle"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "_orderHandler"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "_orderVault"; readonly type: "address"; }, { readonly internalType: "contract ISwapHandler"; readonly name: "_swapHandler"; readonly type: "address"; }, { readonly internalType: "contract IExternalHandler"; readonly name: "_externalHandler"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentTimestamp"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly name: "DeadlinePassed"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "requiredRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "availableFeeAmount"; readonly type: "uint256"; }]; readonly name: "InsufficientRelayFee"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly name: "InvalidDestinationChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "sendTokensLength"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sendAmountsLength"; readonly type: "uint256"; }]; readonly name: "InvalidExternalCalls"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedSpender"; readonly type: "address"; }]; readonly name: "InvalidPermitSpender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly name: "InvalidSrcChainId"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "digest"; readonly type: "bytes32"; }]; readonly name: "InvalidUserDigest"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxFeeUsd"; readonly type: "uint256"; }]; readonly name: "MaxRelayFeeSwapForSubaccountExceeded"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NonEmptyExternalCallsForSubaccountOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "RelayEmptyBatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenPermitsNotAllowedForMultichain"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnexpectedRelayFeeToken"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "expectedFeeToken"; readonly type: "address"; }]; readonly name: "UnsupportedRelayFeeToken"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams[]"; readonly name: "createOrderParamsList"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams[]"; readonly name: "updateOrderParamsList"; readonly type: "tuple[]"; }, { readonly internalType: "bytes32[]"; readonly name: "cancelOrderKeys"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IRelayUtils.BatchParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "batch"; readonly outputs: readonly [{ readonly internalType: "bytes32[]"; readonly name: ""; readonly type: "bytes32[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "digests"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "externalHandler"; readonly outputs: readonly [{ readonly internalType: "contract IExternalHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oracle"; readonly outputs: readonly [{ readonly internalType: "contract IOracle"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }]; readonly name: "removeSubaccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "subaccountApprovalNonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapHandler"; readonly outputs: readonly [{ readonly internalType: "contract ISwapHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "tokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "providers"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly internalType: "struct OracleUtils.SetPricesParams"; readonly name: "oracleParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address[]"; readonly name: "sendTokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "sendAmounts"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "externalCallTargets"; readonly type: "address[]"; }, { readonly internalType: "bytes[]"; readonly name: "externalCallDataList"; readonly type: "bytes[]"; }, { readonly internalType: "address[]"; readonly name: "refundTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "refundReceivers"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.ExternalCalls"; readonly name: "externalCalls"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly internalType: "struct IRelayUtils.TokenPermit[]"; readonly name: "tokenPermits"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "feeToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "feeSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IRelayUtils.FeeParams"; readonly name: "fee"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "userNonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.RelayParams"; readonly name: "relayParams"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "shouldAdd"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "desChainId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct SubaccountApproval"; readonly name: "subaccountApproval"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "executionFeeIncrease"; readonly type: "uint256"; }]; readonly internalType: "struct IRelayUtils.UpdateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; SubaccountRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract Router"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }, { readonly internalType: "contract DataStore"; readonly name: "_dataStore"; readonly type: "address"; }, { readonly internalType: "contract EventEmitter"; readonly name: "_eventEmitter"; readonly type: "address"; }, { readonly internalType: "contract IOrderHandler"; readonly name: "_orderHandler"; readonly type: "address"; }, { readonly internalType: "contract OrderVault"; readonly name: "_orderVault"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "DisabledFeature"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyHoldingAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyOrder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "EmptyReceiver"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "EmptyTokenTranferGasLimit"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }]; readonly name: "InvalidNativeTokenSender"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "TokenTransferError"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "string"; readonly name: "reason"; readonly type: "string"; }, { readonly indexed: false; readonly internalType: "bytes"; readonly name: "returndata"; readonly type: "bytes"; }]; readonly name: "TokenTransferReverted"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }]; readonly name: "addSubaccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "cancelOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsAddresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParamsNumbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }, { readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "bytes32[]"; readonly name: "dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct IBaseOrderUtils.CreateOrderParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createOrder"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "dataStore"; readonly outputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "eventEmitter"; readonly outputs: readonly [{ readonly internalType: "contract EventEmitter"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderHandler"; readonly outputs: readonly [{ readonly internalType: "contract IOrderHandler"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "orderVault"; readonly outputs: readonly [{ readonly internalType: "contract OrderVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }]; readonly name: "removeSubaccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "contract Router"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendNativeToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendTokens"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "sendWnt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "integrationId"; readonly type: "bytes32"; }]; readonly name: "setIntegrationId"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "maxAllowedCount"; readonly type: "uint256"; }]; readonly name: "setMaxAllowedSubaccountActionCount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "setSubaccountAutoTopUpAmount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "subaccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "actionType"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "expiresAt"; readonly type: "uint256"; }]; readonly name: "setSubaccountExpiresAt"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }]; readonly name: "updateOrder"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; SyntheticsReader: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAccountOrders"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "orderKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct Order.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct Order.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isFrozen"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }]; readonly internalType: "struct Order.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct Order.Props"; readonly name: "order"; readonly type: "tuple"; }]; readonly internalType: "struct ReaderUtils.OrderInfo[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract IReferralStorage"; readonly name: "referralStorage"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "markets"; readonly type: "address[]"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices[]"; readonly name: "marketPrices"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAccountPositionInfoList"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }]; readonly internalType: "struct Position.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "increasedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "decreasedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct Position.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly internalType: "struct Position.Flags"; readonly name: "flags"; readonly type: "tuple"; }]; readonly internalType: "struct Position.Props"; readonly name: "position"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "totalRebateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "adjustedAffiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRebateAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionReferralFees"; readonly name: "referral"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "traderTier"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionProFees"; readonly name: "pro"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "fundingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestFundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestLongTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestShortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFundingFees"; readonly name: "funding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "borrowingFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionBorrowingFees"; readonly name: "borrowing"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "uiFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "uiFeeAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionUiFees"; readonly name: "ui"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionLiquidationFees"; readonly name: "liquidation"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "collateralTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "positionFeeFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "protocolFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeReceiverAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmountExcludingFunding"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFees"; readonly name: "fees"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "executionPrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "balanceWasImproved"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "proportionalPendingImpactUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "totalImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "priceImpactDiffUsd"; readonly type: "uint256"; }]; readonly internalType: "struct ReaderPricingUtils.ExecutionPriceResult"; readonly name: "executionPriceResult"; readonly type: "tuple"; }, { readonly internalType: "int256"; readonly name: "basePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "uncappedBasePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "pnlAfterPriceImpactUsd"; readonly type: "int256"; }]; readonly internalType: "struct ReaderPositionUtils.PositionInfo[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getAccountPositions"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }]; readonly internalType: "struct Position.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "increasedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "decreasedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct Position.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly internalType: "struct Position.Flags"; readonly name: "flags"; readonly type: "tuple"; }]; readonly internalType: "struct Position.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }]; readonly name: "getAdlState"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getDeposit"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialLongToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialShortToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct Deposit.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "initialLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct Deposit.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly internalType: "struct Deposit.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct Deposit.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "longTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "enum ISwapPricingUtils.SwapPricingType"; readonly name: "swapPricingType"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "includeVirtualInventoryImpact"; readonly type: "bool"; }]; readonly name: "getDepositAmountOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "marketKey"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "positionSizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionSizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "sizeDeltaUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly name: "getExecutionPrice"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "executionPrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "balanceWasImproved"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "proportionalPendingImpactUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "totalImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "priceImpactDiffUsd"; readonly type: "uint256"; }]; readonly internalType: "struct ReaderPricingUtils.ExecutionPriceResult"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "key"; readonly type: "address"; }]; readonly name: "getMarket"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "salt"; readonly type: "bytes32"; }]; readonly name: "getMarketBySalt"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "marketKey"; readonly type: "address"; }]; readonly name: "getMarketInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactorPerSecondForLongs"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactorPerSecondForShorts"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "fundingFeeAmountPerSize"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "claimableFundingAmountPerSize"; readonly type: "tuple"; }]; readonly internalType: "struct ReaderUtils.BaseFundingValues"; readonly name: "baseFunding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "longsPayShorts"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "fundingFactorPerSecond"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "nextSavedFundingFactorPerSecond"; readonly type: "int256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "fundingFeeAmountPerSizeDelta"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "claimableFundingAmountPerSizeDelta"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.GetNextFundingAmountPerSizeResult"; readonly name: "nextFunding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "virtualPoolAmountForLongToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "virtualPoolAmountForShortToken"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "virtualInventoryForPositions"; readonly type: "int256"; }]; readonly internalType: "struct ReaderUtils.VirtualInventory"; readonly name: "virtualInventory"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "isDisabled"; readonly type: "bool"; }]; readonly internalType: "struct ReaderUtils.MarketInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices[]"; readonly name: "marketPricesList"; readonly type: "tuple[]"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getMarketInfoList"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactorPerSecondForLongs"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactorPerSecondForShorts"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "fundingFeeAmountPerSize"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "claimableFundingAmountPerSize"; readonly type: "tuple"; }]; readonly internalType: "struct ReaderUtils.BaseFundingValues"; readonly name: "baseFunding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "longsPayShorts"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "fundingFactorPerSecond"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "nextSavedFundingFactorPerSecond"; readonly type: "int256"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "fundingFeeAmountPerSizeDelta"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "long"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "longToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortToken"; readonly type: "uint256"; }]; readonly internalType: "struct MarketUtils.CollateralType"; readonly name: "short"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.PositionType"; readonly name: "claimableFundingAmountPerSizeDelta"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.GetNextFundingAmountPerSizeResult"; readonly name: "nextFunding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "virtualPoolAmountForLongToken"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "virtualPoolAmountForShortToken"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "virtualInventoryForPositions"; readonly type: "int256"; }]; readonly internalType: "struct ReaderUtils.VirtualInventory"; readonly name: "virtualInventory"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "isDisabled"; readonly type: "bool"; }]; readonly internalType: "struct ReaderUtils.MarketInfo[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "bytes32"; readonly name: "pnlFactorType"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getMarketTokenPrice"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "poolValue"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "longPnl"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "shortPnl"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "netPnl"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "longTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBorrowingFees"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeePoolFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "impactPoolAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lentImpactPoolAmount"; readonly type: "uint256"; }]; readonly internalType: "struct MarketPoolValueInfo.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "start"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "end"; readonly type: "uint256"; }]; readonly name: "getMarkets"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getNetPnl"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getOpenInterestWithPnl"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getOrder"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "cancellationReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "initialCollateralToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "swapPath"; readonly type: "address[]"; }]; readonly internalType: "struct Order.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "enum Order.OrderType"; readonly name: "orderType"; readonly type: "uint8"; }, { readonly internalType: "enum Order.DecreasePositionSwapType"; readonly name: "decreasePositionSwapType"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "initialCollateralDeltaAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "triggerPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "acceptablePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minOutputAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "validFromTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct Order.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isFrozen"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "autoCancel"; readonly type: "bool"; }]; readonly internalType: "struct Order.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct Order.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }]; readonly name: "getPendingPositionImpactPoolDistributionAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getPnl"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "marketAddress"; readonly type: "address"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "maximize"; readonly type: "bool"; }]; readonly name: "getPnlToPoolFactor"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getPosition"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }]; readonly internalType: "struct Position.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "increasedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "decreasedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct Position.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly internalType: "struct Position.Flags"; readonly name: "flags"; readonly type: "tuple"; }]; readonly internalType: "struct Position.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract IReferralStorage"; readonly name: "referralStorage"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "usePositionSizeAsSizeDeltaUsd"; readonly type: "bool"; }]; readonly name: "getPositionInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }]; readonly internalType: "struct Position.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "increasedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "decreasedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct Position.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly internalType: "struct Position.Flags"; readonly name: "flags"; readonly type: "tuple"; }]; readonly internalType: "struct Position.Props"; readonly name: "position"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "totalRebateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "adjustedAffiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRebateAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionReferralFees"; readonly name: "referral"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "traderTier"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionProFees"; readonly name: "pro"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "fundingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestFundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestLongTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestShortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFundingFees"; readonly name: "funding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "borrowingFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionBorrowingFees"; readonly name: "borrowing"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "uiFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "uiFeeAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionUiFees"; readonly name: "ui"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionLiquidationFees"; readonly name: "liquidation"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "collateralTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "positionFeeFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "protocolFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeReceiverAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmountExcludingFunding"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFees"; readonly name: "fees"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "executionPrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "balanceWasImproved"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "proportionalPendingImpactUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "totalImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "priceImpactDiffUsd"; readonly type: "uint256"; }]; readonly internalType: "struct ReaderPricingUtils.ExecutionPriceResult"; readonly name: "executionPriceResult"; readonly type: "tuple"; }, { readonly internalType: "int256"; readonly name: "basePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "uncappedBasePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "pnlAfterPriceImpactUsd"; readonly type: "int256"; }]; readonly internalType: "struct ReaderPositionUtils.PositionInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract IReferralStorage"; readonly name: "referralStorage"; readonly type: "address"; }, { readonly internalType: "bytes32[]"; readonly name: "positionKeys"; readonly type: "bytes32[]"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices[]"; readonly name: "prices"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }]; readonly name: "getPositionInfoList"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }]; readonly internalType: "struct Position.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "sizeInUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "sizeInTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "pendingImpactAmount"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "longTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "shortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "increasedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "decreasedAtTime"; readonly type: "uint256"; }]; readonly internalType: "struct Position.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }]; readonly internalType: "struct Position.Flags"; readonly name: "flags"; readonly type: "tuple"; }]; readonly internalType: "struct Position.Props"; readonly name: "position"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "referralCode"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "totalRebateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "adjustedAffiliateRewardFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalRebateAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateRewardAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionReferralFees"; readonly name: "referral"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "traderTier"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "traderDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionProFees"; readonly name: "pro"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "fundingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "claimableShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestFundingFeeAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestLongTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "latestShortTokenClaimableFundingAmountPerSize"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFundingFees"; readonly name: "funding"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "borrowingFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowingFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionBorrowingFees"; readonly name: "borrowing"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "uiFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "uiFeeAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionUiFees"; readonly name: "ui"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "liquidationFeeAmountForFeeReceiver"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionLiquidationFees"; readonly name: "liquidation"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "collateralTokenPrice"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "positionFeeFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "protocolFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeReceiverAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "positionFeeAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmountExcludingFunding"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalCostAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalDiscountAmount"; readonly type: "uint256"; }]; readonly internalType: "struct PositionPricingUtils.PositionFees"; readonly name: "fees"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "priceImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "executionPrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "balanceWasImproved"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "proportionalPendingImpactUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "totalImpactUsd"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "priceImpactDiffUsd"; readonly type: "uint256"; }]; readonly internalType: "struct ReaderPricingUtils.ExecutionPriceResult"; readonly name: "executionPriceResult"; readonly type: "tuple"; }, { readonly internalType: "int256"; readonly name: "basePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "uncappedBasePnlUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "pnlAfterPriceImpactUsd"; readonly type: "int256"; }]; readonly internalType: "struct ReaderPositionUtils.PositionInfo[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "sizeDeltaUsd"; readonly type: "uint256"; }]; readonly name: "getPositionPnlUsd"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getShift"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "fromMarket"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "toMarket"; readonly type: "address"; }]; readonly internalType: "struct Shift.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minMarketTokens"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct Shift.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct Shift.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }]; readonly name: "getSwapAmountOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "feeReceiverAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeAmountForPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountAfterFees"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "uiFeeReceiverFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "uiFeeAmount"; readonly type: "uint256"; }]; readonly internalType: "struct SwapPricingUtils.SwapFees"; readonly name: "fees"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "marketKey"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "tokenInPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "tokenOutPrice"; readonly type: "tuple"; }]; readonly name: "getSwapPriceImpact"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: ""; readonly type: "int256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "getWithdrawal"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "callbackContract"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "market"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "longTokenSwapPath"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "shortTokenSwapPath"; readonly type: "address[]"; }]; readonly internalType: "struct Withdrawal.Addresses"; readonly name: "addresses"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minLongTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minShortTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "updatedAtTime"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "executionFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "callbackGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "srcChainId"; readonly type: "uint256"; }]; readonly internalType: "struct Withdrawal.Numbers"; readonly name: "numbers"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "shouldUnwrapNativeToken"; readonly type: "bool"; }]; readonly internalType: "struct Withdrawal.Flags"; readonly name: "flags"; readonly type: "tuple"; }, { readonly internalType: "bytes32[]"; readonly name: "_dataList"; readonly type: "bytes32[]"; }]; readonly internalType: "struct Withdrawal.Props"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "uint256"; readonly name: "marketTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "uiFeeReceiver"; readonly type: "address"; }, { readonly internalType: "enum ISwapPricingUtils.SwapPricingType"; readonly name: "swapPricingType"; readonly type: "uint8"; }]; readonly name: "getWithdrawalAmountOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract DataStore"; readonly name: "dataStore"; readonly type: "address"; }, { readonly internalType: "contract IReferralStorage"; readonly name: "referralStorage"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "positionKey"; readonly type: "bytes32"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "marketToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "longToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "shortToken"; readonly type: "address"; }]; readonly internalType: "struct Market.Props"; readonly name: "market"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "indexTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "longTokenPrice"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "max"; readonly type: "uint256"; }]; readonly internalType: "struct Price.Props"; readonly name: "shortTokenPrice"; readonly type: "tuple"; }]; readonly internalType: "struct MarketUtils.MarketPrices"; readonly name: "prices"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "shouldValidateMinCollateralUsd"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "forLiquidation"; readonly type: "bool"; }]; readonly name: "isPositionLiquidatable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "string"; readonly name: ""; readonly type: "string"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "remainingCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsd"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "minCollateralUsdForLeverage"; readonly type: "int256"; }]; readonly internalType: "struct PositionUtils.IsPositionLiquidatableInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; SyntheticsRouter: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: "_roleStore"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "role"; readonly type: "string"; }]; readonly name: "Unauthorized"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "pluginTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "roleStore"; readonly outputs: readonly [{ readonly internalType: "contract RoleStore"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; Timelock: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_buffer"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_tokenManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_mintReceiver"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_glpManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardRouter"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_maxTokenSupply"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxMarginFeeBasisPoints"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "ClearAction"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalApprove"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalMint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalPendingAction"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "vault"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "SignalRedeemUsdg"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "gov"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalSetGov"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "handler"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalSetHandler"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "vault"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "priceFeed"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalSetPriceFeed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "vault"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenDecimals"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenWeight"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "minProfitBps"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "maxUsdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isStable"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isShortable"; readonly type: "bool"; }]; readonly name: "SignalVaultSetTokenConfig"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "action"; readonly type: "bytes32"; }]; readonly name: "SignalWithdrawToken"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "MAX_BUFFER"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FUNDING_RATE_FACTOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_LEVERAGE_VALIDATION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "admin"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vester"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_amounts"; readonly type: "uint256[]"; }]; readonly name: "batchSetBonusRewards"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "batchWithdrawFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "buffer"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "_action"; readonly type: "bytes32"; }]; readonly name: "cancelAction"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }]; readonly name: "disableLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }]; readonly name: "enableLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "glpManager"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_referralStorage"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "_code"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "_newAccount"; readonly type: "address"; }]; readonly name: "govSetCodeOwner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "initGlpManager"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "initRewardRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isKeeper"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "marginFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxMarginFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxTokenSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "mintReceiver"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "pendingActions"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "processMint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "redeemUsdg"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "removeAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardRouter"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }]; readonly name: "setAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_buffer"; readonly type: "uint256"; }]; readonly name: "setBuffer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setContractHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }]; readonly name: "setExternalAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableTaxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_mintBurnFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_swapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableSwapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_hasDynamicFees"; readonly type: "bool"; }]; readonly name: "setFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_fundingInterval"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "setFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_cooldownDuration"; readonly type: "uint256"; }]; readonly name: "setGlpCooldownDuration"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_inPrivateLiquidationMode"; readonly type: "bool"; }]; readonly name: "setInPrivateLiquidationMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_inPrivateTransferMode"; readonly type: "bool"; }]; readonly name: "setInPrivateTransferMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLeverageEnabled"; readonly type: "bool"; }]; readonly name: "setIsLeverageEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isSwapEnabled"; readonly type: "bool"; }]; readonly name: "setIsSwapEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_keeper"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setKeeper"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_liquidator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxMarginFeeBasisPoints"; readonly type: "uint256"; }]; readonly name: "setMarginFeeBasisPoints"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_maxGasPrice"; readonly type: "uint256"; }]; readonly name: "setMaxGasPrice"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setMaxGlobalShortSize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_maxLeverage"; readonly type: "uint256"; }]; readonly name: "setMaxLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }]; readonly name: "setPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_referralStorage"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_referrer"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tierId"; readonly type: "uint256"; }]; readonly name: "setReferrerTier"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_shortsTrackerAveragePriceWeight"; readonly type: "uint256"; }]; readonly name: "setShortsTrackerAveragePriceWeight"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_shouldToggleIsLeverageEnabled"; readonly type: "bool"; }]; readonly name: "setShouldToggleIsLeverageEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableTaxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_mintBurnFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_swapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableSwapFeeBasisPoints"; readonly type: "uint256"; }]; readonly name: "setSwapFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_referralStorage"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tierId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_totalRebate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_discountShare"; readonly type: "uint256"; }]; readonly name: "setTier"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_bufferAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }]; readonly name: "setTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_usdgAmounts"; readonly type: "uint256[]"; }]; readonly name: "setUsdgAmounts"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "contract IVaultUtils"; readonly name: "_vaultUtils"; readonly type: "address"; }]; readonly name: "setVaultUtils"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "shouldToggleIsLeverageEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "signalApprove"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "signalMint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "signalRedeemUsdg"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "signalSetGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "signalSetHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }]; readonly name: "signalSetPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenDecimals"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isStable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_isShortable"; readonly type: "bool"; }]; readonly name: "signalVaultSetTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "signalWithdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "tokenManager"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "transferIn"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }]; readonly name: "updateUsdgSupply"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenDecimals"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isStable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_isShortable"; readonly type: "bool"; }]; readonly name: "vaultSetTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "withdrawFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_target"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; Token: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "subtractedValue"; readonly type: "uint256"; }]; readonly name: "decreaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "deposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "addedValue"; readonly type: "uint256"; }]; readonly name: "increaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; Reader: readonly [{ readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amountIn"; readonly type: "uint256"; }]; readonly name: "getAmountOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getFees"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getFundingRates"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }]; readonly name: "getMaxAmountIn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_factory"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getPairInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_collateralTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_indexTokens"; readonly type: "address[]"; }, { readonly internalType: "bool[]"; readonly name: "_isLong"; readonly type: "bool[]"; }]; readonly name: "getPositions"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_yieldTrackers"; readonly type: "address[]"; }]; readonly name: "getStakingInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getTokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getTokenBalancesWithSupplies"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_excludedAccounts"; readonly type: "address[]"; }]; readonly name: "getTokenSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_yieldTokens"; readonly type: "address[]"; }]; readonly name: "getTotalStaked"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getVaultTokenInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; ReaderV2: readonly [{ readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "POSITION_PROPS_LENGTH"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "USDG_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amountIn"; readonly type: "uint256"; }]; readonly name: "getAmountOut"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amountIn"; readonly type: "uint256"; }]; readonly name: "getFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getFees"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getFullVaultTokenInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getFundingRates"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }]; readonly name: "getMaxAmountIn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_factory"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getPairInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_collateralTokens"; readonly type: "address[]"; }, { readonly internalType: "address[]"; readonly name: "_indexTokens"; readonly type: "address[]"; }, { readonly internalType: "bool[]"; readonly name: "_isLong"; readonly type: "bool[]"; }]; readonly name: "getPositions"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVaultPriceFeed"; readonly name: "_priceFeed"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getPrices"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_yieldTrackers"; readonly type: "address[]"; }]; readonly name: "getStakingInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getTokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getTokenBalancesWithSupplies"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_excludedAccounts"; readonly type: "address[]"; }]; readonly name: "getTokenSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }]; readonly name: "getTotalBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_yieldTokens"; readonly type: "address[]"; }]; readonly name: "getTotalStaked"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getVaultTokenInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getVaultTokenInfoV2"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_vesters"; readonly type: "address[]"; }]; readonly name: "getVestingInfo"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasMaxGlobalShortSizes"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_hasMaxGlobalShortSizes"; readonly type: "bool"; }]; readonly name: "setConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; Treasury: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "addLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }]; readonly name: "addWhitelists"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "busd"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "busdBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "busdHardCap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "busdReceived"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "busdSlotCap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "endSwap"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_unlockTime"; readonly type: "uint256"; }]; readonly name: "extendUnlockTime"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fund"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmt"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmtListingPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gmtPresalePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_busdBasisPoints"; readonly type: "uint256"; }]; readonly name: "increaseBusdBasisPoints"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_addresses"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "_values"; readonly type: "uint256[]"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isLiquidityAdded"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isSwapActive"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_accounts"; readonly type: "address[]"; }]; readonly name: "removeWhitelists"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_fund"; readonly type: "address"; }]; readonly name: "setFund"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_busdAmount"; readonly type: "uint256"; }]; readonly name: "swap"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "swapAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "swapWhitelist"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "unlockTime"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "prevAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "nextAccount"; readonly type: "address"; }]; readonly name: "updateWhitelist"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; UniPool: readonly [{ readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: ""; readonly type: "uint32[]"; }]; readonly name: "observe"; readonly outputs: readonly [{ readonly internalType: "int56[]"; readonly name: "tickCumulatives"; readonly type: "int56[]"; }, { readonly internalType: "uint160[]"; readonly name: "secondsPerLiquidityCumulativeX128s"; readonly type: "uint160[]"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "slot0"; readonly outputs: readonly [{ readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }, { readonly internalType: "uint16"; readonly name: "observationIndex"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinality"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinalityNext"; readonly type: "uint16"; }, { readonly internalType: "uint8"; readonly name: "feeProtocol"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "unlocked"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "tickSpacing"; readonly outputs: readonly [{ readonly internalType: "int24"; readonly name: ""; readonly type: "int24"; }]; readonly stateMutability: "pure"; readonly type: "function"; }]; UniswapV2: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "Burn"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Mint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0In"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1In"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0Out"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1Out"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint112"; readonly name: "reserve0"; readonly type: "uint112"; }, { readonly indexed: false; readonly internalType: "uint112"; readonly name: "reserve1"; readonly type: "uint112"; }]; readonly name: "Sync"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MINIMUM_LIQUIDITY"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PERMIT_TYPEHASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "burn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getReserves"; readonly outputs: readonly [{ readonly internalType: "uint112"; readonly name: "_reserve0"; readonly type: "uint112"; }, { readonly internalType: "uint112"; readonly name: "_reserve1"; readonly type: "uint112"; }, { readonly internalType: "uint32"; readonly name: "_blockTimestampLast"; readonly type: "uint32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token1"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "kLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "liquidity"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "price0CumulativeLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "price1CumulativeLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "skim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0Out"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Out"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "swap"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sync"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token0"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token1"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; UniswapV3Factory: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly name: "FeeAmountEnabled"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnerChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly name: "PoolCreated"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenA"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenB"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }]; readonly name: "createPool"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickSpacing"; readonly type: "int24"; }]; readonly name: "enableFeeAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }]; readonly name: "feeAmountTickSpacing"; readonly outputs: readonly [{ readonly internalType: "int24"; readonly name: ""; readonly type: "int24"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenA"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenB"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }]; readonly name: "getPool"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_owner"; readonly type: "address"; }]; readonly name: "setOwner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; UniswapV3Pool: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Burn"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly name: "Collect"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly name: "CollectProtocol"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "paid0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "paid1"; readonly type: "uint256"; }]; readonly name: "Flash"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint16"; readonly name: "observationCardinalityNextOld"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "observationCardinalityNextNew"; readonly type: "uint16"; }]; readonly name: "IncreaseObservationCardinalityNext"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }]; readonly name: "Initialize"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Mint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "feeProtocol0Old"; readonly type: "uint8"; }, { readonly indexed: false; readonly internalType: "uint8"; readonly name: "feeProtocol1Old"; readonly type: "uint8"; }, { readonly indexed: false; readonly internalType: "uint8"; readonly name: "feeProtocol0New"; readonly type: "uint8"; }, { readonly indexed: false; readonly internalType: "uint8"; readonly name: "feeProtocol1New"; readonly type: "uint8"; }]; readonly name: "SetFeeProtocol"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "amount0"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "amount1"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly name: "burn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount0Requested"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Requested"; readonly type: "uint128"; }]; readonly name: "collect"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount0Requested"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Requested"; readonly type: "uint128"; }]; readonly name: "collectProtocol"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fee"; readonly outputs: readonly [{ readonly internalType: "uint24"; readonly name: ""; readonly type: "uint24"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGrowthGlobal0X128"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGrowthGlobal1X128"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "flash"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint16"; readonly name: "observationCardinalityNext"; readonly type: "uint16"; }]; readonly name: "increaseObservationCardinalityNext"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "liquidity"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxLiquidityPerTick"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "observations"; readonly outputs: readonly [{ readonly internalType: "uint32"; readonly name: "blockTimestamp"; readonly type: "uint32"; }, { readonly internalType: "int56"; readonly name: "tickCumulative"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityCumulativeX128"; readonly type: "uint160"; }, { readonly internalType: "bool"; readonly name: "initialized"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: "secondsAgos"; readonly type: "uint32[]"; }]; readonly name: "observe"; readonly outputs: readonly [{ readonly internalType: "int56[]"; readonly name: "tickCumulatives"; readonly type: "int56[]"; }, { readonly internalType: "uint160[]"; readonly name: "secondsPerLiquidityCumulativeX128s"; readonly type: "uint160[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "_liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside0LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside1LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "protocolFees"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "token0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "token1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint8"; readonly name: "feeProtocol0"; readonly type: "uint8"; }, { readonly internalType: "uint8"; readonly name: "feeProtocol1"; readonly type: "uint8"; }]; readonly name: "setFeeProtocol"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "slot0"; readonly outputs: readonly [{ readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }, { readonly internalType: "uint16"; readonly name: "observationIndex"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinality"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinalityNext"; readonly type: "uint16"; }, { readonly internalType: "uint8"; readonly name: "feeProtocol"; readonly type: "uint8"; }, { readonly internalType: "bool"; readonly name: "unlocked"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }]; readonly name: "snapshotCumulativesInside"; readonly outputs: readonly [{ readonly internalType: "int56"; readonly name: "tickCumulativeInside"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityInsideX128"; readonly type: "uint160"; }, { readonly internalType: "uint32"; readonly name: "secondsInside"; readonly type: "uint32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "zeroForOne"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "amountSpecified"; readonly type: "int256"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "swap"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: "amount0"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "amount1"; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int16"; readonly name: "wordPosition"; readonly type: "int16"; }]; readonly name: "tickBitmap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "tickSpacing"; readonly outputs: readonly [{ readonly internalType: "int24"; readonly name: ""; readonly type: "int24"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }]; readonly name: "ticks"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidityGross"; readonly type: "uint128"; }, { readonly internalType: "int128"; readonly name: "liquidityNet"; readonly type: "int128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthOutside0X128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthOutside1X128"; readonly type: "uint256"; }, { readonly internalType: "int56"; readonly name: "tickCumulativeOutside"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityOutsideX128"; readonly type: "uint160"; }, { readonly internalType: "uint32"; readonly name: "secondsOutside"; readonly type: "uint32"; }, { readonly internalType: "bool"; readonly name: "initialized"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token0"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token1"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; UniswapV3PositionManager: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "approved"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "ApprovalForAll"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Collect"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "DecreaseLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "IncreaseLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PERMIT_TYPEHASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "WETH9"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "burn"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount0Max"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Max"; readonly type: "uint128"; }]; readonly internalType: "struct INonfungiblePositionManager.CollectParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "collect"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }]; readonly name: "createAndInitializePoolIfNecessary"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.DecreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "decreaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "getApproved"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.IncreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "increaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }]; readonly name: "isApprovedForAll"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint256"; readonly name: "amount0Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.MintParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "ownerOf"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint96"; readonly name: "nonce"; readonly type: "uint96"; }, { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside0LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside1LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "refundETH"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_approved"; readonly type: "bool"; }]; readonly name: "setApprovalForAll"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "sweepToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenOfOwnerByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "tokenURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "unwrapWETH9"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }]; Vault: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "BuyUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }]; readonly name: "ClosePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectMarginFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectSwapFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "DecreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DirectPoolDeposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "IncreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "markPrice"; readonly type: "uint256"; }]; readonly name: "LiquidatePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "SellUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOutAfterFees"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fundingRate"; readonly type: "uint256"; }]; readonly name: "UpdateFundingRate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "hasProfit"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "delta"; readonly type: "uint256"; }]; readonly name: "UpdatePnl"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "markPrice"; readonly type: "uint256"; }]; readonly name: "UpdatePosition"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FUNDING_RATE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FEE_BASIS_POINTS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FUNDING_RATE_FACTOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_LIQUIDATION_FEE_USD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_FUNDING_RATE_INTERVAL"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_LEVERAGE"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "USDG_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "addRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_tokenDiv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenMul"; readonly type: "address"; }]; readonly name: "adjustForDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "allWhitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "allWhitelistedTokensLength"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "approvedRouters"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "bufferAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "buyUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "clearTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeFundingRates"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_collateralDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "decreasePosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "directPoolDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "errorController"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "errors"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "feeReserves"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingInterval"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getEntryFundingRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_feeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_increment"; readonly type: "bool"; }]; readonly name: "getFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_entryFundingRate"; readonly type: "uint256"; }]; readonly name: "getFundingFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getGlobalShortDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMaxPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMinPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getNextAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getNextFundingRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getNextGlobalShortAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getPositionFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionKey"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }]; readonly name: "getRedemptionAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateral"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateralUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getTargetUsdgAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getUtilisation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortAveragePrices"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortSizes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "guaranteedUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasDynamicFees"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inManagerMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateLiquidationMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "includeAmmPrice"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "increasePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_usdg"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isLeverageEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isLiquidator"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isManager"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isSwapEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lastFundingTimes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_feeReceiver"; readonly type: "address"; }]; readonly name: "liquidatePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "liquidationFeeUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "marginFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxGasPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxGlobalShortSizes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxUsdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "minProfitBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "minProfitTime"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "mintBurnFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "poolAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "lastIncreasedTime"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "priceFeed"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "removeRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "reservedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "sellUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setBufferAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_errorCode"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "_error"; readonly type: "string"; }]; readonly name: "setError"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_errorController"; readonly type: "address"; }]; readonly name: "setErrorController"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableTaxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_mintBurnFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_swapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableSwapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_hasDynamicFees"; readonly type: "bool"; }]; readonly name: "setFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_fundingInterval"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "setFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inManagerMode"; readonly type: "bool"; }]; readonly name: "setInManagerMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateLiquidationMode"; readonly type: "bool"; }]; readonly name: "setInPrivateLiquidationMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isLeverageEnabled"; readonly type: "bool"; }]; readonly name: "setIsLeverageEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isSwapEnabled"; readonly type: "bool"; }]; readonly name: "setIsSwapEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_liquidator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_manager"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isManager"; readonly type: "bool"; }]; readonly name: "setManager"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxGasPrice"; readonly type: "uint256"; }]; readonly name: "setMaxGasPrice"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setMaxGlobalShortSize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxLeverage"; readonly type: "uint256"; }]; readonly name: "setMaxLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }]; readonly name: "setPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenDecimals"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isStable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_isShortable"; readonly type: "bool"; }]; readonly name: "setTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setUsdgAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVaultUtils"; readonly name: "_vaultUtils"; readonly type: "address"; }]; readonly name: "setVaultUtils"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "shortableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableFundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableSwapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableTaxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "stableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "swap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "taxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenAmount"; readonly type: "uint256"; }]; readonly name: "tokenToUsdMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalTokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }]; readonly name: "updateCumulativeFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newVault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "upgradeVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_price"; readonly type: "uint256"; }]; readonly name: "usdToToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMax"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "usdg"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "usdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "useSwapPricing"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_raise"; readonly type: "bool"; }]; readonly name: "validateLiquidation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "vaultUtils"; readonly outputs: readonly [{ readonly internalType: "contract IVaultUtils"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "whitelistedTokenCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "whitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "withdrawFees"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; VaultReader: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_positionManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getVaultTokenInfoV3"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_vault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_positionManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_weth"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }, { readonly internalType: "address[]"; readonly name: "_tokens"; readonly type: "address[]"; }]; readonly name: "getVaultTokenInfoV4"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; VaultV2: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "BuyUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }]; readonly name: "ClosePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectMarginFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectSwapFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "DecreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DirectPoolDeposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "IncreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "markPrice"; readonly type: "uint256"; }]; readonly name: "LiquidatePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "SellUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOutAfterFees"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fundingRate"; readonly type: "uint256"; }]; readonly name: "UpdateFundingRate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "hasProfit"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "delta"; readonly type: "uint256"; }]; readonly name: "UpdatePnl"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }]; readonly name: "UpdatePosition"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FUNDING_RATE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FEE_BASIS_POINTS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FUNDING_RATE_FACTOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_LIQUIDATION_FEE_USD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_FUNDING_RATE_INTERVAL"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_LEVERAGE"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "USDG_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "addRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_tokenDiv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenMul"; readonly type: "address"; }]; readonly name: "adjustForDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "allWhitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "allWhitelistedTokensLength"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "approvedRouters"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "bufferAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "buyUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "clearTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeFundingRates"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_collateralDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "decreasePosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "directPoolDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "feeReserves"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingInterval"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_feeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_increment"; readonly type: "bool"; }]; readonly name: "getFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_entryFundingRate"; readonly type: "uint256"; }]; readonly name: "getFundingFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getGlobalShortDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMaxPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMinPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getNextAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getNextFundingRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getNextGlobalShortAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getPositionFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionKey"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }]; readonly name: "getRedemptionAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateral"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateralUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getTargetUsdgAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getUtilisation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortAveragePrices"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortSizes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "guaranteedUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasDynamicFees"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inManagerMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateLiquidationMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "includeAmmPrice"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "increasePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_usdg"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isLeverageEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isLiquidator"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isManager"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isSwapEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lastFundingTimes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_feeReceiver"; readonly type: "address"; }]; readonly name: "liquidatePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "liquidationFeeUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "marginFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxGasPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxUsdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "minProfitBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "minProfitTime"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "mintBurnFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "poolAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "lastIncreasedTime"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "priceFeed"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "removeRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "reservedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "sellUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setBufferAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableTaxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_mintBurnFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_swapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableSwapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_hasDynamicFees"; readonly type: "bool"; }]; readonly name: "setFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_fundingInterval"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "setFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inManagerMode"; readonly type: "bool"; }]; readonly name: "setInManagerMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateLiquidationMode"; readonly type: "bool"; }]; readonly name: "setInPrivateLiquidationMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isLeverageEnabled"; readonly type: "bool"; }]; readonly name: "setIsLeverageEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isSwapEnabled"; readonly type: "bool"; }]; readonly name: "setIsSwapEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_liquidator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_manager"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isManager"; readonly type: "bool"; }]; readonly name: "setManager"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxGasPrice"; readonly type: "uint256"; }]; readonly name: "setMaxGasPrice"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxLeverage"; readonly type: "uint256"; }]; readonly name: "setMaxLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }]; readonly name: "setPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenDecimals"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isStable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_isShortable"; readonly type: "bool"; }]; readonly name: "setTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setUsdgAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "shortableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableFundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableSwapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableTaxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "stableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "swap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "taxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenAmount"; readonly type: "uint256"; }]; readonly name: "tokenToUsdMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalTokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "updateCumulativeFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newVault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "upgradeVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_price"; readonly type: "uint256"; }]; readonly name: "usdToToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMax"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "usdg"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "usdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "useSwapPricing"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_raise"; readonly type: "bool"; }]; readonly name: "validateLiquidation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "whitelistedTokenCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "whitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "withdrawFees"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; VaultV2b: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "BuyUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }]; readonly name: "ClosePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectMarginFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeUsd"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeTokens"; readonly type: "uint256"; }]; readonly name: "CollectSwapFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "DecreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DirectPoolDeposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseGuaranteedUsd"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreasePoolAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateralDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "sizeDelta"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "price"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fee"; readonly type: "uint256"; }]; readonly name: "IncreasePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseReservedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseUsdgAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "collateralToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "indexToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLong"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "markPrice"; readonly type: "uint256"; }]; readonly name: "LiquidatePosition"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdgAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "tokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "SellUSDG"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountOutAfterFees"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "feeBasisPoints"; readonly type: "uint256"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "fundingRate"; readonly type: "uint256"; }]; readonly name: "UpdateFundingRate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "hasProfit"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "delta"; readonly type: "uint256"; }]; readonly name: "UpdatePnl"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "key"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "markPrice"; readonly type: "uint256"; }]; readonly name: "UpdatePosition"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BASIS_POINTS_DIVISOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FUNDING_RATE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FEE_BASIS_POINTS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_FUNDING_RATE_FACTOR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_LIQUIDATION_FEE_USD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_FUNDING_RATE_INTERVAL"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_LEVERAGE"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRICE_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "USDG_DECIMALS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "addRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_tokenDiv"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenMul"; readonly type: "address"; }]; readonly name: "adjustForDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "allWhitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "allWhitelistedTokensLength"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "approvedRouters"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "bufferAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "buyUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "clearTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeFundingRates"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_collateralDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "decreasePosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "directPoolDeposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "errorController"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "errors"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "feeReserves"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingInterval"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getEntryFundingRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_feeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_increment"; readonly type: "bool"; }]; readonly name: "getFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_entryFundingRate"; readonly type: "uint256"; }]; readonly name: "getFundingFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getGlobalShortDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMaxPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getMinPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_averagePrice"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_lastIncreasedTime"; readonly type: "uint256"; }]; readonly name: "getNextAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getNextFundingRate"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_nextPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getNextGlobalShortAveragePrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPosition"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionDelta"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }]; readonly name: "getPositionFee"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionKey"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "getPositionLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdgAmount"; readonly type: "uint256"; }]; readonly name: "getRedemptionAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateral"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getRedemptionCollateralUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getTargetUsdgAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }]; readonly name: "getUtilisation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortAveragePrices"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "globalShortSizes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "guaranteedUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasDynamicFees"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inManagerMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "inPrivateLiquidationMode"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "includeAmmPrice"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_sizeDelta"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }]; readonly name: "increasePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_usdg"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isInitialized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isLeverageEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isLiquidator"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isManager"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isSwapEnabled"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lastFundingTimes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "address"; readonly name: "_feeReceiver"; readonly type: "address"; }]; readonly name: "liquidatePosition"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "liquidationFeeUsd"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "marginFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxGasPrice"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxGlobalShortSizes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxLeverage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "maxUsdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "minProfitBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "minProfitTime"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "mintBurnFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "poolAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "size"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateral"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "averagePrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "entryFundingRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "reserveAmount"; readonly type: "uint256"; }, { readonly internalType: "int256"; readonly name: "realisedPnl"; readonly type: "int256"; }, { readonly internalType: "uint256"; readonly name: "lastIncreasedTime"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "priceFeed"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_router"; readonly type: "address"; }]; readonly name: "removeRouter"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "reservedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "sellUSDG"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setBufferAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_errorCode"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "_error"; readonly type: "string"; }]; readonly name: "setError"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_errorController"; readonly type: "address"; }]; readonly name: "setErrorController"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_taxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableTaxBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_mintBurnFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_swapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableSwapFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_marginFeeBasisPoints"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_liquidationFeeUsd"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitTime"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_hasDynamicFees"; readonly type: "bool"; }]; readonly name: "setFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_fundingInterval"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_fundingRateFactor"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_stableFundingRateFactor"; readonly type: "uint256"; }]; readonly name: "setFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inManagerMode"; readonly type: "bool"; }]; readonly name: "setInManagerMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_inPrivateLiquidationMode"; readonly type: "bool"; }]; readonly name: "setInPrivateLiquidationMode"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isLeverageEnabled"; readonly type: "bool"; }]; readonly name: "setIsLeverageEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_isSwapEnabled"; readonly type: "bool"; }]; readonly name: "setIsSwapEnabled"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_liquidator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setLiquidator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_manager"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isManager"; readonly type: "bool"; }]; readonly name: "setManager"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxGasPrice"; readonly type: "uint256"; }]; readonly name: "setMaxGasPrice"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setMaxGlobalShortSize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_maxLeverage"; readonly type: "uint256"; }]; readonly name: "setMaxLeverage"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_priceFeed"; readonly type: "address"; }]; readonly name: "setPriceFeed"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenDecimals"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_tokenWeight"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_minProfitBps"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_maxUsdgAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isStable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_isShortable"; readonly type: "bool"; }]; readonly name: "setTokenConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setUsdgAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVaultUtils"; readonly name: "_vaultUtils"; readonly type: "address"; }]; readonly name: "setVaultUtils"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "shortableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableFundingRateFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableSwapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stableTaxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "stableTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenOut"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "swap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "swapFeeBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "taxBasisPoints"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenBalances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenDecimals"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenAmount"; readonly type: "uint256"; }]; readonly name: "tokenToUsdMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalTokenWeights"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }]; readonly name: "updateCumulativeFundingRate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newVault"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "upgradeVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_price"; readonly type: "uint256"; }]; readonly name: "usdToToken"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMax"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_usdAmount"; readonly type: "uint256"; }]; readonly name: "usdToTokenMin"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "usdg"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "usdgAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "useSwapPricing"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_collateralToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_indexToken"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isLong"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "_raise"; readonly type: "bool"; }]; readonly name: "validateLiquidation"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "vaultUtils"; readonly outputs: readonly [{ readonly internalType: "contract IVaultUtils"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "whitelistedTokenCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "whitelistedTokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "withdrawFees"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; VenusVToken: readonly [{ readonly inputs: readonly []; readonly name: "exchangeRateStored"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; Vester: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "_name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "_symbol"; readonly type: "string"; }, { readonly internalType: "uint256"; readonly name: "_vestingDuration"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_esToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_pairToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_claimableToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardTracker"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Claim"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "PairTransfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "claimedAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "balance"; readonly type: "uint256"; }]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "balances"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "bonusRewards"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claim"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "claimForAccount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "claimable"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claimableToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "claimedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeClaimAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "cumulativeRewardDeductions"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "deposit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "depositForAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "esToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "getCombinedAverageStakedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "getMaxVestableAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_esAmount"; readonly type: "uint256"; }]; readonly name: "getPairAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "getTotalVested"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }]; readonly name: "getVestedAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gov"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasMaxVestableAmount"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasPairToken"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "hasRewardTracker"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isHandler"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "lastVestingTimes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "pairAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pairSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pairToken"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardTracker"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setBonusRewards"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setCumulativeRewardDeductions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_gov"; readonly type: "address"; }]; readonly name: "setGov"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_handler"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setHandler"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_hasMaxVestableAmount"; readonly type: "bool"; }]; readonly name: "setHasMaxVestableAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setTransferredAverageStakedAmounts"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "setTransferredCumulativeRewards"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_receiver"; readonly type: "address"; }]; readonly name: "transferStakeValues"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "transferredAverageStakedAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "transferredCumulativeRewards"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "vestingDuration"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_account"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "withdrawToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; WETH: readonly [{ readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol"; readonly type: "string"; }, { readonly internalType: "uint8"; readonly name: "decimals"; readonly type: "uint8"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "subtractedValue"; readonly type: "uint256"; }]; readonly name: "decreaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "deposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "addedValue"; readonly type: "uint256"; }]; readonly name: "increaseAllowance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; IStargate: readonly [{ readonly inputs: readonly []; readonly name: "InvalidLocalDecimals"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }]; readonly name: "SlippageExceeded"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "guid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "srcEid"; readonly type: "uint32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "toAddress"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountReceivedLD"; readonly type: "uint256"; }]; readonly name: "OFTReceived"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "guid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "dstEid"; readonly type: "uint32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "fromAddress"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountSentLD"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amountReceivedLD"; readonly type: "uint256"; }]; readonly name: "OFTSent"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "approvalRequired"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "oftVersion"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }, { readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "dstEid"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "to"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "amountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "extraOptions"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "composeMsg"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "oftCmd"; readonly type: "bytes"; }]; readonly internalType: "struct SendParam"; readonly name: "_sendParam"; readonly type: "tuple"; }]; readonly name: "quoteOFT"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxAmountLD"; readonly type: "uint256"; }]; readonly internalType: "struct OFTLimit"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int256"; readonly name: "feeAmountLD"; readonly type: "int256"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }]; readonly internalType: "struct OFTFeeDetail[]"; readonly name: "oftFeeDetails"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "amountSentLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountReceivedLD"; readonly type: "uint256"; }]; readonly internalType: "struct OFTReceipt"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "dstEid"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "to"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "amountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "extraOptions"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "composeMsg"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "oftCmd"; readonly type: "bytes"; }]; readonly internalType: "struct SendParam"; readonly name: "_sendParam"; readonly type: "tuple"; }, { readonly internalType: "bool"; readonly name: "_payInLzToken"; readonly type: "bool"; }]; readonly name: "quoteSend"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "nativeFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lzTokenFee"; readonly type: "uint256"; }]; readonly internalType: "struct MessagingFee"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "dstEid"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "to"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "amountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "extraOptions"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "composeMsg"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "oftCmd"; readonly type: "bytes"; }]; readonly internalType: "struct SendParam"; readonly name: "_sendParam"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "nativeFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lzTokenFee"; readonly type: "uint256"; }]; readonly internalType: "struct MessagingFee"; readonly name: "_fee"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "_refundAddress"; readonly type: "address"; }]; readonly name: "send"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "guid"; readonly type: "bytes32"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "nativeFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lzTokenFee"; readonly type: "uint256"; }]; readonly internalType: "struct MessagingFee"; readonly name: "fee"; readonly type: "tuple"; }]; readonly internalType: "struct MessagingReceipt"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "amountSentLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountReceivedLD"; readonly type: "uint256"; }]; readonly internalType: "struct OFTReceipt"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "dstEid"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "to"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "amountLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "minAmountLD"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "extraOptions"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "composeMsg"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "oftCmd"; readonly type: "bytes"; }]; readonly internalType: "struct SendParam"; readonly name: "_sendParam"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "nativeFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lzTokenFee"; readonly type: "uint256"; }]; readonly internalType: "struct MessagingFee"; readonly name: "_fee"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "_refundAddress"; readonly type: "address"; }]; readonly name: "sendToken"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "guid"; readonly type: "bytes32"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "nativeFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "lzTokenFee"; readonly type: "uint256"; }]; readonly internalType: "struct MessagingFee"; readonly name: "fee"; readonly type: "tuple"; }]; readonly internalType: "struct MessagingReceipt"; readonly name: "msgReceipt"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "amountSentLD"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountReceivedLD"; readonly type: "uint256"; }]; readonly internalType: "struct OFTReceipt"; readonly name: "oftReceipt"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint72"; readonly name: "ticketId"; readonly type: "uint72"; }, { readonly internalType: "bytes"; readonly name: "passengerBytes"; readonly type: "bytes"; }]; readonly internalType: "struct Ticket"; readonly name: "ticket"; readonly type: "tuple"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sharedDecimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "stargateType"; readonly outputs: readonly [{ readonly internalType: "enum StargateType"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; }; export type AbiId = keyof typeof abis;