mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-13 02:08:08 +00:00
chore: 移除 Lighter 和 Poseidon Crypto 项目中的所有文件,清理代码库
This commit is contained in:
@@ -1,201 +0,0 @@
|
|||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"crypto/tls"
|
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
dialer = &net.Dialer{
|
|
||||||
Timeout: 10 * time.Second,
|
|
||||||
KeepAlive: 60 * time.Second,
|
|
||||||
}
|
|
||||||
transport = &http.Transport{
|
|
||||||
DialContext: dialer.DialContext,
|
|
||||||
MaxConnsPerHost: 1000,
|
|
||||||
MaxIdleConnsPerHost: 100,
|
|
||||||
IdleConnTimeout: 10 * time.Second,
|
|
||||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
|
||||||
}
|
|
||||||
|
|
||||||
httpClient = &http.Client{
|
|
||||||
Timeout: time.Second * 30,
|
|
||||||
Transport: transport,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
type HTTPClient struct {
|
|
||||||
endpoint string
|
|
||||||
channelName string
|
|
||||||
fatFingerProtection bool
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewHTTPClient(baseUrl string) *HTTPClient {
|
|
||||||
if baseUrl == "" {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return &HTTPClient{
|
|
||||||
endpoint: baseUrl,
|
|
||||||
channelName: "",
|
|
||||||
fatFingerProtection: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) SetFatFingerProtection(enabled bool) {
|
|
||||||
c.fatFingerProtection = enabled
|
|
||||||
}
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
|
||||||
"fmt"
|
|
||||||
"io"
|
|
||||||
"net/http"
|
|
||||||
"net/url"
|
|
||||||
"strconv"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/elliottech/lighter-go/types/txtypes"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *HTTPClient) parseResultStatus(respBody []byte) error {
|
|
||||||
resultStatus := &ResultCode{}
|
|
||||||
if err := json.Unmarshal(respBody, resultStatus); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if resultStatus.Code != CodeOK {
|
|
||||||
return errors.New(resultStatus.Message)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) getAndParseL2HTTPResponse(path string, params map[string]any, result interface{}) error {
|
|
||||||
u, err := url.Parse(c.endpoint)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
u.Path = path
|
|
||||||
|
|
||||||
q := u.Query()
|
|
||||||
for k, v := range params {
|
|
||||||
q.Set(k, fmt.Sprintf("%v", v))
|
|
||||||
}
|
|
||||||
u.RawQuery = q.Encode()
|
|
||||||
resp, err := httpClient.Get(u.String())
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
body, err := io.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if resp.StatusCode != http.StatusOK {
|
|
||||||
return errors.New(string(body))
|
|
||||||
}
|
|
||||||
if err = c.parseResultStatus(body); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := json.Unmarshal(body, result); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) GetNextNonce(accountIndex int64, apiKeyIndex uint8) (int64, error) {
|
|
||||||
result := &NextNonce{}
|
|
||||||
err := c.getAndParseL2HTTPResponse("api/v1/nextNonce", map[string]any{"account_index": accountIndex, "api_key_index": apiKeyIndex}, result)
|
|
||||||
if err != nil {
|
|
||||||
return -1, err
|
|
||||||
}
|
|
||||||
return result.Nonce, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) GetApiKey(accountIndex int64, apiKeyIndex uint8) (*AccountApiKeys, error) {
|
|
||||||
result := &AccountApiKeys{}
|
|
||||||
err := c.getAndParseL2HTTPResponse("api/v1/apikeys", map[string]any{"account_index": accountIndex, "api_key_index": apiKeyIndex}, result)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) SendRawTx(tx txtypes.TxInfo) (string, error) {
|
|
||||||
txType := tx.GetTxType()
|
|
||||||
txInfo, err := tx.GetTxInfo()
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
data := url.Values{"tx_type": {strconv.Itoa(int(txType))}, "tx_info": {txInfo}}
|
|
||||||
|
|
||||||
if c.fatFingerProtection == false {
|
|
||||||
data.Add("price_protection", "false")
|
|
||||||
}
|
|
||||||
|
|
||||||
req, _ := http.NewRequest("POST", c.endpoint+"/api/v1/sendTx", strings.NewReader(data.Encode()))
|
|
||||||
req.Header.Set("Channel-Name", c.channelName)
|
|
||||||
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
|
||||||
resp, err := httpClient.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
defer resp.Body.Close()
|
|
||||||
body, err := io.ReadAll(resp.Body)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
if resp.StatusCode != http.StatusOK {
|
|
||||||
return "", errors.New(string(body))
|
|
||||||
}
|
|
||||||
if err = c.parseResultStatus(body); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
res := &TxHash{}
|
|
||||||
if err := json.Unmarshal(body, res); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return res.TxHash, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HTTPClient) GetTransferFeeInfo(accountIndex, toAccountIndex int64, auth string) (*TransferFeeInfo, error) {
|
|
||||||
result := &TransferFeeInfo{}
|
|
||||||
err := c.getAndParseL2HTTPResponse("api/v1/transferFeeInfo", map[string]any{
|
|
||||||
"account_index": accountIndex,
|
|
||||||
"to_account_index": toAccountIndex,
|
|
||||||
"auth": auth,
|
|
||||||
}, result)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package client
|
|
||||||
|
|
||||||
const (
|
|
||||||
CodeOK = 200
|
|
||||||
)
|
|
||||||
|
|
||||||
type ResultCode struct {
|
|
||||||
Code int32 `json:"code,example=200"`
|
|
||||||
Message string `json:"message,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type NextNonce struct {
|
|
||||||
ResultCode
|
|
||||||
Nonce int64 `json:"nonce,example=722"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type ApiKey struct {
|
|
||||||
AccountIndex int64 `json:"account_index,example=3"`
|
|
||||||
ApiKeyIndex uint8 `json:"api_key_index,example=0"`
|
|
||||||
Nonce int64 `json:"nonce,example=722"`
|
|
||||||
PublicKey string `json:"public_key"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type AccountApiKeys struct {
|
|
||||||
ResultCode
|
|
||||||
ApiKeys []*ApiKey `json:"api_keys"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type TxHash struct {
|
|
||||||
ResultCode
|
|
||||||
TxHash string `json:"tx_hash,example=0x70997970C51812dc3A010C7d01b50e0d17dc79C8"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type TransferFeeInfo struct {
|
|
||||||
ResultCode
|
|
||||||
TransferFee int64 `json:"transfer_fee_usdc"`
|
|
||||||
}
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/hex"
|
|
||||||
"fmt"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/elliottech/lighter-go/signer"
|
|
||||||
"github.com/elliottech/lighter-go/types"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
defaultExpireTime = time.Minute*10 - time.Second // we need to give a second margin, to eliminate millisecond differences
|
|
||||||
)
|
|
||||||
|
|
||||||
type TxClient struct {
|
|
||||||
apiClient *HTTPClient
|
|
||||||
chainId uint32
|
|
||||||
keyManager signer.KeyManager
|
|
||||||
accountIndex int64
|
|
||||||
apiKeyIndex uint8
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewTxClient is linked to a specific (account, apiKey) pair
|
|
||||||
// apiKeyPrivateKey should be hex-encoded bytes generated using `hexutil.Encode(TxClient.GetKeyManager().PrvKeyBytes())`
|
|
||||||
func NewTxClient(apiClient *HTTPClient, apiKeyPrivateKey string, accountIndex int64, apiKeyIndex uint8, chainId uint32) (*TxClient, error) {
|
|
||||||
// remove 0x from private key, if any, and parse to bytes
|
|
||||||
if len(apiKeyPrivateKey) < 2 {
|
|
||||||
return nil, fmt.Errorf("empty private key")
|
|
||||||
}
|
|
||||||
if apiKeyPrivateKey[:2] == "0x" {
|
|
||||||
apiKeyPrivateKey = apiKeyPrivateKey[2:]
|
|
||||||
}
|
|
||||||
b, err := hex.DecodeString(apiKeyPrivateKey)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
keyManager, err := signer.NewKeyManager(b)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return &TxClient{
|
|
||||||
apiClient: apiClient,
|
|
||||||
apiKeyIndex: apiKeyIndex,
|
|
||||||
accountIndex: accountIndex,
|
|
||||||
chainId: chainId,
|
|
||||||
keyManager: keyManager,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) FullFillDefaultOps(ops *types.TransactOpts) (*types.TransactOpts, error) {
|
|
||||||
if ops == nil {
|
|
||||||
ops = new(types.TransactOpts)
|
|
||||||
}
|
|
||||||
if ops.ExpiredAt == 0 {
|
|
||||||
ops.ExpiredAt = time.Now().Add(defaultExpireTime).UnixMilli()
|
|
||||||
}
|
|
||||||
if ops.FromAccountIndex == nil {
|
|
||||||
ops.FromAccountIndex = &c.accountIndex
|
|
||||||
}
|
|
||||||
if ops.ApiKeyIndex == nil {
|
|
||||||
ops.ApiKeyIndex = &c.apiKeyIndex
|
|
||||||
}
|
|
||||||
if ops.Nonce == nil {
|
|
||||||
if c.apiClient == nil {
|
|
||||||
return nil, fmt.Errorf("nonce was not provided & HTTPClient is nil. Either provide the nonce or enable HTTPClient to get the nonce from Lighter")
|
|
||||||
}
|
|
||||||
nonce, err := c.apiClient.GetNextNonce(*ops.FromAccountIndex, *ops.ApiKeyIndex)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
ops.Nonce = &nonce
|
|
||||||
}
|
|
||||||
|
|
||||||
return ops, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetAccountIndex() int64 {
|
|
||||||
return c.accountIndex
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetApiKeyIndex() uint8 {
|
|
||||||
return c.apiKeyIndex
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetKeyManager() signer.KeyManager {
|
|
||||||
return c.keyManager
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetAuthToken(deadline time.Time) (string, error) {
|
|
||||||
if time.Until(deadline) > (7 * time.Hour) {
|
|
||||||
return "", fmt.Errorf("deadline should be within 7 hours")
|
|
||||||
}
|
|
||||||
|
|
||||||
return types.ConstructAuthToken(c.keyManager, deadline, &types.TransactOpts{
|
|
||||||
ApiKeyIndex: &c.apiKeyIndex,
|
|
||||||
FromAccountIndex: &c.accountIndex,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) HTTP() *HTTPClient {
|
|
||||||
return c.apiClient
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) SwitchAPIKey(apiKey uint8) {
|
|
||||||
c.apiKeyIndex = apiKey
|
|
||||||
}
|
|
||||||
@@ -1,192 +0,0 @@
|
|||||||
package client
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/elliottech/lighter-go/types"
|
|
||||||
"github.com/elliottech/lighter-go/types/txtypes"
|
|
||||||
schnorr "github.com/elliottech/poseidon_crypto/signature/schnorr"
|
|
||||||
)
|
|
||||||
|
|
||||||
func (c *TxClient) GetChangePubKeyTransaction(tx *types.ChangePubKeyReq, ops *types.TransactOpts) (*txtypes.L2ChangePubKeyTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructChangePubKeyTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
pk := c.keyManager.PubKeyBytes()
|
|
||||||
msgHash, _ := txInfo.Hash(c.chainId)
|
|
||||||
|
|
||||||
if err := schnorr.Validate(pk[:], msgHash, txInfo.Sig); err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to validate signature. error: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetCreateSubAccountTransaction(ops *types.TransactOpts) (*txtypes.L2CreateSubAccountTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructCreateSubAccountTx(c.keyManager, c.chainId, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetCreatePublicPoolTransaction(tx *types.CreatePublicPoolTxReq, ops *types.TransactOpts) (*txtypes.L2CreatePublicPoolTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructCreatePublicPoolTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetUpdatePublicPoolTransaction(tx *types.UpdatePublicPoolTxReq, ops *types.TransactOpts) (*txtypes.L2UpdatePublicPoolTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructUpdatePublicPoolTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetTransferTransaction(tx *types.TransferTxReq, ops *types.TransactOpts) (*txtypes.L2TransferTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructTransferTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetWithdrawTransaction(tx *types.WithdrawTxReq, ops *types.TransactOpts) (*txtypes.L2WithdrawTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructWithdrawTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetCreateOrderTransaction(tx *types.CreateOrderTxReq, ops *types.TransactOpts) (*txtypes.L2CreateOrderTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructCreateOrderTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetCancelOrderTransaction(tx *types.CancelOrderTxReq, ops *types.TransactOpts) (*txtypes.L2CancelOrderTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructL2CancelOrderTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetModifyOrderTransaction(tx *types.ModifyOrderTxReq, ops *types.TransactOpts) (*txtypes.L2ModifyOrderTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
txInfo, err := types.ConstructL2ModifyOrderTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetCancelAllOrdersTransaction(tx *types.CancelAllOrdersTxReq, ops *types.TransactOpts) (*txtypes.L2CancelAllOrdersTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructL2CancelAllOrdersTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetMintSharesTransaction(tx *types.MintSharesTxReq, ops *types.TransactOpts) (*txtypes.L2MintSharesTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructMintSharesTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetBurnSharesTransaction(tx *types.BurnSharesTxReq, ops *types.TransactOpts) (*txtypes.L2BurnSharesTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructBurnSharesTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetUpdateLeverageTransaction(tx *types.UpdateLeverageTxReq, ops *types.TransactOpts) (*txtypes.L2UpdateLeverageTxInfo, error) {
|
|
||||||
ops, err := c.FullFillDefaultOps(ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
txInfo, err := types.ConstructUpdateLeverageTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *TxClient) GetUpdateMarginTransaction(tx *types.UpdateMarginTxReq, ops *types.TransactOpts) (*txtypes.L2UpdateMarginTxInfo, error) {
|
|
||||||
if c.keyManager == nil {
|
|
||||||
return nil, fmt.Errorf("key manager is nil")
|
|
||||||
}
|
|
||||||
|
|
||||||
if ops == nil {
|
|
||||||
ops = new(types.TransactOpts)
|
|
||||||
}
|
|
||||||
|
|
||||||
txInfo, err := types.ConstructUpdateMarginTx(c.keyManager, c.chainId, tx, ops)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return txInfo, nil
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
module github.com/elliottech/lighter-go
|
|
||||||
|
|
||||||
go 1.23.0
|
|
||||||
|
|
||||||
toolchain go1.23.1
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/elliottech/poseidon_crypto v0.0.11
|
|
||||||
github.com/ethereum/go-ethereum v1.15.6
|
|
||||||
)
|
|
||||||
|
|
||||||
require (
|
|
||||||
github.com/bits-and-blooms/bitset v1.17.0 // indirect
|
|
||||||
github.com/consensys/gnark-crypto v0.14.0 // indirect
|
|
||||||
github.com/holiman/uint256 v1.3.2 // indirect
|
|
||||||
golang.org/x/crypto v0.35.0 // indirect
|
|
||||||
golang.org/x/sys v0.30.0 // indirect
|
|
||||||
)
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
github.com/bits-and-blooms/bitset v1.17.0 h1:1X2TS7aHz1ELcC0yU1y2stUs/0ig5oMU6STFZGrhvHI=
|
|
||||||
github.com/bits-and-blooms/bitset v1.17.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
|
|
||||||
github.com/consensys/gnark-crypto v0.14.0 h1:DDBdl4HaBtdQsq/wfMwJvZNE80sHidrK3Nfrefatm0E=
|
|
||||||
github.com/consensys/gnark-crypto v0.14.0/go.mod h1:CU4UijNPsHawiVGNxe9co07FkzCeWHHrb1li/n1XoU0=
|
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
|
||||||
github.com/elliottech/poseidon_crypto v0.0.11 h1:iX4rCg0m1XIX/7mhXVUEYUJIdQD57zNGNLeb6RZRl7g=
|
|
||||||
github.com/elliottech/poseidon_crypto v0.0.11/go.mod h1:NhWxSjPGr5JXRuB2Aepl/+ZrbmUG3hvku/GarB1JR8c=
|
|
||||||
github.com/ethereum/go-ethereum v1.15.6 h1:jgLoUM6/pNjp0uEnXyWcWikDwa4j1wZlcqkX8Pm8A+I=
|
|
||||||
github.com/ethereum/go-ethereum v1.15.6/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0=
|
|
||||||
github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA=
|
|
||||||
github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
|
|
||||||
github.com/leanovate/gopter v0.2.11 h1:vRjThO1EKPb/1NsDXuDrzldR28RLkBflWYcU9CvzWu4=
|
|
||||||
github.com/leanovate/gopter v0.2.11/go.mod h1:aK3tzZP/C+p1m3SPRE4SYZFGP7jjkuSI4f7Xvpt0S9c=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
|
||||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
|
||||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
|
||||||
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
|
|
||||||
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
|
|
||||||
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
|
|
||||||
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
build-darwin-local:
|
|
||||||
go mod vendor
|
|
||||||
go build -buildmode=c-shared -trimpath -o ./build/signer-arm64.dylib ./sharedlib/sharedlib.go
|
|
||||||
|
|
||||||
build-linux-local:
|
|
||||||
go mod vendor
|
|
||||||
go build -buildmode=c-shared -trimpath -o ./build/signer-amd64.so ./sharedlib/sharedlib.go
|
|
||||||
|
|
||||||
build-linux-docker:
|
|
||||||
go mod vendor
|
|
||||||
docker run --platform linux/amd64 -v $(pwd):/go/src/sdk golang:1.23.2-bullseye /bin/sh -c "cd /go/src/sdk && go build -buildmode=c-shared -trimpath -o ./build/signer-amd64.so ./sharedlib/sharedlib.go"
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,54 +0,0 @@
|
|||||||
package signer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"hash"
|
|
||||||
|
|
||||||
curve "github.com/elliottech/poseidon_crypto/curve/ecgfp5"
|
|
||||||
gFp5 "github.com/elliottech/poseidon_crypto/field/goldilocks_quintic_extension"
|
|
||||||
schnorr "github.com/elliottech/poseidon_crypto/signature/schnorr"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Signer interface {
|
|
||||||
Sign(message []byte, hFunc hash.Hash) ([]byte, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type KeyManager interface {
|
|
||||||
Signer
|
|
||||||
PubKey() gFp5.Element
|
|
||||||
PubKeyBytes() [40]byte
|
|
||||||
PrvKeyBytes() []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type keyManager struct {
|
|
||||||
key curve.ECgFp5Scalar
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewKeyManager(b []byte) (KeyManager, error) {
|
|
||||||
if len(b) != 40 {
|
|
||||||
return nil, fmt.Errorf("invalid private key length. expected: 40 got: %v", len(b))
|
|
||||||
}
|
|
||||||
return &keyManager{key: curve.ScalarElementFromLittleEndianBytes(b)}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (key *keyManager) Sign(hashedMessage []byte, hFunc hash.Hash) ([]byte, error) {
|
|
||||||
hashedMessageAsQuinticExtension, err := gFp5.FromCanonicalLittleEndianBytes(hashedMessage)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("failed to parse message while signing. message: %v err: %w", hashedMessage, err)
|
|
||||||
}
|
|
||||||
return schnorr.SchnorrSignHashedMessage(hashedMessageAsQuinticExtension, key.key).ToBytes(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (key *keyManager) PubKey() gFp5.Element {
|
|
||||||
return schnorr.SchnorrPkFromSk(key.key)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (key *keyManager) PubKeyBytes() (res [40]byte) {
|
|
||||||
bytes := key.PubKey().ToLittleEndianBytes()
|
|
||||||
copy(res[:], bytes[:])
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (key *keyManager) PrvKeyBytes() []byte {
|
|
||||||
return key.key.ToLittleEndianBytes()
|
|
||||||
}
|
|
||||||
@@ -1,201 +0,0 @@
|
|||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
disallowAdditionalPropertiesIfNotPresent: false
|
|
||||||
library: asyncio
|
|
||||||
packageName: lighter-sdk
|
|
||||||
projectName: lighter-sdk
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
|
|
||||||
#
|
|
||||||
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
|
|
||||||
|
|
||||||
git_user_id=$1
|
|
||||||
git_repo_id=$2
|
|
||||||
release_note=$3
|
|
||||||
git_host=$4
|
|
||||||
|
|
||||||
if [ "$git_host" = "" ]; then
|
|
||||||
git_host="github.com"
|
|
||||||
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$git_user_id" = "" ]; then
|
|
||||||
git_user_id="GIT_USER_ID"
|
|
||||||
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$git_repo_id" = "" ]; then
|
|
||||||
git_repo_id="GIT_REPO_ID"
|
|
||||||
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$release_note" = "" ]; then
|
|
||||||
release_note="Minor update"
|
|
||||||
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Initialize the local directory as a Git repository
|
|
||||||
git init
|
|
||||||
|
|
||||||
# Adds the files in the local repository and stages them for commit.
|
|
||||||
git add .
|
|
||||||
|
|
||||||
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
|
||||||
git commit -m "$release_note"
|
|
||||||
|
|
||||||
# Sets the new remote
|
|
||||||
git_remote=$(git remote)
|
|
||||||
if [ "$git_remote" = "" ]; then # git remote not defined
|
|
||||||
|
|
||||||
if [ "$GIT_TOKEN" = "" ]; then
|
|
||||||
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
|
|
||||||
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
|
|
||||||
else
|
|
||||||
git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
git pull origin master
|
|
||||||
|
|
||||||
# Pushes (Forces) the changes in the local repository up to the remote repository
|
|
||||||
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
|
|
||||||
git push origin master 2>&1 | grep -v 'To https'
|
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
# flake8: noqa
|
|
||||||
|
|
||||||
"""
|
|
||||||
zkLighter API
|
|
||||||
|
|
||||||
Public APIs for Lighter
|
|
||||||
|
|
||||||
The version of the OpenAPI document: 1.0
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
__version__ = "1.0.0"
|
|
||||||
|
|
||||||
# import apis into sdk package
|
|
||||||
from lighter.api.account_api import AccountApi
|
|
||||||
from lighter.api.announcement_api import AnnouncementApi
|
|
||||||
from lighter.api.block_api import BlockApi
|
|
||||||
from lighter.api.bridge_api import BridgeApi
|
|
||||||
from lighter.api.candlestick_api import CandlestickApi
|
|
||||||
from lighter.api.funding_api import FundingApi
|
|
||||||
from lighter.api.info_api import InfoApi
|
|
||||||
from lighter.api.notification_api import NotificationApi
|
|
||||||
from lighter.api.order_api import OrderApi
|
|
||||||
from lighter.api.referral_api import ReferralApi
|
|
||||||
from lighter.api.root_api import RootApi
|
|
||||||
from lighter.api.transaction_api import TransactionApi
|
|
||||||
|
|
||||||
# import ApiClient
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.api_client import ApiClient
|
|
||||||
from lighter.configuration import Configuration
|
|
||||||
from lighter.exceptions import OpenApiException
|
|
||||||
from lighter.exceptions import ApiTypeError
|
|
||||||
from lighter.exceptions import ApiValueError
|
|
||||||
from lighter.exceptions import ApiKeyError
|
|
||||||
from lighter.exceptions import ApiAttributeError
|
|
||||||
from lighter.exceptions import ApiException
|
|
||||||
|
|
||||||
# import models into sdk package
|
|
||||||
from lighter.models.account import Account
|
|
||||||
from lighter.models.account_api_keys import AccountApiKeys
|
|
||||||
from lighter.models.account_limits import AccountLimits
|
|
||||||
from lighter.models.account_margin_stats import AccountMarginStats
|
|
||||||
from lighter.models.account_market_stats import AccountMarketStats
|
|
||||||
from lighter.models.account_metadata import AccountMetadata
|
|
||||||
from lighter.models.account_metadatas import AccountMetadatas
|
|
||||||
from lighter.models.account_pn_l import AccountPnL
|
|
||||||
from lighter.models.account_position import AccountPosition
|
|
||||||
from lighter.models.account_stats import AccountStats
|
|
||||||
from lighter.models.account_trade_stats import AccountTradeStats
|
|
||||||
from lighter.models.announcement import Announcement
|
|
||||||
from lighter.models.announcements import Announcements
|
|
||||||
from lighter.models.api_key import ApiKey
|
|
||||||
from lighter.models.block import Block
|
|
||||||
from lighter.models.blocks import Blocks
|
|
||||||
from lighter.models.bridge_supported_network import BridgeSupportedNetwork
|
|
||||||
from lighter.models.candlestick import Candlestick
|
|
||||||
from lighter.models.candlesticks import Candlesticks
|
|
||||||
from lighter.models.contract_address import ContractAddress
|
|
||||||
from lighter.models.current_height import CurrentHeight
|
|
||||||
from lighter.models.cursor import Cursor
|
|
||||||
from lighter.models.daily_return import DailyReturn
|
|
||||||
from lighter.models.deposit_history import DepositHistory
|
|
||||||
from lighter.models.deposit_history_item import DepositHistoryItem
|
|
||||||
from lighter.models.detailed_account import DetailedAccount
|
|
||||||
from lighter.models.detailed_accounts import DetailedAccounts
|
|
||||||
from lighter.models.detailed_candlestick import DetailedCandlestick
|
|
||||||
from lighter.models.enriched_tx import EnrichedTx
|
|
||||||
from lighter.models.exchange_stats import ExchangeStats
|
|
||||||
from lighter.models.export_data import ExportData
|
|
||||||
from lighter.models.funding import Funding
|
|
||||||
from lighter.models.funding_rate import FundingRate
|
|
||||||
from lighter.models.funding_rates import FundingRates
|
|
||||||
from lighter.models.fundings import Fundings
|
|
||||||
from lighter.models.l1_metadata import L1Metadata
|
|
||||||
from lighter.models.l1_provider_info import L1ProviderInfo
|
|
||||||
from lighter.models.liq_trade import LiqTrade
|
|
||||||
from lighter.models.liquidation import Liquidation
|
|
||||||
from lighter.models.liquidation_info import LiquidationInfo
|
|
||||||
from lighter.models.liquidation_infos import LiquidationInfos
|
|
||||||
from lighter.models.market_info import MarketInfo
|
|
||||||
from lighter.models.next_nonce import NextNonce
|
|
||||||
from lighter.models.order import Order
|
|
||||||
from lighter.models.order_book import OrderBook
|
|
||||||
from lighter.models.order_book_depth import OrderBookDepth
|
|
||||||
from lighter.models.order_book_detail import OrderBookDetail
|
|
||||||
from lighter.models.order_book_details import OrderBookDetails
|
|
||||||
from lighter.models.order_book_orders import OrderBookOrders
|
|
||||||
from lighter.models.order_book_stats import OrderBookStats
|
|
||||||
from lighter.models.order_books import OrderBooks
|
|
||||||
from lighter.models.orders import Orders
|
|
||||||
from lighter.models.pn_l_entry import PnLEntry
|
|
||||||
from lighter.models.position_funding import PositionFunding
|
|
||||||
from lighter.models.position_fundings import PositionFundings
|
|
||||||
from lighter.models.price_level import PriceLevel
|
|
||||||
from lighter.models.public_pool import PublicPool
|
|
||||||
from lighter.models.public_pool_info import PublicPoolInfo
|
|
||||||
from lighter.models.public_pool_metadata import PublicPoolMetadata
|
|
||||||
from lighter.models.public_pool_share import PublicPoolShare
|
|
||||||
from lighter.models.public_pools import PublicPools
|
|
||||||
from lighter.models.referral_point_entry import ReferralPointEntry
|
|
||||||
from lighter.models.referral_points import ReferralPoints
|
|
||||||
from lighter.models.req_export_data import ReqExportData
|
|
||||||
from lighter.models.req_get_account import ReqGetAccount
|
|
||||||
from lighter.models.req_get_account_active_orders import ReqGetAccountActiveOrders
|
|
||||||
from lighter.models.req_get_account_api_keys import ReqGetAccountApiKeys
|
|
||||||
from lighter.models.req_get_account_by_l1_address import ReqGetAccountByL1Address
|
|
||||||
from lighter.models.req_get_account_inactive_orders import ReqGetAccountInactiveOrders
|
|
||||||
from lighter.models.req_get_account_limits import ReqGetAccountLimits
|
|
||||||
from lighter.models.req_get_account_metadata import ReqGetAccountMetadata
|
|
||||||
from lighter.models.req_get_account_pn_l import ReqGetAccountPnL
|
|
||||||
from lighter.models.req_get_account_txs import ReqGetAccountTxs
|
|
||||||
from lighter.models.req_get_block import ReqGetBlock
|
|
||||||
from lighter.models.req_get_block_txs import ReqGetBlockTxs
|
|
||||||
from lighter.models.req_get_by_account import ReqGetByAccount
|
|
||||||
from lighter.models.req_get_candlesticks import ReqGetCandlesticks
|
|
||||||
from lighter.models.req_get_deposit_history import ReqGetDepositHistory
|
|
||||||
from lighter.models.req_get_fast_withdraw_info import ReqGetFastWithdrawInfo
|
|
||||||
from lighter.models.req_get_fundings import ReqGetFundings
|
|
||||||
from lighter.models.req_get_l1_metadata import ReqGetL1Metadata
|
|
||||||
from lighter.models.req_get_l1_tx import ReqGetL1Tx
|
|
||||||
from lighter.models.req_get_latest_deposit import ReqGetLatestDeposit
|
|
||||||
from lighter.models.req_get_liquidation_infos import ReqGetLiquidationInfos
|
|
||||||
from lighter.models.req_get_next_nonce import ReqGetNextNonce
|
|
||||||
from lighter.models.req_get_order_book_details import ReqGetOrderBookDetails
|
|
||||||
from lighter.models.req_get_order_book_orders import ReqGetOrderBookOrders
|
|
||||||
from lighter.models.req_get_order_books import ReqGetOrderBooks
|
|
||||||
from lighter.models.req_get_position_funding import ReqGetPositionFunding
|
|
||||||
from lighter.models.req_get_public_pools import ReqGetPublicPools
|
|
||||||
from lighter.models.req_get_public_pools_metadata import ReqGetPublicPoolsMetadata
|
|
||||||
from lighter.models.req_get_range_with_cursor import ReqGetRangeWithCursor
|
|
||||||
from lighter.models.req_get_range_with_index import ReqGetRangeWithIndex
|
|
||||||
from lighter.models.req_get_range_with_index_sortable import ReqGetRangeWithIndexSortable
|
|
||||||
from lighter.models.req_get_recent_trades import ReqGetRecentTrades
|
|
||||||
from lighter.models.req_get_referral_points import ReqGetReferralPoints
|
|
||||||
from lighter.models.req_get_trades import ReqGetTrades
|
|
||||||
from lighter.models.req_get_transfer_fee_info import ReqGetTransferFeeInfo
|
|
||||||
from lighter.models.req_get_transfer_history import ReqGetTransferHistory
|
|
||||||
from lighter.models.req_get_tx import ReqGetTx
|
|
||||||
from lighter.models.req_get_withdraw_history import ReqGetWithdrawHistory
|
|
||||||
from lighter.models.resp_change_account_tier import RespChangeAccountTier
|
|
||||||
from lighter.models.resp_get_fast_bridge_info import RespGetFastBridgeInfo
|
|
||||||
from lighter.models.resp_public_pools_metadata import RespPublicPoolsMetadata
|
|
||||||
from lighter.models.resp_send_tx import RespSendTx
|
|
||||||
from lighter.models.resp_send_tx_batch import RespSendTxBatch
|
|
||||||
from lighter.models.resp_withdrawal_delay import RespWithdrawalDelay
|
|
||||||
from lighter.models.result_code import ResultCode
|
|
||||||
from lighter.models.risk_info import RiskInfo
|
|
||||||
from lighter.models.risk_parameters import RiskParameters
|
|
||||||
from lighter.models.share_price import SharePrice
|
|
||||||
from lighter.models.simple_order import SimpleOrder
|
|
||||||
from lighter.models.status import Status
|
|
||||||
from lighter.models.sub_accounts import SubAccounts
|
|
||||||
from lighter.models.ticker import Ticker
|
|
||||||
from lighter.models.trade import Trade
|
|
||||||
from lighter.models.trades import Trades
|
|
||||||
from lighter.models.transfer_fee_info import TransferFeeInfo
|
|
||||||
from lighter.models.transfer_history import TransferHistory
|
|
||||||
from lighter.models.transfer_history_item import TransferHistoryItem
|
|
||||||
from lighter.models.tx import Tx
|
|
||||||
from lighter.models.tx_hash import TxHash
|
|
||||||
from lighter.models.tx_hashes import TxHashes
|
|
||||||
from lighter.models.txs import Txs
|
|
||||||
from lighter.models.validator_info import ValidatorInfo
|
|
||||||
from lighter.models.withdraw_history import WithdrawHistory
|
|
||||||
from lighter.models.withdraw_history_item import WithdrawHistoryItem
|
|
||||||
from lighter.models.zk_lighter_info import ZkLighterInfo
|
|
||||||
from lighter.ws_client import WsClient
|
|
||||||
from lighter.signer_client import SignerClient, create_api_key
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# flake8: noqa
|
|
||||||
|
|
||||||
# import apis into api package
|
|
||||||
from lighter.api.account_api import AccountApi
|
|
||||||
from lighter.api.announcement_api import AnnouncementApi
|
|
||||||
from lighter.api.block_api import BlockApi
|
|
||||||
from lighter.api.bridge_api import BridgeApi
|
|
||||||
from lighter.api.candlestick_api import CandlestickApi
|
|
||||||
from lighter.api.funding_api import FundingApi
|
|
||||||
from lighter.api.info_api import InfoApi
|
|
||||||
from lighter.api.notification_api import NotificationApi
|
|
||||||
from lighter.api.order_api import OrderApi
|
|
||||||
from lighter.api.referral_api import ReferralApi
|
|
||||||
from lighter.api.root_api import RootApi
|
|
||||||
from lighter.api.transaction_api import TransactionApi
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,282 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from lighter.models.announcements import Announcements
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class AnnouncementApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def announcement(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Announcements:
|
|
||||||
"""announcement
|
|
||||||
|
|
||||||
Get announcement
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._announcement_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Announcements",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def announcement_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Announcements]:
|
|
||||||
"""announcement
|
|
||||||
|
|
||||||
Get announcement
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._announcement_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Announcements",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def announcement_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""announcement
|
|
||||||
|
|
||||||
Get announcement
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._announcement_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Announcements",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _announcement_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/announcement',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,863 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from pydantic import Field, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Optional
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
from lighter.models.blocks import Blocks
|
|
||||||
from lighter.models.current_height import CurrentHeight
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class BlockApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def block(
|
|
||||||
self,
|
|
||||||
by: StrictStr,
|
|
||||||
value: StrictStr,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Blocks:
|
|
||||||
"""block
|
|
||||||
|
|
||||||
Get block by its height or commitment
|
|
||||||
|
|
||||||
:param by: (required)
|
|
||||||
:type by: str
|
|
||||||
:param value: (required)
|
|
||||||
:type value: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._block_serialize(
|
|
||||||
by=by,
|
|
||||||
value=value,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def block_with_http_info(
|
|
||||||
self,
|
|
||||||
by: StrictStr,
|
|
||||||
value: StrictStr,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Blocks]:
|
|
||||||
"""block
|
|
||||||
|
|
||||||
Get block by its height or commitment
|
|
||||||
|
|
||||||
:param by: (required)
|
|
||||||
:type by: str
|
|
||||||
:param value: (required)
|
|
||||||
:type value: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._block_serialize(
|
|
||||||
by=by,
|
|
||||||
value=value,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def block_without_preload_content(
|
|
||||||
self,
|
|
||||||
by: StrictStr,
|
|
||||||
value: StrictStr,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""block
|
|
||||||
|
|
||||||
Get block by its height or commitment
|
|
||||||
|
|
||||||
:param by: (required)
|
|
||||||
:type by: str
|
|
||||||
:param value: (required)
|
|
||||||
:type value: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._block_serialize(
|
|
||||||
by=by,
|
|
||||||
value=value,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _block_serialize(
|
|
||||||
self,
|
|
||||||
by,
|
|
||||||
value,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if by is not None:
|
|
||||||
|
|
||||||
_query_params.append(('by', by))
|
|
||||||
|
|
||||||
if value is not None:
|
|
||||||
|
|
||||||
_query_params.append(('value', value))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/block',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def blocks(
|
|
||||||
self,
|
|
||||||
limit: Annotated[int, Field(le=100, strict=True, ge=1)],
|
|
||||||
index: Optional[StrictInt] = None,
|
|
||||||
sort: Optional[StrictStr] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Blocks:
|
|
||||||
"""blocks
|
|
||||||
|
|
||||||
Get blocks
|
|
||||||
|
|
||||||
:param limit: (required)
|
|
||||||
:type limit: int
|
|
||||||
:param index:
|
|
||||||
:type index: int
|
|
||||||
:param sort:
|
|
||||||
:type sort: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._blocks_serialize(
|
|
||||||
limit=limit,
|
|
||||||
index=index,
|
|
||||||
sort=sort,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def blocks_with_http_info(
|
|
||||||
self,
|
|
||||||
limit: Annotated[int, Field(le=100, strict=True, ge=1)],
|
|
||||||
index: Optional[StrictInt] = None,
|
|
||||||
sort: Optional[StrictStr] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Blocks]:
|
|
||||||
"""blocks
|
|
||||||
|
|
||||||
Get blocks
|
|
||||||
|
|
||||||
:param limit: (required)
|
|
||||||
:type limit: int
|
|
||||||
:param index:
|
|
||||||
:type index: int
|
|
||||||
:param sort:
|
|
||||||
:type sort: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._blocks_serialize(
|
|
||||||
limit=limit,
|
|
||||||
index=index,
|
|
||||||
sort=sort,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def blocks_without_preload_content(
|
|
||||||
self,
|
|
||||||
limit: Annotated[int, Field(le=100, strict=True, ge=1)],
|
|
||||||
index: Optional[StrictInt] = None,
|
|
||||||
sort: Optional[StrictStr] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""blocks
|
|
||||||
|
|
||||||
Get blocks
|
|
||||||
|
|
||||||
:param limit: (required)
|
|
||||||
:type limit: int
|
|
||||||
:param index:
|
|
||||||
:type index: int
|
|
||||||
:param sort:
|
|
||||||
:type sort: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._blocks_serialize(
|
|
||||||
limit=limit,
|
|
||||||
index=index,
|
|
||||||
sort=sort,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Blocks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _blocks_serialize(
|
|
||||||
self,
|
|
||||||
limit,
|
|
||||||
index,
|
|
||||||
sort,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if index is not None:
|
|
||||||
|
|
||||||
_query_params.append(('index', index))
|
|
||||||
|
|
||||||
if limit is not None:
|
|
||||||
|
|
||||||
_query_params.append(('limit', limit))
|
|
||||||
|
|
||||||
if sort is not None:
|
|
||||||
|
|
||||||
_query_params.append(('sort', sort))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/blocks',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def current_height(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> CurrentHeight:
|
|
||||||
"""currentHeight
|
|
||||||
|
|
||||||
Get current height
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._current_height_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "CurrentHeight",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def current_height_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[CurrentHeight]:
|
|
||||||
"""currentHeight
|
|
||||||
|
|
||||||
Get current height
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._current_height_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "CurrentHeight",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def current_height_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""currentHeight
|
|
||||||
|
|
||||||
Get current height
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._current_height_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "CurrentHeight",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _current_height_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/currentHeight',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,282 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from lighter.models.resp_get_fast_bridge_info import RespGetFastBridgeInfo
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class BridgeApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fastbridge_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RespGetFastBridgeInfo:
|
|
||||||
"""fastbridge_info
|
|
||||||
|
|
||||||
Get fast bridge info
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fastbridge_info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespGetFastBridgeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fastbridge_info_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[RespGetFastBridgeInfo]:
|
|
||||||
"""fastbridge_info
|
|
||||||
|
|
||||||
Get fast bridge info
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fastbridge_info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespGetFastBridgeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fastbridge_info_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""fastbridge_info
|
|
||||||
|
|
||||||
Get fast bridge info
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fastbridge_info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespGetFastBridgeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _fastbridge_info_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/fastbridge/info',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,719 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Optional
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
from lighter.models.candlesticks import Candlesticks
|
|
||||||
from lighter.models.fundings import Fundings
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class CandlestickApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def candlesticks(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
set_timestamp_to_end: Optional[StrictBool] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Candlesticks:
|
|
||||||
"""candlesticks
|
|
||||||
|
|
||||||
Get candlesticks
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param set_timestamp_to_end:
|
|
||||||
:type set_timestamp_to_end: bool
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._candlesticks_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
set_timestamp_to_end=set_timestamp_to_end,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Candlesticks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def candlesticks_with_http_info(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
set_timestamp_to_end: Optional[StrictBool] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Candlesticks]:
|
|
||||||
"""candlesticks
|
|
||||||
|
|
||||||
Get candlesticks
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param set_timestamp_to_end:
|
|
||||||
:type set_timestamp_to_end: bool
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._candlesticks_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
set_timestamp_to_end=set_timestamp_to_end,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Candlesticks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def candlesticks_without_preload_content(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
set_timestamp_to_end: Optional[StrictBool] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""candlesticks
|
|
||||||
|
|
||||||
Get candlesticks
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param set_timestamp_to_end:
|
|
||||||
:type set_timestamp_to_end: bool
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._candlesticks_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
set_timestamp_to_end=set_timestamp_to_end,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Candlesticks",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _candlesticks_serialize(
|
|
||||||
self,
|
|
||||||
market_id,
|
|
||||||
resolution,
|
|
||||||
start_timestamp,
|
|
||||||
end_timestamp,
|
|
||||||
count_back,
|
|
||||||
set_timestamp_to_end,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if market_id is not None:
|
|
||||||
|
|
||||||
_query_params.append(('market_id', market_id))
|
|
||||||
|
|
||||||
if resolution is not None:
|
|
||||||
|
|
||||||
_query_params.append(('resolution', resolution))
|
|
||||||
|
|
||||||
if start_timestamp is not None:
|
|
||||||
|
|
||||||
_query_params.append(('start_timestamp', start_timestamp))
|
|
||||||
|
|
||||||
if end_timestamp is not None:
|
|
||||||
|
|
||||||
_query_params.append(('end_timestamp', end_timestamp))
|
|
||||||
|
|
||||||
if count_back is not None:
|
|
||||||
|
|
||||||
_query_params.append(('count_back', count_back))
|
|
||||||
|
|
||||||
if set_timestamp_to_end is not None:
|
|
||||||
|
|
||||||
_query_params.append(('set_timestamp_to_end', set_timestamp_to_end))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/candlesticks',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fundings(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Fundings:
|
|
||||||
"""fundings
|
|
||||||
|
|
||||||
Get fundings
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fundings_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Fundings",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fundings_with_http_info(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Fundings]:
|
|
||||||
"""fundings
|
|
||||||
|
|
||||||
Get fundings
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fundings_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Fundings",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def fundings_without_preload_content(
|
|
||||||
self,
|
|
||||||
market_id: StrictInt,
|
|
||||||
resolution: StrictStr,
|
|
||||||
start_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
end_timestamp: Annotated[int, Field(le=5000000000000, strict=True, ge=0)],
|
|
||||||
count_back: StrictInt,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""fundings
|
|
||||||
|
|
||||||
Get fundings
|
|
||||||
|
|
||||||
:param market_id: (required)
|
|
||||||
:type market_id: int
|
|
||||||
:param resolution: (required)
|
|
||||||
:type resolution: str
|
|
||||||
:param start_timestamp: (required)
|
|
||||||
:type start_timestamp: int
|
|
||||||
:param end_timestamp: (required)
|
|
||||||
:type end_timestamp: int
|
|
||||||
:param count_back: (required)
|
|
||||||
:type count_back: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._fundings_serialize(
|
|
||||||
market_id=market_id,
|
|
||||||
resolution=resolution,
|
|
||||||
start_timestamp=start_timestamp,
|
|
||||||
end_timestamp=end_timestamp,
|
|
||||||
count_back=count_back,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Fundings",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _fundings_serialize(
|
|
||||||
self,
|
|
||||||
market_id,
|
|
||||||
resolution,
|
|
||||||
start_timestamp,
|
|
||||||
end_timestamp,
|
|
||||||
count_back,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if market_id is not None:
|
|
||||||
|
|
||||||
_query_params.append(('market_id', market_id))
|
|
||||||
|
|
||||||
if resolution is not None:
|
|
||||||
|
|
||||||
_query_params.append(('resolution', resolution))
|
|
||||||
|
|
||||||
if start_timestamp is not None:
|
|
||||||
|
|
||||||
_query_params.append(('start_timestamp', start_timestamp))
|
|
||||||
|
|
||||||
if end_timestamp is not None:
|
|
||||||
|
|
||||||
_query_params.append(('end_timestamp', end_timestamp))
|
|
||||||
|
|
||||||
if count_back is not None:
|
|
||||||
|
|
||||||
_query_params.append(('count_back', count_back))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/fundings',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,282 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from lighter.models.funding_rates import FundingRates
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class FundingApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def funding_rates(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> FundingRates:
|
|
||||||
"""funding-rates
|
|
||||||
|
|
||||||
Get funding rates
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._funding_rates_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "FundingRates",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def funding_rates_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[FundingRates]:
|
|
||||||
"""funding-rates
|
|
||||||
|
|
||||||
Get funding rates
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._funding_rates_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "FundingRates",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def funding_rates_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""funding-rates
|
|
||||||
|
|
||||||
Get funding rates
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._funding_rates_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "FundingRates",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _funding_rates_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/funding-rates',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,597 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from pydantic import StrictInt, StrictStr
|
|
||||||
from typing import Optional
|
|
||||||
from lighter.models.resp_withdrawal_delay import RespWithdrawalDelay
|
|
||||||
from lighter.models.transfer_fee_info import TransferFeeInfo
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class InfoApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def transfer_fee_info(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Optional[StrictStr] = None,
|
|
||||||
auth: Optional[StrictStr] = None,
|
|
||||||
to_account_index: Optional[StrictInt] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> TransferFeeInfo:
|
|
||||||
"""transferFeeInfo
|
|
||||||
|
|
||||||
Transfer fee info
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization:
|
|
||||||
:type authorization: str
|
|
||||||
:param auth:
|
|
||||||
:type auth: str
|
|
||||||
:param to_account_index:
|
|
||||||
:type to_account_index: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._transfer_fee_info_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
to_account_index=to_account_index,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "TransferFeeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def transfer_fee_info_with_http_info(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Optional[StrictStr] = None,
|
|
||||||
auth: Optional[StrictStr] = None,
|
|
||||||
to_account_index: Optional[StrictInt] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[TransferFeeInfo]:
|
|
||||||
"""transferFeeInfo
|
|
||||||
|
|
||||||
Transfer fee info
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization:
|
|
||||||
:type authorization: str
|
|
||||||
:param auth:
|
|
||||||
:type auth: str
|
|
||||||
:param to_account_index:
|
|
||||||
:type to_account_index: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._transfer_fee_info_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
to_account_index=to_account_index,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "TransferFeeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def transfer_fee_info_without_preload_content(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Optional[StrictStr] = None,
|
|
||||||
auth: Optional[StrictStr] = None,
|
|
||||||
to_account_index: Optional[StrictInt] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""transferFeeInfo
|
|
||||||
|
|
||||||
Transfer fee info
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization:
|
|
||||||
:type authorization: str
|
|
||||||
:param auth:
|
|
||||||
:type auth: str
|
|
||||||
:param to_account_index:
|
|
||||||
:type to_account_index: int
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._transfer_fee_info_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
to_account_index=to_account_index,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "TransferFeeInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _transfer_fee_info_serialize(
|
|
||||||
self,
|
|
||||||
account_index,
|
|
||||||
authorization,
|
|
||||||
auth,
|
|
||||||
to_account_index,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if auth is not None:
|
|
||||||
|
|
||||||
_query_params.append(('auth', auth))
|
|
||||||
|
|
||||||
if account_index is not None:
|
|
||||||
|
|
||||||
_query_params.append(('account_index', account_index))
|
|
||||||
|
|
||||||
if to_account_index is not None:
|
|
||||||
|
|
||||||
_query_params.append(('to_account_index', to_account_index))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
if authorization is not None:
|
|
||||||
_header_params['authorization'] = authorization
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/transferFeeInfo',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def withdrawal_delay(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RespWithdrawalDelay:
|
|
||||||
"""withdrawalDelay
|
|
||||||
|
|
||||||
Withdrawal delay in seconds
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._withdrawal_delay_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespWithdrawalDelay",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def withdrawal_delay_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[RespWithdrawalDelay]:
|
|
||||||
"""withdrawalDelay
|
|
||||||
|
|
||||||
Withdrawal delay in seconds
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._withdrawal_delay_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespWithdrawalDelay",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def withdrawal_delay_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""withdrawalDelay
|
|
||||||
|
|
||||||
Withdrawal delay in seconds
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._withdrawal_delay_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "RespWithdrawalDelay",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _withdrawal_delay_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/withdrawalDelay',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,358 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from pydantic import Field, StrictInt, StrictStr
|
|
||||||
from typing import Optional
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
from lighter.models.result_code import ResultCode
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class NotificationApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def notification_ack(
|
|
||||||
self,
|
|
||||||
notif_id: StrictStr,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ResultCode:
|
|
||||||
"""notification_ack
|
|
||||||
|
|
||||||
Ack notification
|
|
||||||
|
|
||||||
:param notif_id: (required)
|
|
||||||
:type notif_id: str
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._notification_ack_serialize(
|
|
||||||
notif_id=notif_id,
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ResultCode",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def notification_ack_with_http_info(
|
|
||||||
self,
|
|
||||||
notif_id: StrictStr,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[ResultCode]:
|
|
||||||
"""notification_ack
|
|
||||||
|
|
||||||
Ack notification
|
|
||||||
|
|
||||||
:param notif_id: (required)
|
|
||||||
:type notif_id: str
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._notification_ack_serialize(
|
|
||||||
notif_id=notif_id,
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ResultCode",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def notification_ack_without_preload_content(
|
|
||||||
self,
|
|
||||||
notif_id: StrictStr,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""notification_ack
|
|
||||||
|
|
||||||
Ack notification
|
|
||||||
|
|
||||||
:param notif_id: (required)
|
|
||||||
:type notif_id: str
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._notification_ack_serialize(
|
|
||||||
notif_id=notif_id,
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ResultCode",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _notification_ack_serialize(
|
|
||||||
self,
|
|
||||||
notif_id,
|
|
||||||
account_index,
|
|
||||||
authorization,
|
|
||||||
auth,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
if authorization is not None:
|
|
||||||
_header_params['authorization'] = authorization
|
|
||||||
# process the form parameters
|
|
||||||
if notif_id is not None:
|
|
||||||
_form_params.append(('notif_id', notif_id))
|
|
||||||
if auth is not None:
|
|
||||||
_form_params.append(('auth', auth))
|
|
||||||
if account_index is not None:
|
|
||||||
_form_params.append(('account_index', account_index))
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# set the HTTP header `Content-Type`
|
|
||||||
if _content_type:
|
|
||||||
_header_params['Content-Type'] = _content_type
|
|
||||||
else:
|
|
||||||
_default_content_type = (
|
|
||||||
self.api_client.select_header_content_type(
|
|
||||||
[
|
|
||||||
'multipart/form-data'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if _default_content_type is not None:
|
|
||||||
_header_params['Content-Type'] = _default_content_type
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='POST',
|
|
||||||
resource_path='/api/v1/notification/ack',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,334 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from pydantic import Field, StrictInt, StrictStr
|
|
||||||
from typing import Optional
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
from lighter.models.referral_points import ReferralPoints
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class ReferralApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def referral_points(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ReferralPoints:
|
|
||||||
"""referral_points
|
|
||||||
|
|
||||||
Get referral points
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._referral_points_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ReferralPoints",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def referral_points_with_http_info(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[ReferralPoints]:
|
|
||||||
"""referral_points
|
|
||||||
|
|
||||||
Get referral points
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._referral_points_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ReferralPoints",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def referral_points_without_preload_content(
|
|
||||||
self,
|
|
||||||
account_index: StrictInt,
|
|
||||||
authorization: Annotated[Optional[StrictStr], Field(description=" make required after integ is done")] = None,
|
|
||||||
auth: Annotated[Optional[StrictStr], Field(description=" made optional to support header auth clients")] = None,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""referral_points
|
|
||||||
|
|
||||||
Get referral points
|
|
||||||
|
|
||||||
:param account_index: (required)
|
|
||||||
:type account_index: int
|
|
||||||
:param authorization: make required after integ is done
|
|
||||||
:type authorization: str
|
|
||||||
:param auth: made optional to support header auth clients
|
|
||||||
:type auth: str
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._referral_points_serialize(
|
|
||||||
account_index=account_index,
|
|
||||||
authorization=authorization,
|
|
||||||
auth=auth,
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ReferralPoints",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _referral_points_serialize(
|
|
||||||
self,
|
|
||||||
account_index,
|
|
||||||
authorization,
|
|
||||||
auth,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
if auth is not None:
|
|
||||||
|
|
||||||
_query_params.append(('auth', auth))
|
|
||||||
|
|
||||||
if account_index is not None:
|
|
||||||
|
|
||||||
_query_params.append(('account_index', account_index))
|
|
||||||
|
|
||||||
# process the header parameters
|
|
||||||
if authorization is not None:
|
|
||||||
_header_params['authorization'] = authorization
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/api/v1/referral/points',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,529 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
import warnings
|
|
||||||
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
|
|
||||||
from lighter.models.status import Status
|
|
||||||
from lighter.models.zk_lighter_info import ZkLighterInfo
|
|
||||||
|
|
||||||
from lighter.api_client import ApiClient, RequestSerialized
|
|
||||||
from lighter.api_response import ApiResponse
|
|
||||||
from lighter.rest import RESTResponseType
|
|
||||||
|
|
||||||
|
|
||||||
class RootApi:
|
|
||||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
||||||
Ref: https://openapi-generator.tech
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, api_client=None) -> None:
|
|
||||||
if api_client is None:
|
|
||||||
api_client = ApiClient.get_default()
|
|
||||||
self.api_client = api_client
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ZkLighterInfo:
|
|
||||||
"""info
|
|
||||||
|
|
||||||
Get info of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ZkLighterInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def info_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[ZkLighterInfo]:
|
|
||||||
"""info
|
|
||||||
|
|
||||||
Get info of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ZkLighterInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def info_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""info
|
|
||||||
|
|
||||||
Get info of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._info_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "ZkLighterInfo",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _info_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/info',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def status(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> Status:
|
|
||||||
"""status
|
|
||||||
|
|
||||||
Get status of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._status_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Status",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
).data
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def status_with_http_info(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> ApiResponse[Status]:
|
|
||||||
"""status
|
|
||||||
|
|
||||||
Get status of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._status_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Status",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
await response_data.read()
|
|
||||||
return self.api_client.response_deserialize(
|
|
||||||
response_data=response_data,
|
|
||||||
response_types_map=_response_types_map,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@validate_call
|
|
||||||
async def status_without_preload_content(
|
|
||||||
self,
|
|
||||||
_request_timeout: Union[
|
|
||||||
None,
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Tuple[
|
|
||||||
Annotated[StrictFloat, Field(gt=0)],
|
|
||||||
Annotated[StrictFloat, Field(gt=0)]
|
|
||||||
]
|
|
||||||
] = None,
|
|
||||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_content_type: Optional[StrictStr] = None,
|
|
||||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
||||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
||||||
) -> RESTResponseType:
|
|
||||||
"""status
|
|
||||||
|
|
||||||
Get status of zklighter
|
|
||||||
|
|
||||||
:param _request_timeout: timeout setting for this request. If one
|
|
||||||
number provided, it will be total request
|
|
||||||
timeout. It can also be a pair (tuple) of
|
|
||||||
(connection, read) timeouts.
|
|
||||||
:type _request_timeout: int, tuple(int, int), optional
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the
|
|
||||||
authentication in the spec for a single request.
|
|
||||||
:type _request_auth: dict, optional
|
|
||||||
:param _content_type: force content-type for the request.
|
|
||||||
:type _content_type: str, Optional
|
|
||||||
:param _headers: set to override the headers for a single
|
|
||||||
request; this effectively ignores the headers
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _headers: dict, optional
|
|
||||||
:param _host_index: set to override the host_index for a single
|
|
||||||
request; this effectively ignores the host_index
|
|
||||||
in the spec for a single request.
|
|
||||||
:type _host_index: int, optional
|
|
||||||
:return: Returns the result object.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
_param = self._status_serialize(
|
|
||||||
_request_auth=_request_auth,
|
|
||||||
_content_type=_content_type,
|
|
||||||
_headers=_headers,
|
|
||||||
_host_index=_host_index
|
|
||||||
)
|
|
||||||
|
|
||||||
_response_types_map: Dict[str, Optional[str]] = {
|
|
||||||
'200': "Status",
|
|
||||||
'400': "ResultCode",
|
|
||||||
}
|
|
||||||
response_data = await self.api_client.call_api(
|
|
||||||
*_param,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
return response_data.response
|
|
||||||
|
|
||||||
|
|
||||||
def _status_serialize(
|
|
||||||
self,
|
|
||||||
_request_auth,
|
|
||||||
_content_type,
|
|
||||||
_headers,
|
|
||||||
_host_index,
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
_host = None
|
|
||||||
|
|
||||||
_collection_formats: Dict[str, str] = {
|
|
||||||
}
|
|
||||||
|
|
||||||
_path_params: Dict[str, str] = {}
|
|
||||||
_query_params: List[Tuple[str, str]] = []
|
|
||||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
||||||
_form_params: List[Tuple[str, str]] = []
|
|
||||||
_files: Dict[str, Union[str, bytes]] = {}
|
|
||||||
_body_params: Optional[bytes] = None
|
|
||||||
|
|
||||||
# process the path parameters
|
|
||||||
# process the query parameters
|
|
||||||
# process the header parameters
|
|
||||||
# process the form parameters
|
|
||||||
# process the body parameter
|
|
||||||
|
|
||||||
|
|
||||||
# set the HTTP header `Accept`
|
|
||||||
if 'Accept' not in _header_params:
|
|
||||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
||||||
[
|
|
||||||
'application/json'
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# authentication setting
|
|
||||||
_auth_settings: List[str] = [
|
|
||||||
]
|
|
||||||
|
|
||||||
return self.api_client.param_serialize(
|
|
||||||
method='GET',
|
|
||||||
resource_path='/',
|
|
||||||
path_params=_path_params,
|
|
||||||
query_params=_query_params,
|
|
||||||
header_params=_header_params,
|
|
||||||
body=_body_params,
|
|
||||||
post_params=_form_params,
|
|
||||||
files=_files,
|
|
||||||
auth_settings=_auth_settings,
|
|
||||||
collection_formats=_collection_formats,
|
|
||||||
_host=_host,
|
|
||||||
_request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,784 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
import datetime
|
|
||||||
from dateutil.parser import parse
|
|
||||||
from enum import Enum
|
|
||||||
import json
|
|
||||||
import mimetypes
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import tempfile
|
|
||||||
|
|
||||||
from urllib.parse import quote
|
|
||||||
from typing import Tuple, Optional, List, Dict, Union
|
|
||||||
from pydantic import SecretStr
|
|
||||||
|
|
||||||
from lighter.configuration import Configuration
|
|
||||||
from lighter.api_response import ApiResponse, T as ApiResponseT
|
|
||||||
import lighter.models
|
|
||||||
from lighter import rest
|
|
||||||
from lighter.exceptions import (
|
|
||||||
ApiValueError,
|
|
||||||
ApiException,
|
|
||||||
BadRequestException,
|
|
||||||
UnauthorizedException,
|
|
||||||
ForbiddenException,
|
|
||||||
NotFoundException,
|
|
||||||
ServiceException
|
|
||||||
)
|
|
||||||
|
|
||||||
RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]]
|
|
||||||
|
|
||||||
class ApiClient:
|
|
||||||
"""Generic API client for OpenAPI client library builds.
|
|
||||||
|
|
||||||
OpenAPI generic API client. This client handles the client-
|
|
||||||
server communication, and is invariant across implementations. Specifics of
|
|
||||||
the methods and models for each application are generated from the OpenAPI
|
|
||||||
templates.
|
|
||||||
|
|
||||||
:param configuration: .Configuration object for this client
|
|
||||||
:param header_name: a header to pass when making calls to the API.
|
|
||||||
:param header_value: a header value to pass when making calls to
|
|
||||||
the API.
|
|
||||||
:param cookie: a cookie to include in the header when making calls
|
|
||||||
to the API
|
|
||||||
"""
|
|
||||||
|
|
||||||
PRIMITIVE_TYPES = (float, bool, bytes, str, int)
|
|
||||||
NATIVE_TYPES_MAPPING = {
|
|
||||||
'int': int,
|
|
||||||
'long': int, # TODO remove as only py3 is supported?
|
|
||||||
'float': float,
|
|
||||||
'str': str,
|
|
||||||
'bool': bool,
|
|
||||||
'date': datetime.date,
|
|
||||||
'datetime': datetime.datetime,
|
|
||||||
'object': object,
|
|
||||||
}
|
|
||||||
_pool = None
|
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
configuration=None,
|
|
||||||
header_name=None,
|
|
||||||
header_value=None,
|
|
||||||
cookie=None
|
|
||||||
) -> None:
|
|
||||||
# use default configuration if none is provided
|
|
||||||
if configuration is None:
|
|
||||||
configuration = Configuration.get_default()
|
|
||||||
self.configuration = configuration
|
|
||||||
|
|
||||||
self.rest_client = rest.RESTClientObject(configuration)
|
|
||||||
self.default_headers = {}
|
|
||||||
if header_name is not None:
|
|
||||||
self.default_headers[header_name] = header_value
|
|
||||||
self.cookie = cookie
|
|
||||||
# Set default User-Agent.
|
|
||||||
self.user_agent = 'OpenAPI-Generator/1.0.0/python'
|
|
||||||
self.client_side_validation = configuration.client_side_validation
|
|
||||||
|
|
||||||
async def __aenter__(self):
|
|
||||||
return self
|
|
||||||
|
|
||||||
async def __aexit__(self, exc_type, exc_value, traceback):
|
|
||||||
await self.close()
|
|
||||||
|
|
||||||
async def close(self):
|
|
||||||
await self.rest_client.close()
|
|
||||||
|
|
||||||
@property
|
|
||||||
def user_agent(self):
|
|
||||||
"""User agent for this API client"""
|
|
||||||
return self.default_headers['User-Agent']
|
|
||||||
|
|
||||||
@user_agent.setter
|
|
||||||
def user_agent(self, value):
|
|
||||||
self.default_headers['User-Agent'] = value
|
|
||||||
|
|
||||||
def set_default_header(self, header_name, header_value):
|
|
||||||
self.default_headers[header_name] = header_value
|
|
||||||
|
|
||||||
|
|
||||||
_default = None
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_default(cls):
|
|
||||||
"""Return new instance of ApiClient.
|
|
||||||
|
|
||||||
This method returns newly created, based on default constructor,
|
|
||||||
object of ApiClient class or returns a copy of default
|
|
||||||
ApiClient.
|
|
||||||
|
|
||||||
:return: The ApiClient object.
|
|
||||||
"""
|
|
||||||
if cls._default is None:
|
|
||||||
cls._default = ApiClient()
|
|
||||||
return cls._default
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def set_default(cls, default):
|
|
||||||
"""Set default instance of ApiClient.
|
|
||||||
|
|
||||||
It stores default ApiClient.
|
|
||||||
|
|
||||||
:param default: object of ApiClient.
|
|
||||||
"""
|
|
||||||
cls._default = default
|
|
||||||
|
|
||||||
def param_serialize(
|
|
||||||
self,
|
|
||||||
method,
|
|
||||||
resource_path,
|
|
||||||
path_params=None,
|
|
||||||
query_params=None,
|
|
||||||
header_params=None,
|
|
||||||
body=None,
|
|
||||||
post_params=None,
|
|
||||||
files=None, auth_settings=None,
|
|
||||||
collection_formats=None,
|
|
||||||
_host=None,
|
|
||||||
_request_auth=None
|
|
||||||
) -> RequestSerialized:
|
|
||||||
|
|
||||||
"""Builds the HTTP request params needed by the request.
|
|
||||||
:param method: Method to call.
|
|
||||||
:param resource_path: Path to method endpoint.
|
|
||||||
:param path_params: Path parameters in the url.
|
|
||||||
:param query_params: Query parameters in the url.
|
|
||||||
:param header_params: Header parameters to be
|
|
||||||
placed in the request header.
|
|
||||||
:param body: Request body.
|
|
||||||
:param post_params dict: Request post form parameters,
|
|
||||||
for `application/x-www-form-urlencoded`, `multipart/form-data`.
|
|
||||||
:param auth_settings list: Auth Settings names for the request.
|
|
||||||
:param files dict: key -> filename, value -> filepath,
|
|
||||||
for `multipart/form-data`.
|
|
||||||
:param collection_formats: dict of collection formats for path, query,
|
|
||||||
header, and post parameters.
|
|
||||||
:param _request_auth: set to override the auth_settings for an a single
|
|
||||||
request; this effectively ignores the authentication
|
|
||||||
in the spec for a single request.
|
|
||||||
:return: tuple of form (path, http_method, query_params, header_params,
|
|
||||||
body, post_params, files)
|
|
||||||
"""
|
|
||||||
|
|
||||||
config = self.configuration
|
|
||||||
|
|
||||||
# header parameters
|
|
||||||
header_params = header_params or {}
|
|
||||||
header_params.update(self.default_headers)
|
|
||||||
if self.cookie:
|
|
||||||
header_params['Cookie'] = self.cookie
|
|
||||||
if header_params:
|
|
||||||
header_params = self.sanitize_for_serialization(header_params)
|
|
||||||
header_params = dict(
|
|
||||||
self.parameters_to_tuples(header_params,collection_formats)
|
|
||||||
)
|
|
||||||
|
|
||||||
# path parameters
|
|
||||||
if path_params:
|
|
||||||
path_params = self.sanitize_for_serialization(path_params)
|
|
||||||
path_params = self.parameters_to_tuples(
|
|
||||||
path_params,
|
|
||||||
collection_formats
|
|
||||||
)
|
|
||||||
for k, v in path_params:
|
|
||||||
# specified safe chars, encode everything
|
|
||||||
resource_path = resource_path.replace(
|
|
||||||
'{%s}' % k,
|
|
||||||
quote(str(v), safe=config.safe_chars_for_path_param)
|
|
||||||
)
|
|
||||||
|
|
||||||
# post parameters
|
|
||||||
if post_params or files:
|
|
||||||
post_params = post_params if post_params else []
|
|
||||||
post_params = self.sanitize_for_serialization(post_params)
|
|
||||||
post_params = self.parameters_to_tuples(
|
|
||||||
post_params,
|
|
||||||
collection_formats
|
|
||||||
)
|
|
||||||
if files:
|
|
||||||
post_params.extend(self.files_parameters(files))
|
|
||||||
|
|
||||||
# auth setting
|
|
||||||
self.update_params_for_auth(
|
|
||||||
header_params,
|
|
||||||
query_params,
|
|
||||||
auth_settings,
|
|
||||||
resource_path,
|
|
||||||
method,
|
|
||||||
body,
|
|
||||||
request_auth=_request_auth
|
|
||||||
)
|
|
||||||
|
|
||||||
# body
|
|
||||||
if body:
|
|
||||||
body = self.sanitize_for_serialization(body)
|
|
||||||
|
|
||||||
# request url
|
|
||||||
if _host is None or self.configuration.ignore_operation_servers:
|
|
||||||
url = self.configuration.host + resource_path
|
|
||||||
else:
|
|
||||||
# use server/host defined in path or operation instead
|
|
||||||
url = _host + resource_path
|
|
||||||
|
|
||||||
# query parameters
|
|
||||||
if query_params:
|
|
||||||
query_params = self.sanitize_for_serialization(query_params)
|
|
||||||
url_query = self.parameters_to_url_query(
|
|
||||||
query_params,
|
|
||||||
collection_formats
|
|
||||||
)
|
|
||||||
url += "?" + url_query
|
|
||||||
|
|
||||||
return method, url, header_params, body, post_params
|
|
||||||
|
|
||||||
|
|
||||||
async def call_api(
|
|
||||||
self,
|
|
||||||
method,
|
|
||||||
url,
|
|
||||||
header_params=None,
|
|
||||||
body=None,
|
|
||||||
post_params=None,
|
|
||||||
_request_timeout=None
|
|
||||||
) -> rest.RESTResponse:
|
|
||||||
"""Makes the HTTP request (synchronous)
|
|
||||||
:param method: Method to call.
|
|
||||||
:param url: Path to method endpoint.
|
|
||||||
:param header_params: Header parameters to be
|
|
||||||
placed in the request header.
|
|
||||||
:param body: Request body.
|
|
||||||
:param post_params dict: Request post form parameters,
|
|
||||||
for `application/x-www-form-urlencoded`, `multipart/form-data`.
|
|
||||||
:param _request_timeout: timeout setting for this request.
|
|
||||||
:return: RESTResponse
|
|
||||||
"""
|
|
||||||
|
|
||||||
try:
|
|
||||||
# perform request and return response
|
|
||||||
response_data = await self.rest_client.request(
|
|
||||||
method, url,
|
|
||||||
headers=header_params,
|
|
||||||
body=body, post_params=post_params,
|
|
||||||
_request_timeout=_request_timeout
|
|
||||||
)
|
|
||||||
|
|
||||||
except ApiException as e:
|
|
||||||
raise e
|
|
||||||
|
|
||||||
return response_data
|
|
||||||
|
|
||||||
def response_deserialize(
|
|
||||||
self,
|
|
||||||
response_data: rest.RESTResponse,
|
|
||||||
response_types_map: Optional[Dict[str, ApiResponseT]]=None
|
|
||||||
) -> ApiResponse[ApiResponseT]:
|
|
||||||
"""Deserializes response into an object.
|
|
||||||
:param response_data: RESTResponse object to be deserialized.
|
|
||||||
:param response_types_map: dict of response types.
|
|
||||||
:return: ApiResponse
|
|
||||||
"""
|
|
||||||
|
|
||||||
msg = "RESTResponse.read() must be called before passing it to response_deserialize()"
|
|
||||||
assert response_data.data is not None, msg
|
|
||||||
|
|
||||||
response_type = response_types_map.get(str(response_data.status), None)
|
|
||||||
if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599:
|
|
||||||
# if not found, look for '1XX', '2XX', etc.
|
|
||||||
response_type = response_types_map.get(str(response_data.status)[0] + "XX", None)
|
|
||||||
|
|
||||||
# deserialize response data
|
|
||||||
response_text = None
|
|
||||||
return_data = None
|
|
||||||
try:
|
|
||||||
if response_type == "bytearray":
|
|
||||||
return_data = response_data.data
|
|
||||||
elif response_type == "file":
|
|
||||||
return_data = self.__deserialize_file(response_data)
|
|
||||||
elif response_type is not None:
|
|
||||||
match = None
|
|
||||||
content_type = response_data.getheader('content-type')
|
|
||||||
if content_type is not None:
|
|
||||||
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
|
|
||||||
encoding = match.group(1) if match else "utf-8"
|
|
||||||
response_text = response_data.data.decode(encoding)
|
|
||||||
return_data = self.deserialize(response_text, response_type, content_type)
|
|
||||||
finally:
|
|
||||||
if not 200 <= response_data.status <= 299:
|
|
||||||
raise ApiException.from_response(
|
|
||||||
http_resp=response_data,
|
|
||||||
body=response_text,
|
|
||||||
data=return_data,
|
|
||||||
)
|
|
||||||
|
|
||||||
return ApiResponse(
|
|
||||||
status_code = response_data.status,
|
|
||||||
data = return_data,
|
|
||||||
headers = response_data.getheaders(),
|
|
||||||
raw_data = response_data.data
|
|
||||||
)
|
|
||||||
|
|
||||||
def sanitize_for_serialization(self, obj):
|
|
||||||
"""Builds a JSON POST object.
|
|
||||||
|
|
||||||
If obj is None, return None.
|
|
||||||
If obj is SecretStr, return obj.get_secret_value()
|
|
||||||
If obj is str, int, long, float, bool, return directly.
|
|
||||||
If obj is datetime.datetime, datetime.date
|
|
||||||
convert to string in iso8601 format.
|
|
||||||
If obj is list, sanitize each element in the list.
|
|
||||||
If obj is dict, return the dict.
|
|
||||||
If obj is OpenAPI model, return the properties dict.
|
|
||||||
|
|
||||||
:param obj: The data to serialize.
|
|
||||||
:return: The serialized form of data.
|
|
||||||
"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
elif isinstance(obj, Enum):
|
|
||||||
return obj.value
|
|
||||||
elif isinstance(obj, SecretStr):
|
|
||||||
return obj.get_secret_value()
|
|
||||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
|
||||||
return obj
|
|
||||||
elif isinstance(obj, list):
|
|
||||||
return [
|
|
||||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
|
||||||
]
|
|
||||||
elif isinstance(obj, tuple):
|
|
||||||
return tuple(
|
|
||||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
|
||||||
)
|
|
||||||
elif isinstance(obj, (datetime.datetime, datetime.date)):
|
|
||||||
return obj.isoformat()
|
|
||||||
|
|
||||||
elif isinstance(obj, dict):
|
|
||||||
obj_dict = obj
|
|
||||||
else:
|
|
||||||
# Convert model obj to dict except
|
|
||||||
# attributes `openapi_types`, `attribute_map`
|
|
||||||
# and attributes which value is not None.
|
|
||||||
# Convert attribute name to json key in
|
|
||||||
# model definition for request.
|
|
||||||
if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')):
|
|
||||||
obj_dict = obj.to_dict()
|
|
||||||
else:
|
|
||||||
obj_dict = obj.__dict__
|
|
||||||
|
|
||||||
return {
|
|
||||||
key: self.sanitize_for_serialization(val)
|
|
||||||
for key, val in obj_dict.items()
|
|
||||||
}
|
|
||||||
|
|
||||||
def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]):
|
|
||||||
"""Deserializes response into an object.
|
|
||||||
|
|
||||||
:param response: RESTResponse object to be deserialized.
|
|
||||||
:param response_type: class literal for
|
|
||||||
deserialized object, or string of class name.
|
|
||||||
:param content_type: content type of response.
|
|
||||||
|
|
||||||
:return: deserialized object.
|
|
||||||
"""
|
|
||||||
|
|
||||||
# fetch data from response object
|
|
||||||
if content_type is None:
|
|
||||||
try:
|
|
||||||
data = json.loads(response_text)
|
|
||||||
except ValueError:
|
|
||||||
data = response_text
|
|
||||||
elif content_type.startswith("application/json"):
|
|
||||||
if response_text == "":
|
|
||||||
data = ""
|
|
||||||
else:
|
|
||||||
data = json.loads(response_text)
|
|
||||||
elif content_type.startswith("text/plain"):
|
|
||||||
data = response_text
|
|
||||||
else:
|
|
||||||
raise ApiException(
|
|
||||||
status=0,
|
|
||||||
reason="Unsupported content type: {0}".format(content_type)
|
|
||||||
)
|
|
||||||
|
|
||||||
return self.__deserialize(data, response_type)
|
|
||||||
|
|
||||||
def __deserialize(self, data, klass):
|
|
||||||
"""Deserializes dict, list, str into an object.
|
|
||||||
|
|
||||||
:param data: dict, list or str.
|
|
||||||
:param klass: class literal, or string of class name.
|
|
||||||
|
|
||||||
:return: object.
|
|
||||||
"""
|
|
||||||
if data is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if isinstance(klass, str):
|
|
||||||
if klass.startswith('List['):
|
|
||||||
m = re.match(r'List\[(.*)]', klass)
|
|
||||||
assert m is not None, "Malformed List type definition"
|
|
||||||
sub_kls = m.group(1)
|
|
||||||
return [self.__deserialize(sub_data, sub_kls)
|
|
||||||
for sub_data in data]
|
|
||||||
|
|
||||||
if klass.startswith('Dict['):
|
|
||||||
m = re.match(r'Dict\[([^,]*), (.*)]', klass)
|
|
||||||
assert m is not None, "Malformed Dict type definition"
|
|
||||||
sub_kls = m.group(2)
|
|
||||||
return {k: self.__deserialize(v, sub_kls)
|
|
||||||
for k, v in data.items()}
|
|
||||||
|
|
||||||
# convert str to class
|
|
||||||
if klass in self.NATIVE_TYPES_MAPPING:
|
|
||||||
klass = self.NATIVE_TYPES_MAPPING[klass]
|
|
||||||
else:
|
|
||||||
klass = getattr(lighter.models, klass)
|
|
||||||
|
|
||||||
if klass in self.PRIMITIVE_TYPES:
|
|
||||||
return self.__deserialize_primitive(data, klass)
|
|
||||||
elif klass == object:
|
|
||||||
return self.__deserialize_object(data)
|
|
||||||
elif klass == datetime.date:
|
|
||||||
return self.__deserialize_date(data)
|
|
||||||
elif klass == datetime.datetime:
|
|
||||||
return self.__deserialize_datetime(data)
|
|
||||||
elif issubclass(klass, Enum):
|
|
||||||
return self.__deserialize_enum(data, klass)
|
|
||||||
else:
|
|
||||||
return self.__deserialize_model(data, klass)
|
|
||||||
|
|
||||||
def parameters_to_tuples(self, params, collection_formats):
|
|
||||||
"""Get parameters as list of tuples, formatting collections.
|
|
||||||
|
|
||||||
:param params: Parameters as dict or list of two-tuples
|
|
||||||
:param dict collection_formats: Parameter collection formats
|
|
||||||
:return: Parameters as list of tuples, collections formatted
|
|
||||||
"""
|
|
||||||
new_params: List[Tuple[str, str]] = []
|
|
||||||
if collection_formats is None:
|
|
||||||
collection_formats = {}
|
|
||||||
for k, v in params.items() if isinstance(params, dict) else params:
|
|
||||||
if k in collection_formats:
|
|
||||||
collection_format = collection_formats[k]
|
|
||||||
if collection_format == 'multi':
|
|
||||||
new_params.extend((k, value) for value in v)
|
|
||||||
else:
|
|
||||||
if collection_format == 'ssv':
|
|
||||||
delimiter = ' '
|
|
||||||
elif collection_format == 'tsv':
|
|
||||||
delimiter = '\t'
|
|
||||||
elif collection_format == 'pipes':
|
|
||||||
delimiter = '|'
|
|
||||||
else: # csv is the default
|
|
||||||
delimiter = ','
|
|
||||||
new_params.append(
|
|
||||||
(k, delimiter.join(str(value) for value in v)))
|
|
||||||
else:
|
|
||||||
new_params.append((k, v))
|
|
||||||
return new_params
|
|
||||||
|
|
||||||
def parameters_to_url_query(self, params, collection_formats):
|
|
||||||
"""Get parameters as list of tuples, formatting collections.
|
|
||||||
|
|
||||||
:param params: Parameters as dict or list of two-tuples
|
|
||||||
:param dict collection_formats: Parameter collection formats
|
|
||||||
:return: URL query string (e.g. a=Hello%20World&b=123)
|
|
||||||
"""
|
|
||||||
new_params: List[Tuple[str, str]] = []
|
|
||||||
if collection_formats is None:
|
|
||||||
collection_formats = {}
|
|
||||||
for k, v in params.items() if isinstance(params, dict) else params:
|
|
||||||
if isinstance(v, bool):
|
|
||||||
v = str(v).lower()
|
|
||||||
if isinstance(v, (int, float)):
|
|
||||||
v = str(v)
|
|
||||||
if isinstance(v, dict):
|
|
||||||
v = json.dumps(v)
|
|
||||||
|
|
||||||
if k in collection_formats:
|
|
||||||
collection_format = collection_formats[k]
|
|
||||||
if collection_format == 'multi':
|
|
||||||
new_params.extend((k, str(value)) for value in v)
|
|
||||||
else:
|
|
||||||
if collection_format == 'ssv':
|
|
||||||
delimiter = ' '
|
|
||||||
elif collection_format == 'tsv':
|
|
||||||
delimiter = '\t'
|
|
||||||
elif collection_format == 'pipes':
|
|
||||||
delimiter = '|'
|
|
||||||
else: # csv is the default
|
|
||||||
delimiter = ','
|
|
||||||
new_params.append(
|
|
||||||
(k, delimiter.join(quote(str(value)) for value in v))
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
new_params.append((k, quote(str(v))))
|
|
||||||
|
|
||||||
return "&".join(["=".join(map(str, item)) for item in new_params])
|
|
||||||
|
|
||||||
def files_parameters(self, files: Dict[str, Union[str, bytes]]):
|
|
||||||
"""Builds form parameters.
|
|
||||||
|
|
||||||
:param files: File parameters.
|
|
||||||
:return: Form parameters with files.
|
|
||||||
"""
|
|
||||||
params = []
|
|
||||||
for k, v in files.items():
|
|
||||||
if isinstance(v, str):
|
|
||||||
with open(v, 'rb') as f:
|
|
||||||
filename = os.path.basename(f.name)
|
|
||||||
filedata = f.read()
|
|
||||||
elif isinstance(v, bytes):
|
|
||||||
filename = k
|
|
||||||
filedata = v
|
|
||||||
else:
|
|
||||||
raise ValueError("Unsupported file value")
|
|
||||||
mimetype = (
|
|
||||||
mimetypes.guess_type(filename)[0]
|
|
||||||
or 'application/octet-stream'
|
|
||||||
)
|
|
||||||
params.append(
|
|
||||||
tuple([k, tuple([filename, filedata, mimetype])])
|
|
||||||
)
|
|
||||||
return params
|
|
||||||
|
|
||||||
def select_header_accept(self, accepts: List[str]) -> Optional[str]:
|
|
||||||
"""Returns `Accept` based on an array of accepts provided.
|
|
||||||
|
|
||||||
:param accepts: List of headers.
|
|
||||||
:return: Accept (e.g. application/json).
|
|
||||||
"""
|
|
||||||
if not accepts:
|
|
||||||
return None
|
|
||||||
|
|
||||||
for accept in accepts:
|
|
||||||
if re.search('json', accept, re.IGNORECASE):
|
|
||||||
return accept
|
|
||||||
|
|
||||||
return accepts[0]
|
|
||||||
|
|
||||||
def select_header_content_type(self, content_types):
|
|
||||||
"""Returns `Content-Type` based on an array of content_types provided.
|
|
||||||
|
|
||||||
:param content_types: List of content-types.
|
|
||||||
:return: Content-Type (e.g. application/json).
|
|
||||||
"""
|
|
||||||
if not content_types:
|
|
||||||
return None
|
|
||||||
|
|
||||||
for content_type in content_types:
|
|
||||||
if re.search('json', content_type, re.IGNORECASE):
|
|
||||||
return content_type
|
|
||||||
|
|
||||||
return content_types[0]
|
|
||||||
|
|
||||||
def update_params_for_auth(
|
|
||||||
self,
|
|
||||||
headers,
|
|
||||||
queries,
|
|
||||||
auth_settings,
|
|
||||||
resource_path,
|
|
||||||
method,
|
|
||||||
body,
|
|
||||||
request_auth=None
|
|
||||||
) -> None:
|
|
||||||
"""Updates header and query params based on authentication setting.
|
|
||||||
|
|
||||||
:param headers: Header parameters dict to be updated.
|
|
||||||
:param queries: Query parameters tuple list to be updated.
|
|
||||||
:param auth_settings: Authentication setting identifiers list.
|
|
||||||
:resource_path: A string representation of the HTTP request resource path.
|
|
||||||
:method: A string representation of the HTTP request method.
|
|
||||||
:body: A object representing the body of the HTTP request.
|
|
||||||
The object type is the return value of sanitize_for_serialization().
|
|
||||||
:param request_auth: if set, the provided settings will
|
|
||||||
override the token in the configuration.
|
|
||||||
"""
|
|
||||||
if not auth_settings:
|
|
||||||
return
|
|
||||||
|
|
||||||
if request_auth:
|
|
||||||
self._apply_auth_params(
|
|
||||||
headers,
|
|
||||||
queries,
|
|
||||||
resource_path,
|
|
||||||
method,
|
|
||||||
body,
|
|
||||||
request_auth
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
for auth in auth_settings:
|
|
||||||
auth_setting = self.configuration.auth_settings().get(auth)
|
|
||||||
if auth_setting:
|
|
||||||
self._apply_auth_params(
|
|
||||||
headers,
|
|
||||||
queries,
|
|
||||||
resource_path,
|
|
||||||
method,
|
|
||||||
body,
|
|
||||||
auth_setting
|
|
||||||
)
|
|
||||||
|
|
||||||
def _apply_auth_params(
|
|
||||||
self,
|
|
||||||
headers,
|
|
||||||
queries,
|
|
||||||
resource_path,
|
|
||||||
method,
|
|
||||||
body,
|
|
||||||
auth_setting
|
|
||||||
) -> None:
|
|
||||||
"""Updates the request parameters based on a single auth_setting
|
|
||||||
|
|
||||||
:param headers: Header parameters dict to be updated.
|
|
||||||
:param queries: Query parameters tuple list to be updated.
|
|
||||||
:resource_path: A string representation of the HTTP request resource path.
|
|
||||||
:method: A string representation of the HTTP request method.
|
|
||||||
:body: A object representing the body of the HTTP request.
|
|
||||||
The object type is the return value of sanitize_for_serialization().
|
|
||||||
:param auth_setting: auth settings for the endpoint
|
|
||||||
"""
|
|
||||||
if auth_setting['in'] == 'cookie':
|
|
||||||
headers['Cookie'] = auth_setting['value']
|
|
||||||
elif auth_setting['in'] == 'header':
|
|
||||||
if auth_setting['type'] != 'http-signature':
|
|
||||||
headers[auth_setting['key']] = auth_setting['value']
|
|
||||||
elif auth_setting['in'] == 'query':
|
|
||||||
queries.append((auth_setting['key'], auth_setting['value']))
|
|
||||||
else:
|
|
||||||
raise ApiValueError(
|
|
||||||
'Authentication token must be in `query` or `header`'
|
|
||||||
)
|
|
||||||
|
|
||||||
def __deserialize_file(self, response):
|
|
||||||
"""Deserializes body to file
|
|
||||||
|
|
||||||
Saves response body into a file in a temporary folder,
|
|
||||||
using the filename from the `Content-Disposition` header if provided.
|
|
||||||
|
|
||||||
handle file downloading
|
|
||||||
save response body into a tmp file and return the instance
|
|
||||||
|
|
||||||
:param response: RESTResponse.
|
|
||||||
:return: file path.
|
|
||||||
"""
|
|
||||||
fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path)
|
|
||||||
os.close(fd)
|
|
||||||
os.remove(path)
|
|
||||||
|
|
||||||
content_disposition = response.getheader("Content-Disposition")
|
|
||||||
if content_disposition:
|
|
||||||
m = re.search(
|
|
||||||
r'filename=[\'"]?([^\'"\s]+)[\'"]?',
|
|
||||||
content_disposition
|
|
||||||
)
|
|
||||||
assert m is not None, "Unexpected 'content-disposition' header value"
|
|
||||||
filename = m.group(1)
|
|
||||||
path = os.path.join(os.path.dirname(path), filename)
|
|
||||||
|
|
||||||
with open(path, "wb") as f:
|
|
||||||
f.write(response.data)
|
|
||||||
|
|
||||||
return path
|
|
||||||
|
|
||||||
def __deserialize_primitive(self, data, klass):
|
|
||||||
"""Deserializes string to primitive type.
|
|
||||||
|
|
||||||
:param data: str.
|
|
||||||
:param klass: class literal.
|
|
||||||
|
|
||||||
:return: int, long, float, str, bool.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
return klass(data)
|
|
||||||
except UnicodeEncodeError:
|
|
||||||
return str(data)
|
|
||||||
except TypeError:
|
|
||||||
return data
|
|
||||||
|
|
||||||
def __deserialize_object(self, value):
|
|
||||||
"""Return an original value.
|
|
||||||
|
|
||||||
:return: object.
|
|
||||||
"""
|
|
||||||
return value
|
|
||||||
|
|
||||||
def __deserialize_date(self, string):
|
|
||||||
"""Deserializes string to date.
|
|
||||||
|
|
||||||
:param string: str.
|
|
||||||
:return: date.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
return parse(string).date()
|
|
||||||
except ImportError:
|
|
||||||
return string
|
|
||||||
except ValueError:
|
|
||||||
raise rest.ApiException(
|
|
||||||
status=0,
|
|
||||||
reason="Failed to parse `{0}` as date object".format(string)
|
|
||||||
)
|
|
||||||
|
|
||||||
def __deserialize_datetime(self, string):
|
|
||||||
"""Deserializes string to datetime.
|
|
||||||
|
|
||||||
The string should be in iso8601 datetime format.
|
|
||||||
|
|
||||||
:param string: str.
|
|
||||||
:return: datetime.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
return parse(string)
|
|
||||||
except ImportError:
|
|
||||||
return string
|
|
||||||
except ValueError:
|
|
||||||
raise rest.ApiException(
|
|
||||||
status=0,
|
|
||||||
reason=(
|
|
||||||
"Failed to parse `{0}` as datetime object"
|
|
||||||
.format(string)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
def __deserialize_enum(self, data, klass):
|
|
||||||
"""Deserializes primitive type to enum.
|
|
||||||
|
|
||||||
:param data: primitive type.
|
|
||||||
:param klass: class literal.
|
|
||||||
:return: enum value.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
return klass(data)
|
|
||||||
except ValueError:
|
|
||||||
raise rest.ApiException(
|
|
||||||
status=0,
|
|
||||||
reason=(
|
|
||||||
"Failed to parse `{0}` as `{1}`"
|
|
||||||
.format(data, klass)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
def __deserialize_model(self, data, klass):
|
|
||||||
"""Deserializes list or dict to model.
|
|
||||||
|
|
||||||
:param data: dict, list.
|
|
||||||
:param klass: class literal.
|
|
||||||
:return: model object.
|
|
||||||
"""
|
|
||||||
|
|
||||||
return klass.from_dict(data)
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
"""API response object."""
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
from typing import Optional, Generic, Mapping, TypeVar
|
|
||||||
from pydantic import Field, StrictInt, StrictBytes, BaseModel
|
|
||||||
|
|
||||||
T = TypeVar("T")
|
|
||||||
|
|
||||||
class ApiResponse(BaseModel, Generic[T]):
|
|
||||||
"""
|
|
||||||
API response object
|
|
||||||
"""
|
|
||||||
|
|
||||||
status_code: StrictInt = Field(description="HTTP status code")
|
|
||||||
headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers")
|
|
||||||
data: T = Field(description="Deserialized data given the data type")
|
|
||||||
raw_data: StrictBytes = Field(description="Raw data (HTTP response body)")
|
|
||||||
|
|
||||||
model_config = {
|
|
||||||
"arbitrary_types_allowed": True
|
|
||||||
}
|
|
||||||
@@ -1,475 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
import copy
|
|
||||||
import logging
|
|
||||||
from logging import FileHandler
|
|
||||||
import sys
|
|
||||||
from typing import Optional
|
|
||||||
import urllib3
|
|
||||||
|
|
||||||
import http.client as httplib
|
|
||||||
|
|
||||||
JSON_SCHEMA_VALIDATION_KEYWORDS = {
|
|
||||||
'multipleOf', 'maximum', 'exclusiveMaximum',
|
|
||||||
'minimum', 'exclusiveMinimum', 'maxLength',
|
|
||||||
'minLength', 'pattern', 'maxItems', 'minItems'
|
|
||||||
}
|
|
||||||
|
|
||||||
class Configuration:
|
|
||||||
"""This class contains various settings of the API client.
|
|
||||||
|
|
||||||
:param host: Base url.
|
|
||||||
:param ignore_operation_servers
|
|
||||||
Boolean to ignore operation servers for the API client.
|
|
||||||
Config will use `host` as the base url regardless of the operation servers.
|
|
||||||
:param api_key: Dict to store API key(s).
|
|
||||||
Each entry in the dict specifies an API key.
|
|
||||||
The dict key is the name of the security scheme in the OAS specification.
|
|
||||||
The dict value is the API key secret.
|
|
||||||
:param api_key_prefix: Dict to store API prefix (e.g. Bearer).
|
|
||||||
The dict key is the name of the security scheme in the OAS specification.
|
|
||||||
The dict value is an API key prefix when generating the auth data.
|
|
||||||
:param username: Username for HTTP basic authentication.
|
|
||||||
:param password: Password for HTTP basic authentication.
|
|
||||||
:param access_token: Access token.
|
|
||||||
:param server_index: Index to servers configuration.
|
|
||||||
:param server_variables: Mapping with string values to replace variables in
|
|
||||||
templated server configuration. The validation of enums is performed for
|
|
||||||
variables with defined enum values before.
|
|
||||||
:param server_operation_index: Mapping from operation ID to an index to server
|
|
||||||
configuration.
|
|
||||||
:param server_operation_variables: Mapping from operation ID to a mapping with
|
|
||||||
string values to replace variables in templated server configuration.
|
|
||||||
The validation of enums is performed for variables with defined enum
|
|
||||||
values before.
|
|
||||||
:param ssl_ca_cert: str - the path to a file of concatenated CA certificates
|
|
||||||
in PEM format.
|
|
||||||
:param retries: Number of retries for API requests.
|
|
||||||
|
|
||||||
:Example:
|
|
||||||
|
|
||||||
API Key Authentication Example.
|
|
||||||
Given the following security scheme in the OpenAPI specification:
|
|
||||||
components:
|
|
||||||
securitySchemes:
|
|
||||||
cookieAuth: # name for the security scheme
|
|
||||||
type: apiKey
|
|
||||||
in: cookie
|
|
||||||
name: JSESSIONID # cookie name
|
|
||||||
|
|
||||||
You can programmatically set the cookie:
|
|
||||||
|
|
||||||
conf = lighter.Configuration(
|
|
||||||
api_key={'cookieAuth': 'abc123'}
|
|
||||||
api_key_prefix={'cookieAuth': 'JSESSIONID'}
|
|
||||||
)
|
|
||||||
|
|
||||||
The following cookie will be added to the HTTP request:
|
|
||||||
Cookie: JSESSIONID abc123
|
|
||||||
"""
|
|
||||||
|
|
||||||
_default = None
|
|
||||||
|
|
||||||
def __init__(self, host=None,
|
|
||||||
api_key=None, api_key_prefix=None,
|
|
||||||
username=None, password=None,
|
|
||||||
access_token=None,
|
|
||||||
server_index=None, server_variables=None,
|
|
||||||
server_operation_index=None, server_operation_variables=None,
|
|
||||||
ignore_operation_servers=False,
|
|
||||||
ssl_ca_cert=None,
|
|
||||||
retries=None,
|
|
||||||
*,
|
|
||||||
debug: Optional[bool] = None
|
|
||||||
) -> None:
|
|
||||||
"""Constructor
|
|
||||||
"""
|
|
||||||
self._base_path = "https://mainnet.zklighter.elliot.ai" if host is None else host
|
|
||||||
"""Default Base url
|
|
||||||
"""
|
|
||||||
self.server_index = 0 if server_index is None and host is None else server_index
|
|
||||||
self.server_operation_index = server_operation_index or {}
|
|
||||||
"""Default server index
|
|
||||||
"""
|
|
||||||
self.server_variables = server_variables or {}
|
|
||||||
self.server_operation_variables = server_operation_variables or {}
|
|
||||||
"""Default server variables
|
|
||||||
"""
|
|
||||||
self.ignore_operation_servers = ignore_operation_servers
|
|
||||||
"""Ignore operation servers
|
|
||||||
"""
|
|
||||||
self.temp_folder_path = None
|
|
||||||
"""Temp file folder for downloading files
|
|
||||||
"""
|
|
||||||
# Authentication Settings
|
|
||||||
self.api_key = {}
|
|
||||||
if api_key:
|
|
||||||
self.api_key = api_key
|
|
||||||
"""dict to store API key(s)
|
|
||||||
"""
|
|
||||||
self.api_key_prefix = {}
|
|
||||||
if api_key_prefix:
|
|
||||||
self.api_key_prefix = api_key_prefix
|
|
||||||
"""dict to store API prefix (e.g. Bearer)
|
|
||||||
"""
|
|
||||||
self.refresh_api_key_hook = None
|
|
||||||
"""function hook to refresh API key if expired
|
|
||||||
"""
|
|
||||||
self.username = username
|
|
||||||
"""Username for HTTP basic authentication
|
|
||||||
"""
|
|
||||||
self.password = password
|
|
||||||
"""Password for HTTP basic authentication
|
|
||||||
"""
|
|
||||||
self.access_token = access_token
|
|
||||||
"""Access token
|
|
||||||
"""
|
|
||||||
self.logger = {}
|
|
||||||
"""Logging Settings
|
|
||||||
"""
|
|
||||||
self.logger["package_logger"] = logging.getLogger("lighter")
|
|
||||||
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
|
|
||||||
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
|
|
||||||
"""Log format
|
|
||||||
"""
|
|
||||||
self.logger_stream_handler = None
|
|
||||||
"""Log stream handler
|
|
||||||
"""
|
|
||||||
self.logger_file_handler: Optional[FileHandler] = None
|
|
||||||
"""Log file handler
|
|
||||||
"""
|
|
||||||
self.logger_file = None
|
|
||||||
"""Debug file location
|
|
||||||
"""
|
|
||||||
if debug is not None:
|
|
||||||
self.debug = debug
|
|
||||||
else:
|
|
||||||
self.__debug = False
|
|
||||||
"""Debug switch
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.verify_ssl = True
|
|
||||||
"""SSL/TLS verification
|
|
||||||
Set this to false to skip verifying SSL certificate when calling API
|
|
||||||
from https server.
|
|
||||||
"""
|
|
||||||
self.ssl_ca_cert = ssl_ca_cert
|
|
||||||
"""Set this to customize the certificate file to verify the peer.
|
|
||||||
"""
|
|
||||||
self.cert_file = None
|
|
||||||
"""client certificate file
|
|
||||||
"""
|
|
||||||
self.key_file = None
|
|
||||||
"""client key file
|
|
||||||
"""
|
|
||||||
self.assert_hostname = None
|
|
||||||
"""Set this to True/False to enable/disable SSL hostname verification.
|
|
||||||
"""
|
|
||||||
self.tls_server_name = None
|
|
||||||
"""SSL/TLS Server Name Indication (SNI)
|
|
||||||
Set this to the SNI value expected by the server.
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.connection_pool_maxsize = 100
|
|
||||||
"""This value is passed to the aiohttp to limit simultaneous connections.
|
|
||||||
Default values is 100, None means no-limit.
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.proxy: Optional[str] = None
|
|
||||||
"""Proxy URL
|
|
||||||
"""
|
|
||||||
self.proxy_headers = None
|
|
||||||
"""Proxy headers
|
|
||||||
"""
|
|
||||||
self.safe_chars_for_path_param = ''
|
|
||||||
"""Safe chars for path_param
|
|
||||||
"""
|
|
||||||
self.retries = retries
|
|
||||||
"""Adding retries to override urllib3 default value 3
|
|
||||||
"""
|
|
||||||
# Enable client side validation
|
|
||||||
self.client_side_validation = True
|
|
||||||
|
|
||||||
self.socket_options = None
|
|
||||||
"""Options to pass down to the underlying urllib3 socket
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z"
|
|
||||||
"""datetime format
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.date_format = "%Y-%m-%d"
|
|
||||||
"""date format
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __deepcopy__(self, memo):
|
|
||||||
cls = self.__class__
|
|
||||||
result = cls.__new__(cls)
|
|
||||||
memo[id(self)] = result
|
|
||||||
for k, v in self.__dict__.items():
|
|
||||||
if k not in ('logger', 'logger_file_handler'):
|
|
||||||
setattr(result, k, copy.deepcopy(v, memo))
|
|
||||||
# shallow copy of loggers
|
|
||||||
result.logger = copy.copy(self.logger)
|
|
||||||
# use setters to configure loggers
|
|
||||||
result.logger_file = self.logger_file
|
|
||||||
result.debug = self.debug
|
|
||||||
return result
|
|
||||||
|
|
||||||
def __setattr__(self, name, value):
|
|
||||||
object.__setattr__(self, name, value)
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def set_default(cls, default):
|
|
||||||
"""Set default instance of configuration.
|
|
||||||
|
|
||||||
It stores default configuration, which can be
|
|
||||||
returned by get_default_copy method.
|
|
||||||
|
|
||||||
:param default: object of Configuration
|
|
||||||
"""
|
|
||||||
cls._default = default
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_default_copy(cls):
|
|
||||||
"""Deprecated. Please use `get_default` instead.
|
|
||||||
|
|
||||||
Deprecated. Please use `get_default` instead.
|
|
||||||
|
|
||||||
:return: The configuration object.
|
|
||||||
"""
|
|
||||||
return cls.get_default()
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_default(cls):
|
|
||||||
"""Return the default configuration.
|
|
||||||
|
|
||||||
This method returns newly created, based on default constructor,
|
|
||||||
object of Configuration class or returns a copy of default
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
:return: The configuration object.
|
|
||||||
"""
|
|
||||||
if cls._default is None:
|
|
||||||
cls._default = Configuration()
|
|
||||||
return cls._default
|
|
||||||
|
|
||||||
@property
|
|
||||||
def logger_file(self):
|
|
||||||
"""The logger file.
|
|
||||||
|
|
||||||
If the logger_file is None, then add stream handler and remove file
|
|
||||||
handler. Otherwise, add file handler and remove stream handler.
|
|
||||||
|
|
||||||
:param value: The logger_file path.
|
|
||||||
:type: str
|
|
||||||
"""
|
|
||||||
return self.__logger_file
|
|
||||||
|
|
||||||
@logger_file.setter
|
|
||||||
def logger_file(self, value):
|
|
||||||
"""The logger file.
|
|
||||||
|
|
||||||
If the logger_file is None, then add stream handler and remove file
|
|
||||||
handler. Otherwise, add file handler and remove stream handler.
|
|
||||||
|
|
||||||
:param value: The logger_file path.
|
|
||||||
:type: str
|
|
||||||
"""
|
|
||||||
self.__logger_file = value
|
|
||||||
if self.__logger_file:
|
|
||||||
# If set logging file,
|
|
||||||
# then add file handler and remove stream handler.
|
|
||||||
self.logger_file_handler = logging.FileHandler(self.__logger_file)
|
|
||||||
self.logger_file_handler.setFormatter(self.logger_formatter)
|
|
||||||
for _, logger in self.logger.items():
|
|
||||||
logger.addHandler(self.logger_file_handler)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def debug(self):
|
|
||||||
"""Debug status
|
|
||||||
|
|
||||||
:param value: The debug status, True or False.
|
|
||||||
:type: bool
|
|
||||||
"""
|
|
||||||
return self.__debug
|
|
||||||
|
|
||||||
@debug.setter
|
|
||||||
def debug(self, value):
|
|
||||||
"""Debug status
|
|
||||||
|
|
||||||
:param value: The debug status, True or False.
|
|
||||||
:type: bool
|
|
||||||
"""
|
|
||||||
self.__debug = value
|
|
||||||
if self.__debug:
|
|
||||||
# if debug status is True, turn on debug logging
|
|
||||||
for _, logger in self.logger.items():
|
|
||||||
logger.setLevel(logging.DEBUG)
|
|
||||||
# turn on httplib debug
|
|
||||||
httplib.HTTPConnection.debuglevel = 1
|
|
||||||
else:
|
|
||||||
# if debug status is False, turn off debug logging,
|
|
||||||
# setting log level to default `logging.WARNING`
|
|
||||||
for _, logger in self.logger.items():
|
|
||||||
logger.setLevel(logging.WARNING)
|
|
||||||
# turn off httplib debug
|
|
||||||
httplib.HTTPConnection.debuglevel = 0
|
|
||||||
|
|
||||||
@property
|
|
||||||
def logger_format(self):
|
|
||||||
"""The logger format.
|
|
||||||
|
|
||||||
The logger_formatter will be updated when sets logger_format.
|
|
||||||
|
|
||||||
:param value: The format string.
|
|
||||||
:type: str
|
|
||||||
"""
|
|
||||||
return self.__logger_format
|
|
||||||
|
|
||||||
@logger_format.setter
|
|
||||||
def logger_format(self, value):
|
|
||||||
"""The logger format.
|
|
||||||
|
|
||||||
The logger_formatter will be updated when sets logger_format.
|
|
||||||
|
|
||||||
:param value: The format string.
|
|
||||||
:type: str
|
|
||||||
"""
|
|
||||||
self.__logger_format = value
|
|
||||||
self.logger_formatter = logging.Formatter(self.__logger_format)
|
|
||||||
|
|
||||||
def get_api_key_with_prefix(self, identifier, alias=None):
|
|
||||||
"""Gets API key (with prefix if set).
|
|
||||||
|
|
||||||
:param identifier: The identifier of apiKey.
|
|
||||||
:param alias: The alternative identifier of apiKey.
|
|
||||||
:return: The token for api key authentication.
|
|
||||||
"""
|
|
||||||
if self.refresh_api_key_hook is not None:
|
|
||||||
self.refresh_api_key_hook(self)
|
|
||||||
key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None)
|
|
||||||
if key:
|
|
||||||
prefix = self.api_key_prefix.get(identifier)
|
|
||||||
if prefix:
|
|
||||||
return "%s %s" % (prefix, key)
|
|
||||||
else:
|
|
||||||
return key
|
|
||||||
|
|
||||||
def get_basic_auth_token(self):
|
|
||||||
"""Gets HTTP basic authentication header (string).
|
|
||||||
|
|
||||||
:return: The token for basic HTTP authentication.
|
|
||||||
"""
|
|
||||||
username = ""
|
|
||||||
if self.username is not None:
|
|
||||||
username = self.username
|
|
||||||
password = ""
|
|
||||||
if self.password is not None:
|
|
||||||
password = self.password
|
|
||||||
return urllib3.util.make_headers(
|
|
||||||
basic_auth=username + ':' + password
|
|
||||||
).get('authorization')
|
|
||||||
|
|
||||||
def auth_settings(self):
|
|
||||||
"""Gets Auth Settings dict for api client.
|
|
||||||
|
|
||||||
:return: The Auth Settings information dict.
|
|
||||||
"""
|
|
||||||
auth = {}
|
|
||||||
if 'apiKey' in self.api_key:
|
|
||||||
auth['apiKey'] = {
|
|
||||||
'type': 'api_key',
|
|
||||||
'in': 'header',
|
|
||||||
'key': 'Authorization',
|
|
||||||
'value': self.get_api_key_with_prefix(
|
|
||||||
'apiKey',
|
|
||||||
),
|
|
||||||
}
|
|
||||||
return auth
|
|
||||||
|
|
||||||
def to_debug_report(self):
|
|
||||||
"""Gets the essential information for debugging.
|
|
||||||
|
|
||||||
:return: The report for debugging.
|
|
||||||
"""
|
|
||||||
return "Python SDK Debug Report:\n"\
|
|
||||||
"OS: {env}\n"\
|
|
||||||
"Python Version: {pyversion}\n"\
|
|
||||||
"Version of the API: \n"\
|
|
||||||
"SDK Package Version: 1.0.0".\
|
|
||||||
format(env=sys.platform, pyversion=sys.version)
|
|
||||||
|
|
||||||
def get_host_settings(self):
|
|
||||||
"""Gets an array of host settings
|
|
||||||
|
|
||||||
:return: An array of host settings
|
|
||||||
"""
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
'url': "https://mainnet.zklighter.elliot.ai",
|
|
||||||
'description': "No description provided",
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
def get_host_from_settings(self, index, variables=None, servers=None):
|
|
||||||
"""Gets host URL based on the index and variables
|
|
||||||
:param index: array index of the host settings
|
|
||||||
:param variables: hash of variable and the corresponding value
|
|
||||||
:param servers: an array of host settings or None
|
|
||||||
:return: URL based on host settings
|
|
||||||
"""
|
|
||||||
if index is None:
|
|
||||||
return self._base_path
|
|
||||||
|
|
||||||
variables = {} if variables is None else variables
|
|
||||||
servers = self.get_host_settings() if servers is None else servers
|
|
||||||
|
|
||||||
try:
|
|
||||||
server = servers[index]
|
|
||||||
except IndexError:
|
|
||||||
raise ValueError(
|
|
||||||
"Invalid index {0} when selecting the host settings. "
|
|
||||||
"Must be less than {1}".format(index, len(servers)))
|
|
||||||
|
|
||||||
url = server['url']
|
|
||||||
|
|
||||||
# go through variables and replace placeholders
|
|
||||||
for variable_name, variable in server.get('variables', {}).items():
|
|
||||||
used_value = variables.get(
|
|
||||||
variable_name, variable['default_value'])
|
|
||||||
|
|
||||||
if 'enum_values' in variable \
|
|
||||||
and used_value not in variable['enum_values']:
|
|
||||||
raise ValueError(
|
|
||||||
"The variable `{0}` in the host URL has invalid value "
|
|
||||||
"{1}. Must be {2}.".format(
|
|
||||||
variable_name, variables[variable_name],
|
|
||||||
variable['enum_values']))
|
|
||||||
|
|
||||||
url = url.replace("{" + variable_name + "}", used_value)
|
|
||||||
|
|
||||||
return url
|
|
||||||
|
|
||||||
@property
|
|
||||||
def host(self):
|
|
||||||
"""Return generated host."""
|
|
||||||
return self.get_host_from_settings(self.server_index, variables=self.server_variables)
|
|
||||||
|
|
||||||
@host.setter
|
|
||||||
def host(self, value):
|
|
||||||
"""Fix base path."""
|
|
||||||
self._base_path = value
|
|
||||||
self.server_index = None
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
class ValidationError(ValueError):
|
|
||||||
pass
|
|
||||||
@@ -1,199 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
from typing import Any, Optional
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OpenApiException(Exception):
|
|
||||||
"""The base exception class for all OpenAPIExceptions"""
|
|
||||||
|
|
||||||
|
|
||||||
class ApiTypeError(OpenApiException, TypeError):
|
|
||||||
def __init__(self, msg, path_to_item=None, valid_classes=None,
|
|
||||||
key_type=None) -> None:
|
|
||||||
""" Raises an exception for TypeErrors
|
|
||||||
|
|
||||||
Args:
|
|
||||||
msg (str): the exception message
|
|
||||||
|
|
||||||
Keyword Args:
|
|
||||||
path_to_item (list): a list of keys an indices to get to the
|
|
||||||
current_item
|
|
||||||
None if unset
|
|
||||||
valid_classes (tuple): the primitive classes that current item
|
|
||||||
should be an instance of
|
|
||||||
None if unset
|
|
||||||
key_type (bool): False if our value is a value in a dict
|
|
||||||
True if it is a key in a dict
|
|
||||||
False if our item is an item in a list
|
|
||||||
None if unset
|
|
||||||
"""
|
|
||||||
self.path_to_item = path_to_item
|
|
||||||
self.valid_classes = valid_classes
|
|
||||||
self.key_type = key_type
|
|
||||||
full_msg = msg
|
|
||||||
if path_to_item:
|
|
||||||
full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
|
|
||||||
super(ApiTypeError, self).__init__(full_msg)
|
|
||||||
|
|
||||||
|
|
||||||
class ApiValueError(OpenApiException, ValueError):
|
|
||||||
def __init__(self, msg, path_to_item=None) -> None:
|
|
||||||
"""
|
|
||||||
Args:
|
|
||||||
msg (str): the exception message
|
|
||||||
|
|
||||||
Keyword Args:
|
|
||||||
path_to_item (list) the path to the exception in the
|
|
||||||
received_data dict. None if unset
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.path_to_item = path_to_item
|
|
||||||
full_msg = msg
|
|
||||||
if path_to_item:
|
|
||||||
full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
|
|
||||||
super(ApiValueError, self).__init__(full_msg)
|
|
||||||
|
|
||||||
|
|
||||||
class ApiAttributeError(OpenApiException, AttributeError):
|
|
||||||
def __init__(self, msg, path_to_item=None) -> None:
|
|
||||||
"""
|
|
||||||
Raised when an attribute reference or assignment fails.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
msg (str): the exception message
|
|
||||||
|
|
||||||
Keyword Args:
|
|
||||||
path_to_item (None/list) the path to the exception in the
|
|
||||||
received_data dict
|
|
||||||
"""
|
|
||||||
self.path_to_item = path_to_item
|
|
||||||
full_msg = msg
|
|
||||||
if path_to_item:
|
|
||||||
full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
|
|
||||||
super(ApiAttributeError, self).__init__(full_msg)
|
|
||||||
|
|
||||||
|
|
||||||
class ApiKeyError(OpenApiException, KeyError):
|
|
||||||
def __init__(self, msg, path_to_item=None) -> None:
|
|
||||||
"""
|
|
||||||
Args:
|
|
||||||
msg (str): the exception message
|
|
||||||
|
|
||||||
Keyword Args:
|
|
||||||
path_to_item (None/list) the path to the exception in the
|
|
||||||
received_data dict
|
|
||||||
"""
|
|
||||||
self.path_to_item = path_to_item
|
|
||||||
full_msg = msg
|
|
||||||
if path_to_item:
|
|
||||||
full_msg = "{0} at {1}".format(msg, render_path(path_to_item))
|
|
||||||
super(ApiKeyError, self).__init__(full_msg)
|
|
||||||
|
|
||||||
|
|
||||||
class ApiException(OpenApiException):
|
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
status=None,
|
|
||||||
reason=None,
|
|
||||||
http_resp=None,
|
|
||||||
*,
|
|
||||||
body: Optional[str] = None,
|
|
||||||
data: Optional[Any] = None,
|
|
||||||
) -> None:
|
|
||||||
self.status = status
|
|
||||||
self.reason = reason
|
|
||||||
self.body = body
|
|
||||||
self.data = data
|
|
||||||
self.headers = None
|
|
||||||
|
|
||||||
if http_resp:
|
|
||||||
if self.status is None:
|
|
||||||
self.status = http_resp.status
|
|
||||||
if self.reason is None:
|
|
||||||
self.reason = http_resp.reason
|
|
||||||
if self.body is None:
|
|
||||||
try:
|
|
||||||
self.body = http_resp.data.decode('utf-8')
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
self.headers = http_resp.getheaders()
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_response(
|
|
||||||
cls,
|
|
||||||
*,
|
|
||||||
http_resp,
|
|
||||||
body: Optional[str],
|
|
||||||
data: Optional[Any],
|
|
||||||
) -> Self:
|
|
||||||
if http_resp.status == 400:
|
|
||||||
raise BadRequestException(http_resp=http_resp, body=body, data=data)
|
|
||||||
|
|
||||||
if http_resp.status == 401:
|
|
||||||
raise UnauthorizedException(http_resp=http_resp, body=body, data=data)
|
|
||||||
|
|
||||||
if http_resp.status == 403:
|
|
||||||
raise ForbiddenException(http_resp=http_resp, body=body, data=data)
|
|
||||||
|
|
||||||
if http_resp.status == 404:
|
|
||||||
raise NotFoundException(http_resp=http_resp, body=body, data=data)
|
|
||||||
|
|
||||||
if 500 <= http_resp.status <= 599:
|
|
||||||
raise ServiceException(http_resp=http_resp, body=body, data=data)
|
|
||||||
raise ApiException(http_resp=http_resp, body=body, data=data)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
"""Custom error messages for exception"""
|
|
||||||
error_message = "({0})\n"\
|
|
||||||
"Reason: {1}\n".format(self.status, self.reason)
|
|
||||||
if self.headers:
|
|
||||||
error_message += "HTTP response headers: {0}\n".format(
|
|
||||||
self.headers)
|
|
||||||
|
|
||||||
if self.data or self.body:
|
|
||||||
error_message += "HTTP response body: {0}\n".format(self.data or self.body)
|
|
||||||
|
|
||||||
return error_message
|
|
||||||
|
|
||||||
|
|
||||||
class BadRequestException(ApiException):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class NotFoundException(ApiException):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class UnauthorizedException(ApiException):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class ForbiddenException(ApiException):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class ServiceException(ApiException):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def render_path(path_to_item):
|
|
||||||
"""Returns a string representation of a path"""
|
|
||||||
result = ""
|
|
||||||
for pth in path_to_item:
|
|
||||||
if isinstance(pth, int):
|
|
||||||
result += "[{0}]".format(pth)
|
|
||||||
else:
|
|
||||||
result += "['{0}']".format(pth)
|
|
||||||
return result
|
|
||||||
@@ -1,144 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
# flake8: noqa
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
# import models into model package
|
|
||||||
from lighter.models.account import Account
|
|
||||||
from lighter.models.account_api_keys import AccountApiKeys
|
|
||||||
from lighter.models.account_limits import AccountLimits
|
|
||||||
from lighter.models.account_margin_stats import AccountMarginStats
|
|
||||||
from lighter.models.account_market_stats import AccountMarketStats
|
|
||||||
from lighter.models.account_metadata import AccountMetadata
|
|
||||||
from lighter.models.account_metadatas import AccountMetadatas
|
|
||||||
from lighter.models.account_pn_l import AccountPnL
|
|
||||||
from lighter.models.account_position import AccountPosition
|
|
||||||
from lighter.models.account_stats import AccountStats
|
|
||||||
from lighter.models.account_trade_stats import AccountTradeStats
|
|
||||||
from lighter.models.announcement import Announcement
|
|
||||||
from lighter.models.announcements import Announcements
|
|
||||||
from lighter.models.api_key import ApiKey
|
|
||||||
from lighter.models.block import Block
|
|
||||||
from lighter.models.blocks import Blocks
|
|
||||||
from lighter.models.bridge_supported_network import BridgeSupportedNetwork
|
|
||||||
from lighter.models.candlestick import Candlestick
|
|
||||||
from lighter.models.candlesticks import Candlesticks
|
|
||||||
from lighter.models.contract_address import ContractAddress
|
|
||||||
from lighter.models.current_height import CurrentHeight
|
|
||||||
from lighter.models.cursor import Cursor
|
|
||||||
from lighter.models.daily_return import DailyReturn
|
|
||||||
from lighter.models.deposit_history import DepositHistory
|
|
||||||
from lighter.models.deposit_history_item import DepositHistoryItem
|
|
||||||
from lighter.models.detailed_account import DetailedAccount
|
|
||||||
from lighter.models.detailed_accounts import DetailedAccounts
|
|
||||||
from lighter.models.detailed_candlestick import DetailedCandlestick
|
|
||||||
from lighter.models.enriched_tx import EnrichedTx
|
|
||||||
from lighter.models.exchange_stats import ExchangeStats
|
|
||||||
from lighter.models.export_data import ExportData
|
|
||||||
from lighter.models.funding import Funding
|
|
||||||
from lighter.models.funding_rate import FundingRate
|
|
||||||
from lighter.models.funding_rates import FundingRates
|
|
||||||
from lighter.models.fundings import Fundings
|
|
||||||
from lighter.models.l1_metadata import L1Metadata
|
|
||||||
from lighter.models.l1_provider_info import L1ProviderInfo
|
|
||||||
from lighter.models.liq_trade import LiqTrade
|
|
||||||
from lighter.models.liquidation import Liquidation
|
|
||||||
from lighter.models.liquidation_info import LiquidationInfo
|
|
||||||
from lighter.models.liquidation_infos import LiquidationInfos
|
|
||||||
from lighter.models.market_info import MarketInfo
|
|
||||||
from lighter.models.next_nonce import NextNonce
|
|
||||||
from lighter.models.order import Order
|
|
||||||
from lighter.models.order_book import OrderBook
|
|
||||||
from lighter.models.order_book_depth import OrderBookDepth
|
|
||||||
from lighter.models.order_book_detail import OrderBookDetail
|
|
||||||
from lighter.models.order_book_details import OrderBookDetails
|
|
||||||
from lighter.models.order_book_orders import OrderBookOrders
|
|
||||||
from lighter.models.order_book_stats import OrderBookStats
|
|
||||||
from lighter.models.order_books import OrderBooks
|
|
||||||
from lighter.models.orders import Orders
|
|
||||||
from lighter.models.pn_l_entry import PnLEntry
|
|
||||||
from lighter.models.position_funding import PositionFunding
|
|
||||||
from lighter.models.position_fundings import PositionFundings
|
|
||||||
from lighter.models.price_level import PriceLevel
|
|
||||||
from lighter.models.public_pool import PublicPool
|
|
||||||
from lighter.models.public_pool_info import PublicPoolInfo
|
|
||||||
from lighter.models.public_pool_metadata import PublicPoolMetadata
|
|
||||||
from lighter.models.public_pool_share import PublicPoolShare
|
|
||||||
from lighter.models.public_pools import PublicPools
|
|
||||||
from lighter.models.referral_point_entry import ReferralPointEntry
|
|
||||||
from lighter.models.referral_points import ReferralPoints
|
|
||||||
from lighter.models.req_export_data import ReqExportData
|
|
||||||
from lighter.models.req_get_account import ReqGetAccount
|
|
||||||
from lighter.models.req_get_account_active_orders import ReqGetAccountActiveOrders
|
|
||||||
from lighter.models.req_get_account_api_keys import ReqGetAccountApiKeys
|
|
||||||
from lighter.models.req_get_account_by_l1_address import ReqGetAccountByL1Address
|
|
||||||
from lighter.models.req_get_account_inactive_orders import ReqGetAccountInactiveOrders
|
|
||||||
from lighter.models.req_get_account_limits import ReqGetAccountLimits
|
|
||||||
from lighter.models.req_get_account_metadata import ReqGetAccountMetadata
|
|
||||||
from lighter.models.req_get_account_pn_l import ReqGetAccountPnL
|
|
||||||
from lighter.models.req_get_account_txs import ReqGetAccountTxs
|
|
||||||
from lighter.models.req_get_block import ReqGetBlock
|
|
||||||
from lighter.models.req_get_block_txs import ReqGetBlockTxs
|
|
||||||
from lighter.models.req_get_by_account import ReqGetByAccount
|
|
||||||
from lighter.models.req_get_candlesticks import ReqGetCandlesticks
|
|
||||||
from lighter.models.req_get_deposit_history import ReqGetDepositHistory
|
|
||||||
from lighter.models.req_get_fast_withdraw_info import ReqGetFastWithdrawInfo
|
|
||||||
from lighter.models.req_get_fundings import ReqGetFundings
|
|
||||||
from lighter.models.req_get_l1_metadata import ReqGetL1Metadata
|
|
||||||
from lighter.models.req_get_l1_tx import ReqGetL1Tx
|
|
||||||
from lighter.models.req_get_latest_deposit import ReqGetLatestDeposit
|
|
||||||
from lighter.models.req_get_liquidation_infos import ReqGetLiquidationInfos
|
|
||||||
from lighter.models.req_get_next_nonce import ReqGetNextNonce
|
|
||||||
from lighter.models.req_get_order_book_details import ReqGetOrderBookDetails
|
|
||||||
from lighter.models.req_get_order_book_orders import ReqGetOrderBookOrders
|
|
||||||
from lighter.models.req_get_order_books import ReqGetOrderBooks
|
|
||||||
from lighter.models.req_get_position_funding import ReqGetPositionFunding
|
|
||||||
from lighter.models.req_get_public_pools import ReqGetPublicPools
|
|
||||||
from lighter.models.req_get_public_pools_metadata import ReqGetPublicPoolsMetadata
|
|
||||||
from lighter.models.req_get_range_with_cursor import ReqGetRangeWithCursor
|
|
||||||
from lighter.models.req_get_range_with_index import ReqGetRangeWithIndex
|
|
||||||
from lighter.models.req_get_range_with_index_sortable import ReqGetRangeWithIndexSortable
|
|
||||||
from lighter.models.req_get_recent_trades import ReqGetRecentTrades
|
|
||||||
from lighter.models.req_get_referral_points import ReqGetReferralPoints
|
|
||||||
from lighter.models.req_get_trades import ReqGetTrades
|
|
||||||
from lighter.models.req_get_transfer_fee_info import ReqGetTransferFeeInfo
|
|
||||||
from lighter.models.req_get_transfer_history import ReqGetTransferHistory
|
|
||||||
from lighter.models.req_get_tx import ReqGetTx
|
|
||||||
from lighter.models.req_get_withdraw_history import ReqGetWithdrawHistory
|
|
||||||
from lighter.models.resp_change_account_tier import RespChangeAccountTier
|
|
||||||
from lighter.models.resp_get_fast_bridge_info import RespGetFastBridgeInfo
|
|
||||||
from lighter.models.resp_public_pools_metadata import RespPublicPoolsMetadata
|
|
||||||
from lighter.models.resp_send_tx import RespSendTx
|
|
||||||
from lighter.models.resp_send_tx_batch import RespSendTxBatch
|
|
||||||
from lighter.models.resp_withdrawal_delay import RespWithdrawalDelay
|
|
||||||
from lighter.models.result_code import ResultCode
|
|
||||||
from lighter.models.risk_info import RiskInfo
|
|
||||||
from lighter.models.risk_parameters import RiskParameters
|
|
||||||
from lighter.models.share_price import SharePrice
|
|
||||||
from lighter.models.simple_order import SimpleOrder
|
|
||||||
from lighter.models.status import Status
|
|
||||||
from lighter.models.sub_accounts import SubAccounts
|
|
||||||
from lighter.models.ticker import Ticker
|
|
||||||
from lighter.models.trade import Trade
|
|
||||||
from lighter.models.trades import Trades
|
|
||||||
from lighter.models.transfer_fee_info import TransferFeeInfo
|
|
||||||
from lighter.models.transfer_history import TransferHistory
|
|
||||||
from lighter.models.transfer_history_item import TransferHistoryItem
|
|
||||||
from lighter.models.tx import Tx
|
|
||||||
from lighter.models.tx_hash import TxHash
|
|
||||||
from lighter.models.tx_hashes import TxHashes
|
|
||||||
from lighter.models.txs import Txs
|
|
||||||
from lighter.models.validator_info import ValidatorInfo
|
|
||||||
from lighter.models.withdraw_history import WithdrawHistory
|
|
||||||
from lighter.models.withdraw_history_item import WithdrawHistoryItem
|
|
||||||
from lighter.models.zk_lighter_info import ZkLighterInfo
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Account(BaseModel):
|
|
||||||
"""
|
|
||||||
Account
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
account_type: StrictInt
|
|
||||||
index: StrictInt
|
|
||||||
l1_address: StrictStr
|
|
||||||
cancel_all_time: StrictInt
|
|
||||||
total_order_count: StrictInt
|
|
||||||
total_isolated_order_count: StrictInt
|
|
||||||
pending_order_count: StrictInt
|
|
||||||
available_balance: Optional[StrictStr]
|
|
||||||
status: StrictInt
|
|
||||||
collateral: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "account_type", "index", "l1_address", "cancel_all_time", "total_order_count", "total_isolated_order_count", "pending_order_count", "available_balance", "status", "collateral"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Account from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Account from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"account_type": obj.get("account_type"),
|
|
||||||
"index": obj.get("index"),
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"cancel_all_time": obj.get("cancel_all_time"),
|
|
||||||
"total_order_count": obj.get("total_order_count"),
|
|
||||||
"total_isolated_order_count": obj.get("total_isolated_order_count"),
|
|
||||||
"pending_order_count": obj.get("pending_order_count"),
|
|
||||||
"available_balance": obj.get("available_balance"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"collateral": obj.get("collateral")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.api_key import ApiKey
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountApiKeys(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountApiKeys
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
api_keys: List[ApiKey]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "api_keys"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountApiKeys from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in api_keys (list)
|
|
||||||
_items = []
|
|
||||||
if self.api_keys:
|
|
||||||
for _item in self.api_keys:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['api_keys'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountApiKeys from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"api_keys": [ApiKey.from_dict(_item) for _item in obj["api_keys"]] if obj.get("api_keys") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountLimits(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountLimits
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
max_llp_percentage: StrictInt
|
|
||||||
user_tier: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "max_llp_percentage", "user_tier"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountLimits from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountLimits from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"max_llp_percentage": obj.get("max_llp_percentage"),
|
|
||||||
"user_tier": obj.get("user_tier")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountMarginStats(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountMarginStats
|
|
||||||
""" # noqa: E501
|
|
||||||
collateral: StrictStr
|
|
||||||
portfolio_value: StrictStr
|
|
||||||
leverage: StrictStr
|
|
||||||
available_balance: StrictStr
|
|
||||||
margin_usage: StrictStr
|
|
||||||
buying_power: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["collateral", "portfolio_value", "leverage", "available_balance", "margin_usage", "buying_power"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMarginStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMarginStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"collateral": obj.get("collateral"),
|
|
||||||
"portfolio_value": obj.get("portfolio_value"),
|
|
||||||
"leverage": obj.get("leverage"),
|
|
||||||
"available_balance": obj.get("available_balance"),
|
|
||||||
"margin_usage": obj.get("margin_usage"),
|
|
||||||
"buying_power": obj.get("buying_power")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountMarketStats(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountMarketStats
|
|
||||||
""" # noqa: E501
|
|
||||||
market_id: StrictInt
|
|
||||||
daily_trades_count: StrictInt
|
|
||||||
daily_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
weekly_trades_count: StrictInt
|
|
||||||
weekly_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
weekly_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
monthly_trades_count: StrictInt
|
|
||||||
monthly_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
monthly_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
total_trades_count: StrictInt
|
|
||||||
total_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
total_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["market_id", "daily_trades_count", "daily_base_token_volume", "daily_quote_token_volume", "weekly_trades_count", "weekly_base_token_volume", "weekly_quote_token_volume", "monthly_trades_count", "monthly_base_token_volume", "monthly_quote_token_volume", "total_trades_count", "total_base_token_volume", "total_quote_token_volume"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMarketStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMarketStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"daily_trades_count": obj.get("daily_trades_count"),
|
|
||||||
"daily_base_token_volume": obj.get("daily_base_token_volume"),
|
|
||||||
"daily_quote_token_volume": obj.get("daily_quote_token_volume"),
|
|
||||||
"weekly_trades_count": obj.get("weekly_trades_count"),
|
|
||||||
"weekly_base_token_volume": obj.get("weekly_base_token_volume"),
|
|
||||||
"weekly_quote_token_volume": obj.get("weekly_quote_token_volume"),
|
|
||||||
"monthly_trades_count": obj.get("monthly_trades_count"),
|
|
||||||
"monthly_base_token_volume": obj.get("monthly_base_token_volume"),
|
|
||||||
"monthly_quote_token_volume": obj.get("monthly_quote_token_volume"),
|
|
||||||
"total_trades_count": obj.get("total_trades_count"),
|
|
||||||
"total_base_token_volume": obj.get("total_base_token_volume"),
|
|
||||||
"total_quote_token_volume": obj.get("total_quote_token_volume")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountMetadata(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountMetadata
|
|
||||||
""" # noqa: E501
|
|
||||||
account_index: StrictInt
|
|
||||||
name: StrictStr
|
|
||||||
description: StrictStr
|
|
||||||
can_invite: StrictBool = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
referral_points_percentage: StrictStr = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["account_index", "name", "description", "can_invite", "referral_points_percentage"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMetadata from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMetadata from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"description": obj.get("description"),
|
|
||||||
"can_invite": obj.get("can_invite"),
|
|
||||||
"referral_points_percentage": obj.get("referral_points_percentage")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.account_metadata import AccountMetadata
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountMetadatas(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountMetadatas
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
account_metadatas: List[AccountMetadata]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "account_metadatas"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMetadatas from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in account_metadatas (list)
|
|
||||||
_items = []
|
|
||||||
if self.account_metadatas:
|
|
||||||
for _item in self.account_metadatas:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['account_metadatas'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountMetadatas from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"account_metadatas": [AccountMetadata.from_dict(_item) for _item in obj["account_metadatas"]] if obj.get("account_metadatas") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.pn_l_entry import PnLEntry
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountPnL(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountPnL
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
resolution: StrictStr
|
|
||||||
pnl: List[PnLEntry]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "resolution", "pnl"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountPnL from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in pnl (list)
|
|
||||||
_items = []
|
|
||||||
if self.pnl:
|
|
||||||
for _item in self.pnl:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['pnl'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountPnL from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"resolution": obj.get("resolution"),
|
|
||||||
"pnl": [PnLEntry.from_dict(_item) for _item in obj["pnl"]] if obj.get("pnl") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountPosition(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountPosition
|
|
||||||
""" # noqa: E501
|
|
||||||
market_id: StrictInt
|
|
||||||
symbol: StrictStr
|
|
||||||
initial_margin_fraction: StrictStr
|
|
||||||
open_order_count: StrictInt
|
|
||||||
pending_order_count: StrictInt
|
|
||||||
position_tied_order_count: StrictInt
|
|
||||||
sign: StrictInt
|
|
||||||
position: StrictStr
|
|
||||||
avg_entry_price: StrictStr
|
|
||||||
position_value: StrictStr
|
|
||||||
unrealized_pnl: StrictStr
|
|
||||||
realized_pnl: StrictStr
|
|
||||||
liquidation_price: StrictStr
|
|
||||||
total_funding_paid_out: Optional[StrictStr] = None
|
|
||||||
margin_mode: StrictInt
|
|
||||||
allocated_margin: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["market_id", "symbol", "initial_margin_fraction", "open_order_count", "pending_order_count", "position_tied_order_count", "sign", "position", "avg_entry_price", "position_value", "unrealized_pnl", "realized_pnl", "liquidation_price", "total_funding_paid_out", "margin_mode", "allocated_margin"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountPosition from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountPosition from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"symbol": obj.get("symbol"),
|
|
||||||
"initial_margin_fraction": obj.get("initial_margin_fraction"),
|
|
||||||
"open_order_count": obj.get("open_order_count"),
|
|
||||||
"pending_order_count": obj.get("pending_order_count"),
|
|
||||||
"position_tied_order_count": obj.get("position_tied_order_count"),
|
|
||||||
"sign": obj.get("sign"),
|
|
||||||
"position": obj.get("position"),
|
|
||||||
"avg_entry_price": obj.get("avg_entry_price"),
|
|
||||||
"position_value": obj.get("position_value"),
|
|
||||||
"unrealized_pnl": obj.get("unrealized_pnl"),
|
|
||||||
"realized_pnl": obj.get("realized_pnl"),
|
|
||||||
"liquidation_price": obj.get("liquidation_price"),
|
|
||||||
"total_funding_paid_out": obj.get("total_funding_paid_out"),
|
|
||||||
"margin_mode": obj.get("margin_mode"),
|
|
||||||
"allocated_margin": obj.get("allocated_margin")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from lighter.models.account_margin_stats import AccountMarginStats
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountStats(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountStats
|
|
||||||
""" # noqa: E501
|
|
||||||
collateral: StrictStr
|
|
||||||
portfolio_value: StrictStr
|
|
||||||
leverage: StrictStr
|
|
||||||
available_balance: Optional[StrictStr]
|
|
||||||
margin_usage: StrictStr
|
|
||||||
buying_power: StrictStr
|
|
||||||
cross_stats: AccountMarginStats
|
|
||||||
total_stats: AccountMarginStats
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["collateral", "portfolio_value", "leverage", "available_balance", "margin_usage", "buying_power", "cross_stats", "total_stats"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of cross_stats
|
|
||||||
if self.cross_stats:
|
|
||||||
_dict['cross_stats'] = self.cross_stats.to_dict()
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of total_stats
|
|
||||||
if self.total_stats:
|
|
||||||
_dict['total_stats'] = self.total_stats.to_dict()
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"collateral": obj.get("collateral"),
|
|
||||||
"portfolio_value": obj.get("portfolio_value"),
|
|
||||||
"leverage": obj.get("leverage"),
|
|
||||||
"available_balance": obj.get("available_balance"),
|
|
||||||
"margin_usage": obj.get("margin_usage"),
|
|
||||||
"buying_power": obj.get("buying_power"),
|
|
||||||
"cross_stats": AccountMarginStats.from_dict(obj["cross_stats"]) if obj.get("cross_stats") is not None else None,
|
|
||||||
"total_stats": AccountMarginStats.from_dict(obj["total_stats"]) if obj.get("total_stats") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class AccountTradeStats(BaseModel):
|
|
||||||
"""
|
|
||||||
AccountTradeStats
|
|
||||||
""" # noqa: E501
|
|
||||||
daily_trades_count: StrictInt
|
|
||||||
daily_volume: Union[StrictFloat, StrictInt]
|
|
||||||
weekly_trades_count: StrictInt
|
|
||||||
weekly_volume: Union[StrictFloat, StrictInt]
|
|
||||||
monthly_trades_count: StrictInt
|
|
||||||
monthly_volume: Union[StrictFloat, StrictInt]
|
|
||||||
total_trades_count: StrictInt
|
|
||||||
total_volume: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["daily_trades_count", "daily_volume", "weekly_trades_count", "weekly_volume", "monthly_trades_count", "monthly_volume", "total_trades_count", "total_volume"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountTradeStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of AccountTradeStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"daily_trades_count": obj.get("daily_trades_count"),
|
|
||||||
"daily_volume": obj.get("daily_volume"),
|
|
||||||
"weekly_trades_count": obj.get("weekly_trades_count"),
|
|
||||||
"weekly_volume": obj.get("weekly_volume"),
|
|
||||||
"monthly_trades_count": obj.get("monthly_trades_count"),
|
|
||||||
"monthly_volume": obj.get("monthly_volume"),
|
|
||||||
"total_trades_count": obj.get("total_trades_count"),
|
|
||||||
"total_volume": obj.get("total_volume")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Announcement(BaseModel):
|
|
||||||
"""
|
|
||||||
Announcement
|
|
||||||
""" # noqa: E501
|
|
||||||
title: StrictStr
|
|
||||||
content: StrictStr
|
|
||||||
created_at: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["title", "content", "created_at"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Announcement from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Announcement from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"title": obj.get("title"),
|
|
||||||
"content": obj.get("content"),
|
|
||||||
"created_at": obj.get("created_at")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.announcement import Announcement
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Announcements(BaseModel):
|
|
||||||
"""
|
|
||||||
Announcements
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
announcements: List[Announcement]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "announcements"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Announcements from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in announcements (list)
|
|
||||||
_items = []
|
|
||||||
if self.announcements:
|
|
||||||
for _item in self.announcements:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['announcements'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Announcements from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"announcements": [Announcement.from_dict(_item) for _item in obj["announcements"]] if obj.get("announcements") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ApiKey(BaseModel):
|
|
||||||
"""
|
|
||||||
ApiKey
|
|
||||||
""" # noqa: E501
|
|
||||||
account_index: StrictInt
|
|
||||||
api_key_index: StrictInt
|
|
||||||
nonce: StrictInt
|
|
||||||
public_key: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["account_index", "api_key_index", "nonce", "public_key"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ApiKey from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ApiKey from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"api_key_index": obj.get("api_key_index"),
|
|
||||||
"nonce": obj.get("nonce"),
|
|
||||||
"public_key": obj.get("public_key")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from lighter.models.tx import Tx
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Block(BaseModel):
|
|
||||||
"""
|
|
||||||
Block
|
|
||||||
""" # noqa: E501
|
|
||||||
commitment: StrictStr
|
|
||||||
height: StrictInt
|
|
||||||
state_root: StrictStr
|
|
||||||
priority_operations: StrictInt
|
|
||||||
on_chain_l2_operations: StrictInt
|
|
||||||
pending_on_chain_operations_pub_data: StrictStr
|
|
||||||
committed_tx_hash: StrictStr
|
|
||||||
committed_at: StrictInt
|
|
||||||
verified_tx_hash: StrictStr
|
|
||||||
verified_at: StrictInt
|
|
||||||
txs: List[Tx]
|
|
||||||
status: StrictInt
|
|
||||||
size: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["commitment", "height", "state_root", "priority_operations", "on_chain_l2_operations", "pending_on_chain_operations_pub_data", "committed_tx_hash", "committed_at", "verified_tx_hash", "verified_at", "txs", "status", "size"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Block from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in txs (list)
|
|
||||||
_items = []
|
|
||||||
if self.txs:
|
|
||||||
for _item in self.txs:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['txs'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Block from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"commitment": obj.get("commitment"),
|
|
||||||
"height": obj.get("height"),
|
|
||||||
"state_root": obj.get("state_root"),
|
|
||||||
"priority_operations": obj.get("priority_operations"),
|
|
||||||
"on_chain_l2_operations": obj.get("on_chain_l2_operations"),
|
|
||||||
"pending_on_chain_operations_pub_data": obj.get("pending_on_chain_operations_pub_data"),
|
|
||||||
"committed_tx_hash": obj.get("committed_tx_hash"),
|
|
||||||
"committed_at": obj.get("committed_at"),
|
|
||||||
"verified_tx_hash": obj.get("verified_tx_hash"),
|
|
||||||
"verified_at": obj.get("verified_at"),
|
|
||||||
"txs": [Tx.from_dict(_item) for _item in obj["txs"]] if obj.get("txs") is not None else None,
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"size": obj.get("size")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.block import Block
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Blocks(BaseModel):
|
|
||||||
"""
|
|
||||||
Blocks
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
total: StrictInt
|
|
||||||
blocks: List[Block]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "total", "blocks"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Blocks from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in blocks (list)
|
|
||||||
_items = []
|
|
||||||
if self.blocks:
|
|
||||||
for _item in self.blocks:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['blocks'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Blocks from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"total": obj.get("total"),
|
|
||||||
"blocks": [Block.from_dict(_item) for _item in obj["blocks"]] if obj.get("blocks") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class BridgeSupportedNetwork(BaseModel):
|
|
||||||
"""
|
|
||||||
BridgeSupportedNetwork
|
|
||||||
""" # noqa: E501
|
|
||||||
name: StrictStr
|
|
||||||
chain_id: StrictStr
|
|
||||||
explorer: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["name", "chain_id", "explorer"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of BridgeSupportedNetwork from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of BridgeSupportedNetwork from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"chain_id": obj.get("chain_id"),
|
|
||||||
"explorer": obj.get("explorer")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Candlestick(BaseModel):
|
|
||||||
"""
|
|
||||||
Candlestick
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
open: Union[StrictFloat, StrictInt]
|
|
||||||
high: Union[StrictFloat, StrictInt]
|
|
||||||
low: Union[StrictFloat, StrictInt]
|
|
||||||
close: Union[StrictFloat, StrictInt]
|
|
||||||
volume0: Union[StrictFloat, StrictInt]
|
|
||||||
volume1: Union[StrictFloat, StrictInt]
|
|
||||||
last_trade_id: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "open", "high", "low", "close", "volume0", "volume1", "last_trade_id"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Candlestick from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Candlestick from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"open": obj.get("open"),
|
|
||||||
"high": obj.get("high"),
|
|
||||||
"low": obj.get("low"),
|
|
||||||
"close": obj.get("close"),
|
|
||||||
"volume0": obj.get("volume0"),
|
|
||||||
"volume1": obj.get("volume1"),
|
|
||||||
"last_trade_id": obj.get("last_trade_id")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.candlestick import Candlestick
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Candlesticks(BaseModel):
|
|
||||||
"""
|
|
||||||
Candlesticks
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
resolution: StrictStr
|
|
||||||
candlesticks: List[Candlestick]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "resolution", "candlesticks"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Candlesticks from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in candlesticks (list)
|
|
||||||
_items = []
|
|
||||||
if self.candlesticks:
|
|
||||||
for _item in self.candlesticks:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['candlesticks'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Candlesticks from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"resolution": obj.get("resolution"),
|
|
||||||
"candlesticks": [Candlestick.from_dict(_item) for _item in obj["candlesticks"]] if obj.get("candlesticks") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ContractAddress(BaseModel):
|
|
||||||
"""
|
|
||||||
ContractAddress
|
|
||||||
""" # noqa: E501
|
|
||||||
name: StrictStr
|
|
||||||
address: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["name", "address"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ContractAddress from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ContractAddress from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"address": obj.get("address")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class CurrentHeight(BaseModel):
|
|
||||||
"""
|
|
||||||
CurrentHeight
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
height: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "height"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of CurrentHeight from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of CurrentHeight from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"height": obj.get("height")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Cursor(BaseModel):
|
|
||||||
"""
|
|
||||||
Cursor
|
|
||||||
""" # noqa: E501
|
|
||||||
next_cursor: Optional[StrictStr] = None
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["next_cursor"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Cursor from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Cursor from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"next_cursor": obj.get("next_cursor")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DailyReturn(BaseModel):
|
|
||||||
"""
|
|
||||||
DailyReturn
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
daily_return: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "daily_return"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DailyReturn from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DailyReturn from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"daily_return": obj.get("daily_return")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.deposit_history_item import DepositHistoryItem
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DepositHistory(BaseModel):
|
|
||||||
"""
|
|
||||||
DepositHistory
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
deposits: List[DepositHistoryItem]
|
|
||||||
cursor: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "deposits", "cursor"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DepositHistory from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in deposits (list)
|
|
||||||
_items = []
|
|
||||||
if self.deposits:
|
|
||||||
for _item in self.deposits:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['deposits'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DepositHistory from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"deposits": [DepositHistoryItem.from_dict(_item) for _item in obj["deposits"]] if obj.get("deposits") is not None else None,
|
|
||||||
"cursor": obj.get("cursor")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DepositHistoryItem(BaseModel):
|
|
||||||
"""
|
|
||||||
DepositHistoryItem
|
|
||||||
""" # noqa: E501
|
|
||||||
id: StrictStr
|
|
||||||
amount: StrictStr
|
|
||||||
timestamp: StrictInt
|
|
||||||
status: StrictStr
|
|
||||||
l1_tx_hash: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["id", "amount", "timestamp", "status", "l1_tx_hash"]
|
|
||||||
|
|
||||||
@field_validator('status')
|
|
||||||
def status_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['failed', 'pending', 'completed', 'claimable']):
|
|
||||||
raise ValueError("must be one of enum values ('failed', 'pending', 'completed', 'claimable')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DepositHistoryItem from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DepositHistoryItem from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"id": obj.get("id"),
|
|
||||||
"amount": obj.get("amount"),
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"l1_tx_hash": obj.get("l1_tx_hash")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.account_position import AccountPosition
|
|
||||||
from lighter.models.public_pool_info import PublicPoolInfo
|
|
||||||
from lighter.models.public_pool_share import PublicPoolShare
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DetailedAccount(BaseModel):
|
|
||||||
"""
|
|
||||||
DetailedAccount
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
account_type: StrictInt
|
|
||||||
index: StrictInt
|
|
||||||
l1_address: StrictStr
|
|
||||||
cancel_all_time: StrictInt
|
|
||||||
total_order_count: StrictInt
|
|
||||||
total_isolated_order_count: StrictInt
|
|
||||||
pending_order_count: StrictInt
|
|
||||||
available_balance: Optional[StrictStr]
|
|
||||||
status: StrictInt
|
|
||||||
collateral: StrictStr
|
|
||||||
account_index: StrictInt
|
|
||||||
name: StrictStr
|
|
||||||
description: StrictStr
|
|
||||||
can_invite: StrictBool = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
referral_points_percentage: StrictStr = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
positions: List[AccountPosition]
|
|
||||||
total_asset_value: StrictStr
|
|
||||||
cross_asset_value: StrictStr
|
|
||||||
pool_info: Optional[PublicPoolInfo]
|
|
||||||
shares: List[PublicPoolShare]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "account_type", "index", "l1_address", "cancel_all_time", "total_order_count", "total_isolated_order_count", "pending_order_count", "available_balance", "status", "collateral", "account_index", "name", "description", "can_invite", "referral_points_percentage", "positions", "total_asset_value", "cross_asset_value", "pool_info", "shares"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedAccount from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in positions (list)
|
|
||||||
_items = []
|
|
||||||
if self.positions:
|
|
||||||
for _item in self.positions:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['positions'] = _items
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of pool_info
|
|
||||||
if self.pool_info:
|
|
||||||
_dict['pool_info'] = self.pool_info.to_dict()
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in shares (list)
|
|
||||||
_items = []
|
|
||||||
if self.shares:
|
|
||||||
for _item in self.shares:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['shares'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedAccount from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"account_type": obj.get("account_type"),
|
|
||||||
"index": obj.get("index"),
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"cancel_all_time": obj.get("cancel_all_time"),
|
|
||||||
"total_order_count": obj.get("total_order_count"),
|
|
||||||
"total_isolated_order_count": obj.get("total_isolated_order_count"),
|
|
||||||
"pending_order_count": obj.get("pending_order_count"),
|
|
||||||
"available_balance": obj.get("available_balance"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"collateral": obj.get("collateral"),
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"description": obj.get("description"),
|
|
||||||
"can_invite": obj.get("can_invite"),
|
|
||||||
"referral_points_percentage": obj.get("referral_points_percentage"),
|
|
||||||
"positions": [AccountPosition.from_dict(_item) for _item in obj["positions"]] if obj.get("positions") is not None else None,
|
|
||||||
"total_asset_value": obj.get("total_asset_value"),
|
|
||||||
"cross_asset_value": obj.get("cross_asset_value"),
|
|
||||||
"pool_info": PublicPoolInfo.from_dict(obj["pool_info"]) if obj.get("pool_info") is not None else None,
|
|
||||||
"shares": [PublicPoolShare.from_dict(_item) for _item in obj["shares"]] if obj.get("shares") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.detailed_account import DetailedAccount
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DetailedAccounts(BaseModel):
|
|
||||||
"""
|
|
||||||
DetailedAccounts
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
total: StrictInt
|
|
||||||
accounts: List[DetailedAccount]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "total", "accounts"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedAccounts from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in accounts (list)
|
|
||||||
_items = []
|
|
||||||
if self.accounts:
|
|
||||||
for _item in self.accounts:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['accounts'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedAccounts from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"total": obj.get("total"),
|
|
||||||
"accounts": [DetailedAccount.from_dict(_item) for _item in obj["accounts"]] if obj.get("accounts") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class DetailedCandlestick(BaseModel):
|
|
||||||
"""
|
|
||||||
DetailedCandlestick
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
open: Union[StrictFloat, StrictInt]
|
|
||||||
high: Union[StrictFloat, StrictInt]
|
|
||||||
low: Union[StrictFloat, StrictInt]
|
|
||||||
close: Union[StrictFloat, StrictInt]
|
|
||||||
volume0: Union[StrictFloat, StrictInt]
|
|
||||||
volume1: Union[StrictFloat, StrictInt]
|
|
||||||
last_trade_id: StrictInt
|
|
||||||
trade_count: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "open", "high", "low", "close", "volume0", "volume1", "last_trade_id", "trade_count"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedCandlestick from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of DetailedCandlestick from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"open": obj.get("open"),
|
|
||||||
"high": obj.get("high"),
|
|
||||||
"low": obj.get("low"),
|
|
||||||
"close": obj.get("close"),
|
|
||||||
"volume0": obj.get("volume0"),
|
|
||||||
"volume1": obj.get("volume1"),
|
|
||||||
"last_trade_id": obj.get("last_trade_id"),
|
|
||||||
"trade_count": obj.get("trade_count")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,137 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing_extensions import Annotated
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class EnrichedTx(BaseModel):
|
|
||||||
"""
|
|
||||||
EnrichedTx
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
hash: StrictStr
|
|
||||||
type: Annotated[int, Field(le=64, strict=True, ge=1)]
|
|
||||||
info: StrictStr
|
|
||||||
event_info: StrictStr
|
|
||||||
status: StrictInt
|
|
||||||
transaction_index: StrictInt
|
|
||||||
l1_address: StrictStr
|
|
||||||
account_index: StrictInt
|
|
||||||
nonce: StrictInt
|
|
||||||
expire_at: StrictInt
|
|
||||||
block_height: StrictInt
|
|
||||||
queued_at: StrictInt
|
|
||||||
executed_at: StrictInt
|
|
||||||
sequence_index: StrictInt
|
|
||||||
parent_hash: StrictStr
|
|
||||||
committed_at: StrictInt
|
|
||||||
verified_at: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "hash", "type", "info", "event_info", "status", "transaction_index", "l1_address", "account_index", "nonce", "expire_at", "block_height", "queued_at", "executed_at", "sequence_index", "parent_hash", "committed_at", "verified_at"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of EnrichedTx from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of EnrichedTx from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"hash": obj.get("hash"),
|
|
||||||
"type": obj.get("type"),
|
|
||||||
"info": obj.get("info"),
|
|
||||||
"event_info": obj.get("event_info"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"transaction_index": obj.get("transaction_index"),
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"nonce": obj.get("nonce"),
|
|
||||||
"expire_at": obj.get("expire_at"),
|
|
||||||
"block_height": obj.get("block_height"),
|
|
||||||
"queued_at": obj.get("queued_at"),
|
|
||||||
"executed_at": obj.get("executed_at"),
|
|
||||||
"sequence_index": obj.get("sequence_index"),
|
|
||||||
"parent_hash": obj.get("parent_hash"),
|
|
||||||
"committed_at": obj.get("committed_at"),
|
|
||||||
"verified_at": obj.get("verified_at")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
||||||
from lighter.models.order_book_stats import OrderBookStats
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ExchangeStats(BaseModel):
|
|
||||||
"""
|
|
||||||
ExchangeStats
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
total: StrictInt
|
|
||||||
order_book_stats: List[OrderBookStats]
|
|
||||||
daily_usd_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_trades_count: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "total", "order_book_stats", "daily_usd_volume", "daily_trades_count"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ExchangeStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in order_book_stats (list)
|
|
||||||
_items = []
|
|
||||||
if self.order_book_stats:
|
|
||||||
for _item in self.order_book_stats:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['order_book_stats'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ExchangeStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"total": obj.get("total"),
|
|
||||||
"order_book_stats": [OrderBookStats.from_dict(_item) for _item in obj["order_book_stats"]] if obj.get("order_book_stats") is not None else None,
|
|
||||||
"daily_usd_volume": obj.get("daily_usd_volume"),
|
|
||||||
"daily_trades_count": obj.get("daily_trades_count")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ExportData(BaseModel):
|
|
||||||
"""
|
|
||||||
ExportData
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
data_url: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "data_url"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ExportData from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ExportData from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"data_url": obj.get("data_url")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Funding(BaseModel):
|
|
||||||
"""
|
|
||||||
Funding
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
value: StrictStr
|
|
||||||
rate: StrictStr
|
|
||||||
direction: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "value", "rate", "direction"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Funding from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Funding from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"value": obj.get("value"),
|
|
||||||
"rate": obj.get("rate"),
|
|
||||||
"direction": obj.get("direction")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class FundingRate(BaseModel):
|
|
||||||
"""
|
|
||||||
FundingRate
|
|
||||||
""" # noqa: E501
|
|
||||||
market_id: StrictInt
|
|
||||||
exchange: StrictStr
|
|
||||||
symbol: StrictStr
|
|
||||||
rate: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["market_id", "exchange", "symbol", "rate"]
|
|
||||||
|
|
||||||
@field_validator('exchange')
|
|
||||||
def exchange_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['binance', 'bybit', 'hyperliquid', 'lighter']):
|
|
||||||
raise ValueError("must be one of enum values ('binance', 'bybit', 'hyperliquid', 'lighter')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of FundingRate from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of FundingRate from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"exchange": obj.get("exchange"),
|
|
||||||
"symbol": obj.get("symbol"),
|
|
||||||
"rate": obj.get("rate")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.funding_rate import FundingRate
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class FundingRates(BaseModel):
|
|
||||||
"""
|
|
||||||
FundingRates
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
funding_rates: List[FundingRate]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "funding_rates"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of FundingRates from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in funding_rates (list)
|
|
||||||
_items = []
|
|
||||||
if self.funding_rates:
|
|
||||||
for _item in self.funding_rates:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['funding_rates'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of FundingRates from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"funding_rates": [FundingRate.from_dict(_item) for _item in obj["funding_rates"]] if obj.get("funding_rates") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.funding import Funding
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Fundings(BaseModel):
|
|
||||||
"""
|
|
||||||
Fundings
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
resolution: StrictStr
|
|
||||||
fundings: List[Funding]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "resolution", "fundings"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Fundings from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in fundings (list)
|
|
||||||
_items = []
|
|
||||||
if self.fundings:
|
|
||||||
for _item in self.fundings:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['fundings'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Fundings from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"resolution": obj.get("resolution"),
|
|
||||||
"fundings": [Funding.from_dict(_item) for _item in obj["fundings"]] if obj.get("fundings") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class L1Metadata(BaseModel):
|
|
||||||
"""
|
|
||||||
L1Metadata
|
|
||||||
""" # noqa: E501
|
|
||||||
l1_address: StrictStr
|
|
||||||
can_invite: StrictBool
|
|
||||||
referral_points_percentage: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["l1_address", "can_invite", "referral_points_percentage"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of L1Metadata from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of L1Metadata from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"can_invite": obj.get("can_invite"),
|
|
||||||
"referral_points_percentage": obj.get("referral_points_percentage")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class L1ProviderInfo(BaseModel):
|
|
||||||
"""
|
|
||||||
L1ProviderInfo
|
|
||||||
""" # noqa: E501
|
|
||||||
chain_id: StrictInt = Field(alias="chainId")
|
|
||||||
network_id: StrictInt = Field(alias="networkId")
|
|
||||||
latest_block_number: StrictInt = Field(alias="latestBlockNumber")
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["chainId", "networkId", "latestBlockNumber"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of L1ProviderInfo from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of L1ProviderInfo from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"chainId": obj.get("chainId"),
|
|
||||||
"networkId": obj.get("networkId"),
|
|
||||||
"latestBlockNumber": obj.get("latestBlockNumber")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class LiqTrade(BaseModel):
|
|
||||||
"""
|
|
||||||
LiqTrade
|
|
||||||
""" # noqa: E501
|
|
||||||
price: StrictStr
|
|
||||||
size: StrictStr
|
|
||||||
taker_fee: StrictStr
|
|
||||||
maker_fee: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["price", "size", "taker_fee", "maker_fee"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiqTrade from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiqTrade from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"price": obj.get("price"),
|
|
||||||
"size": obj.get("size"),
|
|
||||||
"taker_fee": obj.get("taker_fee"),
|
|
||||||
"maker_fee": obj.get("maker_fee")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from lighter.models.liq_trade import LiqTrade
|
|
||||||
from lighter.models.liquidation_info import LiquidationInfo
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Liquidation(BaseModel):
|
|
||||||
"""
|
|
||||||
Liquidation
|
|
||||||
""" # noqa: E501
|
|
||||||
id: StrictInt
|
|
||||||
market_id: StrictInt
|
|
||||||
type: StrictStr
|
|
||||||
trade: LiqTrade
|
|
||||||
info: LiquidationInfo
|
|
||||||
executed_at: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["id", "market_id", "type", "trade", "info", "executed_at"]
|
|
||||||
|
|
||||||
@field_validator('type')
|
|
||||||
def type_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['partial', 'deleverage']):
|
|
||||||
raise ValueError("must be one of enum values ('partial', 'deleverage')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Liquidation from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of trade
|
|
||||||
if self.trade:
|
|
||||||
_dict['trade'] = self.trade.to_dict()
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of info
|
|
||||||
if self.info:
|
|
||||||
_dict['info'] = self.info.to_dict()
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Liquidation from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"id": obj.get("id"),
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"type": obj.get("type"),
|
|
||||||
"trade": LiqTrade.from_dict(obj["trade"]) if obj.get("trade") is not None else None,
|
|
||||||
"info": LiquidationInfo.from_dict(obj["info"]) if obj.get("info") is not None else None,
|
|
||||||
"executed_at": obj.get("executed_at")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from lighter.models.account_position import AccountPosition
|
|
||||||
from lighter.models.risk_info import RiskInfo
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class LiquidationInfo(BaseModel):
|
|
||||||
"""
|
|
||||||
LiquidationInfo
|
|
||||||
""" # noqa: E501
|
|
||||||
positions: List[AccountPosition]
|
|
||||||
risk_info_before: RiskInfo
|
|
||||||
risk_info_after: RiskInfo
|
|
||||||
mark_prices: Dict[str, Union[StrictFloat, StrictInt]]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["positions", "risk_info_before", "risk_info_after", "mark_prices"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiquidationInfo from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in positions (list)
|
|
||||||
_items = []
|
|
||||||
if self.positions:
|
|
||||||
for _item in self.positions:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['positions'] = _items
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of risk_info_before
|
|
||||||
if self.risk_info_before:
|
|
||||||
_dict['risk_info_before'] = self.risk_info_before.to_dict()
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of risk_info_after
|
|
||||||
if self.risk_info_after:
|
|
||||||
_dict['risk_info_after'] = self.risk_info_after.to_dict()
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiquidationInfo from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"positions": [AccountPosition.from_dict(_item) for _item in obj["positions"]] if obj.get("positions") is not None else None,
|
|
||||||
"risk_info_before": RiskInfo.from_dict(obj["risk_info_before"]) if obj.get("risk_info_before") is not None else None,
|
|
||||||
"risk_info_after": RiskInfo.from_dict(obj["risk_info_after"]) if obj.get("risk_info_after") is not None else None,
|
|
||||||
"mark_prices": obj.get("mark_prices")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.liquidation import Liquidation
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class LiquidationInfos(BaseModel):
|
|
||||||
"""
|
|
||||||
LiquidationInfos
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
liquidations: List[Liquidation]
|
|
||||||
next_cursor: Optional[StrictStr] = None
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "liquidations", "next_cursor"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiquidationInfos from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in liquidations (list)
|
|
||||||
_items = []
|
|
||||||
if self.liquidations:
|
|
||||||
for _item in self.liquidations:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['liquidations'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of LiquidationInfos from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"liquidations": [Liquidation.from_dict(_item) for _item in obj["liquidations"]] if obj.get("liquidations") is not None else None,
|
|
||||||
"next_cursor": obj.get("next_cursor")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class MarketInfo(BaseModel):
|
|
||||||
"""
|
|
||||||
MarketInfo
|
|
||||||
""" # noqa: E501
|
|
||||||
market_id: StrictInt
|
|
||||||
index_price: StrictStr
|
|
||||||
mark_price: StrictStr
|
|
||||||
open_interest: StrictStr
|
|
||||||
last_trade_price: StrictStr
|
|
||||||
current_funding_rate: StrictStr
|
|
||||||
funding_rate: StrictStr
|
|
||||||
funding_timestamp: StrictInt
|
|
||||||
daily_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_low: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_high: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_change: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["market_id", "index_price", "mark_price", "open_interest", "last_trade_price", "current_funding_rate", "funding_rate", "funding_timestamp", "daily_base_token_volume", "daily_quote_token_volume", "daily_price_low", "daily_price_high", "daily_price_change"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of MarketInfo from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of MarketInfo from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"index_price": obj.get("index_price"),
|
|
||||||
"mark_price": obj.get("mark_price"),
|
|
||||||
"open_interest": obj.get("open_interest"),
|
|
||||||
"last_trade_price": obj.get("last_trade_price"),
|
|
||||||
"current_funding_rate": obj.get("current_funding_rate"),
|
|
||||||
"funding_rate": obj.get("funding_rate"),
|
|
||||||
"funding_timestamp": obj.get("funding_timestamp"),
|
|
||||||
"daily_base_token_volume": obj.get("daily_base_token_volume"),
|
|
||||||
"daily_quote_token_volume": obj.get("daily_quote_token_volume"),
|
|
||||||
"daily_price_low": obj.get("daily_price_low"),
|
|
||||||
"daily_price_high": obj.get("daily_price_high"),
|
|
||||||
"daily_price_change": obj.get("daily_price_change")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class NextNonce(BaseModel):
|
|
||||||
"""
|
|
||||||
NextNonce
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
nonce: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "nonce"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of NextNonce from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of NextNonce from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"nonce": obj.get("nonce")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,188 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Order(BaseModel):
|
|
||||||
"""
|
|
||||||
Order
|
|
||||||
""" # noqa: E501
|
|
||||||
order_index: StrictInt
|
|
||||||
client_order_index: StrictInt
|
|
||||||
order_id: StrictStr
|
|
||||||
client_order_id: StrictStr
|
|
||||||
market_index: StrictInt
|
|
||||||
owner_account_index: StrictInt
|
|
||||||
initial_base_amount: StrictStr
|
|
||||||
price: StrictStr
|
|
||||||
nonce: StrictInt
|
|
||||||
remaining_base_amount: StrictStr
|
|
||||||
is_ask: StrictBool
|
|
||||||
base_size: StrictInt
|
|
||||||
base_price: StrictInt
|
|
||||||
filled_base_amount: StrictStr
|
|
||||||
filled_quote_amount: StrictStr
|
|
||||||
side: StrictStr = Field(description=" TODO: remove this")
|
|
||||||
type: StrictStr
|
|
||||||
time_in_force: StrictStr
|
|
||||||
reduce_only: StrictBool
|
|
||||||
trigger_price: StrictStr
|
|
||||||
order_expiry: StrictInt
|
|
||||||
status: StrictStr
|
|
||||||
trigger_status: StrictStr
|
|
||||||
trigger_time: StrictInt
|
|
||||||
parent_order_index: StrictInt
|
|
||||||
parent_order_id: StrictStr
|
|
||||||
to_trigger_order_id_0: StrictStr
|
|
||||||
to_trigger_order_id_1: StrictStr
|
|
||||||
to_cancel_order_id_0: StrictStr
|
|
||||||
block_height: StrictInt
|
|
||||||
timestamp: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["order_index", "client_order_index", "order_id", "client_order_id", "market_index", "owner_account_index", "initial_base_amount", "price", "nonce", "remaining_base_amount", "is_ask", "base_size", "base_price", "filled_base_amount", "filled_quote_amount", "side", "type", "time_in_force", "reduce_only", "trigger_price", "order_expiry", "status", "trigger_status", "trigger_time", "parent_order_index", "parent_order_id", "to_trigger_order_id_0", "to_trigger_order_id_1", "to_cancel_order_id_0", "block_height", "timestamp"]
|
|
||||||
|
|
||||||
@field_validator('type')
|
|
||||||
def type_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['limit', 'market', 'stop-loss', 'stop-loss-limit', 'take-profit', 'take-profit-limit', 'twap', 'twap-sub', 'liquidation']):
|
|
||||||
raise ValueError("must be one of enum values ('limit', 'market', 'stop-loss', 'stop-loss-limit', 'take-profit', 'take-profit-limit', 'twap', 'twap-sub', 'liquidation')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
@field_validator('time_in_force')
|
|
||||||
def time_in_force_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['good-till-time', 'immediate-or-cancel', 'post-only', 'Unknown']):
|
|
||||||
raise ValueError("must be one of enum values ('good-till-time', 'immediate-or-cancel', 'post-only', 'Unknown')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
@field_validator('status')
|
|
||||||
def status_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['in-progress', 'pending', 'open', 'filled', 'canceled', 'canceled-post-only', 'canceled-reduce-only', 'canceled-position-not-allowed', 'canceled-margin-not-allowed', 'canceled-too-much-slippage', 'canceled-not-enough-liquidity', 'canceled-self-trade', 'canceled-expired', 'canceled-oco', 'canceled-child', 'canceled-liquidation']):
|
|
||||||
raise ValueError("must be one of enum values ('in-progress', 'pending', 'open', 'filled', 'canceled', 'canceled-post-only', 'canceled-reduce-only', 'canceled-position-not-allowed', 'canceled-margin-not-allowed', 'canceled-too-much-slippage', 'canceled-not-enough-liquidity', 'canceled-self-trade', 'canceled-expired', 'canceled-oco', 'canceled-child', 'canceled-liquidation')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
@field_validator('trigger_status')
|
|
||||||
def trigger_status_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['na', 'ready', 'mark-price', 'twap', 'parent-order']):
|
|
||||||
raise ValueError("must be one of enum values ('na', 'ready', 'mark-price', 'twap', 'parent-order')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Order from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Order from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"order_index": obj.get("order_index"),
|
|
||||||
"client_order_index": obj.get("client_order_index"),
|
|
||||||
"order_id": obj.get("order_id"),
|
|
||||||
"client_order_id": obj.get("client_order_id"),
|
|
||||||
"market_index": obj.get("market_index"),
|
|
||||||
"owner_account_index": obj.get("owner_account_index"),
|
|
||||||
"initial_base_amount": obj.get("initial_base_amount"),
|
|
||||||
"price": obj.get("price"),
|
|
||||||
"nonce": obj.get("nonce"),
|
|
||||||
"remaining_base_amount": obj.get("remaining_base_amount"),
|
|
||||||
"is_ask": obj.get("is_ask"),
|
|
||||||
"base_size": obj.get("base_size"),
|
|
||||||
"base_price": obj.get("base_price"),
|
|
||||||
"filled_base_amount": obj.get("filled_base_amount"),
|
|
||||||
"filled_quote_amount": obj.get("filled_quote_amount"),
|
|
||||||
"side": obj.get("side") if obj.get("side") is not None else 'buy',
|
|
||||||
"type": obj.get("type"),
|
|
||||||
"time_in_force": obj.get("time_in_force") if obj.get("time_in_force") is not None else 'good-till-time',
|
|
||||||
"reduce_only": obj.get("reduce_only"),
|
|
||||||
"trigger_price": obj.get("trigger_price"),
|
|
||||||
"order_expiry": obj.get("order_expiry"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"trigger_status": obj.get("trigger_status"),
|
|
||||||
"trigger_time": obj.get("trigger_time"),
|
|
||||||
"parent_order_index": obj.get("parent_order_index"),
|
|
||||||
"parent_order_id": obj.get("parent_order_id"),
|
|
||||||
"to_trigger_order_id_0": obj.get("to_trigger_order_id_0"),
|
|
||||||
"to_trigger_order_id_1": obj.get("to_trigger_order_id_1"),
|
|
||||||
"to_cancel_order_id_0": obj.get("to_cancel_order_id_0"),
|
|
||||||
"block_height": obj.get("block_height"),
|
|
||||||
"timestamp": obj.get("timestamp")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBook(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBook
|
|
||||||
""" # noqa: E501
|
|
||||||
symbol: StrictStr
|
|
||||||
market_id: StrictInt
|
|
||||||
status: StrictStr
|
|
||||||
taker_fee: StrictStr
|
|
||||||
maker_fee: StrictStr
|
|
||||||
liquidation_fee: StrictStr
|
|
||||||
min_base_amount: StrictStr
|
|
||||||
min_quote_amount: StrictStr
|
|
||||||
supported_size_decimals: StrictInt
|
|
||||||
supported_price_decimals: StrictInt
|
|
||||||
supported_quote_decimals: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["symbol", "market_id", "status", "taker_fee", "maker_fee", "liquidation_fee", "min_base_amount", "min_quote_amount", "supported_size_decimals", "supported_price_decimals", "supported_quote_decimals"]
|
|
||||||
|
|
||||||
@field_validator('status')
|
|
||||||
def status_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['inactive', 'frozen', 'active']):
|
|
||||||
raise ValueError("must be one of enum values ('inactive', 'frozen', 'active')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBook from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBook from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"symbol": obj.get("symbol"),
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"taker_fee": obj.get("taker_fee"),
|
|
||||||
"maker_fee": obj.get("maker_fee"),
|
|
||||||
"liquidation_fee": obj.get("liquidation_fee"),
|
|
||||||
"min_base_amount": obj.get("min_base_amount"),
|
|
||||||
"min_quote_amount": obj.get("min_quote_amount"),
|
|
||||||
"supported_size_decimals": obj.get("supported_size_decimals"),
|
|
||||||
"supported_price_decimals": obj.get("supported_price_decimals"),
|
|
||||||
"supported_quote_decimals": obj.get("supported_quote_decimals")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,123 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.price_level import PriceLevel
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBookDepth(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBookDepth
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
asks: List[PriceLevel]
|
|
||||||
bids: List[PriceLevel]
|
|
||||||
offset: StrictInt
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "asks", "bids", "offset"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDepth from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in asks (list)
|
|
||||||
_items = []
|
|
||||||
if self.asks:
|
|
||||||
for _item in self.asks:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['asks'] = _items
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in bids (list)
|
|
||||||
_items = []
|
|
||||||
if self.bids:
|
|
||||||
for _item in self.bids:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['bids'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDepth from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"asks": [PriceLevel.from_dict(_item) for _item in obj["asks"]] if obj.get("asks") is not None else None,
|
|
||||||
"bids": [PriceLevel.from_dict(_item) for _item in obj["bids"]] if obj.get("bids") is not None else None,
|
|
||||||
"offset": obj.get("offset")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBookDetail(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBookDetail
|
|
||||||
""" # noqa: E501
|
|
||||||
symbol: StrictStr
|
|
||||||
market_id: StrictInt
|
|
||||||
status: StrictStr
|
|
||||||
taker_fee: StrictStr
|
|
||||||
maker_fee: StrictStr
|
|
||||||
liquidation_fee: StrictStr
|
|
||||||
min_base_amount: StrictStr
|
|
||||||
min_quote_amount: StrictStr
|
|
||||||
supported_size_decimals: StrictInt
|
|
||||||
supported_price_decimals: StrictInt
|
|
||||||
supported_quote_decimals: StrictInt
|
|
||||||
size_decimals: StrictInt
|
|
||||||
price_decimals: StrictInt
|
|
||||||
quote_multiplier: StrictInt
|
|
||||||
default_initial_margin_fraction: StrictInt
|
|
||||||
min_initial_margin_fraction: StrictInt
|
|
||||||
maintenance_margin_fraction: StrictInt
|
|
||||||
closeout_margin_fraction: StrictInt
|
|
||||||
last_trade_price: Union[StrictFloat, StrictInt]
|
|
||||||
daily_trades_count: StrictInt
|
|
||||||
daily_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_low: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_high: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_change: Union[StrictFloat, StrictInt]
|
|
||||||
open_interest: Union[StrictFloat, StrictInt]
|
|
||||||
daily_chart: Dict[str, Union[StrictFloat, StrictInt]]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["symbol", "market_id", "status", "taker_fee", "maker_fee", "liquidation_fee", "min_base_amount", "min_quote_amount", "supported_size_decimals", "supported_price_decimals", "supported_quote_decimals", "size_decimals", "price_decimals", "quote_multiplier", "default_initial_margin_fraction", "min_initial_margin_fraction", "maintenance_margin_fraction", "closeout_margin_fraction", "last_trade_price", "daily_trades_count", "daily_base_token_volume", "daily_quote_token_volume", "daily_price_low", "daily_price_high", "daily_price_change", "open_interest", "daily_chart"]
|
|
||||||
|
|
||||||
@field_validator('status')
|
|
||||||
def status_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['inactive', 'frozen', 'active']):
|
|
||||||
raise ValueError("must be one of enum values ('inactive', 'frozen', 'active')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDetail from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDetail from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"symbol": obj.get("symbol"),
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"taker_fee": obj.get("taker_fee"),
|
|
||||||
"maker_fee": obj.get("maker_fee"),
|
|
||||||
"liquidation_fee": obj.get("liquidation_fee"),
|
|
||||||
"min_base_amount": obj.get("min_base_amount"),
|
|
||||||
"min_quote_amount": obj.get("min_quote_amount"),
|
|
||||||
"supported_size_decimals": obj.get("supported_size_decimals"),
|
|
||||||
"supported_price_decimals": obj.get("supported_price_decimals"),
|
|
||||||
"supported_quote_decimals": obj.get("supported_quote_decimals"),
|
|
||||||
"size_decimals": obj.get("size_decimals"),
|
|
||||||
"price_decimals": obj.get("price_decimals"),
|
|
||||||
"quote_multiplier": obj.get("quote_multiplier"),
|
|
||||||
"default_initial_margin_fraction": obj.get("default_initial_margin_fraction"),
|
|
||||||
"min_initial_margin_fraction": obj.get("min_initial_margin_fraction"),
|
|
||||||
"maintenance_margin_fraction": obj.get("maintenance_margin_fraction"),
|
|
||||||
"closeout_margin_fraction": obj.get("closeout_margin_fraction"),
|
|
||||||
"last_trade_price": obj.get("last_trade_price"),
|
|
||||||
"daily_trades_count": obj.get("daily_trades_count"),
|
|
||||||
"daily_base_token_volume": obj.get("daily_base_token_volume"),
|
|
||||||
"daily_quote_token_volume": obj.get("daily_quote_token_volume"),
|
|
||||||
"daily_price_low": obj.get("daily_price_low"),
|
|
||||||
"daily_price_high": obj.get("daily_price_high"),
|
|
||||||
"daily_price_change": obj.get("daily_price_change"),
|
|
||||||
"open_interest": obj.get("open_interest"),
|
|
||||||
"daily_chart": obj.get("daily_chart")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.order_book_detail import OrderBookDetail
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBookDetails(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBookDetails
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
order_book_details: List[OrderBookDetail]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "order_book_details"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDetails from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in order_book_details (list)
|
|
||||||
_items = []
|
|
||||||
if self.order_book_details:
|
|
||||||
for _item in self.order_book_details:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['order_book_details'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookDetails from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"order_book_details": [OrderBookDetail.from_dict(_item) for _item in obj["order_book_details"]] if obj.get("order_book_details") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.simple_order import SimpleOrder
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBookOrders(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBookOrders
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
total_asks: StrictInt
|
|
||||||
asks: List[SimpleOrder]
|
|
||||||
total_bids: StrictInt
|
|
||||||
bids: List[SimpleOrder]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "total_asks", "asks", "total_bids", "bids"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookOrders from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in asks (list)
|
|
||||||
_items = []
|
|
||||||
if self.asks:
|
|
||||||
for _item in self.asks:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['asks'] = _items
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in bids (list)
|
|
||||||
_items = []
|
|
||||||
if self.bids:
|
|
||||||
for _item in self.bids:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['bids'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookOrders from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"total_asks": obj.get("total_asks"),
|
|
||||||
"asks": [SimpleOrder.from_dict(_item) for _item in obj["asks"]] if obj.get("asks") is not None else None,
|
|
||||||
"total_bids": obj.get("total_bids"),
|
|
||||||
"bids": [SimpleOrder.from_dict(_item) for _item in obj["bids"]] if obj.get("bids") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBookStats(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBookStats
|
|
||||||
""" # noqa: E501
|
|
||||||
symbol: StrictStr
|
|
||||||
last_trade_price: Union[StrictFloat, StrictInt]
|
|
||||||
daily_trades_count: StrictInt
|
|
||||||
daily_base_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_quote_token_volume: Union[StrictFloat, StrictInt]
|
|
||||||
daily_price_change: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["symbol", "last_trade_price", "daily_trades_count", "daily_base_token_volume", "daily_quote_token_volume", "daily_price_change"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookStats from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBookStats from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"symbol": obj.get("symbol"),
|
|
||||||
"last_trade_price": obj.get("last_trade_price"),
|
|
||||||
"daily_trades_count": obj.get("daily_trades_count"),
|
|
||||||
"daily_base_token_volume": obj.get("daily_base_token_volume"),
|
|
||||||
"daily_quote_token_volume": obj.get("daily_quote_token_volume"),
|
|
||||||
"daily_price_change": obj.get("daily_price_change")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.order_book import OrderBook
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class OrderBooks(BaseModel):
|
|
||||||
"""
|
|
||||||
OrderBooks
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
order_books: List[OrderBook]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "order_books"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBooks from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in order_books (list)
|
|
||||||
_items = []
|
|
||||||
if self.order_books:
|
|
||||||
for _item in self.order_books:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['order_books'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of OrderBooks from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"order_books": [OrderBook.from_dict(_item) for _item in obj["order_books"]] if obj.get("order_books") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.order import Order
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class Orders(BaseModel):
|
|
||||||
"""
|
|
||||||
Orders
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
next_cursor: Optional[StrictStr] = None
|
|
||||||
orders: List[Order]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "next_cursor", "orders"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of Orders from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in orders (list)
|
|
||||||
_items = []
|
|
||||||
if self.orders:
|
|
||||||
for _item in self.orders:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['orders'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of Orders from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"next_cursor": obj.get("next_cursor"),
|
|
||||||
"orders": [Order.from_dict(_item) for _item in obj["orders"]] if obj.get("orders") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PnLEntry(BaseModel):
|
|
||||||
"""
|
|
||||||
PnLEntry
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
trade_pnl: Union[StrictFloat, StrictInt]
|
|
||||||
inflow: Union[StrictFloat, StrictInt]
|
|
||||||
outflow: Union[StrictFloat, StrictInt]
|
|
||||||
pool_pnl: Union[StrictFloat, StrictInt]
|
|
||||||
pool_inflow: Union[StrictFloat, StrictInt]
|
|
||||||
pool_outflow: Union[StrictFloat, StrictInt]
|
|
||||||
pool_total_shares: Union[StrictFloat, StrictInt]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "trade_pnl", "inflow", "outflow", "pool_pnl", "pool_inflow", "pool_outflow", "pool_total_shares"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PnLEntry from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PnLEntry from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"trade_pnl": obj.get("trade_pnl"),
|
|
||||||
"inflow": obj.get("inflow"),
|
|
||||||
"outflow": obj.get("outflow"),
|
|
||||||
"pool_pnl": obj.get("pool_pnl"),
|
|
||||||
"pool_inflow": obj.get("pool_inflow"),
|
|
||||||
"pool_outflow": obj.get("pool_outflow"),
|
|
||||||
"pool_total_shares": obj.get("pool_total_shares")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PositionFunding(BaseModel):
|
|
||||||
"""
|
|
||||||
PositionFunding
|
|
||||||
""" # noqa: E501
|
|
||||||
timestamp: StrictInt
|
|
||||||
market_id: StrictInt
|
|
||||||
funding_id: StrictInt
|
|
||||||
change: StrictStr
|
|
||||||
rate: StrictStr
|
|
||||||
position_size: StrictStr
|
|
||||||
position_side: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["timestamp", "market_id", "funding_id", "change", "rate", "position_size", "position_side"]
|
|
||||||
|
|
||||||
@field_validator('position_side')
|
|
||||||
def position_side_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['long', 'short']):
|
|
||||||
raise ValueError("must be one of enum values ('long', 'short')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PositionFunding from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PositionFunding from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"timestamp": obj.get("timestamp"),
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"funding_id": obj.get("funding_id"),
|
|
||||||
"change": obj.get("change"),
|
|
||||||
"rate": obj.get("rate"),
|
|
||||||
"position_size": obj.get("position_size"),
|
|
||||||
"position_side": obj.get("position_side")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.position_funding import PositionFunding
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PositionFundings(BaseModel):
|
|
||||||
"""
|
|
||||||
PositionFundings
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
position_fundings: List[PositionFunding]
|
|
||||||
next_cursor: Optional[StrictStr] = None
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "position_fundings", "next_cursor"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PositionFundings from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in position_fundings (list)
|
|
||||||
_items = []
|
|
||||||
if self.position_fundings:
|
|
||||||
for _item in self.position_fundings:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['position_fundings'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PositionFundings from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"position_fundings": [PositionFunding.from_dict(_item) for _item in obj["position_fundings"]] if obj.get("position_fundings") is not None else None,
|
|
||||||
"next_cursor": obj.get("next_cursor")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PriceLevel(BaseModel):
|
|
||||||
"""
|
|
||||||
PriceLevel
|
|
||||||
""" # noqa: E501
|
|
||||||
price: StrictStr
|
|
||||||
size: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["price", "size"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PriceLevel from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PriceLevel from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"price": obj.get("price"),
|
|
||||||
"size": obj.get("size")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,148 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.public_pool_info import PublicPoolInfo
|
|
||||||
from lighter.models.public_pool_share import PublicPoolShare
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PublicPool(BaseModel):
|
|
||||||
"""
|
|
||||||
PublicPool
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
account_type: StrictInt
|
|
||||||
index: StrictInt
|
|
||||||
l1_address: StrictStr
|
|
||||||
cancel_all_time: StrictInt
|
|
||||||
total_order_count: StrictInt
|
|
||||||
total_isolated_order_count: StrictInt
|
|
||||||
pending_order_count: StrictInt
|
|
||||||
available_balance: StrictStr
|
|
||||||
status: StrictInt
|
|
||||||
collateral: StrictStr
|
|
||||||
account_index: StrictInt
|
|
||||||
name: StrictStr
|
|
||||||
description: StrictStr
|
|
||||||
can_invite: StrictBool = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
referral_points_percentage: StrictStr = Field(description=" Remove After FE uses L1 meta endpoint")
|
|
||||||
total_asset_value: StrictStr
|
|
||||||
cross_asset_value: StrictStr
|
|
||||||
pool_info: PublicPoolInfo
|
|
||||||
account_share: Optional[PublicPoolShare] = None
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "account_type", "index", "l1_address", "cancel_all_time", "total_order_count", "total_isolated_order_count", "pending_order_count", "available_balance", "status", "collateral", "account_index", "name", "description", "can_invite", "referral_points_percentage", "total_asset_value", "cross_asset_value", "pool_info", "account_share"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPool from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of pool_info
|
|
||||||
if self.pool_info:
|
|
||||||
_dict['pool_info'] = self.pool_info.to_dict()
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of account_share
|
|
||||||
if self.account_share:
|
|
||||||
_dict['account_share'] = self.account_share.to_dict()
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPool from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"account_type": obj.get("account_type"),
|
|
||||||
"index": obj.get("index"),
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"cancel_all_time": obj.get("cancel_all_time"),
|
|
||||||
"total_order_count": obj.get("total_order_count"),
|
|
||||||
"total_isolated_order_count": obj.get("total_isolated_order_count"),
|
|
||||||
"pending_order_count": obj.get("pending_order_count"),
|
|
||||||
"available_balance": obj.get("available_balance"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"collateral": obj.get("collateral"),
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"description": obj.get("description"),
|
|
||||||
"can_invite": obj.get("can_invite"),
|
|
||||||
"referral_points_percentage": obj.get("referral_points_percentage"),
|
|
||||||
"total_asset_value": obj.get("total_asset_value"),
|
|
||||||
"cross_asset_value": obj.get("cross_asset_value"),
|
|
||||||
"pool_info": PublicPoolInfo.from_dict(obj["pool_info"]) if obj.get("pool_info") is not None else None,
|
|
||||||
"account_share": PublicPoolShare.from_dict(obj["account_share"]) if obj.get("account_share") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Union
|
|
||||||
from lighter.models.daily_return import DailyReturn
|
|
||||||
from lighter.models.share_price import SharePrice
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PublicPoolInfo(BaseModel):
|
|
||||||
"""
|
|
||||||
PublicPoolInfo
|
|
||||||
""" # noqa: E501
|
|
||||||
status: StrictInt
|
|
||||||
operator_fee: StrictStr
|
|
||||||
min_operator_share_rate: StrictStr
|
|
||||||
total_shares: StrictInt
|
|
||||||
operator_shares: StrictInt
|
|
||||||
annual_percentage_yield: Union[StrictFloat, StrictInt]
|
|
||||||
daily_returns: List[DailyReturn]
|
|
||||||
share_prices: List[SharePrice]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["status", "operator_fee", "min_operator_share_rate", "total_shares", "operator_shares", "annual_percentage_yield", "daily_returns", "share_prices"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolInfo from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in daily_returns (list)
|
|
||||||
_items = []
|
|
||||||
if self.daily_returns:
|
|
||||||
for _item in self.daily_returns:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['daily_returns'] = _items
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in share_prices (list)
|
|
||||||
_items = []
|
|
||||||
if self.share_prices:
|
|
||||||
for _item in self.share_prices:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['share_prices'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolInfo from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"operator_fee": obj.get("operator_fee"),
|
|
||||||
"min_operator_share_rate": obj.get("min_operator_share_rate"),
|
|
||||||
"total_shares": obj.get("total_shares"),
|
|
||||||
"operator_shares": obj.get("operator_shares"),
|
|
||||||
"annual_percentage_yield": obj.get("annual_percentage_yield"),
|
|
||||||
"daily_returns": [DailyReturn.from_dict(_item) for _item in obj["daily_returns"]] if obj.get("daily_returns") is not None else None,
|
|
||||||
"share_prices": [SharePrice.from_dict(_item) for _item in obj["share_prices"]] if obj.get("share_prices") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,126 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
||||||
from lighter.models.public_pool_share import PublicPoolShare
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PublicPoolMetadata(BaseModel):
|
|
||||||
"""
|
|
||||||
PublicPoolMetadata
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
account_index: StrictInt
|
|
||||||
account_type: StrictInt
|
|
||||||
name: StrictStr
|
|
||||||
l1_address: StrictStr
|
|
||||||
annual_percentage_yield: Union[StrictFloat, StrictInt]
|
|
||||||
status: StrictInt
|
|
||||||
operator_fee: StrictStr
|
|
||||||
total_asset_value: StrictStr
|
|
||||||
total_shares: StrictInt
|
|
||||||
account_share: Optional[PublicPoolShare] = None
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "account_index", "account_type", "name", "l1_address", "annual_percentage_yield", "status", "operator_fee", "total_asset_value", "total_shares", "account_share"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolMetadata from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of account_share
|
|
||||||
if self.account_share:
|
|
||||||
_dict['account_share'] = self.account_share.to_dict()
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolMetadata from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"account_index": obj.get("account_index"),
|
|
||||||
"account_type": obj.get("account_type"),
|
|
||||||
"name": obj.get("name"),
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"annual_percentage_yield": obj.get("annual_percentage_yield"),
|
|
||||||
"status": obj.get("status"),
|
|
||||||
"operator_fee": obj.get("operator_fee"),
|
|
||||||
"total_asset_value": obj.get("total_asset_value"),
|
|
||||||
"total_shares": obj.get("total_shares"),
|
|
||||||
"account_share": PublicPoolShare.from_dict(obj["account_share"]) if obj.get("account_share") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PublicPoolShare(BaseModel):
|
|
||||||
"""
|
|
||||||
PublicPoolShare
|
|
||||||
""" # noqa: E501
|
|
||||||
public_pool_index: StrictInt
|
|
||||||
shares_amount: StrictInt
|
|
||||||
entry_usdc: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["public_pool_index", "shares_amount", "entry_usdc"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolShare from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPoolShare from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"public_pool_index": obj.get("public_pool_index"),
|
|
||||||
"shares_amount": obj.get("shares_amount"),
|
|
||||||
"entry_usdc": obj.get("entry_usdc")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,114 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from lighter.models.public_pool import PublicPool
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class PublicPools(BaseModel):
|
|
||||||
"""
|
|
||||||
PublicPools
|
|
||||||
""" # noqa: E501
|
|
||||||
code: StrictInt
|
|
||||||
message: Optional[StrictStr] = None
|
|
||||||
total: StrictInt
|
|
||||||
public_pools: List[PublicPool]
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["code", "message", "total", "public_pools"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPools from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in public_pools (list)
|
|
||||||
_items = []
|
|
||||||
if self.public_pools:
|
|
||||||
for _item in self.public_pools:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['public_pools'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of PublicPools from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"code": obj.get("code"),
|
|
||||||
"message": obj.get("message"),
|
|
||||||
"total": obj.get("total"),
|
|
||||||
"public_pools": [PublicPool.from_dict(_item) for _item in obj["public_pools"]] if obj.get("public_pools") is not None else None
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,110 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ReferralPointEntry(BaseModel):
|
|
||||||
"""
|
|
||||||
ReferralPointEntry
|
|
||||||
""" # noqa: E501
|
|
||||||
l1_address: StrictStr
|
|
||||||
total_points: StrictInt
|
|
||||||
week_points: StrictInt
|
|
||||||
total_reward_points: StrictInt
|
|
||||||
week_reward_points: StrictInt
|
|
||||||
reward_point_multiplier: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["l1_address", "total_points", "week_points", "total_reward_points", "week_reward_points", "reward_point_multiplier"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReferralPointEntry from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReferralPointEntry from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"l1_address": obj.get("l1_address"),
|
|
||||||
"total_points": obj.get("total_points"),
|
|
||||||
"week_points": obj.get("week_points"),
|
|
||||||
"total_reward_points": obj.get("total_reward_points"),
|
|
||||||
"week_reward_points": obj.get("week_reward_points"),
|
|
||||||
"reward_point_multiplier": obj.get("reward_point_multiplier")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from lighter.models.referral_point_entry import ReferralPointEntry
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ReferralPoints(BaseModel):
|
|
||||||
"""
|
|
||||||
ReferralPoints
|
|
||||||
""" # noqa: E501
|
|
||||||
referrals: List[ReferralPointEntry]
|
|
||||||
user_total_points: StrictInt
|
|
||||||
user_last_week_points: StrictInt
|
|
||||||
user_total_referral_reward_points: StrictInt
|
|
||||||
user_last_week_referral_reward_points: StrictInt
|
|
||||||
reward_point_multiplier: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["referrals", "user_total_points", "user_last_week_points", "user_total_referral_reward_points", "user_last_week_referral_reward_points", "reward_point_multiplier"]
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReferralPoints from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# override the default output from pydantic by calling `to_dict()` of each item in referrals (list)
|
|
||||||
_items = []
|
|
||||||
if self.referrals:
|
|
||||||
for _item in self.referrals:
|
|
||||||
if _item:
|
|
||||||
_items.append(_item.to_dict())
|
|
||||||
_dict['referrals'] = _items
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReferralPoints from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"referrals": [ReferralPointEntry.from_dict(_item) for _item in obj["referrals"]] if obj.get("referrals") is not None else None,
|
|
||||||
"user_total_points": obj.get("user_total_points"),
|
|
||||||
"user_last_week_points": obj.get("user_last_week_points"),
|
|
||||||
"user_total_referral_reward_points": obj.get("user_total_referral_reward_points"),
|
|
||||||
"user_last_week_referral_reward_points": obj.get("user_last_week_referral_reward_points"),
|
|
||||||
"reward_point_multiplier": obj.get("reward_point_multiplier")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ReqExportData(BaseModel):
|
|
||||||
"""
|
|
||||||
ReqExportData
|
|
||||||
""" # noqa: E501
|
|
||||||
auth: Optional[StrictStr] = None
|
|
||||||
account_index: Optional[StrictInt] = -1
|
|
||||||
market_id: Optional[StrictInt] = None
|
|
||||||
type: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["auth", "account_index", "market_id", "type"]
|
|
||||||
|
|
||||||
@field_validator('type')
|
|
||||||
def type_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['funding', 'trade']):
|
|
||||||
raise ValueError("must be one of enum values ('funding', 'trade')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReqExportData from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReqExportData from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"auth": obj.get("auth"),
|
|
||||||
"account_index": obj.get("account_index") if obj.get("account_index") is not None else -1,
|
|
||||||
"market_id": obj.get("market_id"),
|
|
||||||
"type": obj.get("type")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
# coding: utf-8
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
||||||
|
|
||||||
The version of the OpenAPI document:
|
|
||||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
||||||
|
|
||||||
Do not edit the class manually.
|
|
||||||
""" # noqa: E501
|
|
||||||
|
|
||||||
|
|
||||||
from __future__ import annotations
|
|
||||||
import pprint
|
|
||||||
import re # noqa: F401
|
|
||||||
import json
|
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, StrictStr, field_validator
|
|
||||||
from typing import Any, ClassVar, Dict, List
|
|
||||||
from typing import Optional, Set
|
|
||||||
from typing_extensions import Self
|
|
||||||
|
|
||||||
class ReqGetAccount(BaseModel):
|
|
||||||
"""
|
|
||||||
ReqGetAccount
|
|
||||||
""" # noqa: E501
|
|
||||||
by: StrictStr
|
|
||||||
value: StrictStr
|
|
||||||
additional_properties: Dict[str, Any] = {}
|
|
||||||
__properties: ClassVar[List[str]] = ["by", "value"]
|
|
||||||
|
|
||||||
@field_validator('by')
|
|
||||||
def by_validate_enum(cls, value):
|
|
||||||
"""Validates the enum"""
|
|
||||||
if value not in set(['index', 'l1_address']):
|
|
||||||
raise ValueError("must be one of enum values ('index', 'l1_address')")
|
|
||||||
return value
|
|
||||||
|
|
||||||
model_config = ConfigDict(
|
|
||||||
populate_by_name=True,
|
|
||||||
validate_assignment=True,
|
|
||||||
protected_namespaces=(),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def to_str(self) -> str:
|
|
||||||
"""Returns the string representation of the model using alias"""
|
|
||||||
return pprint.pformat(self.model_dump(by_alias=True))
|
|
||||||
|
|
||||||
def to_json(self) -> str:
|
|
||||||
"""Returns the JSON representation of the model using alias"""
|
|
||||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
||||||
return json.dumps(self.to_dict())
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReqGetAccount from a JSON string"""
|
|
||||||
return cls.from_dict(json.loads(json_str))
|
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
|
||||||
"""Return the dictionary representation of the model using alias.
|
|
||||||
|
|
||||||
This has the following differences from calling pydantic's
|
|
||||||
`self.model_dump(by_alias=True)`:
|
|
||||||
|
|
||||||
* `None` is only added to the output dict for nullable fields that
|
|
||||||
were set at model initialization. Other fields with value `None`
|
|
||||||
are ignored.
|
|
||||||
* Fields in `self.additional_properties` are added to the output dict.
|
|
||||||
"""
|
|
||||||
excluded_fields: Set[str] = set([
|
|
||||||
"additional_properties",
|
|
||||||
])
|
|
||||||
|
|
||||||
_dict = self.model_dump(
|
|
||||||
by_alias=True,
|
|
||||||
exclude=excluded_fields,
|
|
||||||
exclude_none=True,
|
|
||||||
)
|
|
||||||
# puts key-value pairs in additional_properties in the top level
|
|
||||||
if self.additional_properties is not None:
|
|
||||||
for _key, _value in self.additional_properties.items():
|
|
||||||
_dict[_key] = _value
|
|
||||||
|
|
||||||
return _dict
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
||||||
"""Create an instance of ReqGetAccount from a dict"""
|
|
||||||
if obj is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not isinstance(obj, dict):
|
|
||||||
return cls.model_validate(obj)
|
|
||||||
|
|
||||||
_obj = cls.model_validate({
|
|
||||||
"by": obj.get("by"),
|
|
||||||
"value": obj.get("value")
|
|
||||||
})
|
|
||||||
# store additional fields in additional_properties
|
|
||||||
for _key in obj.keys():
|
|
||||||
if _key not in cls.__properties:
|
|
||||||
_obj.additional_properties[_key] = obj.get(_key)
|
|
||||||
|
|
||||||
return _obj
|
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user