-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: max create multiple items #1014
Conversation
@@ -135,7 +135,7 @@ pub const MAX_TOKEN_PROPERTIES_SIZE: u32 = 32768; | |||
|
|||
/// How much items can be created per single | |||
/// create_many call. | |||
pub const MAX_ITEMS_PER_BATCH: u32 = 200; | |||
pub const MAX_ITEMS_PER_BATCH: u32 = 120; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Уменьшать? А зачем?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это нужно для того, чтобы гарантировать пользователю, что заявленный максимум достижим при любых объемах данных. Можно наминтить 120 токенов даже при 32К пропертей на каждый токен в рамках одной create_multiple_items транзакции.
Используя nonce можно послать множество таких транзакций за раз, если данных меньше, чем 32К
CC @uandysmith
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нельзя, потому что в блоке может уже быть другая create_multiple_items
транзакция, и для этой не хватит места, так что мотивация не совсем
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Если у тебя 1К вместо 32К на каждый токен, то в один блок можно поместить несколько create_multiple_items
.
Важно, что в рамках create_multiple_items есть гарантия на 120 токенов при любом размере пропертей в рамках этой транзакции
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Энивей, @uandysmith может объяснить мотивацию лучше
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Она в этом случае разве отвергнется, а не останется ждать следующего блока? По-идее будет ждать в пуле, пока места не хватит для нее.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Всякое бывает, банально время жизни может истечь, так что это не гарантия
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Меня больше смущает что число очень arbitrary, а изменение по сути ломающее
У нас же будет скоро async backing, оно снова вырастет
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Вроде не особо ломающее, нас в целом никто не заставляет держать какой-то конкретный лимит для одного этого экстринзика. Можно несколько таких экстринзиков через nonce (не упадет) или через utility.batch (упадет) в крайнем случае.
Выбрали просто нейтральное число, которое безопасно с большинстве случаев
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Окей, ради теста заберу, но изменение лимита какое-то странное, и мотивация меня всё таки не убеждает)
No description provided.