Changelog
v19.0.0
devnet:
mainnet:
This release includes breaking changes to atomic actions as well as backend support for our upcoming RFQ feature.
- BREAKING protobuf: Atomic V2 is removed.
Action.atomic_v2,AtomicV2,AtomicSubactionV2, andAtomicPlacementRequestare no longer available. Regenerate your protobuf bindings and sendAction.atomic.- Put each
AtomicSubactiondirectly inAtomic.actions. - Replace
delegator_account_idwithtarget_account_id. (field number remains32) - Move
ReduceOrderLiquidation.target_account_idto its parentAtomicSubaction. - For self-targeted actions, omit
target_account_idanduse_key. - For vault actions, use
vault_account_idas the target and setuse_key = true. - For liquidation actions, use the liquidation account ID as the target and leave
use_keyunset orfalse.
- Put each
- BREAKING protobuf:
VAULT_PREVIOUS_EPOCH_WITHDRAWALS_NOT_PAYABLEis removed from theErrorenum. - protobuf:
SpecialAccountnow includesCLAIM_VAULT.VaultSyncEpochsReceiptnow includesvault_account_id. - BREAKING ts: Atomic subactions now use
targetAccountIdanduseKey. RemovedelegatorAccountIdandplacement. - BREAKING ts: Use
await nord.getProtonClient(). Direct access throughnord.protonClientis no longer available. Proton initialization now starts on first use. - BREAKING api:
GET /account/systemnow returns{ actionId, feeVault, claimVault }. It previously returned the fee-vault balance array. - api: Trade and order history responses now include
marketMode. - ws: Account
fillskeys now useorderId:makerId:rawPrice. Code that readsObject.values(fills)continues to work. Code that looks up fills by key must change.
nord-ts version: 0.7.3
v18.0.0
devnet:
mainnet:
- BREAKING: api:
GET /account/{account_id}now returns open-orderclientOrderIdasstring | nullinstead ofnumber | null. - BREAKING: api: WebSocket
client_order_id,taker_client_order_id[], and deprecatedsender_tracking_idvalues now serialize as numeric strings instead of numbers. - Added
RefreshSessionto allow a session to refresh itself up to some maximum deadline while maintaining the same session ID. - Added
SelfRevoketo allow a session to revoke itself. CreateSessionnow accepts an optionalrefresh_deadlineparameter and returns the effective expiry and refresh deadline.- ts:
NordUser.refreshSession()now returns{ sessionId, expiry, refreshDeadline? }instead ofvoid. - api:
GET /user/{pubkey}session objects now include optionalrefreshDeadline.
nord-ts version: 0.7.0 to 0.7.2
v17.0.0
devnet:
mainnet:
- atomic actions are expanding: trigger add/edit/remove is moving into atomic actions
- trigger history pagination now supports sub_action_id
- increased action timestamp staleness threshold from 60s to 120s
- relaxed oracle unfreeze price-change threshold from 0.5% to ~1.33% per timestamp unit
- added referrer tracking, i.e. builder codes
- added taker-side client order ID to WebSocket messages
- rate now has two buckets:
/actionand all other endpoints. we will be announcing new rate limits as we adjust them - introduced vaults. see docs for api. briefly:
- HTTP:
GET /vaults/*GET /account/{account_id}/vault-user-statesGET /account/{account_id}/history/vault/*
- WS:
- subscribe with
vault@{vault_id} - receives Vault update payload with latest full vault state
- subscribe with
nord-ts v0.5.1:
- adds centralized math utilities and updated trading function types
- adds trigger add/edit/remove support in atomics
nord-ts v0.6.0:
- introduces ActionsV2 with the new placement interface instead of delegator_id
- placement must now be explicit, see the module docs
- user actions for deposit and withdrawing to/from vaults
- on refresh session you can specify expiry timestamp
both v0.5.1 and v0.6.0 are compatbile with v17 of nord.