Бинарный формат ордера

Подробнее об ордере читайте на странице Биржевая заявка

В транзакции обмена версии 2 могут использоваться версии 3, 2 и 1 ордера.

В транзакции обмена версии 1 может использоваться только версия 1 ордера.

Ордер версии 3

Порядковый номер поля Название поля Название JSON-поля Тип поля Размер поля в байтах Описание поля
1 Номер версии бинарного формата ордера version Byte 1 Значение должно быть равно 3
2 Открытый ключ отправителя ордера senderPublicKey Array[Byte] 32
3 Открытый ключ матчера matcherPublicKey Array[Byte] 32
4.1 Флаг токена Б Short 1 Если токен WAVES, то значение 0, иначе — 1
4.2 ID токена Б amountAsset Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
5.1 Флаг токена А Short 1 Если токен WAVES, то значение 0, иначе — 1
5.2 ID токена А priceAsset Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
6 Тип ордера orderType Byte 1 Если ордер на покупку, то значение 0, если на продажу — 1
7 Количество токена Б, которое отправитель ордера предлагает за один токен А price Long 8
8 Количество токена А, которое отправитель ордера хочет купить или продать в зависимости от типа ордера amount Long 8
9 Количество миллисекунд с начала эпохи Unix до момента валидации ордера матчером timestamp Long 8
10 Количество миллисекунд с начала эпохи Unix до момента отмены невыполненного ордера expiration Long 8
11 Комиссия матчера matcherFee Long 8
12 Флаг токена комиссии матчера Byte 1 Если токен WAVES, то значение 0, иначе — 1
13 Токен комиссии матчера matcherFeeAssetId Array[Byte] F Если токен комиссии не WAVES, то F = 32, иначе — поле не должно присутствовать в бинарном формате
14 Подтверждения proofs Array[Подтверждение] S Если массив пустой, то S = 3.
Если массив не пустой, то S = 3 + 2 × N + (P1 + P2 + ... + Pn),
где
N — количество подтверждений в массиве,
Pn — размер N-го подтверждения в байтах.
Максимальное количество подтверждений в массиве — 8. Максимальный размер каждого подтверждения — 64 байта

JSON-представление ордера версии 3

{
  "version": 3,
  "senderPublicKey": "FMc1iASTGwTC1tDwiKtrVHtdMkrVJ1S3rEBQifEdHnT2",
  "matcherPublicKey": "7kPFrHDiGw1rCm7LPszuECwWYL3dMf6iMifLRDJQZMzy",
  "assetPair": {
    "amountAsset": "BrjUWjndUanm5VsJkbUip8VRYy6LWJePtxya3FNv4TQa",
    "priceAsset": null
  },
  "orderType": "buy",
  "amount": 150000000,
  "timestamp": 1548660872383,
  "expiration": 1551252872383,
  "matcherFee": 300000,
  "proofs": [
    "YNPdPqEUGRW42bFyGqJ8VLHHBYnpukna3NSin26ERZargGEboAhjygenY67gKNgvP5nm5ZV8VGZW3bNtejSKGEa"
  ],
  "id": "Ho6Y16AKDrySs5VTa983kjg3yCx32iDzDHpDJ5iabXka",
  "sender": "3PEFvFmyyZC1n4sfNWq6iwAVhzUT87RTFcA",
  "price": 1799925005,

}

Ордер версии 2

Порядковый номер поля Название поля Тип поля Размер поля в байтах Описание поля
1 Номер версии бинарного формата ордера Byte 1 Значение должно быть равно 2
2 Открытый ключ отправителя ордера Array[Byte] 32
3 Открытый ключ матчера Array[Byte] 32
4.1 Флаг токена А Short 1 Если токен WAVES, то значение 0, иначе — 1
4.2 ID токена А Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
5.1 Флаг токена Б Short 1 Если токен WAVES, то значение 0, иначе — 1
5.2 ID токена Б Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
6 Тип ордера Byte 1 Если ордер на покупку, то значение 0, если на продажу — 1
7 Количество токена А Long 8 Количество токена А, которое отправитель ордера предлагает за один токен Б
8 Количество токена Б Long 8 Количество токена Б, которое отправитель ордера хочет купить
9 Количество миллисекунд с начала эпохи Unix до момента валидации ордера матчером Long 8
10 Количество миллисекунд с начала эпохи Unix до момента отмены невыполненного ордера Long 8 Максимальное значение: время отправки ордера + 30 дней
11 Комиссия матчера Long 8
12 Подтверждения Array[Подтверждение] S Если массив пустой, то S = 3.
Если массив не пустой, то S = 3 + 2 × N + (P1 + P2 + ... + Pn),
где
N — количество подтверждений в массиве,
Pn — размер N-го подтверждения в байтах.
Максимальное количество подтверждений в массиве — 8. Максимальный размер каждого подтверждения — 64 байта

Ордер версии 1

Порядковый номер поля Название поля Тип поля Размер поля в байтах Описание поля
1 Открытый ключ отправителя ордера Array[Byte] 32
2 Открытый ключ матчера Array[Byte] 32
3.1 Флаг токена A Byte 1 Если WAVES, то значение 0, иначе — 1
3.2 ID токена А Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
4.1 Флаг токена Б Byte 1 Если WAVES, то значение 0, иначе — 1
4.2 ID токена Б Array[Byte] S Если токен не WAVES, то S = 32, иначе — поле не должно присутствовать в бинарном формате
5 Тип ордера Byte 1 Если ордер на покупку, то значение 0, если на продажу — 1
6 Количество токена А, которое отправитель ордера предлагает за единицу токена Б Long 8
7 Количество токена Б, которое отправитель ордера хочет купить Long 8
8 Количество миллисекунд с начала эпохи Unix до момента валидации ордера матчером Long 8
9 Количество миллисекунд с начала эпохи Unix до момента отмены невыполненного ордера Long 8
10 Комиссия матчера Long 8
11 Подпись отправителя ордера Array[Byte] 64

results matching ""

    No results matching ""