Skip to content

v2.0.1

Choose a tag to compare

@robrigo robrigo released this 17 Aug 16:52
· 22 commits to main since this release
95aeb55

Publishes the AtomicHub fork as @atomichub/atomicmarket, covering 2.0.0 (shipped to npm without a tag) and 2.0.1.

Breaking changes

  • The package name is @atomichub/atomicmarket. Install it under that name and change imports from 'atomicmarket'. (#1)
  • Deep imports such as atomicmarket/build/API/Explorer/Params are replaced by root exports, for example import { SaleApiParams } from '@atomichub/atomicmarket'. (#1)
  • Numeric ABI fields (template_id, weights, splits) are numbers. The 64-bit id fields, sale ids and rule ids, remain strings. (#1)
  • Node.js 20 or newer is required. (#1)
  • BuyofferState names the lifecycle the indexer reports (Pending, Declined, Canceled, Accepted, Invalid) instead of the sale lifecycle. The numeric values are unchanged, so filters built from raw numbers behave the same. Code using the removed BuyofferState.Listed and BuyofferState.Sold no longer compiles and moves to the corrected names. (#13)

Features

  • The package has no third-party runtime dependencies. The built-in fetch replaces node-fetch, and a custom fetch can still be injected. The only dependency is the sibling @atomichub/atomicassets. (#1)
  • Ships dual CJS and ESM output with bundled type declarations, plus a browser IIFE build. (#1)
  • Adds the v2 royalty read endpoints getRoyaltyConfig, getRoyaltyTemplateRules and getRoyaltyAttributeRules. (#1)
  • Adds MarketActionBuilder, a synchronous builder for royalty-config actions, alongside MarketActionGenerator, which covers the six royalty-configuration actions and their deletes. (#1)
  • Exports typed on-chain table rows and the AtomicMarketActions action-name constants. (#1)
  • Exports the market API response-object, query-parameter and enum types from the package root, so no deep build/ imports are needed. (#1)
  • Adds current_collection_fee to sales, auctions and buyoffers. (#1)
  • TemplateBuyofferState is new. The template buyoffer routes number their states from Listed, one below the other listing types. (#13)

Bug fixes

  • A bare import ... from '@atomichub/atomicmarket' under Node ESM no longer fails with "does not provide an export named 'AtomicHubNetwork'". Networks.ts now splits the value import NETWORK_ENDPOINTS from the type-only AtomicHubNetwork, so esbuild drops the type from the emitted graph. The CJS build was never affected. (#7)
  • IBuyoffer matches what the published atomicmarket 1.1.6 returns. It carries buyoffer_id, memo and decline_memo, where it used to carry auction_id and neither memo field. (#1)

Other changes

  • The @atomichub/atomicassets dependency is a registry range, ^2.0.0, rather than a git ref, so the lockfile carries a tarball with an integrity hash. (#10)
  • npm publishing runs through the trusted publisher rather than a stored token, so releases carry provenance with no long-lived publish secret. (#8)

Commits

  • 278bdfa feat!: modernize as @atomichub/atomicmarket v2.0.0 (#1)
  • e8c741f ci: type-check in CI instead of leaning on the test runner (#6)
  • b1fb4f8 fix: keep type-only atomicassets imports out of the esm runtime graph (#7)
  • 34b95d4 chore(deps): depend on the published @atomichub/atomicassets (#10)
  • c66121b ci: publish through the trusted publisher instead of a token (#8)
  • d22b490 docs(readme): lead with what the library is for, not its capability list (#9)
  • d21a4df chore(release): 2.0.1 (#11)
  • 0e19532 fix(test): identify the pack report by shape, not by position (#12)
  • 95aeb55 fix(enums): number listing states per listing type, not from the sale lifecycle (#13)

Full changelog: v1.1.2...v2.0.1