@crossly/mcp 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +126 -2
- package/dist/api.d.ts +44 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +79 -0
- package/dist/api.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +11 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +345 -0
- package/dist/registry.js.map +1 -0
- package/dist/tools/account.d.ts +3 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +164 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/accounts.d.ts +3 -0
- package/dist/tools/accounts.d.ts.map +1 -0
- package/dist/tools/accounts.js +471 -0
- package/dist/tools/accounts.js.map +1 -0
- package/dist/tools/action_log.d.ts +3 -0
- package/dist/tools/action_log.d.ts.map +1 -0
- package/dist/tools/action_log.js +81 -0
- package/dist/tools/action_log.js.map +1 -0
- package/dist/tools/ads.d.ts +45 -0
- package/dist/tools/ads.d.ts.map +1 -0
- package/dist/tools/ads.js +233 -0
- package/dist/tools/ads.js.map +1 -0
- package/dist/tools/ai.d.ts +3 -0
- package/dist/tools/ai.d.ts.map +1 -0
- package/dist/tools/ai.js +437 -0
- package/dist/tools/ai.js.map +1 -0
- package/dist/tools/analytics.d.ts +3 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +193 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/automation/chains.d.ts +10 -0
- package/dist/tools/automation/chains.d.ts.map +1 -0
- package/dist/tools/automation/chains.js +180 -0
- package/dist/tools/automation/chains.js.map +1 -0
- package/dist/tools/automation/network.d.ts +8 -0
- package/dist/tools/automation/network.d.ts.map +1 -0
- package/dist/tools/automation/network.js +102 -0
- package/dist/tools/automation/network.js.map +1 -0
- package/dist/tools/automation/notifications.d.ts +8 -0
- package/dist/tools/automation/notifications.d.ts.map +1 -0
- package/dist/tools/automation/notifications.js +123 -0
- package/dist/tools/automation/notifications.js.map +1 -0
- package/dist/tools/automation/recipes.d.ts +11 -0
- package/dist/tools/automation/recipes.d.ts.map +1 -0
- package/dist/tools/automation/recipes.js +82 -0
- package/dist/tools/automation/recipes.js.map +1 -0
- package/dist/tools/automation/rules.d.ts +12 -0
- package/dist/tools/automation/rules.d.ts.map +1 -0
- package/dist/tools/automation/rules.js +296 -0
- package/dist/tools/automation/rules.js.map +1 -0
- package/dist/tools/automation.d.ts +31 -0
- package/dist/tools/automation.d.ts.map +1 -0
- package/dist/tools/automation.js +41 -0
- package/dist/tools/automation.js.map +1 -0
- package/dist/tools/brand-drops.d.ts +3 -0
- package/dist/tools/brand-drops.d.ts.map +1 -0
- package/dist/tools/brand-drops.js +145 -0
- package/dist/tools/brand-drops.js.map +1 -0
- package/dist/tools/buyer-commerce.d.ts +3 -0
- package/dist/tools/buyer-commerce.d.ts.map +1 -0
- package/dist/tools/buyer-commerce.js +189 -0
- package/dist/tools/buyer-commerce.js.map +1 -0
- package/dist/tools/buyer-gift-cards.d.ts +12 -0
- package/dist/tools/buyer-gift-cards.d.ts.map +1 -0
- package/dist/tools/buyer-gift-cards.js +86 -0
- package/dist/tools/buyer-gift-cards.js.map +1 -0
- package/dist/tools/buyer-lists.d.ts +3 -0
- package/dist/tools/buyer-lists.d.ts.map +1 -0
- package/dist/tools/buyer-lists.js +245 -0
- package/dist/tools/buyer-lists.js.map +1 -0
- package/dist/tools/buyer-live.d.ts +22 -0
- package/dist/tools/buyer-live.d.ts.map +1 -0
- package/dist/tools/buyer-live.js +291 -0
- package/dist/tools/buyer-live.js.map +1 -0
- package/dist/tools/buyer-orders.d.ts +3 -0
- package/dist/tools/buyer-orders.d.ts.map +1 -0
- package/dist/tools/buyer-orders.js +275 -0
- package/dist/tools/buyer-orders.js.map +1 -0
- package/dist/tools/buyer-packs.d.ts +3 -0
- package/dist/tools/buyer-packs.d.ts.map +1 -0
- package/dist/tools/buyer-packs.js +53 -0
- package/dist/tools/buyer-packs.js.map +1 -0
- package/dist/tools/buyer-w7.d.ts +3 -0
- package/dist/tools/buyer-w7.d.ts.map +1 -0
- package/dist/tools/buyer-w7.js +95 -0
- package/dist/tools/buyer-w7.js.map +1 -0
- package/dist/tools/buyer-wave3.d.ts +3 -0
- package/dist/tools/buyer-wave3.d.ts.map +1 -0
- package/dist/tools/buyer-wave3.js +291 -0
- package/dist/tools/buyer-wave3.js.map +1 -0
- package/dist/tools/buyer-xmarket-extras.d.ts +3 -0
- package/dist/tools/buyer-xmarket-extras.d.ts.map +1 -0
- package/dist/tools/buyer-xmarket-extras.js +280 -0
- package/dist/tools/buyer-xmarket-extras.js.map +1 -0
- package/dist/tools/buyer-xmarket.d.ts +3 -0
- package/dist/tools/buyer-xmarket.d.ts.map +1 -0
- package/dist/tools/buyer-xmarket.js +310 -0
- package/dist/tools/buyer-xmarket.js.map +1 -0
- package/dist/tools/buyer.d.ts +21 -0
- package/dist/tools/buyer.d.ts.map +1 -0
- package/dist/tools/buyer.js +451 -0
- package/dist/tools/buyer.js.map +1 -0
- package/dist/tools/catalog-lookup.d.ts +3 -0
- package/dist/tools/catalog-lookup.d.ts.map +1 -0
- package/dist/tools/catalog-lookup.js +40 -0
- package/dist/tools/catalog-lookup.js.map +1 -0
- package/dist/tools/catalog-matches.d.ts +10 -0
- package/dist/tools/catalog-matches.d.ts.map +1 -0
- package/dist/tools/catalog-matches.js +91 -0
- package/dist/tools/catalog-matches.js.map +1 -0
- package/dist/tools/cbx-ops.d.ts +11 -0
- package/dist/tools/cbx-ops.d.ts.map +1 -0
- package/dist/tools/cbx-ops.js +35 -0
- package/dist/tools/cbx-ops.js.map +1 -0
- package/dist/tools/cbx-rewards/ad-credit.d.ts +3 -0
- package/dist/tools/cbx-rewards/ad-credit.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/ad-credit.js +72 -0
- package/dist/tools/cbx-rewards/ad-credit.js.map +1 -0
- package/dist/tools/cbx-rewards/balances.d.ts +3 -0
- package/dist/tools/cbx-rewards/balances.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/balances.js +114 -0
- package/dist/tools/cbx-rewards/balances.js.map +1 -0
- package/dist/tools/cbx-rewards/credit.d.ts +3 -0
- package/dist/tools/cbx-rewards/credit.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/credit.js +131 -0
- package/dist/tools/cbx-rewards/credit.js.map +1 -0
- package/dist/tools/cbx-rewards/disbursements.d.ts +3 -0
- package/dist/tools/cbx-rewards/disbursements.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/disbursements.js +146 -0
- package/dist/tools/cbx-rewards/disbursements.js.map +1 -0
- package/dist/tools/cbx-rewards/earn-boosts.d.ts +3 -0
- package/dist/tools/cbx-rewards/earn-boosts.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/earn-boosts.js +152 -0
- package/dist/tools/cbx-rewards/earn-boosts.js.map +1 -0
- package/dist/tools/cbx-rewards/redemptions.d.ts +3 -0
- package/dist/tools/cbx-rewards/redemptions.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/redemptions.js +61 -0
- package/dist/tools/cbx-rewards/redemptions.js.map +1 -0
- package/dist/tools/cbx-rewards/staking.d.ts +3 -0
- package/dist/tools/cbx-rewards/staking.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/staking.js +74 -0
- package/dist/tools/cbx-rewards/staking.js.map +1 -0
- package/dist/tools/cbx-rewards/tier-admin.d.ts +3 -0
- package/dist/tools/cbx-rewards/tier-admin.d.ts.map +1 -0
- package/dist/tools/cbx-rewards/tier-admin.js +75 -0
- package/dist/tools/cbx-rewards/tier-admin.js.map +1 -0
- package/dist/tools/cbx-rewards.d.ts +40 -0
- package/dist/tools/cbx-rewards.d.ts.map +1 -0
- package/dist/tools/cbx-rewards.js +56 -0
- package/dist/tools/cbx-rewards.js.map +1 -0
- package/dist/tools/cbx-wallet-payments.d.ts +35 -0
- package/dist/tools/cbx-wallet-payments.d.ts.map +1 -0
- package/dist/tools/cbx-wallet-payments.js +156 -0
- package/dist/tools/cbx-wallet-payments.js.map +1 -0
- package/dist/tools/cbx.d.ts +23 -0
- package/dist/tools/cbx.d.ts.map +1 -0
- package/dist/tools/cbx.js +474 -0
- package/dist/tools/cbx.js.map +1 -0
- package/dist/tools/comp_watchlists.d.ts +3 -0
- package/dist/tools/comp_watchlists.d.ts.map +1 -0
- package/dist/tools/comp_watchlists.js +127 -0
- package/dist/tools/comp_watchlists.js.map +1 -0
- package/dist/tools/connected_apps.d.ts +12 -0
- package/dist/tools/connected_apps.d.ts.map +1 -0
- package/dist/tools/connected_apps.js +42 -0
- package/dist/tools/connected_apps.js.map +1 -0
- package/dist/tools/cosm/attestations.d.ts +3 -0
- package/dist/tools/cosm/attestations.d.ts.map +1 -0
- package/dist/tools/cosm/attestations.js +102 -0
- package/dist/tools/cosm/attestations.js.map +1 -0
- package/dist/tools/cosm/auction.d.ts +3 -0
- package/dist/tools/cosm/auction.d.ts.map +1 -0
- package/dist/tools/cosm/auction.js +97 -0
- package/dist/tools/cosm/auction.js.map +1 -0
- package/dist/tools/cosm/cosmetics.d.ts +3 -0
- package/dist/tools/cosm/cosmetics.d.ts.map +1 -0
- package/dist/tools/cosm/cosmetics.js +95 -0
- package/dist/tools/cosm/cosmetics.js.map +1 -0
- package/dist/tools/cosm/designer.d.ts +3 -0
- package/dist/tools/cosm/designer.d.ts.map +1 -0
- package/dist/tools/cosm/designer.js +224 -0
- package/dist/tools/cosm/designer.js.map +1 -0
- package/dist/tools/cosm/fusion-handles.d.ts +3 -0
- package/dist/tools/cosm/fusion-handles.d.ts.map +1 -0
- package/dist/tools/cosm/fusion-handles.js +82 -0
- package/dist/tools/cosm/fusion-handles.js.map +1 -0
- package/dist/tools/cosm/pegs.d.ts +3 -0
- package/dist/tools/cosm/pegs.d.ts.map +1 -0
- package/dist/tools/cosm/pegs.js +112 -0
- package/dist/tools/cosm/pegs.js.map +1 -0
- package/dist/tools/cosm/storefront.d.ts +3 -0
- package/dist/tools/cosm/storefront.d.ts.map +1 -0
- package/dist/tools/cosm/storefront.js +138 -0
- package/dist/tools/cosm/storefront.js.map +1 -0
- package/dist/tools/cosm/supply.d.ts +3 -0
- package/dist/tools/cosm/supply.d.ts.map +1 -0
- package/dist/tools/cosm/supply.js +67 -0
- package/dist/tools/cosm/supply.js.map +1 -0
- package/dist/tools/cosm/withdrawals.d.ts +3 -0
- package/dist/tools/cosm/withdrawals.d.ts.map +1 -0
- package/dist/tools/cosm/withdrawals.js +63 -0
- package/dist/tools/cosm/withdrawals.js.map +1 -0
- package/dist/tools/cosm.d.ts +57 -0
- package/dist/tools/cosm.d.ts.map +1 -0
- package/dist/tools/cosm.js +75 -0
- package/dist/tools/cosm.js.map +1 -0
- package/dist/tools/customers.d.ts +3 -0
- package/dist/tools/customers.d.ts.map +1 -0
- package/dist/tools/customers.js +147 -0
- package/dist/tools/customers.js.map +1 -0
- package/dist/tools/dao.d.ts +53 -0
- package/dist/tools/dao.d.ts.map +1 -0
- package/dist/tools/dao.js +351 -0
- package/dist/tools/dao.js.map +1 -0
- package/dist/tools/devices.d.ts +3 -0
- package/dist/tools/devices.d.ts.map +1 -0
- package/dist/tools/devices.js +46 -0
- package/dist/tools/devices.js.map +1 -0
- package/dist/tools/drops.d.ts +3 -0
- package/dist/tools/drops.d.ts.map +1 -0
- package/dist/tools/drops.js +126 -0
- package/dist/tools/drops.js.map +1 -0
- package/dist/tools/embeds.d.ts +12 -0
- package/dist/tools/embeds.d.ts.map +1 -0
- package/dist/tools/embeds.js +80 -0
- package/dist/tools/embeds.js.map +1 -0
- package/dist/tools/evidence.d.ts +11 -0
- package/dist/tools/evidence.d.ts.map +1 -0
- package/dist/tools/evidence.js +42 -0
- package/dist/tools/evidence.js.map +1 -0
- package/dist/tools/friends-boards-clubs.d.ts +3 -0
- package/dist/tools/friends-boards-clubs.d.ts.map +1 -0
- package/dist/tools/friends-boards-clubs.js +157 -0
- package/dist/tools/friends-boards-clubs.js.map +1 -0
- package/dist/tools/fulfillment.d.ts +3 -0
- package/dist/tools/fulfillment.d.ts.map +1 -0
- package/dist/tools/fulfillment.js +71 -0
- package/dist/tools/fulfillment.js.map +1 -0
- package/dist/tools/games.d.ts +10 -0
- package/dist/tools/games.d.ts.map +1 -0
- package/dist/tools/games.js +49 -0
- package/dist/tools/games.js.map +1 -0
- package/dist/tools/grading.d.ts +3 -0
- package/dist/tools/grading.d.ts.map +1 -0
- package/dist/tools/grading.js +184 -0
- package/dist/tools/grading.js.map +1 -0
- package/dist/tools/homes.d.ts +10 -0
- package/dist/tools/homes.d.ts.map +1 -0
- package/dist/tools/homes.js +62 -0
- package/dist/tools/homes.js.map +1 -0
- package/dist/tools/imports.d.ts +3 -0
- package/dist/tools/imports.d.ts.map +1 -0
- package/dist/tools/imports.js +72 -0
- package/dist/tools/imports.js.map +1 -0
- package/dist/tools/inbox.d.ts +3 -0
- package/dist/tools/inbox.d.ts.map +1 -0
- package/dist/tools/inbox.js +408 -0
- package/dist/tools/inbox.js.map +1 -0
- package/dist/tools/inventory.d.ts +3 -0
- package/dist/tools/inventory.d.ts.map +1 -0
- package/dist/tools/inventory.js +572 -0
- package/dist/tools/inventory.js.map +1 -0
- package/dist/tools/listings/_shared.d.ts +43 -0
- package/dist/tools/listings/_shared.d.ts.map +1 -0
- package/dist/tools/listings/_shared.js +59 -0
- package/dist/tools/listings/_shared.js.map +1 -0
- package/dist/tools/listings/ai-image.d.ts +3 -0
- package/dist/tools/listings/ai-image.d.ts.map +1 -0
- package/dist/tools/listings/ai-image.js +145 -0
- package/dist/tools/listings/ai-image.js.map +1 -0
- package/dist/tools/listings/bulk.d.ts +3 -0
- package/dist/tools/listings/bulk.d.ts.map +1 -0
- package/dist/tools/listings/bulk.js +262 -0
- package/dist/tools/listings/bulk.js.map +1 -0
- package/dist/tools/listings/core.d.ts +3 -0
- package/dist/tools/listings/core.d.ts.map +1 -0
- package/dist/tools/listings/core.js +300 -0
- package/dist/tools/listings/core.js.map +1 -0
- package/dist/tools/listings/discovery.d.ts +3 -0
- package/dist/tools/listings/discovery.d.ts.map +1 -0
- package/dist/tools/listings/discovery.js +153 -0
- package/dist/tools/listings/discovery.js.map +1 -0
- package/dist/tools/listings.d.ts +3 -0
- package/dist/tools/listings.d.ts.map +1 -0
- package/dist/tools/listings.js +26 -0
- package/dist/tools/listings.js.map +1 -0
- package/dist/tools/live-shows.d.ts +3 -0
- package/dist/tools/live-shows.d.ts.map +1 -0
- package/dist/tools/live-shows.js +70 -0
- package/dist/tools/live-shows.js.map +1 -0
- package/dist/tools/magic.d.ts +3 -0
- package/dist/tools/magic.d.ts.map +1 -0
- package/dist/tools/magic.js +104 -0
- package/dist/tools/magic.js.map +1 -0
- package/dist/tools/market.d.ts +14 -0
- package/dist/tools/market.d.ts.map +1 -0
- package/dist/tools/market.js +222 -0
- package/dist/tools/market.js.map +1 -0
- package/dist/tools/mobile.d.ts +3 -0
- package/dist/tools/mobile.d.ts.map +1 -0
- package/dist/tools/mobile.js +61 -0
- package/dist/tools/mobile.js.map +1 -0
- package/dist/tools/neighbourhoods.d.ts +3 -0
- package/dist/tools/neighbourhoods.d.ts.map +1 -0
- package/dist/tools/neighbourhoods.js +30 -0
- package/dist/tools/neighbourhoods.js.map +1 -0
- package/dist/tools/nft-market.d.ts +8 -0
- package/dist/tools/nft-market.d.ts.map +1 -0
- package/dist/tools/nft-market.js +99 -0
- package/dist/tools/nft-market.js.map +1 -0
- package/dist/tools/offers.d.ts +12 -0
- package/dist/tools/offers.d.ts.map +1 -0
- package/dist/tools/offers.js +76 -0
- package/dist/tools/offers.js.map +1 -0
- package/dist/tools/orders/actions.d.ts +4 -0
- package/dist/tools/orders/actions.d.ts.map +1 -0
- package/dist/tools/orders/actions.js +154 -0
- package/dist/tools/orders/actions.js.map +1 -0
- package/dist/tools/orders/bulk.d.ts +4 -0
- package/dist/tools/orders/bulk.d.ts.map +1 -0
- package/dist/tools/orders/bulk.js +145 -0
- package/dist/tools/orders/bulk.js.map +1 -0
- package/dist/tools/orders/fulfillment.d.ts +4 -0
- package/dist/tools/orders/fulfillment.d.ts.map +1 -0
- package/dist/tools/orders/fulfillment.js +240 -0
- package/dist/tools/orders/fulfillment.js.map +1 -0
- package/dist/tools/orders/read.d.ts +4 -0
- package/dist/tools/orders/read.d.ts.map +1 -0
- package/dist/tools/orders/read.js +165 -0
- package/dist/tools/orders/read.js.map +1 -0
- package/dist/tools/orders/whatnot.d.ts +7 -0
- package/dist/tools/orders/whatnot.d.ts.map +1 -0
- package/dist/tools/orders/whatnot.js +96 -0
- package/dist/tools/orders/whatnot.js.map +1 -0
- package/dist/tools/orders.d.ts +25 -0
- package/dist/tools/orders.d.ts.map +1 -0
- package/dist/tools/orders.js +35 -0
- package/dist/tools/orders.js.map +1 -0
- package/dist/tools/passports.d.ts +3 -0
- package/dist/tools/passports.d.ts.map +1 -0
- package/dist/tools/passports.js +66 -0
- package/dist/tools/passports.js.map +1 -0
- package/dist/tools/pat.d.ts +3 -0
- package/dist/tools/pat.d.ts.map +1 -0
- package/dist/tools/pat.js +103 -0
- package/dist/tools/pat.js.map +1 -0
- package/dist/tools/payout.d.ts +3 -0
- package/dist/tools/payout.d.ts.map +1 -0
- package/dist/tools/payout.js +134 -0
- package/dist/tools/payout.js.map +1 -0
- package/dist/tools/policy-presets.d.ts +3 -0
- package/dist/tools/policy-presets.d.ts.map +1 -0
- package/dist/tools/policy-presets.js +146 -0
- package/dist/tools/policy-presets.js.map +1 -0
- package/dist/tools/production.d.ts +8 -0
- package/dist/tools/production.d.ts.map +1 -0
- package/dist/tools/production.js +419 -0
- package/dist/tools/production.js.map +1 -0
- package/dist/tools/reference.d.ts +3 -0
- package/dist/tools/reference.d.ts.map +1 -0
- package/dist/tools/reference.js +138 -0
- package/dist/tools/reference.js.map +1 -0
- package/dist/tools/reprice.d.ts +3 -0
- package/dist/tools/reprice.d.ts.map +1 -0
- package/dist/tools/reprice.js +62 -0
- package/dist/tools/reprice.js.map +1 -0
- package/dist/tools/reputation.d.ts +10 -0
- package/dist/tools/reputation.d.ts.map +1 -0
- package/dist/tools/reputation.js +57 -0
- package/dist/tools/reputation.js.map +1 -0
- package/dist/tools/restock.d.ts +3 -0
- package/dist/tools/restock.d.ts.map +1 -0
- package/dist/tools/restock.js +76 -0
- package/dist/tools/restock.js.map +1 -0
- package/dist/tools/returns.d.ts +3 -0
- package/dist/tools/returns.d.ts.map +1 -0
- package/dist/tools/returns.js +125 -0
- package/dist/tools/returns.js.map +1 -0
- package/dist/tools/sales.d.ts +3 -0
- package/dist/tools/sales.d.ts.map +1 -0
- package/dist/tools/sales.js +52 -0
- package/dist/tools/sales.js.map +1 -0
- package/dist/tools/saved_views.d.ts +3 -0
- package/dist/tools/saved_views.d.ts.map +1 -0
- package/dist/tools/saved_views.js +155 -0
- package/dist/tools/saved_views.js.map +1 -0
- package/dist/tools/scan.d.ts +14 -0
- package/dist/tools/scan.d.ts.map +1 -0
- package/dist/tools/scan.js +85 -0
- package/dist/tools/scan.js.map +1 -0
- package/dist/tools/seller-ops.d.ts +3 -0
- package/dist/tools/seller-ops.d.ts.map +1 -0
- package/dist/tools/seller-ops.js +83 -0
- package/dist/tools/seller-ops.js.map +1 -0
- package/dist/tools/seller-xmarket.d.ts +3 -0
- package/dist/tools/seller-xmarket.d.ts.map +1 -0
- package/dist/tools/seller-xmarket.js +120 -0
- package/dist/tools/seller-xmarket.js.map +1 -0
- package/dist/tools/sourcing.d.ts +3 -0
- package/dist/tools/sourcing.d.ts.map +1 -0
- package/dist/tools/sourcing.js +160 -0
- package/dist/tools/sourcing.js.map +1 -0
- package/dist/tools/spatial-auction.d.ts +3 -0
- package/dist/tools/spatial-auction.d.ts.map +1 -0
- package/dist/tools/spatial-auction.js +162 -0
- package/dist/tools/spatial-auction.js.map +1 -0
- package/dist/tools/spatial-emotes.d.ts +10 -0
- package/dist/tools/spatial-emotes.d.ts.map +1 -0
- package/dist/tools/spatial-emotes.js +40 -0
- package/dist/tools/spatial-emotes.js.map +1 -0
- package/dist/tools/spatial-employee.d.ts +3 -0
- package/dist/tools/spatial-employee.d.ts.map +1 -0
- package/dist/tools/spatial-employee.js +221 -0
- package/dist/tools/spatial-employee.js.map +1 -0
- package/dist/tools/spatial-party.d.ts +10 -0
- package/dist/tools/spatial-party.d.ts.map +1 -0
- package/dist/tools/spatial-party.js +25 -0
- package/dist/tools/spatial-party.js.map +1 -0
- package/dist/tools/spatial-rooms.d.ts +8 -0
- package/dist/tools/spatial-rooms.d.ts.map +1 -0
- package/dist/tools/spatial-rooms.js +177 -0
- package/dist/tools/spatial-rooms.js.map +1 -0
- package/dist/tools/spatial.d.ts +12 -0
- package/dist/tools/spatial.d.ts.map +1 -0
- package/dist/tools/spatial.js +537 -0
- package/dist/tools/spatial.js.map +1 -0
- package/dist/tools/stalls.d.ts +3 -0
- package/dist/tools/stalls.d.ts.map +1 -0
- package/dist/tools/stalls.js +145 -0
- package/dist/tools/stalls.js.map +1 -0
- package/dist/tools/storefront-shipping.d.ts +7 -0
- package/dist/tools/storefront-shipping.d.ts.map +1 -0
- package/dist/tools/storefront-shipping.js +94 -0
- package/dist/tools/storefront-shipping.js.map +1 -0
- package/dist/tools/tax.d.ts +3 -0
- package/dist/tools/tax.d.ts.map +1 -0
- package/dist/tools/tax.js +194 -0
- package/dist/tools/tax.js.map +1 -0
- package/dist/tools/taxonomy.d.ts +3 -0
- package/dist/tools/taxonomy.d.ts.map +1 -0
- package/dist/tools/taxonomy.js +131 -0
- package/dist/tools/taxonomy.js.map +1 -0
- package/dist/tools/team.d.ts +3 -0
- package/dist/tools/team.d.ts.map +1 -0
- package/dist/tools/team.js +152 -0
- package/dist/tools/team.js.map +1 -0
- package/dist/tools/templates.d.ts +10 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +406 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/trade-block.d.ts +3 -0
- package/dist/tools/trade-block.d.ts.map +1 -0
- package/dist/tools/trade-block.js +308 -0
- package/dist/tools/trade-block.js.map +1 -0
- package/dist/tools/types.d.ts +43 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +24 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/units.d.ts +9 -0
- package/dist/tools/units.d.ts.map +1 -0
- package/dist/tools/units.js +156 -0
- package/dist/tools/units.js.map +1 -0
- package/dist/tools/variation_groups.d.ts +17 -0
- package/dist/tools/variation_groups.d.ts.map +1 -0
- package/dist/tools/variation_groups.js +92 -0
- package/dist/tools/variation_groups.js.map +1 -0
- package/dist/tools/vault-markets-adl.d.ts +11 -0
- package/dist/tools/vault-markets-adl.d.ts.map +1 -0
- package/dist/tools/vault-markets-adl.js +46 -0
- package/dist/tools/vault-markets-adl.js.map +1 -0
- package/dist/tools/vault-markets-agent.d.ts +3 -0
- package/dist/tools/vault-markets-agent.d.ts.map +1 -0
- package/dist/tools/vault-markets-agent.js +82 -0
- package/dist/tools/vault-markets-agent.js.map +1 -0
- package/dist/tools/vault-markets-alerts-hub.d.ts +3 -0
- package/dist/tools/vault-markets-alerts-hub.d.ts.map +1 -0
- package/dist/tools/vault-markets-alerts-hub.js +75 -0
- package/dist/tools/vault-markets-alerts-hub.js.map +1 -0
- package/dist/tools/vault-markets-analytics.d.ts +3 -0
- package/dist/tools/vault-markets-analytics.d.ts.map +1 -0
- package/dist/tools/vault-markets-analytics.js +192 -0
- package/dist/tools/vault-markets-analytics.js.map +1 -0
- package/dist/tools/vault-markets-bullion.d.ts +3 -0
- package/dist/tools/vault-markets-bullion.d.ts.map +1 -0
- package/dist/tools/vault-markets-bullion.js +172 -0
- package/dist/tools/vault-markets-bullion.js.map +1 -0
- package/dist/tools/vault-markets-channels.d.ts +10 -0
- package/dist/tools/vault-markets-channels.d.ts.map +1 -0
- package/dist/tools/vault-markets-channels.js +93 -0
- package/dist/tools/vault-markets-channels.js.map +1 -0
- package/dist/tools/vault-markets-credit.d.ts +3 -0
- package/dist/tools/vault-markets-credit.d.ts.map +1 -0
- package/dist/tools/vault-markets-credit.js +164 -0
- package/dist/tools/vault-markets-credit.js.map +1 -0
- package/dist/tools/vault-markets-curve-pools.d.ts +3 -0
- package/dist/tools/vault-markets-curve-pools.d.ts.map +1 -0
- package/dist/tools/vault-markets-curve-pools.js +116 -0
- package/dist/tools/vault-markets-curve-pools.js.map +1 -0
- package/dist/tools/vault-markets-floor.d.ts +8 -0
- package/dist/tools/vault-markets-floor.d.ts.map +1 -0
- package/dist/tools/vault-markets-floor.js +17 -0
- package/dist/tools/vault-markets-floor.js.map +1 -0
- package/dist/tools/vault-markets-follows.d.ts +3 -0
- package/dist/tools/vault-markets-follows.d.ts.map +1 -0
- package/dist/tools/vault-markets-follows.js +134 -0
- package/dist/tools/vault-markets-follows.js.map +1 -0
- package/dist/tools/vault-markets-grade-to-vault.d.ts +3 -0
- package/dist/tools/vault-markets-grade-to-vault.d.ts.map +1 -0
- package/dist/tools/vault-markets-grade-to-vault.js +178 -0
- package/dist/tools/vault-markets-grade-to-vault.js.map +1 -0
- package/dist/tools/vault-markets-grading.d.ts +10 -0
- package/dist/tools/vault-markets-grading.d.ts.map +1 -0
- package/dist/tools/vault-markets-grading.js +55 -0
- package/dist/tools/vault-markets-grading.js.map +1 -0
- package/dist/tools/vault-markets-hall.d.ts +9 -0
- package/dist/tools/vault-markets-hall.d.ts.map +1 -0
- package/dist/tools/vault-markets-hall.js +70 -0
- package/dist/tools/vault-markets-hall.js.map +1 -0
- package/dist/tools/vault-markets-health.d.ts +10 -0
- package/dist/tools/vault-markets-health.d.ts.map +1 -0
- package/dist/tools/vault-markets-health.js +34 -0
- package/dist/tools/vault-markets-health.js.map +1 -0
- package/dist/tools/vault-markets-home.d.ts +9 -0
- package/dist/tools/vault-markets-home.d.ts.map +1 -0
- package/dist/tools/vault-markets-home.js +58 -0
- package/dist/tools/vault-markets-home.js.map +1 -0
- package/dist/tools/vault-markets-index.d.ts +3 -0
- package/dist/tools/vault-markets-index.d.ts.map +1 -0
- package/dist/tools/vault-markets-index.js +135 -0
- package/dist/tools/vault-markets-index.js.map +1 -0
- package/dist/tools/vault-markets-inst.d.ts +3 -0
- package/dist/tools/vault-markets-inst.d.ts.map +1 -0
- package/dist/tools/vault-markets-inst.js +390 -0
- package/dist/tools/vault-markets-inst.js.map +1 -0
- package/dist/tools/vault-markets-joint-tod.d.ts +3 -0
- package/dist/tools/vault-markets-joint-tod.d.ts.map +1 -0
- package/dist/tools/vault-markets-joint-tod.js +300 -0
- package/dist/tools/vault-markets-joint-tod.js.map +1 -0
- package/dist/tools/vault-markets-liquidity.d.ts +3 -0
- package/dist/tools/vault-markets-liquidity.d.ts.map +1 -0
- package/dist/tools/vault-markets-liquidity.js +408 -0
- package/dist/tools/vault-markets-liquidity.js.map +1 -0
- package/dist/tools/vault-markets-marks.d.ts +8 -0
- package/dist/tools/vault-markets-marks.d.ts.map +1 -0
- package/dist/tools/vault-markets-marks.js +25 -0
- package/dist/tools/vault-markets-marks.js.map +1 -0
- package/dist/tools/vault-markets-missions.d.ts +3 -0
- package/dist/tools/vault-markets-missions.d.ts.map +1 -0
- package/dist/tools/vault-markets-missions.js +36 -0
- package/dist/tools/vault-markets-missions.js.map +1 -0
- package/dist/tools/vault-markets-mm.d.ts +3 -0
- package/dist/tools/vault-markets-mm.d.ts.map +1 -0
- package/dist/tools/vault-markets-mm.js +282 -0
- package/dist/tools/vault-markets-mm.js.map +1 -0
- package/dist/tools/vault-markets-mode.d.ts +11 -0
- package/dist/tools/vault-markets-mode.d.ts.map +1 -0
- package/dist/tools/vault-markets-mode.js +56 -0
- package/dist/tools/vault-markets-mode.js.map +1 -0
- package/dist/tools/vault-markets-ops.d.ts +3 -0
- package/dist/tools/vault-markets-ops.d.ts.map +1 -0
- package/dist/tools/vault-markets-ops.js +208 -0
- package/dist/tools/vault-markets-ops.js.map +1 -0
- package/dist/tools/vault-markets-oracle-dcm.d.ts +10 -0
- package/dist/tools/vault-markets-oracle-dcm.d.ts.map +1 -0
- package/dist/tools/vault-markets-oracle-dcm.js +153 -0
- package/dist/tools/vault-markets-oracle-dcm.js.map +1 -0
- package/dist/tools/vault-markets-p2p.d.ts +3 -0
- package/dist/tools/vault-markets-p2p.d.ts.map +1 -0
- package/dist/tools/vault-markets-p2p.js +177 -0
- package/dist/tools/vault-markets-p2p.js.map +1 -0
- package/dist/tools/vault-markets-paper.d.ts +3 -0
- package/dist/tools/vault-markets-paper.d.ts.map +1 -0
- package/dist/tools/vault-markets-paper.js +126 -0
- package/dist/tools/vault-markets-paper.js.map +1 -0
- package/dist/tools/vault-markets-pm.d.ts +10 -0
- package/dist/tools/vault-markets-pm.d.ts.map +1 -0
- package/dist/tools/vault-markets-pm.js +74 -0
- package/dist/tools/vault-markets-pm.js.map +1 -0
- package/dist/tools/vault-markets-pop-reports.d.ts +8 -0
- package/dist/tools/vault-markets-pop-reports.d.ts.map +1 -0
- package/dist/tools/vault-markets-pop-reports.js +31 -0
- package/dist/tools/vault-markets-pop-reports.js.map +1 -0
- package/dist/tools/vault-markets-price-widgets.d.ts +3 -0
- package/dist/tools/vault-markets-price-widgets.d.ts.map +1 -0
- package/dist/tools/vault-markets-price-widgets.js +89 -0
- package/dist/tools/vault-markets-price-widgets.js.map +1 -0
- package/dist/tools/vault-markets-pro.d.ts +3 -0
- package/dist/tools/vault-markets-pro.d.ts.map +1 -0
- package/dist/tools/vault-markets-pro.js +276 -0
- package/dist/tools/vault-markets-pro.js.map +1 -0
- package/dist/tools/vault-markets-receipt-tokens.d.ts +3 -0
- package/dist/tools/vault-markets-receipt-tokens.d.ts.map +1 -0
- package/dist/tools/vault-markets-receipt-tokens.js +81 -0
- package/dist/tools/vault-markets-receipt-tokens.js.map +1 -0
- package/dist/tools/vault-markets-reports.d.ts +10 -0
- package/dist/tools/vault-markets-reports.d.ts.map +1 -0
- package/dist/tools/vault-markets-reports.js +47 -0
- package/dist/tools/vault-markets-reports.js.map +1 -0
- package/dist/tools/vault-markets-set-goals.d.ts +3 -0
- package/dist/tools/vault-markets-set-goals.d.ts.map +1 -0
- package/dist/tools/vault-markets-set-goals.js +150 -0
- package/dist/tools/vault-markets-set-goals.js.map +1 -0
- package/dist/tools/vault-markets-social.d.ts +3 -0
- package/dist/tools/vault-markets-social.d.ts.map +1 -0
- package/dist/tools/vault-markets-social.js +212 -0
- package/dist/tools/vault-markets-social.js.map +1 -0
- package/dist/tools/vault-markets-stats.d.ts +3 -0
- package/dist/tools/vault-markets-stats.d.ts.map +1 -0
- package/dist/tools/vault-markets-stats.js +83 -0
- package/dist/tools/vault-markets-stats.js.map +1 -0
- package/dist/tools/vault-markets-supply.d.ts +3 -0
- package/dist/tools/vault-markets-supply.d.ts.map +1 -0
- package/dist/tools/vault-markets-supply.js +183 -0
- package/dist/tools/vault-markets-supply.js.map +1 -0
- package/dist/tools/vault-markets-tax-loss.d.ts +9 -0
- package/dist/tools/vault-markets-tax-loss.d.ts.map +1 -0
- package/dist/tools/vault-markets-tax-loss.js +16 -0
- package/dist/tools/vault-markets-tax-loss.js.map +1 -0
- package/dist/tools/vault-markets-title.d.ts +3 -0
- package/dist/tools/vault-markets-title.d.ts.map +1 -0
- package/dist/tools/vault-markets-title.js +158 -0
- package/dist/tools/vault-markets-title.js.map +1 -0
- package/dist/tools/vault-markets-unit-story.d.ts +10 -0
- package/dist/tools/vault-markets-unit-story.d.ts.map +1 -0
- package/dist/tools/vault-markets-unit-story.js +23 -0
- package/dist/tools/vault-markets-unit-story.js.map +1 -0
- package/dist/tools/vault-markets-valuation.d.ts +3 -0
- package/dist/tools/vault-markets-valuation.d.ts.map +1 -0
- package/dist/tools/vault-markets-valuation.js +91 -0
- package/dist/tools/vault-markets-valuation.js.map +1 -0
- package/dist/tools/vault-markets-vault-suggest.d.ts +10 -0
- package/dist/tools/vault-markets-vault-suggest.d.ts.map +1 -0
- package/dist/tools/vault-markets-vault-suggest.js +38 -0
- package/dist/tools/vault-markets-vault-suggest.js.map +1 -0
- package/dist/tools/vault-markets-widget.d.ts +3 -0
- package/dist/tools/vault-markets-widget.d.ts.map +1 -0
- package/dist/tools/vault-markets-widget.js +64 -0
- package/dist/tools/vault-markets-widget.js.map +1 -0
- package/dist/tools/vault-markets-world.d.ts +12 -0
- package/dist/tools/vault-markets-world.d.ts.map +1 -0
- package/dist/tools/vault-markets-world.js +176 -0
- package/dist/tools/vault-markets-world.js.map +1 -0
- package/dist/tools/vault-markets.d.ts +3 -0
- package/dist/tools/vault-markets.d.ts.map +1 -0
- package/dist/tools/vault-markets.js +305 -0
- package/dist/tools/vault-markets.js.map +1 -0
- package/dist/tools/web3-book.d.ts +8 -0
- package/dist/tools/web3-book.d.ts.map +1 -0
- package/dist/tools/web3-book.js +494 -0
- package/dist/tools/web3-book.js.map +1 -0
- package/dist/tools/web3-crosslist.d.ts +8 -0
- package/dist/tools/web3-crosslist.d.ts.map +1 -0
- package/dist/tools/web3-crosslist.js +307 -0
- package/dist/tools/web3-crosslist.js.map +1 -0
- package/dist/tools/web3-launch-tools.d.ts +3 -0
- package/dist/tools/web3-launch-tools.d.ts.map +1 -0
- package/dist/tools/web3-launch-tools.js +151 -0
- package/dist/tools/web3-launch-tools.js.map +1 -0
- package/dist/tools/web3-launchpad.d.ts +3 -0
- package/dist/tools/web3-launchpad.d.ts.map +1 -0
- package/dist/tools/web3-launchpad.js +139 -0
- package/dist/tools/web3-launchpad.js.map +1 -0
- package/dist/tools/web3-world-live.d.ts +3 -0
- package/dist/tools/web3-world-live.d.ts.map +1 -0
- package/dist/tools/web3-world-live.js +95 -0
- package/dist/tools/web3-world-live.js.map +1 -0
- package/dist/tools/web3.d.ts +9 -0
- package/dist/tools/web3.d.ts.map +1 -0
- package/dist/tools/web3.js +291 -0
- package/dist/tools/web3.js.map +1 -0
- package/dist/tools/webhooks.d.ts +3 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +83 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/tools/wholesale.d.ts +3 -0
- package/dist/tools/wholesale.d.ts.map +1 -0
- package/dist/tools/wholesale.js +63 -0
- package/dist/tools/wholesale.js.map +1 -0
- package/dist/tools/world-account.d.ts +3 -0
- package/dist/tools/world-account.d.ts.map +1 -0
- package/dist/tools/world-account.js +133 -0
- package/dist/tools/world-account.js.map +1 -0
- package/dist/tools/world-arcade.d.ts +3 -0
- package/dist/tools/world-arcade.d.ts.map +1 -0
- package/dist/tools/world-arcade.js +20 -0
- package/dist/tools/world-arcade.js.map +1 -0
- package/dist/tools/world-aurora.d.ts +7 -0
- package/dist/tools/world-aurora.d.ts.map +1 -0
- package/dist/tools/world-aurora.js +16 -0
- package/dist/tools/world-aurora.js.map +1 -0
- package/dist/tools/world-capabilities.d.ts +3 -0
- package/dist/tools/world-capabilities.d.ts.map +1 -0
- package/dist/tools/world-capabilities.js +105 -0
- package/dist/tools/world-capabilities.js.map +1 -0
- package/dist/tools/world-chests.d.ts +8 -0
- package/dist/tools/world-chests.d.ts.map +1 -0
- package/dist/tools/world-chests.js +17 -0
- package/dist/tools/world-chests.js.map +1 -0
- package/dist/tools/world-contests.d.ts +3 -0
- package/dist/tools/world-contests.d.ts.map +1 -0
- package/dist/tools/world-contests.js +55 -0
- package/dist/tools/world-contests.js.map +1 -0
- package/dist/tools/world-conventions.d.ts +3 -0
- package/dist/tools/world-conventions.d.ts.map +1 -0
- package/dist/tools/world-conventions.js +122 -0
- package/dist/tools/world-conventions.js.map +1 -0
- package/dist/tools/world-creator.d.ts +3 -0
- package/dist/tools/world-creator.d.ts.map +1 -0
- package/dist/tools/world-creator.js +162 -0
- package/dist/tools/world-creator.js.map +1 -0
- package/dist/tools/world-fireflies.d.ts +10 -0
- package/dist/tools/world-fireflies.d.ts.map +1 -0
- package/dist/tools/world-fireflies.js +19 -0
- package/dist/tools/world-fireflies.js.map +1 -0
- package/dist/tools/world-games.d.ts +3 -0
- package/dist/tools/world-games.d.ts.map +1 -0
- package/dist/tools/world-games.js +151 -0
- package/dist/tools/world-games.js.map +1 -0
- package/dist/tools/world-grails.d.ts +7 -0
- package/dist/tools/world-grails.d.ts.map +1 -0
- package/dist/tools/world-grails.js +28 -0
- package/dist/tools/world-grails.js.map +1 -0
- package/dist/tools/world-hall.d.ts +9 -0
- package/dist/tools/world-hall.d.ts.map +1 -0
- package/dist/tools/world-hall.js +51 -0
- package/dist/tools/world-hall.js.map +1 -0
- package/dist/tools/world-homes.d.ts +7 -0
- package/dist/tools/world-homes.d.ts.map +1 -0
- package/dist/tools/world-homes.js +83 -0
- package/dist/tools/world-homes.js.map +1 -0
- package/dist/tools/world-hunt.d.ts +3 -0
- package/dist/tools/world-hunt.d.ts.map +1 -0
- package/dist/tools/world-hunt.js +35 -0
- package/dist/tools/world-hunt.js.map +1 -0
- package/dist/tools/world-kites.d.ts +10 -0
- package/dist/tools/world-kites.d.ts.map +1 -0
- package/dist/tools/world-kites.js +19 -0
- package/dist/tools/world-kites.js.map +1 -0
- package/dist/tools/world-lanterns.d.ts +10 -0
- package/dist/tools/world-lanterns.d.ts.map +1 -0
- package/dist/tools/world-lanterns.js +19 -0
- package/dist/tools/world-lanterns.js.map +1 -0
- package/dist/tools/world-live.d.ts +10 -0
- package/dist/tools/world-live.d.ts.map +1 -0
- package/dist/tools/world-live.js +73 -0
- package/dist/tools/world-live.js.map +1 -0
- package/dist/tools/world-parties.d.ts +7 -0
- package/dist/tools/world-parties.d.ts.map +1 -0
- package/dist/tools/world-parties.js +113 -0
- package/dist/tools/world-parties.js.map +1 -0
- package/dist/tools/world-places.d.ts +8 -0
- package/dist/tools/world-places.d.ts.map +1 -0
- package/dist/tools/world-places.js +126 -0
- package/dist/tools/world-places.js.map +1 -0
- package/dist/tools/world-provenance.d.ts +4 -0
- package/dist/tools/world-provenance.d.ts.map +1 -0
- package/dist/tools/world-provenance.js +16 -0
- package/dist/tools/world-provenance.js.map +1 -0
- package/dist/tools/world-spaces.d.ts +7 -0
- package/dist/tools/world-spaces.d.ts.map +1 -0
- package/dist/tools/world-spaces.js +149 -0
- package/dist/tools/world-spaces.js.map +1 -0
- package/dist/tools/world-streets.d.ts +8 -0
- package/dist/tools/world-streets.d.ts.map +1 -0
- package/dist/tools/world-streets.js +162 -0
- package/dist/tools/world-streets.js.map +1 -0
- package/dist/tools/world-trials.d.ts +3 -0
- package/dist/tools/world-trials.d.ts.map +1 -0
- package/dist/tools/world-trials.js +35 -0
- package/dist/tools/world-trials.js.map +1 -0
- package/dist/tools/world-wishes.d.ts +9 -0
- package/dist/tools/world-wishes.d.ts.map +1 -0
- package/dist/tools/world-wishes.js +18 -0
- package/dist/tools/world-wishes.js.map +1 -0
- package/dist/tools/world.d.ts +3 -0
- package/dist/tools/world.d.ts.map +1 -0
- package/dist/tools/world.js +554 -0
- package/dist/tools/world.js.map +1 -0
- package/package.json +66 -3
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { cosmAttestations } from './cosm/attestations.js';
|
|
2
|
+
import { cosmAuction } from './cosm/auction.js';
|
|
3
|
+
import { cosmCosmetics } from './cosm/cosmetics.js';
|
|
4
|
+
import { cosmDesigner } from './cosm/designer.js';
|
|
5
|
+
import { cosmFusionHandles } from './cosm/fusion-handles.js';
|
|
6
|
+
import { cosmPegs } from './cosm/pegs.js';
|
|
7
|
+
import { cosmStorefront } from './cosm/storefront.js';
|
|
8
|
+
import { cosmSupply } from './cosm/supply.js';
|
|
9
|
+
import { cosmWithdrawals } from './cosm/withdrawals.js';
|
|
10
|
+
/**
|
|
11
|
+
* COSM — the metaverse cosmetics currency.
|
|
12
|
+
*
|
|
13
|
+
* ── DO NOT CONFUSE IT WITH CBX ────────────────────────────────────────
|
|
14
|
+
* They are opposites, and describing one with the other's properties is
|
|
15
|
+
* the most likely way an agent misleads somebody here:
|
|
16
|
+
*
|
|
17
|
+
* CBX fixed supply · backed by a reserve · spends RECIRCULATE
|
|
18
|
+
* · withdrawable once matured
|
|
19
|
+
* COSM minted on demand · backed by NOTHING · spends BURN
|
|
20
|
+
* · not withdrawable at all yet
|
|
21
|
+
*
|
|
22
|
+
* ── AMOUNTS ARE STRINGS OF BASE UNITS WITH SIX DECIMALS ───────────────
|
|
23
|
+
* `"10000000000"` is ten thousand COSM. They are strings because a JSON
|
|
24
|
+
* number loses precision past 2^53 — about nine billion COSM. Never do
|
|
25
|
+
* float arithmetic on them, and divide by 1e6 before showing a figure to
|
|
26
|
+
* a person.
|
|
27
|
+
*
|
|
28
|
+
* ── WHAT AN AGENT MUST NOT MISREPRESENT ───────────────────────────────
|
|
29
|
+
* COSM IS NOT WITHDRAWABLE AND IS NOT A YIELD. It is earned by ACTIVITY
|
|
30
|
+
* — accepting CBX on a sale, selling, buying goods — and staking only
|
|
31
|
+
* multiplies the RATE. There is no entitlement without activity, however
|
|
32
|
+
* large a stake. If somebody asks whether they can stake COSM or CBX to
|
|
33
|
+
* earn COSM passively, the answer is no, and that is deliberate rather
|
|
34
|
+
* than a missing feature.
|
|
35
|
+
*
|
|
36
|
+
* THERE IS NO WAY TO CASH IT OUT TODAY. The withdrawal tools exist and
|
|
37
|
+
* they REFUSE — `request_cosm_withdrawal` returns a 409 listing what is
|
|
38
|
+
* outstanding. Call `get_cosm_withdrawals` and read `meta.open` before
|
|
39
|
+
* offering it to anybody; do not call the request tool to discover that
|
|
40
|
+
* it is closed.
|
|
41
|
+
*
|
|
42
|
+
* Do not tell anybody a market is coming on a date. It is gated on an
|
|
43
|
+
* audited minter, a securities opinion, a money-transmission review and
|
|
44
|
+
* the emission invariant proven under real volume, and NONE of those has
|
|
45
|
+
* a timetable. "Not yet, and here is what has to happen first" is the
|
|
46
|
+
* honest answer; a guessed quarter is not.
|
|
47
|
+
*
|
|
48
|
+
* A USER-TO-USER SEND DOES NOT EXIST AT ANY SETTING. If somebody asks to
|
|
49
|
+
* send COSM to another user or to an address, that is not a thing this
|
|
50
|
+
* API can do. The auction house moves COSM between users but only
|
|
51
|
+
* through a matched listing for amounts derived from it.
|
|
52
|
+
*
|
|
53
|
+
* THE TIERS ARE DISJOINT. `premium` cosmetics cost CASH only, `earned`
|
|
54
|
+
* cost COSM only, `stake_exclusive` cannot be bought at any price in any
|
|
55
|
+
* currency. Never imply a premium item can be earned or that a
|
|
56
|
+
* stake-exclusive one can be purchased.
|
|
57
|
+
*
|
|
58
|
+
* ── SPENDING COSM DESTROYS IT ─────────────────────────────────────────
|
|
59
|
+
* Buying an earned cosmetic, a fusion cost and the auction fee all BURN.
|
|
60
|
+
* Nothing is credited to Crossly. If a user asks where their COSM went,
|
|
61
|
+
* the honest answer is that it no longer exists — that is what makes the
|
|
62
|
+
* supply figures meaningful.
|
|
63
|
+
*/
|
|
64
|
+
export const cosmTools = [
|
|
65
|
+
...cosmSupply,
|
|
66
|
+
...cosmCosmetics,
|
|
67
|
+
...cosmAuction,
|
|
68
|
+
...cosmFusionHandles,
|
|
69
|
+
...cosmWithdrawals,
|
|
70
|
+
...cosmAttestations,
|
|
71
|
+
...cosmPegs,
|
|
72
|
+
...cosmStorefront,
|
|
73
|
+
...cosmDesigner,
|
|
74
|
+
];
|
|
75
|
+
//# sourceMappingURL=cosm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cosm.js","sourceRoot":"","sources":["../../src/tools/cosm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,GAAG,UAAU;IACb,GAAG,aAAa;IAChB,GAAG,WAAW;IACd,GAAG,iBAAiB;IACpB,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,QAAQ;IACX,GAAG,cAAc;IACjB,GAAG,YAAY;CAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/tools/customers.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,cAAc,EAAE,OAAO,EA8JnC,CAAC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { apiGet, apiPost } from '../api.js';
|
|
2
|
+
import { IDEMPOTENCY_PROP } from './types.js';
|
|
3
|
+
export const customersTools = [
|
|
4
|
+
{
|
|
5
|
+
name: 'list_customers',
|
|
6
|
+
description: "Aggregated customer view — groups the seller's orders by lower(buyer_username) so the same buyer " +
|
|
7
|
+
'on multiple platforms shows as one row. Returns normalizedHandle, platforms[], totalOrders, totalSpent, ' +
|
|
8
|
+
'lastOrderAt, firstOrderAt, plus avatarUrl, displayName and bestRating ({value 0-5, count, platform} or null) ' +
|
|
9
|
+
'from their marketplace buyer profiles. Sorted by totalOrders DESC then totalSpent DESC — repeat buyers first.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
search: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Case-insensitive substring match on buyer username. Omit to list everyone.',
|
|
16
|
+
},
|
|
17
|
+
page: {
|
|
18
|
+
type: 'integer',
|
|
19
|
+
minimum: 1,
|
|
20
|
+
default: 1,
|
|
21
|
+
description: '1-indexed page of the aggregated customer list (offset = (page-1)*limit). Default 1. Rows are ' +
|
|
22
|
+
'aggregated buyers, not orders.',
|
|
23
|
+
},
|
|
24
|
+
limit: {
|
|
25
|
+
type: 'integer',
|
|
26
|
+
minimum: 1,
|
|
27
|
+
maximum: 100,
|
|
28
|
+
default: 25,
|
|
29
|
+
description: 'Customers per page. Default 25; the server clamps anything above 100 down to 100 rather than ' +
|
|
30
|
+
'erroring.',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
additionalProperties: false,
|
|
34
|
+
},
|
|
35
|
+
handler: (args) => apiGet('/v1/customers', {
|
|
36
|
+
search: args.search,
|
|
37
|
+
page: args.page,
|
|
38
|
+
limit: args.limit,
|
|
39
|
+
}),
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'get_customer',
|
|
43
|
+
description: 'Fetch one buyer (by normalized handle) plus their recent 50 orders across all platforms. ' +
|
|
44
|
+
'Use this to look up a repeat buyer before sending a message or to investigate a dispute history. ' +
|
|
45
|
+
'Also returns `contact` — email, name, phone and the most recent shipping address, each resolved ' +
|
|
46
|
+
'from the latest order that carried it. Fields are null when the marketplace does not share them ' +
|
|
47
|
+
'with sellers, which is most of them; eBay is the one that reliably does. ' +
|
|
48
|
+
'Also returns `profiles` — one per platform the buyer ordered on: displayName, avatarUrl, profileUrl, ' +
|
|
49
|
+
'rating/ratingCount (0-5 stars where the marketplace has them), feedbackScore, positivePercent, memberSince, ' +
|
|
50
|
+
'location, verified, badges, plus source (order | profile_fetch | crossly) and fetchStatus (ok | unsupported | ' +
|
|
51
|
+
'not_found | error); null fields mean the marketplace did not share them. And `stats` over ALL of their ' +
|
|
52
|
+
'orders (not just the 50 shown): totalOrders, totalSpent, avgOrderValue, first/lastOrderAt, ' +
|
|
53
|
+
'daysSinceLastOrder, platformsCount, cancelledCount, returnsCount, disputesCount, messagesCount, ' +
|
|
54
|
+
'offersCount, repeatBuyer.',
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {
|
|
58
|
+
handle: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'Normalized (lowercase) buyer handle from list_customers.',
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
required: ['handle'],
|
|
64
|
+
additionalProperties: false,
|
|
65
|
+
},
|
|
66
|
+
handler: (args) => apiGet(`/v1/customers/${encodeURIComponent(args.handle.toLowerCase())}`),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'refresh_customer_profile',
|
|
70
|
+
description: "Re-read a buyer's marketplace profiles now (avatar, rating, feedback, member-since) on every platform they " +
|
|
71
|
+
'ordered on, skipping the 7-day freshness window. Asynchronous: returns which platforms were queued; call ' +
|
|
72
|
+
'get_customer a little later to see the refreshed `profiles`. Platforms with no readable profile still ' +
|
|
73
|
+
'refresh what their orders carry. Rate-limited per seller (10/minute). Pass an idempotencyKey on retries.',
|
|
74
|
+
inputSchema: {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties: {
|
|
77
|
+
handle: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'Normalized (lowercase) buyer handle from list_customers.',
|
|
80
|
+
},
|
|
81
|
+
...IDEMPOTENCY_PROP,
|
|
82
|
+
},
|
|
83
|
+
required: ['handle'],
|
|
84
|
+
additionalProperties: false,
|
|
85
|
+
},
|
|
86
|
+
handler: (args) => {
|
|
87
|
+
const { idempotencyKey, handle } = args;
|
|
88
|
+
return apiPost(`/v1/customers/${encodeURIComponent(handle.toLowerCase())}/refresh-profile`, {}, idempotencyKey);
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'customers_bulk_delete',
|
|
93
|
+
description: "Bulk-blocklist customer handles. Customers aren't a CRUD table — they aggregate from orders — so 'delete' means " +
|
|
94
|
+
"'hide this handle from the customers view and stop future aggregation'. Existing orders rows are untouched. Pass " +
|
|
95
|
+
'an idempotencyKey on retries.',
|
|
96
|
+
inputSchema: {
|
|
97
|
+
type: 'object',
|
|
98
|
+
properties: {
|
|
99
|
+
handles: {
|
|
100
|
+
type: 'array',
|
|
101
|
+
items: { type: 'string' },
|
|
102
|
+
minItems: 1,
|
|
103
|
+
maxItems: 500,
|
|
104
|
+
description: 'Buyer handles to blocklist — the `normalizedHandle` values from list_customers. 1-500 per call, ' +
|
|
105
|
+
'each 1-200 characters. Lowercased server-side, so casing does not matter, and the same handle is ' +
|
|
106
|
+
'blocklisted across every platform it traded on (that is what "normalized" means here). Re-sending ' +
|
|
107
|
+
'an already-blocklisted handle is a no-op, not an error. Existing orders rows are never touched.',
|
|
108
|
+
},
|
|
109
|
+
...IDEMPOTENCY_PROP,
|
|
110
|
+
},
|
|
111
|
+
required: ['handles'],
|
|
112
|
+
additionalProperties: false,
|
|
113
|
+
},
|
|
114
|
+
handler: (args) => {
|
|
115
|
+
const { idempotencyKey, ...body } = args;
|
|
116
|
+
return apiPost('/v1/customers/bulk-delete', body, idempotencyKey);
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: 'customers_bulk_export',
|
|
121
|
+
description: 'Export aggregated customer rows for a list of handles as CSV. Returns the CSV text body — caller should treat as a string. ' +
|
|
122
|
+
'Pass an idempotencyKey for cache-replay safety.',
|
|
123
|
+
inputSchema: {
|
|
124
|
+
type: 'object',
|
|
125
|
+
properties: {
|
|
126
|
+
handles: {
|
|
127
|
+
type: 'array',
|
|
128
|
+
items: { type: 'string' },
|
|
129
|
+
minItems: 1,
|
|
130
|
+
maxItems: 2000,
|
|
131
|
+
description: 'Buyer handles to export — `normalizedHandle` values from list_customers. 1-2000 per call, each ' +
|
|
132
|
+
'1-200 characters; lowercased server-side. Output columns are handle, platforms (pipe-separated), ' +
|
|
133
|
+
'total_orders, total_spent, last_order, first_order. Handles with no matching order are simply ' +
|
|
134
|
+
'absent from the CSV rather than an error, so a short file means unmatched handles, not a failure.',
|
|
135
|
+
},
|
|
136
|
+
...IDEMPOTENCY_PROP,
|
|
137
|
+
},
|
|
138
|
+
required: ['handles'],
|
|
139
|
+
additionalProperties: false,
|
|
140
|
+
},
|
|
141
|
+
handler: (args) => {
|
|
142
|
+
const { idempotencyKey, ...body } = args;
|
|
143
|
+
return apiPost('/v1/customers/bulk-export', body, idempotencyKey);
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
];
|
|
147
|
+
//# sourceMappingURL=customers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.js","sourceRoot":"","sources":["../../src/tools/customers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAW,MAAM,YAAY,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,mGAAmG;YACnG,0GAA0G;YAC1G,+GAA+G;YAC/G,+GAA+G;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4EAA4E;iBAC1F;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EACT,gGAAgG;wBAChG,gCAAgC;iBACnC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,EAAE;oBACX,WAAW,EACT,+FAA+F;wBAC/F,WAAW;iBACd;aACF;YACD,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,MAAM,CAAC,eAAe,EAAE;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;KACL;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,mGAAmG;YACnG,kGAAkG;YAClG,kGAAkG;YAClG,2EAA2E;YAC3E,uGAAuG;YACvG,8GAA8G;YAC9G,gHAAgH;YAChH,yGAAyG;YACzG,6FAA6F;YAC7F,kGAAkG;YAClG,2BAA2B;QAC7B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,MAAM,CAAC,iBAAiB,kBAAkB,CAAE,IAAI,CAAC,MAAiB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;KACvF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,6GAA6G;YAC7G,2GAA2G;YAC3G,wGAAwG;YACxG,0GAA0G;QAC5G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0DAA0D;iBACxE;gBACD,GAAG,gBAAgB;aACpB;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAmD,CAAC;YACvF,OAAO,OAAO,CACZ,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAC3E,EAAE,EACF,cAAc,CACf,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,kHAAkH;YAClH,mHAAmH;YACnH,+BAA+B;QACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,GAAG;oBACb,WAAW,EACT,kGAAkG;wBAClG,mGAAmG;wBACnG,oGAAoG;wBACpG,iGAAiG;iBACpG;gBACD,GAAG,gBAAgB;aACpB;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,IAA6D,CAAC;YAClG,OAAO,OAAO,CAAC,2BAA2B,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,6HAA6H;YAC7H,iDAAiD;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,IAAI;oBACd,WAAW,EACT,iGAAiG;wBACjG,mGAAmG;wBACnG,gGAAgG;wBAChG,mGAAmG;iBACtG;gBACD,GAAG,gBAAgB;aACpB;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,IAA6D,CAAC;YAClG,OAAO,OAAO,CAAC,2BAA2B,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ToolDef } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The Crossly DAO — staked CBX decides what the events pool funds.
|
|
4
|
+
*
|
|
5
|
+
* ── THE ONE RULE AN AGENT MUST NOT HELP ANYBODY AROUND ────────────────
|
|
6
|
+
* A VOTE CAN NEVER DIRECT FUNDS TO THE VOTERS. `beneficiaryKind` is a
|
|
7
|
+
* closed set — community_event, grant, charity, marketing, policy — with
|
|
8
|
+
* no stakers, no holders, no airdrop and no distribution option, in this
|
|
9
|
+
* schema, in the route, in the service and in a database CHECK.
|
|
10
|
+
*
|
|
11
|
+
* If somebody asks for a proposal that pays out to holders, to stakers,
|
|
12
|
+
* to "the community" as a balance credit, or to themselves, the answer is
|
|
13
|
+
* that this mechanism cannot express it. Do not reach for `grant` with
|
|
14
|
+
* the electorate as the grantee, or `community_event` for an event whose
|
|
15
|
+
* benefit is a token distribution — that is the same thing wearing a
|
|
16
|
+
* different label, and a distribution decided by its own recipients is a
|
|
17
|
+
* dividend whatever it is called. THE DAO DECIDES WHAT TO FUND, NEVER WHO
|
|
18
|
+
* GETS PAID.
|
|
19
|
+
*
|
|
20
|
+
* ── NO TOOL HERE MOVES MONEY, AND THAT IS NOT AN OVERSIGHT ────────────
|
|
21
|
+
* A passed proposal sets a STATUS. Disbursing goes through a campaign
|
|
22
|
+
* with a preview and a human approval, and there is no execute or
|
|
23
|
+
* disburse endpoint on this surface at all. Never tell somebody a passed
|
|
24
|
+
* proposal has been funded — it has been AUTHORISED.
|
|
25
|
+
*
|
|
26
|
+
* ── VOTING POWER IS FROZEN AT OPEN ────────────────────────────────────
|
|
27
|
+
* Weight is staked size x tenure, snapshotted when the proposal opens.
|
|
28
|
+
* Staking after seeing a proposal grants NO vote on it, and the quorum
|
|
29
|
+
* denominator never recomputes. If somebody asks how to acquire weight
|
|
30
|
+
* for a live vote, there is no way: that is the acquire-vote-sell attack
|
|
31
|
+
* and closing it is the point.
|
|
32
|
+
*
|
|
33
|
+
* Any single voter is capped at 10% of total weight however much they
|
|
34
|
+
* hold. Note the direction — the cap is on WEIGHT, not on who may
|
|
35
|
+
* propose. Proposing is open above a small stake threshold on purpose:
|
|
36
|
+
* restricting proposals to large holders is the intuitive whale defence
|
|
37
|
+
* and the wrong one, because it hands the agenda to exactly the
|
|
38
|
+
* concentration it was meant to contain.
|
|
39
|
+
*
|
|
40
|
+
* ── PARTICIPATION IS NOT A YIELD ──────────────────────────────────────
|
|
41
|
+
* Voting earns nothing. Proposing earns nothing. Staking multiplies a
|
|
42
|
+
* COSM earn RATE on activity and grants governance weight; it pays no
|
|
43
|
+
* return on the stake itself. If somebody is weighing a stake as an
|
|
44
|
+
* investment, that framing is wrong and worth correcting.
|
|
45
|
+
*
|
|
46
|
+
* ── AMOUNTS ARE STRINGS OF BASE UNITS ─────────────────────────────────
|
|
47
|
+
* `requestedBaseUnits` and every power figure are strings, because a
|
|
48
|
+
* JSON number loses precision past 2^53. Never do float arithmetic on
|
|
49
|
+
* them. CBX decimals are per-merchant config, so read them from the CBX
|
|
50
|
+
* config rather than assuming a count before converting for display.
|
|
51
|
+
*/
|
|
52
|
+
export declare const daoTools: ToolDef[];
|
|
53
|
+
//# sourceMappingURL=dao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dao.d.ts","sourceRoot":"","sources":["../../src/tools/dao.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,EAmV7B,CAAC"}
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
import { apiDelete, apiGet, apiPost } from '../api.js';
|
|
2
|
+
import { IDEMPOTENCY_PROP } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The Crossly DAO — staked CBX decides what the events pool funds.
|
|
5
|
+
*
|
|
6
|
+
* ── THE ONE RULE AN AGENT MUST NOT HELP ANYBODY AROUND ────────────────
|
|
7
|
+
* A VOTE CAN NEVER DIRECT FUNDS TO THE VOTERS. `beneficiaryKind` is a
|
|
8
|
+
* closed set — community_event, grant, charity, marketing, policy — with
|
|
9
|
+
* no stakers, no holders, no airdrop and no distribution option, in this
|
|
10
|
+
* schema, in the route, in the service and in a database CHECK.
|
|
11
|
+
*
|
|
12
|
+
* If somebody asks for a proposal that pays out to holders, to stakers,
|
|
13
|
+
* to "the community" as a balance credit, or to themselves, the answer is
|
|
14
|
+
* that this mechanism cannot express it. Do not reach for `grant` with
|
|
15
|
+
* the electorate as the grantee, or `community_event` for an event whose
|
|
16
|
+
* benefit is a token distribution — that is the same thing wearing a
|
|
17
|
+
* different label, and a distribution decided by its own recipients is a
|
|
18
|
+
* dividend whatever it is called. THE DAO DECIDES WHAT TO FUND, NEVER WHO
|
|
19
|
+
* GETS PAID.
|
|
20
|
+
*
|
|
21
|
+
* ── NO TOOL HERE MOVES MONEY, AND THAT IS NOT AN OVERSIGHT ────────────
|
|
22
|
+
* A passed proposal sets a STATUS. Disbursing goes through a campaign
|
|
23
|
+
* with a preview and a human approval, and there is no execute or
|
|
24
|
+
* disburse endpoint on this surface at all. Never tell somebody a passed
|
|
25
|
+
* proposal has been funded — it has been AUTHORISED.
|
|
26
|
+
*
|
|
27
|
+
* ── VOTING POWER IS FROZEN AT OPEN ────────────────────────────────────
|
|
28
|
+
* Weight is staked size x tenure, snapshotted when the proposal opens.
|
|
29
|
+
* Staking after seeing a proposal grants NO vote on it, and the quorum
|
|
30
|
+
* denominator never recomputes. If somebody asks how to acquire weight
|
|
31
|
+
* for a live vote, there is no way: that is the acquire-vote-sell attack
|
|
32
|
+
* and closing it is the point.
|
|
33
|
+
*
|
|
34
|
+
* Any single voter is capped at 10% of total weight however much they
|
|
35
|
+
* hold. Note the direction — the cap is on WEIGHT, not on who may
|
|
36
|
+
* propose. Proposing is open above a small stake threshold on purpose:
|
|
37
|
+
* restricting proposals to large holders is the intuitive whale defence
|
|
38
|
+
* and the wrong one, because it hands the agenda to exactly the
|
|
39
|
+
* concentration it was meant to contain.
|
|
40
|
+
*
|
|
41
|
+
* ── PARTICIPATION IS NOT A YIELD ──────────────────────────────────────
|
|
42
|
+
* Voting earns nothing. Proposing earns nothing. Staking multiplies a
|
|
43
|
+
* COSM earn RATE on activity and grants governance weight; it pays no
|
|
44
|
+
* return on the stake itself. If somebody is weighing a stake as an
|
|
45
|
+
* investment, that framing is wrong and worth correcting.
|
|
46
|
+
*
|
|
47
|
+
* ── AMOUNTS ARE STRINGS OF BASE UNITS ─────────────────────────────────
|
|
48
|
+
* `requestedBaseUnits` and every power figure are strings, because a
|
|
49
|
+
* JSON number loses precision past 2^53. Never do float arithmetic on
|
|
50
|
+
* them. CBX decimals are per-merchant config, so read them from the CBX
|
|
51
|
+
* config rather than assuming a count before converting for display.
|
|
52
|
+
*/
|
|
53
|
+
export const daoTools = [
|
|
54
|
+
{
|
|
55
|
+
name: 'list_dao_proposals',
|
|
56
|
+
description: 'The DAO proposal queue. `meta` carries every threshold — minimum weight to '
|
|
57
|
+
+ 'propose and to vote, the in-flight and monthly limits, the default window, and '
|
|
58
|
+
+ 'the closed list of `beneficiaryKinds` — so a refusal can be explained BEFORE '
|
|
59
|
+
+ 'attempting it. Read this first rather than discovering a limit from an error. '
|
|
60
|
+
+ '`totalVotingPower` is the frozen quorum denominator, captured when the proposal '
|
|
61
|
+
+ 'opened; it does not track current stake and is not supposed to. '
|
|
62
|
+
+ 'Power figures are strings of base units.',
|
|
63
|
+
inputSchema: {
|
|
64
|
+
type: 'object',
|
|
65
|
+
properties: {
|
|
66
|
+
status: {
|
|
67
|
+
type: 'string',
|
|
68
|
+
enum: ['draft', 'open', 'passed', 'rejected', 'vetoed', 'expired', 'executed'],
|
|
69
|
+
description: 'Filter by status. `expired` means quorum was never met — nobody turned up; '
|
|
70
|
+
+ '`rejected` means the room voted no. They are different outcomes.',
|
|
71
|
+
},
|
|
72
|
+
limit: {
|
|
73
|
+
type: 'integer',
|
|
74
|
+
minimum: 1,
|
|
75
|
+
maximum: 200,
|
|
76
|
+
default: 50,
|
|
77
|
+
description: 'How many proposals. Default 50.',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
additionalProperties: false,
|
|
81
|
+
},
|
|
82
|
+
handler: (args) => {
|
|
83
|
+
const query = {};
|
|
84
|
+
if (args.status !== undefined)
|
|
85
|
+
query.status = String(args.status);
|
|
86
|
+
if (args.limit !== undefined)
|
|
87
|
+
query.limit = String(args.limit);
|
|
88
|
+
return apiGet('/v1/dao/proposals', Object.keys(query).length ? query : undefined);
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: 'create_dao_proposal',
|
|
93
|
+
description: 'Raise a DAO proposal. It starts as a DRAFT and is not voted on until '
|
|
94
|
+
+ '`open_dao_proposal` is called — so creating one is safe and reversible. '
|
|
95
|
+
+ '`beneficiaryKind` IS A CLOSED SET and there is deliberately no stakers, holders, '
|
|
96
|
+
+ 'airdrop or distribution option. A proposal whose beneficiaries are the voters is '
|
|
97
|
+
+ 'a self-payment and this surface cannot express one; do not attempt it under '
|
|
98
|
+
+ '`grant` or `community_event` either. '
|
|
99
|
+
+ 'A `policy` proposal requests no funds and MUST omit `requestedBaseUnits`; every '
|
|
100
|
+
+ 'other kind must supply it, except a `charity` proposal with a `charityGoal`, whose '
|
|
101
|
+
+ 'amount is the pile of users’ gifts when it is announced. '
|
|
102
|
+
+ 'Requires staked CBX above `minProposeWeight`, one in-flight proposal at a time, '
|
|
103
|
+
+ 'and a capped number per month — read those from `list_dao_proposals` meta first. '
|
|
104
|
+
+ 'Those limits bound a denial of attention rather than of service.',
|
|
105
|
+
inputSchema: {
|
|
106
|
+
type: 'object',
|
|
107
|
+
properties: {
|
|
108
|
+
subjectId: {
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: 'The CBX subject id raising this. Must be a subject you own.',
|
|
111
|
+
},
|
|
112
|
+
title: { type: 'string', description: 'Short title (3-200 chars).' },
|
|
113
|
+
body: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
description: 'The proposal itself (10-20000 chars). Write it expecting to be read by '
|
|
116
|
+
+ 'people deciding how to vote — what is being funded, why, and what happens '
|
|
117
|
+
+ 'if it passes.',
|
|
118
|
+
},
|
|
119
|
+
beneficiaryKind: {
|
|
120
|
+
type: 'string',
|
|
121
|
+
enum: ['community_event', 'grant', 'charity', 'marketing', 'policy'],
|
|
122
|
+
description: 'Who benefits. CLOSED SET — every option names somebody OTHER than the '
|
|
123
|
+
+ 'electorate. `policy` changes a rule and requests no funds.',
|
|
124
|
+
},
|
|
125
|
+
beneficiaryNote: {
|
|
126
|
+
type: 'string',
|
|
127
|
+
description: 'Who specifically — the named grantee, charity, or event audience. Max 2000 '
|
|
128
|
+
+ 'chars.',
|
|
129
|
+
},
|
|
130
|
+
requestedBaseUnits: {
|
|
131
|
+
type: 'string',
|
|
132
|
+
description: 'CBX requested, as a STRING of base units (never a float). Required for every '
|
|
133
|
+
+ 'kind except `policy`, which must omit it.',
|
|
134
|
+
},
|
|
135
|
+
quorumBps: {
|
|
136
|
+
type: 'integer',
|
|
137
|
+
minimum: 1,
|
|
138
|
+
maximum: 10000,
|
|
139
|
+
description: 'Turnout required, in basis points of frozen total power. Omit for the default.',
|
|
140
|
+
},
|
|
141
|
+
passThresholdBps: {
|
|
142
|
+
type: 'integer',
|
|
143
|
+
minimum: 1,
|
|
144
|
+
maximum: 10000,
|
|
145
|
+
description: 'Approval required, in basis points of DECISIVE votes (abstentions excluded). '
|
|
146
|
+
+ 'Omit for the default.',
|
|
147
|
+
},
|
|
148
|
+
charityGoal: {
|
|
149
|
+
type: 'object',
|
|
150
|
+
description: 'Charity proposals only: the Crossly Cares cause this would fund. `charitySlug` is a '
|
|
151
|
+
+ 'vetted charity or `crossly-cares` for a program the charity runs itself.',
|
|
152
|
+
properties: {
|
|
153
|
+
charitySlug: { type: 'string' },
|
|
154
|
+
title: { type: 'string', description: '3-120 chars.' },
|
|
155
|
+
mission: { type: 'string', description: 'What the money does, 10-2000 chars.' },
|
|
156
|
+
targetCents: { type: 'integer', minimum: 100, description: 'Dollar target in cents.' },
|
|
157
|
+
endsAt: { type: 'string', description: 'Optional ISO end date.' },
|
|
158
|
+
},
|
|
159
|
+
required: ['charitySlug', 'title', 'mission', 'targetCents'],
|
|
160
|
+
additionalProperties: false,
|
|
161
|
+
},
|
|
162
|
+
...IDEMPOTENCY_PROP,
|
|
163
|
+
},
|
|
164
|
+
required: ['subjectId', 'title', 'body', 'beneficiaryKind'],
|
|
165
|
+
additionalProperties: false,
|
|
166
|
+
},
|
|
167
|
+
handler: (args) => {
|
|
168
|
+
const { idempotencyKey, ...body } = args;
|
|
169
|
+
return apiPost('/v1/dao/proposals', body, idempotencyKey === undefined ? undefined : String(idempotencyKey));
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'open_dao_proposal',
|
|
174
|
+
description: 'Put YOUR OWN draft to a binding vote. This is the irreversible step — a draft can '
|
|
175
|
+
+ 'be withdrawn, an open proposal runs its window and gets a result. '
|
|
176
|
+
+ 'ONLY THE PROPOSER MAY OPEN THEIR DRAFT. Opening commits something to a vote in '
|
|
177
|
+
+ 'their name, so authorship and that decision belong together; passing another '
|
|
178
|
+
+ "subject's id is refused. "
|
|
179
|
+
+ 'Opening SNAPSHOTS per-subject voting power and freezes the quorum denominator. '
|
|
180
|
+
+ 'Nothing recomputes either afterwards — that is what stops acquiring weight after '
|
|
181
|
+
+ 'seeing a proposal. Anybody who wanted to vote must already be staked. '
|
|
182
|
+
+ 'Refuses when nobody holds enough staked CBX to vote, because opening then would '
|
|
183
|
+
+ 'guarantee a failed quorum and waste the window.',
|
|
184
|
+
inputSchema: {
|
|
185
|
+
type: 'object',
|
|
186
|
+
properties: {
|
|
187
|
+
proposalId: { type: 'string', description: 'The draft proposal id.' },
|
|
188
|
+
subjectId: {
|
|
189
|
+
type: 'string',
|
|
190
|
+
description: 'The proposer. Must match the subject that created the draft.',
|
|
191
|
+
},
|
|
192
|
+
votingDays: {
|
|
193
|
+
type: 'integer',
|
|
194
|
+
minimum: 1,
|
|
195
|
+
maximum: 60,
|
|
196
|
+
description: 'Window length in days. Omit for `defaultVotingDays`.',
|
|
197
|
+
},
|
|
198
|
+
...IDEMPOTENCY_PROP,
|
|
199
|
+
},
|
|
200
|
+
required: ['proposalId', 'subjectId'],
|
|
201
|
+
additionalProperties: false,
|
|
202
|
+
},
|
|
203
|
+
handler: (args) => {
|
|
204
|
+
const { proposalId, idempotencyKey, ...body } = args;
|
|
205
|
+
return apiPost(`/v1/dao/proposals/${encodeURIComponent(String(proposalId))}/open`, body, idempotencyKey === undefined ? undefined : String(idempotencyKey));
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: 'withdraw_dao_proposal',
|
|
210
|
+
description: 'Withdraw your own DRAFT. DRAFTS ONLY — withdrawing an open proposal would discard '
|
|
211
|
+
+ 'votes already cast, which is the proposer overruling the electorate. An open '
|
|
212
|
+
+ 'proposal runs its window and gets a result; if somebody wants a live proposal '
|
|
213
|
+
+ 'stopped, the honest answer is that it cannot be. '
|
|
214
|
+
+ 'This exists so the one-in-flight limit is not a trap: without it a typo would '
|
|
215
|
+
+ 'lock somebody out of governance until the draft expired.',
|
|
216
|
+
inputSchema: {
|
|
217
|
+
type: 'object',
|
|
218
|
+
properties: {
|
|
219
|
+
proposalId: { type: 'string', description: 'The DRAFT proposal id.' },
|
|
220
|
+
subjectId: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
description: 'The proposer. Must match the subject that created the draft.',
|
|
223
|
+
},
|
|
224
|
+
...IDEMPOTENCY_PROP,
|
|
225
|
+
},
|
|
226
|
+
required: ['proposalId', 'subjectId'],
|
|
227
|
+
additionalProperties: false,
|
|
228
|
+
},
|
|
229
|
+
handler: (args) =>
|
|
230
|
+
// See the note in cosm.ts: (path, idempotencyKey?, query?), no body.
|
|
231
|
+
apiDelete(`/v1/dao/proposals/${encodeURIComponent(String(args.proposalId))}`, args.idempotencyKey === undefined ? undefined : String(args.idempotencyKey), { subjectId: String(args.subjectId) }),
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
name: 'cast_dao_vote',
|
|
235
|
+
description: 'Cast or change a vote while the window is open. '
|
|
236
|
+
+ 'Weight comes from the snapshot taken when the proposal OPENED, so staking '
|
|
237
|
+
+ 'afterwards grants no vote on it — the returned `weight` is that frozen figure, '
|
|
238
|
+
+ 'not current stake. A single voter contributes at most 10% of total weight '
|
|
239
|
+
+ 'however much they hold. '
|
|
240
|
+
+ 'Changing your mind is an UPDATE, not a second vote (`changed` tells you which '
|
|
241
|
+
+ 'happened); a unique index makes double-counting impossible regardless. '
|
|
242
|
+
+ 'ABSTAIN counts toward turnout and NOT toward approval — it lets somebody help a '
|
|
243
|
+
+ 'proposal clear quorum without taking a side, which is the whole reason it is '
|
|
244
|
+
+ 'offered. Voting earns nothing.',
|
|
245
|
+
inputSchema: {
|
|
246
|
+
type: 'object',
|
|
247
|
+
properties: {
|
|
248
|
+
proposalId: { type: 'string', description: 'An OPEN proposal id.' },
|
|
249
|
+
subjectId: {
|
|
250
|
+
type: 'string',
|
|
251
|
+
description: 'The voting CBX subject. Must be one you own and must be staked.',
|
|
252
|
+
},
|
|
253
|
+
choice: {
|
|
254
|
+
type: 'string',
|
|
255
|
+
enum: ['for', 'against', 'abstain'],
|
|
256
|
+
description: '`abstain` counts toward quorum but not toward approval — use it to help a '
|
|
257
|
+
+ 'vote reach turnout without endorsing it.',
|
|
258
|
+
},
|
|
259
|
+
reason: {
|
|
260
|
+
type: 'string',
|
|
261
|
+
description: 'Optional public rationale, max 2000 chars.',
|
|
262
|
+
},
|
|
263
|
+
...IDEMPOTENCY_PROP,
|
|
264
|
+
},
|
|
265
|
+
required: ['proposalId', 'subjectId', 'choice'],
|
|
266
|
+
additionalProperties: false,
|
|
267
|
+
},
|
|
268
|
+
handler: (args) => {
|
|
269
|
+
const { proposalId, idempotencyKey, ...body } = args;
|
|
270
|
+
return apiPost(`/v1/dao/proposals/${encodeURIComponent(String(proposalId))}/vote`, body, idempotencyKey === undefined ? undefined : String(idempotencyKey));
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: 'get_dao_tally',
|
|
275
|
+
description: 'The live count on a proposal. '
|
|
276
|
+
+ '`turnoutBps` is cast power over the FROZEN total and INCLUDES abstentions. '
|
|
277
|
+
+ '`approvalBps` is FOR over decisive votes and EXCLUDES them. Reporting either as '
|
|
278
|
+
+ 'the other is the easiest way to misstate a result. '
|
|
279
|
+
+ '`passed` reflects the arithmetic, not a final status — a window still open can '
|
|
280
|
+
+ 'change, and finalising is what records an outcome. '
|
|
281
|
+
+ 'A proposal that misses quorum finalises as `expired` rather than `rejected`: '
|
|
282
|
+
+ '"nobody turned up" and "the room said no" are different, and a proposer deserves '
|
|
283
|
+
+ 'to know which happened.',
|
|
284
|
+
inputSchema: {
|
|
285
|
+
type: 'object',
|
|
286
|
+
properties: {
|
|
287
|
+
proposalId: { type: 'string', description: 'The proposal id.' },
|
|
288
|
+
},
|
|
289
|
+
required: ['proposalId'],
|
|
290
|
+
additionalProperties: false,
|
|
291
|
+
},
|
|
292
|
+
handler: (args) => apiGet(`/v1/dao/proposals/${encodeURIComponent(String(args.proposalId))}/tally`),
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: 'finalise_dao_proposal',
|
|
296
|
+
description: 'Close a proposal whose window has passed and record the outcome. Normally '
|
|
297
|
+
+ 'unnecessary — an hourly sweep does it — and exposed so a result can be published '
|
|
298
|
+
+ 'immediately rather than waiting for a tick. '
|
|
299
|
+
+ 'FINALISING RECORDS AN OUTCOME AND NOTHING ELSE. A passed proposal sets a status; '
|
|
300
|
+
+ 'disbursing still requires a campaign with a preview and a human approval. Never '
|
|
301
|
+
+ 'report a passed proposal as funded — it is AUTHORISED, and nothing on this '
|
|
302
|
+
+ 'surface can move value.',
|
|
303
|
+
inputSchema: {
|
|
304
|
+
type: 'object',
|
|
305
|
+
properties: {
|
|
306
|
+
proposalId: { type: 'string', description: 'The proposal id.' },
|
|
307
|
+
...IDEMPOTENCY_PROP,
|
|
308
|
+
},
|
|
309
|
+
required: ['proposalId'],
|
|
310
|
+
additionalProperties: false,
|
|
311
|
+
},
|
|
312
|
+
handler: (args) => apiPost(`/v1/dao/proposals/${encodeURIComponent(String(args.proposalId))}/finalise`, {}, args.idempotencyKey === undefined ? undefined : String(args.idempotencyKey)),
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
name: 'veto_dao_proposal',
|
|
316
|
+
description: 'OPERATOR BLOCK on a proposal. Needs a `treasury`-scoped key, not the `campaign` '
|
|
317
|
+
+ 'scope the rest of this surface uses — overriding a community vote is a heavier '
|
|
318
|
+
+ 'act than participating in one. '
|
|
319
|
+
+ 'THERE IS NO MATCHING POWER TO PASS, deliberately. A veto exists for the illegal '
|
|
320
|
+
+ 'and the ruinous. A power to pass would make every vote advisory theatre, because '
|
|
321
|
+
+ 'the outcome would always be whatever the operator preferred; an operator who can '
|
|
322
|
+
+ 'only say no cannot manufacture an outcome. '
|
|
323
|
+
+ 'The reason is MANDATORY, stored, and public. An unexplained veto is '
|
|
324
|
+
+ 'indistinguishable from disliking the result, which is precisely what would '
|
|
325
|
+
+ 'destroy confidence in the mechanism — write it expecting to be read. Do not '
|
|
326
|
+
+ 'invoke this to resolve a disagreement about the merits.',
|
|
327
|
+
inputSchema: {
|
|
328
|
+
type: 'object',
|
|
329
|
+
properties: {
|
|
330
|
+
proposalId: { type: 'string', description: 'The proposal id to block.' },
|
|
331
|
+
reason: {
|
|
332
|
+
type: 'string',
|
|
333
|
+
description: 'Why, in 10-2000 chars. Stored and public. State the specific legal or '
|
|
334
|
+
+ 'solvency problem, not a preference.',
|
|
335
|
+
},
|
|
336
|
+
vetoedByUserId: {
|
|
337
|
+
type: 'string',
|
|
338
|
+
description: 'The operator user accountable for the block.',
|
|
339
|
+
},
|
|
340
|
+
...IDEMPOTENCY_PROP,
|
|
341
|
+
},
|
|
342
|
+
required: ['proposalId', 'reason', 'vetoedByUserId'],
|
|
343
|
+
additionalProperties: false,
|
|
344
|
+
},
|
|
345
|
+
handler: (args) => {
|
|
346
|
+
const { proposalId, idempotencyKey, ...body } = args;
|
|
347
|
+
return apiPost(`/v1/dao/proposals/${encodeURIComponent(String(proposalId))}/veto`, body, idempotencyKey === undefined ? undefined : String(idempotencyKey));
|
|
348
|
+
},
|
|
349
|
+
},
|
|
350
|
+
];
|
|
351
|
+
//# sourceMappingURL=dao.js.map
|