diff --git a/README.md b/README.md index d2eaec0..b710df1 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ jupiter = Jupiter( keypair=private_key, quote_api_url="https://quote-api.jup.ag/v6/quote?", swap_api_url="https://quote-api.jup.ag/v6/swap", - open_order_api_url="https://jup.ag/api/limit/v1/createOrder", + open_order_api_url="https://api.jup.ag/limit/v2/createOrder", cancel_orders_api_url="https://jup.ag/api/limit/v1/cancelOrders", query_open_orders_api_url="https://jup.ag/api/limit/v1/openOrders?wallet=", query_order_history_api_url="https://jup.ag/api/limit/v1/orderHistory", @@ -107,11 +107,11 @@ transaction_data = await jupiter.open_order( in_amount=5_000_000, out_amount=100_000, ) -# Returns dict: {'transaction_data': serialized transactions to create the limit order, 'signature2': signature of the account that will be opened} +# Returns dict: {'transaction_data': serialized transactions to create the limit order} raw_transaction = VersionedTransaction.from_bytes(base64.b64decode(transaction_data['transaction_data'])) signature = private_key.sign_message(message.to_bytes_versioned(raw_transaction.message)) -signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature, transaction_data['signature2']]) +signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature]) opts = TxOpts(skip_preflight=False, preflight_commitment=Processed) result = await async_client.send_raw_transaction(txn=bytes(signed_txn), opts=opts) transaction_id = json.loads(result.to_json())['result'] diff --git a/src/README.md b/src/README.md index c29cce5..047aa78 100644 --- a/src/README.md +++ b/src/README.md @@ -70,7 +70,7 @@ jupiter = Jupiter( keypair=private_key, quote_api_url="https://quote-api.jup.ag/v6/quote?", swap_api_url="https://quote-api.jup.ag/v6/swap", - open_order_api_url="https://jup.ag/api/limit/v1/createOrder", + open_order_api_url="https://api.jup.ag/limit/v2/createOrder", cancel_orders_api_url="https://jup.ag/api/limit/v1/cancelOrders", query_open_orders_api_url="https://jup.ag/api/limit/v1/openOrders?wallet=", query_order_history_api_url="https://jup.ag/api/limit/v1/orderHistory", @@ -107,11 +107,11 @@ transaction_data = await jupiter.open_order( in_amount=5_000_000, out_amount=100_000, ) -# Returns dict: {'transaction_data': serialized transactions to create the limit order, 'signature2': signature of the account that will be opened} +# Returns dict: {'transaction_data': serialized transactions to create the limit order} raw_transaction = VersionedTransaction.from_bytes(base64.b64decode(transaction_data['transaction_data'])) signature = private_key.sign_message(message.to_bytes_versioned(raw_transaction.message)) -signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature, transaction_data['signature2']]) +signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature]) opts = TxOpts(skip_preflight=False, preflight_commitment=Processed) result = await async_client.send_raw_transaction(txn=bytes(signed_txn), opts=opts) transaction_id = json.loads(result.to_json())['result'] diff --git a/src/jupiter_python_sdk/jupiter.py b/src/jupiter_python_sdk/jupiter.py index 918a686..9d7a62d 100644 --- a/src/jupiter_python_sdk/jupiter.py +++ b/src/jupiter_python_sdk/jupiter.py @@ -530,7 +530,7 @@ class Jupiter(): ENDPOINT_APIS_URL = { "QUOTE": "https://quote-api.jup.ag/v6/quote?", "SWAP": "https://quote-api.jup.ag/v6/swap", - "OPEN_ORDER": "https://jup.ag/api/limit/v1/createOrder", + "OPEN_ORDER": "https://api.jup.ag/limit/v2/createOrder", "CANCEL_ORDERS": "https://jup.ag/api/limit/v1/cancelOrders", "QUERY_OPEN_ORDERS": "https://jup.ag/api/limit/v1/openOrders?wallet=", "QUERY_ORDER_HISTORY": "https://jup.ag/api/limit/v1/orderHistory", @@ -543,7 +543,7 @@ def __init__( keypair: Keypair, quote_api_url: str="https://quote-api.jup.ag/v6/quote?", swap_api_url: str="https://quote-api.jup.ag/v6/swap", - open_order_api_url: str="https://jup.ag/api/limit/v1/createOrder", + open_order_api_url: str="https://api.jup.ag/limit/v2/createOrder", cancel_orders_api_url: str="https://jup.ag/api/limit/v1/cancelOrders", query_open_orders_api_url: str="https://jup.ag/api/limit/v1/openOrders?wallet=", query_order_history_api_url: str="https://jup.ag/api/limit/v1/orderHistory", @@ -742,26 +742,25 @@ async def open_order( >>> transaction_data = await jupiter.open_order(user_public_key, input_mint, output_mint, in_amount, out_amount) { 'transaction_data': 'AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEGC5Qzg6Gwmq0Gtgp4+LWUVz0yQOAuHGNJAGTs0dcqEMVCBvqBKhFi2uRFEKYI4zPatxbdm7DylvnQUby9MexSmeAdsqhWUMQ86Ddz4+7pQFooE6wLglATS/YvzOVUNMOqnyAmC8Ioh9cSvEZniys4XY0OyEvxe39gSdHqlHWJQUPMn4prs0EwIc9JznmgzyMliG5PJTvaFYw75ssASGlB2gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAImg/TLoYktlelMGKAi4mA0icnTD92092qSZhd3wNABMCv4fVqQvV1OYZ3a3bH43JpI5pIln+UAHnO1fyDJwCfIGm4hX/quBhPtof2NGGMA12sQ53BrrO1WYoPAAAAAAAQan1RcZLFxRIYzJTD1K8X9Y2u4Im6H9ROPb2YoAAAAABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKmr+pT0gdwb1ZeE73qr11921UvCtCB3MMpBcLaiY8+u7QEHDAEABAMCCAIHBgUKCRmFbkqvcJ/1nxAnAAAAAAAAECcAAAAAAAAA', - 'signature2': Signature( - 2Pip6gx9FLGVqmRqfAgwJ8HEuCY8ZbUbVERR18vHyxFngSi3Jxq8Vkpm74hS5zq7RAM6tqGUAkf3ufCBsxGXZrUC,) } """ keypair = Keypair() transaction_parameters = { - "owner": self.keypair.pubkey().__str__(), + "maker": self.keypair.pubkey().__str__(), + "payer": self.keypair.pubkey().__str__(), "inputMint": input_mint, "outputMint": output_mint, - "outAmount": out_amount, - "inAmount": in_amount, - "base": keypair.pubkey().__str__() + "params": { + "makingAmount": str(in_amount), + "takingAmount": str(out_amount) + }, + "computeUnitPrice": "auto" } if expired_at: transaction_parameters['expiredAt'] = expired_at transaction_data = httpx.post(url=self.ENDPOINT_APIS_URL['OPEN_ORDER'], json=transaction_parameters).json()['tx'] - raw_transaction = VersionedTransaction.from_bytes(base64.b64decode(transaction_data)) - signature2 = keypair.sign_message(message.to_bytes_versioned(raw_transaction.message)) - return {"transaction_data": transaction_data, "signature2": signature2} + return {"transaction_data": transaction_data} async def cancel_orders( self,