avantis-trader-sdk 0.8.11__tar.gz → 0.8.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/PKG-INFO +1 -1
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/__init__.py +1 -1
- avantis_trader_sdk-0.8.13/avantis_trader_sdk/abis/Multicall.sol/Multicall.json +3 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/config.py +1 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/feed/feed_client.py +7 -1
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/pairs_cache.py +29 -2
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/trade.py +261 -65
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/trading_parameters.py +3 -1
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/types.py +72 -25
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk.egg-info/PKG-INFO +1 -1
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/setup.py +1 -1
- avantis_trader_sdk-0.8.11/avantis_trader_sdk/abis/Multicall.sol/Multicall.json +0 -1
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/MANIFEST.in +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/README.md +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ABDK.t.sol/ABDKTest.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AbstractPyth.sol/AbstractPyth.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AccessControl.sol/AccessControl.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Address.sol/Address.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Address.sol/Addresses.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AddressUpgradeable.sol/AddressUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AggregatorInterface.sol/AggregatorInterface.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AggregatorV2V3Interface.sol/AggregatorV2V3Interface.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AggregatorV3Interface.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/AggregatorV3Interface.sol/AggregatorV3Interface.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/BackupOracle.t.sol/BackupOracle.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Base.sol/CommonBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Base.sol/ScriptBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Base.sol/TestBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Base.t.sol/Base.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Constants.sol/Constants.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Context.sol/Context.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ContextUpgradeable.sol/ContextUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Counters.sol/Counters.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC165.sol/ERC165.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC165Upgradeable.sol/ERC165Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC1967Proxy.sol/ERC1967Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC20.sol/ERC20.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC20Upgradeable.sol/ERC20Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC4626Upgradeable.sol/ERC4626Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ERC721Upgradeable.sol/ERC721Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Execute.sol/Execute.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IAccessControl.sol/IAccessControl.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IBeacon.sol/IBeacon.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ICallbacks.sol/ICallbacks.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC1155Receiver.sol/IERC1155Receiver.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC165.sol/IERC165.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC165Upgradeable.sol/IERC165Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC1967.sol/IERC1967.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20.sol/IERC20.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20Metadata.sol/IERC20Metadata.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20Permit.sol/IERC20Permit.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20PermitUpgradeable.sol/IERC20PermitUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC20Upgradeable.sol/IERC20Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC4626.sol/IERC4626.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC4626Upgradeable.sol/IERC4626Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC721Receiver.sol/IERC721Receiver.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IERC721Upgradeable.sol/IERC721Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IExecute.sol/IExecute.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IMulticall.sol/IExtendedPairInfos.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IMulticall.sol/IExtendedPairStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IMulticall.sol/IExtendedTrading.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IMulticall.sol/IMulticall.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IMulticall3.sol/IMulticall3.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPairInfos.sol/IPairInfos.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPairStorage.sol/IPairStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPausable.sol/IPausable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPriceAggregator.sol/IPriceAggregator.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPyth.sol/IPyth.dbg.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPyth.sol/IPyth.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IPythEvents.sol/IPythEvents.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IReferral.sol/IReferral.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ITradingStorage.sol/ITradingStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ITranche.sol/ITranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IVaultManager.sol/IVaultManager.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IVeTranche.sol/IVeTranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Initializable.sol/Initializable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/IsolatedMargin.t.sol/IsolatedMargin.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/LimitTrade.t.sol/LimitTrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/LiquidBase.t.sol/LiquidBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/LiquidateTrade.t.sol/LiquidateTrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/LossProtection.t.sol/LossProtection.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/MarketTrade.t.sol/MarketTrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Math.sol/Math.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/MathUpgradeable.sol/MathUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/MockPyth.sol/MockPyth.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/MockV3Aggregator.sol/MockV3Aggregator.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Multicall.t.sol/MulticallGroup.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Multicall3.sol/Multicall3.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Ownable.sol/Ownable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PairInfos.sol/PairInfos.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PairStorage.sol/PairStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PausableUpgradeable.sol/PausableUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PositionMath.sol/PositionMath.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PriceAggregator.sol/PriceAggregator.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Proxy.sol/Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ProxyAdmin.sol/ProxyAdmin.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PythErrors.sol/PythErrors.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/PythStructs.sol/PythStructs.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Referral.sol/Referral.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Referral.sol/ReferralStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Referral.t.sol/Referral.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/SafeERC20.sol/SafeERC20.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/SafeERC20Upgradeable.sol/SafeERC20Upgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Sanctions.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Script.sol/Script.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Setters.t.sol/Setters.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/SignedMath.sol/SignedMath.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/SignedMathUpgradeable.sol/SignedMathUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/SkewedBase.t.sol/SkewedBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdAssertions.sol/StdAssertions.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdChains.sol/StdChains.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdCheats.sol/StdCheats.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdCheats.sol/StdCheatsSafe.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdError.sol/stdError.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdInvariant.sol/StdInvariant.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdJson.sol/stdJson.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdMath.sol/stdMath.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdStorage.sol/stdStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdStorage.sol/stdStorageSafe.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdStyle.sol/StdStyle.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StdUtils.sol/StdUtils.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StopLimit.t.sol/StopLimitTrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StorageSlot.sol/StorageSlot.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Strings.sol/Strings.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/StringsUpgradeable.sol/StringsUpgradeable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Timelock.sol/AvantisTimelockOwner.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Timelock.t.sol/Timelock.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TimelockBase.t.sol/TimelockBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TimelockController.sol/TimelockController.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TradeBase.t.sol/TradeBase.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Trading.sol/Trading.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TradingCallbacks.sol/TradingCallbacks.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TradingStorage.sol/TradingStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Tranche.sol/Tranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/USDC.sol/USDC.dbg.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/USDC.sol/USDC.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Upgradability.t.sol/Upgradability.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Vault.t.sol/Vault.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/VaultManager.sol/VaultManager.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/VeTranche.sol/VeTranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Vm.sol/Vm.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/Vm.sol/VmSafe.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/abdkQuadMathExt.sol/ABDKMathQuadExt.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/beacon/IBeacon.sol/IBeacon.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/console.sol/console.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/console2.sol/console2.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/contracts/proxy/Proxy.sol/Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/deployBase.s.sol/DeployScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/deployBaseMulticall.s.sol/MulticallDeployScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/draft-IERC1822.sol/IERC1822Proxiable.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/getPair.s.sol/UpdateScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/getTrade.s.sol/UpdateScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/getTranche.s.sol/UpdateScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/ICallbacks.sol/ICallbacks.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IExecute.sol/IExecute.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IPairInfos.sol/IPairInfos.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IPairStorage.sol/IPairStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IPriceAggregator.sol/IPriceAggregator.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IReferral.sol/IReferral.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/ITradingStorage.sol/ITradingStorage.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/ITranche.sol/ITranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IVaultManager.sol/IVaultManager.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/interfaces/IVeTranche.sol/IVeTranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/library/PositionMath.sol/PositionMath.dbg.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/library/PositionMath.sol/PositionMath.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/liquidityBase.s.sol/LiquidityScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/lp.s.sol/Lp.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/Proxy.sol/Proxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/beacon/IBeacon.sol/IBeacon.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/safeconsole.sol/safeconsole.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/setupLossProtection.s.sol/SetupLossProtection.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/setupPairs.s.sol/SetupPairs.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/setupTimelock.s.sol/SetupTimelock.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/setupTimelock.sol/SetupTimelock.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/test.sol/DSTest.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/test.sol/Test.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/testnet/USDC.sol/USDC.dbg.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/testnet/USDC.sol/USDC.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/transparent/ProxyAdmin.sol/ProxyAdmin.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/transparent/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/updateBase.s.sol/UpdateScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/updateOP.s.sol/UpdateScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/upgradesBase.s.sol/UpgradeScript.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/veTranche.t.sol/veTranche.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/abis/wire.s.sol/Wire.json +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/client.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/crypto/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/crypto/spki.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/feed/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/asset_parameters.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/blended.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/category_parameters.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/fee_parameters.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/rpc_helpers.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/snapshot.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/signers/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/signers/base.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/signers/kms_signer.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/signers/local_signer.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/utils.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk.egg-info/SOURCES.txt +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk.egg-info/dependency_links.txt +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk.egg-info/requires.txt +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk.egg-info/top_level.txt +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/setup.cfg +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/tests/__init__.py +0 -0
- {avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/tests/test_client.py +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call3[]","name":"calls","type":"tuple[]"}],"name":"aggregate3","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call3Value[]","name":"calls","type":"tuple[]"}],"name":"aggregate3Value","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getBasefee","outputs":[{"internalType":"uint256","name":"basefee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"chainid","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getFirstEmptyTradeIndexes","outputs":[{"internalType":"uint256[]","name":"firstEmptyTradeIndexes","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getLiquidationPrice","outputs":[{"internalType":"uint256","name":"liquidationPrice","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLongShortRatios","outputs":[{"internalType":"uint256[]","name":"longRatio","type":"uint256[]"},{"internalType":"uint256[]","name":"shortRatio","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMargins","outputs":[{"internalType":"uint256[]","name":"rolloverFeePerBlockP","type":"uint256[]"},{"internalType":"uint256[]","name":"rolloverFeePerBlockLong","type":"uint256[]"},{"internalType":"uint256[]","name":"rolloverFeePerBlockShort","type":"uint256[]"},{"internalType":"uint256[]","name":"openInterestUSDCLong","type":"uint256[]"},{"internalType":"uint256[]","name":"openInterestUSDCShort","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"pairIndex","type":"uint256"}],"name":"getMarginsForPair","outputs":[{"internalType":"uint256","name":"rolloverFeePerBlockP","type":"uint256"},{"internalType":"uint256","name":"rolloverFeePerBlockLong","type":"uint256"},{"internalType":"uint256","name":"rolloverFeePerBlockShort","type":"uint256"},{"internalType":"uint256","name":"openInterestUSDCLong","type":"uint256"},{"internalType":"uint256","name":"openInterestUSDCShort","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getOpenLimitOrdersCounts","outputs":[{"internalType":"uint256[]","name":"openLimitOrdersCounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_trader","type":"address"}],"name":"getPendingOrder","outputs":[{"components":[{"internalType":"uint256","name":"orderId","type":"uint256"},{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"initialPosToken","type":"uint256"},{"internalType":"uint256","name":"positionSizeUSDC","type":"uint256"},{"internalType":"uint256","name":"openPrice","type":"uint256"},{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"},{"internalType":"uint256","name":"tp","type":"uint256"},{"internalType":"uint256","name":"sl","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct ITradingStorage.Trade","name":"trade","type":"tuple"},{"internalType":"uint256","name":"block","type":"uint256"},{"internalType":"uint256","name":"wantedPrice","type":"uint256"},{"internalType":"uint256","name":"slippageP","type":"uint256"}],"internalType":"struct ITradingStorage.PendingMarketOrder","name":"orderInfo","type":"tuple"}],"internalType":"struct IMulticall.AggregatedPendingOrder[]","name":"pendingOrders","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getPositions","outputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"initialPosToken","type":"uint256"},{"internalType":"uint256","name":"positionSizeUSDC","type":"uint256"},{"internalType":"uint256","name":"openPrice","type":"uint256"},{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"},{"internalType":"uint256","name":"tp","type":"uint256"},{"internalType":"uint256","name":"sl","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct ITradingStorage.Trade","name":"trade","type":"tuple"},{"components":[{"internalType":"uint256","name":"openInterestUSDC","type":"uint256"},{"internalType":"uint256","name":"tpLastUpdated","type":"uint256"},{"internalType":"uint256","name":"slLastUpdated","type":"uint256"},{"internalType":"bool","name":"beingMarketClosed","type":"bool"},{"internalType":"uint256","name":"lossProtection","type":"uint256"}],"internalType":"struct ITradingStorage.TradeInfo","name":"tradeInfo","type":"tuple"},{"internalType":"uint256","name":"rolloverFee","type":"uint256"},{"internalType":"uint256","name":"liquidationPrice","type":"uint256"},{"internalType":"bool","name":"isPnl","type":"bool"}],"internalType":"struct IMulticall.AggregatedTrade[]","name":"","type":"tuple[]"},{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"positionSize","type":"uint256"},{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"},{"internalType":"uint256","name":"tp","type":"uint256"},{"internalType":"uint256","name":"sl","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"slippageP","type":"uint256"},{"internalType":"uint256","name":"block","type":"uint256"},{"internalType":"uint256","name":"executionFee","type":"uint256"}],"internalType":"struct ITradingStorage.OpenLimitOrder","name":"order","type":"tuple"},{"internalType":"uint256","name":"liquidationPrice","type":"uint256"}],"internalType":"struct IMulticall.AggregatedOrder[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"startPairIndex","type":"uint256"},{"internalType":"uint256","name":"endPairIndex","type":"uint256"},{"internalType":"uint256","name":"maxTradesPerPair","type":"uint256"}],"name":"getPositionsForPairIndexes","outputs":[{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"initialPosToken","type":"uint256"},{"internalType":"uint256","name":"positionSizeUSDC","type":"uint256"},{"internalType":"uint256","name":"openPrice","type":"uint256"},{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"},{"internalType":"uint256","name":"tp","type":"uint256"},{"internalType":"uint256","name":"sl","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct ITradingStorage.Trade","name":"trade","type":"tuple"},{"components":[{"internalType":"uint256","name":"openInterestUSDC","type":"uint256"},{"internalType":"uint256","name":"tpLastUpdated","type":"uint256"},{"internalType":"uint256","name":"slLastUpdated","type":"uint256"},{"internalType":"bool","name":"beingMarketClosed","type":"bool"},{"internalType":"uint256","name":"lossProtection","type":"uint256"}],"internalType":"struct ITradingStorage.TradeInfo","name":"tradeInfo","type":"tuple"},{"internalType":"uint256","name":"rolloverFee","type":"uint256"},{"internalType":"uint256","name":"liquidationPrice","type":"uint256"},{"internalType":"bool","name":"isPnl","type":"bool"}],"internalType":"struct IMulticall.AggregatedTrade[]","name":"","type":"tuple[]"},{"components":[{"components":[{"internalType":"address","name":"trader","type":"address"},{"internalType":"uint256","name":"pairIndex","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"positionSize","type":"uint256"},{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"uint256","name":"leverage","type":"uint256"},{"internalType":"uint256","name":"tp","type":"uint256"},{"internalType":"uint256","name":"sl","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"slippageP","type":"uint256"},{"internalType":"uint256","name":"block","type":"uint256"},{"internalType":"uint256","name":"executionFee","type":"uint256"}],"internalType":"struct ITradingStorage.OpenLimitOrder","name":"order","type":"tuple"},{"internalType":"uint256","name":"liquidationPrice","type":"uint256"}],"internalType":"struct IMulticall.AggregatedOrder[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_storage","type":"address"},{"internalType":"address","name":"_pairInfos","type":"address"},{"internalType":"address","name":"_pairsStorage","type":"address"},{"internalType":"address","name":"_trading","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pairInfos","outputs":[{"internalType":"contract IExtendedPairInfos","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairsStorage","outputs":[{"internalType":"contract IExtendedPairStorage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"storageT","outputs":[{"internalType":"contract ITradingStorage","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trading","outputs":[{"internalType":"contract IExtendedTrading","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall3.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Multicall3.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_storage","type":"address"},{"internalType":"address","name":"_pairInfos","type":"address"},{"internalType":"address","name":"_pairsStorage","type":"address"},{"internalType":"address","name":"_trading","type":"address"}],"name":"updateContracts","outputs":[],"stateMutability":"nonpayable","type":"function"}]
|
|
3
|
+
}
|
{avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/feed/feed_client.py
RENAMED
|
@@ -122,7 +122,7 @@ class FeedClient:
|
|
|
122
122
|
return pairs
|
|
123
123
|
except (requests.RequestException, ValidationError) as e:
|
|
124
124
|
print(f"Error fetching pair feeds: {e}")
|
|
125
|
-
return []
|
|
125
|
+
return []
|
|
126
126
|
|
|
127
127
|
def load_pair_feeds(self):
|
|
128
128
|
"""
|
|
@@ -130,6 +130,9 @@ class FeedClient:
|
|
|
130
130
|
"""
|
|
131
131
|
|
|
132
132
|
try:
|
|
133
|
+
if self.pair_feeds:
|
|
134
|
+
return
|
|
135
|
+
|
|
133
136
|
try:
|
|
134
137
|
asyncio.get_running_loop()
|
|
135
138
|
except RuntimeError:
|
|
@@ -231,6 +234,9 @@ class FeedClient:
|
|
|
231
234
|
Returns:
|
|
232
235
|
A PriceFeedUpdatesResponse object containing the latest price updates.
|
|
233
236
|
"""
|
|
237
|
+
if not self.pair_feeds:
|
|
238
|
+
self.load_pair_feeds()
|
|
239
|
+
|
|
234
240
|
url = self.hermes_url
|
|
235
241
|
|
|
236
242
|
feedIds = []
|
{avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/pairs_cache.py
RENAMED
|
@@ -28,6 +28,7 @@ class PairsCache:
|
|
|
28
28
|
self._pair_mapping = {}
|
|
29
29
|
|
|
30
30
|
self._pair_info_from_socket_cache = {}
|
|
31
|
+
self._socket_info_cache = {}
|
|
31
32
|
|
|
32
33
|
async def get_pairs_info(self, force_update=False):
|
|
33
34
|
"""
|
|
@@ -87,10 +88,13 @@ class PairsCache:
|
|
|
87
88
|
|
|
88
89
|
return self._pair_info_cache
|
|
89
90
|
|
|
90
|
-
async def get_pair_info_from_socket(self, pair_index=None):
|
|
91
|
+
async def get_pair_info_from_socket(self, pair_index=None, use_cache=False):
|
|
91
92
|
"""
|
|
92
93
|
Retrieves the pair information from the socket.
|
|
93
94
|
"""
|
|
95
|
+
if not use_cache and self._pair_info_from_socket_cache:
|
|
96
|
+
return self._pair_info_from_socket_cache[str(pair_index)]
|
|
97
|
+
|
|
94
98
|
if not self.socket_api:
|
|
95
99
|
raise ValueError("socket_api is not set")
|
|
96
100
|
try:
|
|
@@ -98,7 +102,8 @@ class PairsCache:
|
|
|
98
102
|
response.raise_for_status()
|
|
99
103
|
|
|
100
104
|
result = response.json()
|
|
101
|
-
|
|
105
|
+
self._socket_info_cache = result["data"]
|
|
106
|
+
pairs = self._socket_info_cache["pairInfos"]
|
|
102
107
|
self._pair_info_from_socket_cache = pairs
|
|
103
108
|
except (requests.RequestException, ValidationError) as e:
|
|
104
109
|
print(f"Error fetching pair feeds: {e}")
|
|
@@ -108,6 +113,28 @@ class PairsCache:
|
|
|
108
113
|
return self._pair_info_from_socket_cache[str(pair_index)]
|
|
109
114
|
return self._pair_info_from_socket_cache
|
|
110
115
|
|
|
116
|
+
async def get_info_from_socket(self, force_update=False):
|
|
117
|
+
"""
|
|
118
|
+
Retrieves the socket information.
|
|
119
|
+
"""
|
|
120
|
+
if not force_update and self._socket_info_cache:
|
|
121
|
+
return self._socket_info_cache
|
|
122
|
+
|
|
123
|
+
if not self.socket_api:
|
|
124
|
+
raise ValueError("socket_api is not set")
|
|
125
|
+
try:
|
|
126
|
+
response = requests.get(self.socket_api)
|
|
127
|
+
response.raise_for_status()
|
|
128
|
+
|
|
129
|
+
result = response.json()
|
|
130
|
+
self._socket_info_cache = result["data"]
|
|
131
|
+
self._pair_info_from_socket_cache = self._socket_info_cache["pairInfos"]
|
|
132
|
+
except (requests.RequestException, ValidationError) as e:
|
|
133
|
+
print(f"Error fetching pair feeds: {e}")
|
|
134
|
+
return {}
|
|
135
|
+
|
|
136
|
+
return self._socket_info_cache
|
|
137
|
+
|
|
111
138
|
async def get_pairs_count(self):
|
|
112
139
|
"""
|
|
113
140
|
Retrieves the number of pairs from the blockchain.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from ..feed.feed_client import FeedClient
|
|
2
|
+
from ..config import AVANTIS_CORE_API_BASE_URL
|
|
2
3
|
from ..types import (
|
|
3
4
|
TradeInput,
|
|
4
5
|
TradeInputOrderType,
|
|
@@ -8,8 +9,10 @@ from ..types import (
|
|
|
8
9
|
PendingLimitOrderExtendedResponse,
|
|
9
10
|
MarginUpdateType,
|
|
10
11
|
)
|
|
11
|
-
from typing import Optional
|
|
12
|
+
from typing import Optional, List, Tuple
|
|
12
13
|
import math
|
|
14
|
+
import asyncio
|
|
15
|
+
import requests
|
|
13
16
|
|
|
14
17
|
|
|
15
18
|
class TradeRPC:
|
|
@@ -17,16 +20,23 @@ class TradeRPC:
|
|
|
17
20
|
The TradeRPC class contains methods for retrieving trading parameters from the Avantis Protocol.
|
|
18
21
|
"""
|
|
19
22
|
|
|
20
|
-
def __init__(
|
|
23
|
+
def __init__(
|
|
24
|
+
self,
|
|
25
|
+
client,
|
|
26
|
+
feed_client: FeedClient,
|
|
27
|
+
core_api_base_url: Optional[str] = None,
|
|
28
|
+
):
|
|
21
29
|
"""
|
|
22
30
|
Constructor for the TradeRPC class.
|
|
23
31
|
|
|
24
32
|
Args:
|
|
25
33
|
client: The TraderClient object.
|
|
26
34
|
feed_client: The FeedClient object.
|
|
35
|
+
core_api_base_url: Optional override for the API base URL.
|
|
27
36
|
"""
|
|
28
37
|
self.client = client
|
|
29
38
|
self.feed_client = feed_client
|
|
39
|
+
self.core_api_base_url = core_api_base_url or AVANTIS_CORE_API_BASE_URL
|
|
30
40
|
|
|
31
41
|
async def build_trade_open_tx(
|
|
32
42
|
self,
|
|
@@ -193,96 +203,208 @@ class TradeRPC:
|
|
|
193
203
|
print("Error getting correct trade execution fee. Using fallback: ", e)
|
|
194
204
|
return execution_fee_wei
|
|
195
205
|
|
|
196
|
-
async def get_trades(
|
|
206
|
+
async def get_trades(
|
|
207
|
+
self,
|
|
208
|
+
trader: Optional[str] = None,
|
|
209
|
+
use_api: bool = True,
|
|
210
|
+
) -> Tuple[List[TradeExtendedResponse], List[PendingLimitOrderExtendedResponse]]:
|
|
197
211
|
"""
|
|
198
|
-
Gets the trades.
|
|
212
|
+
Gets the trades and pending limit orders for a trader.
|
|
213
|
+
|
|
214
|
+
Attempts to fetch from API first for better performance. Falls back to
|
|
215
|
+
paginated smart contract calls if API is unavailable or disabled.
|
|
199
216
|
|
|
200
217
|
Args:
|
|
201
218
|
trader: The trader's wallet address.
|
|
219
|
+
use_api: Whether to attempt API fetch first. Defaults to True.
|
|
202
220
|
|
|
203
221
|
Returns:
|
|
204
|
-
|
|
222
|
+
A tuple of (trades, pending_limit_orders).
|
|
205
223
|
"""
|
|
206
224
|
if trader is None:
|
|
207
225
|
trader = self.client.get_signer().get_ethereum_address()
|
|
208
226
|
|
|
227
|
+
if use_api:
|
|
228
|
+
api_enabled = await self._check_api_enabled(trader)
|
|
229
|
+
if api_enabled:
|
|
230
|
+
try:
|
|
231
|
+
return await self._fetch_trades_from_api(trader)
|
|
232
|
+
except Exception:
|
|
233
|
+
pass
|
|
234
|
+
|
|
235
|
+
return await self._fetch_trades_from_contracts(trader)
|
|
236
|
+
|
|
237
|
+
async def _check_api_enabled(self, trader: str) -> bool:
|
|
238
|
+
"""Checks if the API is enabled for the given trader."""
|
|
239
|
+
try:
|
|
240
|
+
response = requests.get(
|
|
241
|
+
f"{self.core_api_base_url}/user-data/config",
|
|
242
|
+
params={"wallet": trader},
|
|
243
|
+
timeout=5,
|
|
244
|
+
)
|
|
245
|
+
response.raise_for_status()
|
|
246
|
+
data = response.json()
|
|
247
|
+
return data.get("globallyEnabled", False) or data.get(
|
|
248
|
+
"enabledForWallet", False
|
|
249
|
+
)
|
|
250
|
+
except Exception:
|
|
251
|
+
return False
|
|
252
|
+
|
|
253
|
+
async def _fetch_trades_from_api(
|
|
254
|
+
self, trader: str
|
|
255
|
+
) -> Tuple[List[TradeExtendedResponse], List[PendingLimitOrderExtendedResponse]]:
|
|
256
|
+
"""Fetches trades from the API."""
|
|
257
|
+
response = requests.get(
|
|
258
|
+
f"{self.core_api_base_url}/user-data",
|
|
259
|
+
params={"trader": trader},
|
|
260
|
+
timeout=10,
|
|
261
|
+
)
|
|
262
|
+
response.raise_for_status()
|
|
263
|
+
data = response.json()
|
|
264
|
+
|
|
265
|
+
trades = []
|
|
266
|
+
for position in data.get("positions", []):
|
|
267
|
+
loss_protection_tier = int(position.get("lossProtection", 0))
|
|
268
|
+
pair_index = int(position.get("pairIndex", 0))
|
|
269
|
+
loss_protection_pct = await self.client.trading_parameters.get_loss_protection_percentage_by_tier(
|
|
270
|
+
loss_protection_tier, pair_index
|
|
271
|
+
)
|
|
272
|
+
position["lossProtectionPercentage"] = loss_protection_pct
|
|
273
|
+
trades.append(TradeExtendedResponse(**position))
|
|
274
|
+
|
|
275
|
+
limit_orders = [
|
|
276
|
+
PendingLimitOrderExtendedResponse(**order)
|
|
277
|
+
for order in data.get("limitOrders", [])
|
|
278
|
+
]
|
|
279
|
+
|
|
280
|
+
return trades, limit_orders
|
|
281
|
+
|
|
282
|
+
async def _fetch_trades_from_contracts(
|
|
283
|
+
self,
|
|
284
|
+
trader: str,
|
|
285
|
+
max_pairs_per_call: int = 12,
|
|
286
|
+
) -> Tuple[List[TradeExtendedResponse], List[PendingLimitOrderExtendedResponse]]:
|
|
287
|
+
"""Fetches trades from smart contracts with paginated calls."""
|
|
288
|
+
socket_info = await self.client.pairs_cache.get_info_from_socket()
|
|
289
|
+
max_trades_per_pair = socket_info.get("maxTradesPerPair", 40)
|
|
290
|
+
|
|
291
|
+
pairs_count = await self.client.pairs_cache.get_pairs_count()
|
|
292
|
+
pair_ranges = self._build_pair_ranges(pairs_count, max_pairs_per_call)
|
|
293
|
+
|
|
294
|
+
tasks = [
|
|
295
|
+
self._fetch_positions_for_range(trader, start, end, max_trades_per_pair)
|
|
296
|
+
for start, end in pair_ranges
|
|
297
|
+
]
|
|
298
|
+
results = await asyncio.gather(*tasks)
|
|
299
|
+
|
|
300
|
+
raw_trades = []
|
|
301
|
+
raw_orders = []
|
|
302
|
+
for trades_batch, orders_batch in results:
|
|
303
|
+
raw_trades.extend(trades_batch)
|
|
304
|
+
raw_orders.extend(orders_batch)
|
|
305
|
+
|
|
306
|
+
trades = await self._parse_raw_trades(raw_trades)
|
|
307
|
+
limit_orders = self._parse_raw_limit_orders(raw_orders)
|
|
308
|
+
|
|
309
|
+
return trades, limit_orders
|
|
310
|
+
|
|
311
|
+
def _build_pair_ranges(
|
|
312
|
+
self, pairs_count: int, max_pairs_per_call: int
|
|
313
|
+
) -> List[Tuple[int, int]]:
|
|
314
|
+
"""Builds pair index ranges for paginated fetching."""
|
|
315
|
+
ranges = []
|
|
316
|
+
for i in range(0, pairs_count, max_pairs_per_call):
|
|
317
|
+
start = i
|
|
318
|
+
end = min(i + max_pairs_per_call, pairs_count)
|
|
319
|
+
ranges.append((start, end))
|
|
320
|
+
return ranges
|
|
321
|
+
|
|
322
|
+
async def _fetch_positions_for_range(
|
|
323
|
+
self,
|
|
324
|
+
trader: str,
|
|
325
|
+
start_pair: int,
|
|
326
|
+
end_pair: int,
|
|
327
|
+
max_trades_per_pair: int,
|
|
328
|
+
) -> Tuple[list, list]:
|
|
329
|
+
"""Fetches positions for a range of pair indexes."""
|
|
209
330
|
result = (
|
|
210
331
|
await self.client.contracts.get("Multicall")
|
|
211
|
-
.functions.
|
|
332
|
+
.functions.getPositionsForPairIndexes(
|
|
333
|
+
trader, start_pair, end_pair, max_trades_per_pair
|
|
334
|
+
)
|
|
212
335
|
.call()
|
|
213
336
|
)
|
|
214
|
-
|
|
215
|
-
pendingOpenLimitOrders = []
|
|
337
|
+
return result[0], result[1]
|
|
216
338
|
|
|
217
|
-
|
|
218
|
-
|
|
339
|
+
async def _parse_raw_trades(self, raw_trades: list) -> List[TradeExtendedResponse]:
|
|
340
|
+
"""Parses raw contract trade data into TradeExtendedResponse objects."""
|
|
341
|
+
trades = []
|
|
342
|
+
for aggregated_trade in raw_trades:
|
|
343
|
+
(trade, trade_info, margin_fee, liquidation_price, is_zfp) = (
|
|
344
|
+
aggregated_trade
|
|
345
|
+
)
|
|
219
346
|
|
|
220
347
|
if trade[7] <= 0:
|
|
221
348
|
continue
|
|
222
349
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
"pairIndex": trade[1],
|
|
228
|
-
"index": trade[2],
|
|
229
|
-
"initialPosToken": trade[3],
|
|
230
|
-
"positionSizeUSDC": trade[4],
|
|
231
|
-
"openPrice": trade[5],
|
|
232
|
-
"buy": trade[6],
|
|
233
|
-
"leverage": trade[7],
|
|
234
|
-
"tp": trade[8],
|
|
235
|
-
"sl": trade[9],
|
|
236
|
-
"timestamp": trade[10],
|
|
237
|
-
},
|
|
238
|
-
"additional_info": {
|
|
239
|
-
"openInterestUSDC": trade_info[0],
|
|
240
|
-
"tpLastUpdated": trade_info[1],
|
|
241
|
-
"slLastUpdated": trade_info[2],
|
|
242
|
-
"beingMarketClosed": trade_info[3],
|
|
243
|
-
"lossProtectionPercentage": await self.client.trading_parameters.get_loss_protection_percentage_by_tier(
|
|
244
|
-
trade_info[4], trade[1]
|
|
245
|
-
),
|
|
246
|
-
},
|
|
247
|
-
"margin_fee": margin_fee,
|
|
248
|
-
"liquidationPrice": liquidation_price,
|
|
249
|
-
}
|
|
350
|
+
loss_protection = await self.client.trading_parameters.get_loss_protection_percentage_by_tier(
|
|
351
|
+
trade_info[4], trade[1]
|
|
352
|
+
)
|
|
353
|
+
|
|
250
354
|
trades.append(
|
|
251
355
|
TradeExtendedResponse(
|
|
252
|
-
trade=TradeResponse(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
356
|
+
trade=TradeResponse(
|
|
357
|
+
trader=trade[0],
|
|
358
|
+
pairIndex=trade[1],
|
|
359
|
+
index=trade[2],
|
|
360
|
+
initialPosToken=trade[3],
|
|
361
|
+
positionSizeUSDC=trade[3],
|
|
362
|
+
openPrice=trade[5],
|
|
363
|
+
buy=trade[6],
|
|
364
|
+
leverage=trade[7],
|
|
365
|
+
tp=trade[8],
|
|
366
|
+
sl=trade[9],
|
|
367
|
+
timestamp=trade[10],
|
|
368
|
+
),
|
|
369
|
+
additional_info=TradeInfo(
|
|
370
|
+
lossProtectionPercentage=loss_protection,
|
|
371
|
+
),
|
|
372
|
+
margin_fee=margin_fee,
|
|
373
|
+
liquidation_price=liquidation_price,
|
|
374
|
+
is_zfp=is_zfp,
|
|
256
375
|
)
|
|
257
376
|
)
|
|
258
|
-
|
|
259
|
-
|
|
377
|
+
return trades
|
|
378
|
+
|
|
379
|
+
def _parse_raw_limit_orders(
|
|
380
|
+
self, raw_orders: list
|
|
381
|
+
) -> List[PendingLimitOrderExtendedResponse]:
|
|
382
|
+
"""Parses raw contract order data into PendingLimitOrderExtendedResponse objects."""
|
|
383
|
+
orders = []
|
|
384
|
+
for aggregated_order in raw_orders:
|
|
260
385
|
(order, liquidation_price) = aggregated_order
|
|
261
386
|
|
|
262
387
|
if order[5] <= 0:
|
|
263
388
|
continue
|
|
264
389
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
pendingOpenLimitOrders.append(
|
|
282
|
-
PendingLimitOrderExtendedResponse(**order_details)
|
|
390
|
+
orders.append(
|
|
391
|
+
PendingLimitOrderExtendedResponse(
|
|
392
|
+
trader=order[0],
|
|
393
|
+
pairIndex=order[1],
|
|
394
|
+
index=order[2],
|
|
395
|
+
positionSize=order[3],
|
|
396
|
+
buy=order[4],
|
|
397
|
+
leverage=order[5],
|
|
398
|
+
tp=order[6],
|
|
399
|
+
sl=order[7],
|
|
400
|
+
price=order[8],
|
|
401
|
+
slippageP=order[9],
|
|
402
|
+
block=order[10],
|
|
403
|
+
executionFee=order[11],
|
|
404
|
+
liquidation_price=liquidation_price,
|
|
405
|
+
)
|
|
283
406
|
)
|
|
284
|
-
|
|
285
|
-
return trades, pendingOpenLimitOrders
|
|
407
|
+
return orders
|
|
286
408
|
|
|
287
409
|
async def build_trade_close_tx(
|
|
288
410
|
self,
|
|
@@ -662,8 +784,6 @@ class TradeRPC:
|
|
|
662
784
|
if trader is None:
|
|
663
785
|
trader = self.client.get_signer().get_ethereum_address()
|
|
664
786
|
|
|
665
|
-
feed_client = self.FeedClient()
|
|
666
|
-
|
|
667
787
|
pair_name = await self.client.pairs_cache.get_pair_name_from_index(pair_index)
|
|
668
788
|
|
|
669
789
|
price_data = await self.feed_client.get_latest_price_updates([pair_name])
|
|
@@ -703,3 +823,79 @@ class TradeRPC:
|
|
|
703
823
|
}
|
|
704
824
|
)
|
|
705
825
|
return delegate_transaction
|
|
826
|
+
|
|
827
|
+
async def get_delegate(self, trader: Optional[str] = None) -> str:
|
|
828
|
+
"""
|
|
829
|
+
Gets the delegate address for a trader.
|
|
830
|
+
|
|
831
|
+
Args:
|
|
832
|
+
trader: The trader's wallet address. Defaults to signer's address.
|
|
833
|
+
|
|
834
|
+
Returns:
|
|
835
|
+
The delegate address, or zero address if no delegate is set.
|
|
836
|
+
"""
|
|
837
|
+
Trading = self.client.contracts.get("Trading")
|
|
838
|
+
|
|
839
|
+
if trader is None:
|
|
840
|
+
trader = self.client.get_signer().get_ethereum_address()
|
|
841
|
+
|
|
842
|
+
delegate = await Trading.functions.delegations(trader).call()
|
|
843
|
+
return delegate
|
|
844
|
+
|
|
845
|
+
async def build_set_delegate_tx(
|
|
846
|
+
self,
|
|
847
|
+
delegate: str,
|
|
848
|
+
trader: Optional[str] = None,
|
|
849
|
+
):
|
|
850
|
+
"""
|
|
851
|
+
Builds a transaction to set a delegate for trading.
|
|
852
|
+
|
|
853
|
+
The delegate can perform all trade-related actions on behalf of the trader.
|
|
854
|
+
Each wallet can have at most one delegate.
|
|
855
|
+
|
|
856
|
+
Args:
|
|
857
|
+
delegate: The delegate's wallet address.
|
|
858
|
+
trader: The trader's wallet address. Defaults to signer's address.
|
|
859
|
+
|
|
860
|
+
Returns:
|
|
861
|
+
A transaction object.
|
|
862
|
+
"""
|
|
863
|
+
Trading = self.client.contracts.get("Trading")
|
|
864
|
+
|
|
865
|
+
if trader is None:
|
|
866
|
+
trader = self.client.get_signer().get_ethereum_address()
|
|
867
|
+
|
|
868
|
+
transaction = await Trading.functions.setDelegate(delegate).build_transaction(
|
|
869
|
+
{
|
|
870
|
+
"from": trader,
|
|
871
|
+
"chainId": self.client.chain_id,
|
|
872
|
+
"nonce": await self.client.get_transaction_count(trader),
|
|
873
|
+
}
|
|
874
|
+
)
|
|
875
|
+
|
|
876
|
+
return transaction
|
|
877
|
+
|
|
878
|
+
async def build_remove_delegate_tx(self, trader: Optional[str] = None):
|
|
879
|
+
"""
|
|
880
|
+
Builds a transaction to remove the current delegate.
|
|
881
|
+
|
|
882
|
+
Args:
|
|
883
|
+
trader: The trader's wallet address. Defaults to signer's address.
|
|
884
|
+
|
|
885
|
+
Returns:
|
|
886
|
+
A transaction object.
|
|
887
|
+
"""
|
|
888
|
+
Trading = self.client.contracts.get("Trading")
|
|
889
|
+
|
|
890
|
+
if trader is None:
|
|
891
|
+
trader = self.client.get_signer().get_ethereum_address()
|
|
892
|
+
|
|
893
|
+
transaction = await Trading.functions.removeDelegate().build_transaction(
|
|
894
|
+
{
|
|
895
|
+
"from": trader,
|
|
896
|
+
"chainId": self.client.chain_id,
|
|
897
|
+
"nonce": await self.client.get_transaction_count(trader),
|
|
898
|
+
}
|
|
899
|
+
)
|
|
900
|
+
|
|
901
|
+
return transaction
|
{avantis_trader_sdk-0.8.11 → avantis_trader_sdk-0.8.13}/avantis_trader_sdk/rpc/trading_parameters.py
RENAMED
|
@@ -57,7 +57,9 @@ class TradingParametersRPC:
|
|
|
57
57
|
Returns:
|
|
58
58
|
The loss protection percentage.
|
|
59
59
|
"""
|
|
60
|
-
pair_info = await self.client.pairs_cache.get_pair_info_from_socket(
|
|
60
|
+
pair_info = await self.client.pairs_cache.get_pair_info_from_socket(
|
|
61
|
+
pair_index, use_cache=True
|
|
62
|
+
)
|
|
61
63
|
return pair_info["lossProtectionMultiplier"][str(tier)]
|
|
62
64
|
|
|
63
65
|
async def get_loss_protection_percentage(self, trade: TradeInput):
|