o1.exchange 백서

o1.exchange

원문

bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 35쪽 중 21쪽

osed wallet. <Steps> <Step title="Accept the creator rights"> Accept the creator rights of the launchpad token on the launchpad page or on the token page. </Step> <Step title="Accept the launchpad"> Select **Accept ownership** and confirm the payout address. The app sends your wallet address as the expected creator. The registry rejects the acceptance when your wallet does not hold the creator rights. </Step> <Step title="Pay the seller"> Pay only after both acceptances complete. </Step> </Steps> ## What changes after the handover * Owner fees go to the payout address of the new owner. * The new owner controls the launch rules, identity, page, tokens and payout address. * The URL, the launchpad token, the owner share and the burn amount do not change. * Existing tokens on the launchpad keep their tax and their membership. When the registry allowlist is on, the new owner must be on it. The allowlist is off. ## Known limit The contracts do not escrow payment, and they do not make sure that both transfers complete. * A seller can cancel the launchpad proposal after the buyer accepts the creator rights. * After both acceptances, the buyer can refuse to pay. The seller cannot reverse either transfer. * The app makes the buyer hold the creator rights before the launchpad acceptance. A direct contract call with zero as `expectedCreator` skips that check. Payment after both acceptances protects the buyer. The seller keeps the payment risk. Use a trusted counterparty or a separate escrow arrangement. # Prepare fee claims Source: https://docs.o1.exchange/launchpad/public-api/reference/claims/prepare-fee-claims /launchpad-api-openapi.yaml post /claims/fees/prepare Verify fee-claim positions and return one independent unsigned transaction per position. # Prepare holder Dividend claims Source: https://docs.o1.exchange/launchpad/public-api/reference/claims/prepare-holder-dividend-claims /launchpad-api-openapi.yaml post /claims/dividends/prepare Resolve each publicly supported token's factory-bound Dividend clone, read live assigned rewards and recorded receiver, simulate the holder's exact claim, and return 1 to 10 independent unsigned transactions (atomic: false). Uses claims:prepare. The holder must initiate each claim, including smart wallets; no token approvals are required. Fee-accrual rewards are already assigned. Claim automatically retrieves the clone's full escrow entry when local backing is insufficient and pays only the claimant's earned amount. Historical distribution operation values return 422 unsupported_operation; index-only old suites are not publicly preparable. Claims can remain available after selling. Deficit or backing totals alone do not guarantee or preclude payment; exact simulation checks receiver and full-entry redemption behavior. simulated_holder_paid is a simulation result, not an executed payment. This API does not use the browser's atomic Claim all helper, and independently submitted transactions can succeed or fail separately. # Prepare vesting claims Source: https://docs.o1.exchange/launchpad/public-api/reference/claims/prepare-vesting-claims /launchpad-api-openapi.yaml post /claims/vesting/prepare Verify unlocked vesting positions and return one independent unsigned transaction per position. # Prepare a metadata document update Source: https://docs.o1.exchange/launchpad/public-api/reference/creators/prepare-a-metadata-document-update /launchpad-api-openapi.yaml post /tokens/{chain_id}/{token_address}/metadata/document/prepare Merge and pin token description, image, website, X, or Telegram updates, then return one unsigned contract-URI transaction. # Prepare an announcement Source: https://docs.o1.exchange/launchpad/public-api/reference/creators/prepare-an-announcement /launchpad-api-openapi.yaml post /tokens/{chain_id}/{token_address}/announcements/prepare Verify the launch creator and return an unsigned AnnouncementRegistry transaction. # Prepare an on-chain metadata update Source: https://docs.o1.exchange/launchpad/public-api/reference/creators/prepare-an-on-chain-metadata-update /launchpad-api-openapi.yaml post /tokens/{chain_id}/{token_address}/metadata/onchain/prepare Update the token name, symbol, or one on-chain extra-metadata key. # Prepare a launch Source: https://docs.o1.exchange/launchpad/public-api/reference/launches/prepare-a-launch /launchpad-api-openapi.yaml post /launches/prepare Validate inputs and any current creation-fee requirement, pin metadata, mine an 01 address, simulate against the verified chain snapshot, and return unsigned wallet steps. # Check API health Source: https://docs.o1.exchange/launchpad/public-api/reference/meta/check-api-health /launchpad-api-openapi.yaml get /health Check service availability and the running API build without querying launchpad data. # Get API configuration Source: https://docs.o1.exchange/launchpad/public-api/reference/meta/get-api-configuration /launchpad-api-openapi.yaml get /config Get production suites, contract addresses, quote assets, capabilities, and live creation state for one chain. # Prepare a swap Source: https://docs.o1.exchange/launchpad/public-api/reference/swaps/prepare-a-swap /launchpad-api-openapi.yaml post /swaps/prepare Requote an unmodified quote_id, preserve its reviewed slippage floor, simulate, and return an unsigned Universal Router transaction. # Quote a swap Source: https://docs.o1.exchange/launchpad/public-api/reference/swaps/quote-a-swap /launchpad-api-openapi.yaml post /swaps/quote Get a live exact-input launch-pool quote, minimum output, and any ERC-20 approval or Permit2 signature requirements. The quote expires after 2 minutes. # Get token details Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/get-token-details /launchpad-api-openapi.yaml get /tokens/{chain_id}/{token_address} Get one token's launch data and optionally include its pool, market, allocations, vesting, and recent announcements. # List announcements Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/list-announcements /launchpad-api-openapi.yaml get /tokens/{chain_id}/{token_address}/announcements Page through creator announcements for one tracked launch token. # List creator tokens Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/list-creator-tokens /launchpad-api-openapi.yaml get /creators/{address}/tokens List launches created by one wallet in newest or oldest order. # List token holders Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/list-token-holders /launchpad-api-openapi.yaml get /tokens/{chain_id}/{token_address}/holders Get a provider-backed holder snapshot for one tracked launch token. # List token trades Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/list-token-trades /launchpad-api-openapi.yaml get /tokens/{chain_id}/{token_address}/trades Page through canonical trades for one tracked launch token. Use at most one identity filter per request. # List tokens Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/list-tokens /launchpad-api-openapi.yaml get /tokens Browse launches by market, quote, and indexed ordering with cursor pagination. # Search tokens Source: https://docs.o1.exchange/launchpad/public-api/reference/tokens/search-tokens /launchpad-api-openapi.yaml get /tokens/search Search tracked launches by token address, name, symbol, creator, pool ID, or launch transaction. Matching results use one deterministic liquidity ordering. # Get transaction status Source: https://docs.o1.exchange/launchpad/public-api/reference/transactions/get-transaction-status /launchpad-api-openapi.yaml get /transactions/{chain_id}/{tx_hash} Read indexed status for a wallet-broadcast transaction. Data is null until the transaction is observed. # Discover holder dividend positions Source: https://docs.o1.exchange/launchpad/public-api/reference/wallets/discover-holder-dividend-positions /launchpad-api-openapi.yaml get /wallets/{address}/dividends Indexed position directory, including former holders with retained rewards. Balances and receivers are index snapshots; prepare a claim to verify the current onchain state. No current claimable amount is inferred from pending balance. # Get wallet overview Source: https://docs.o1.exchange/launchpad/public-api/reference/wallets/get-wallet-overview /launchpad-api-openapi.yaml get /wallets/{address} Get a compact launchpad overview with the wallet's latest launch, latest activity, and claimable-position flags. # List fee claims Source: https://docs.o1.exchange/launchpad/public-api/reference/wallets/list-fee-claims /launchpad-api-openapi.yaml get /wallets/{address}/fee-claims Page through fee positions for one wallet. # List vesting positions Source: https://docs.o1.exchange/launchpad/public-api/reference/wallets/list-vesting-positions /launchpad-api-openapi.yaml get /wallets/{address}/vesting Page through vesting positions for one beneficiary. # List wallet activity Source: https://docs.o1.exchange/launchpad/public-api/reference/wallets/list-wallet-activity /launchpad-api-openapi.yaml get /wallets/{address}/activity Page through structured public launchpad activity involving one wallet. # Functions and events Source: https://docs.o1.exchange/launchpad/reference/events-functions Public functions, important reads, and events for the current o1 Launchpad contracts. This developer reference summarizes the public contract surface. Use the verified explorer ABI for exact transaction encoding. <span /> ## Standard launch factories For Standard tokens, Base, Robinhood, BSC and X Layer each use one current launch factory for both crypto-paired and stock-paired creation. The current and historical addresses are linked from [Production contracts](/launchpad/reference/production-contracts), and the complete topology is available in [`launch-contract-suites.json`](/launchpad/reference/launch-contract-suites.json). Event consumers must retain historical factories and use the ABI matching each suite's `contractVersion`. ### Active production factories | Surface | Important members | | - | - | | Create | `createLaunch(LaunchParams)` creates and seeds a launch; `createLaunchAndBuy(LaunchParams, LaunchBuyParams)` also executes one protected buy through the configured adapter | | Core configuration | `configVersion`, `launchSupply`, `tickSpacing`, `bandTemplate`, `nativeLaunchFee`, `announcementRegistry`, and `launchBuyAdapter` | | Fee configuration | `baseFeeBps`, `antiSnipeStartTotalBps`, `antiSnipeWindowSeconds`, `feeComponentCount`, indexed `feeComponents(index)`, and `platformFeeRecipient` | | Quote state | `quoteConfig(quote)` and `quoteRevision(quote)` | | Creation state | `launchCreationEnabled`, `priceUpdater`, and `TOKEN_ADDRESS_SUFFIX` | | Transaction safety | `isLaunchSaltUsed(scopedSalt)` plus the fresh `configVersion` supplied in `LaunchParams` | | Quote management | `registerQuote`, `setQuoteStartTick`, and `unregisterQuote`, plus their bounded batch forms with at most 64 entries | | Creator-rights reads | `creatorRights(token)` and `currentCreatorOf(token)` | | Creator self-service | `proposeCreatorRightsTransfer`, `acceptCreatorRightsTransfer`, `cancelCreatorRightsTransfer`, `safeTransferCreatorRights`, and `setCreatorFeeRecipient` | | Creator-rights administration | `creatorAdmin`, `pendingCreatorAdmin`, `adminReassignCreatorRights`, `transferCreatorAdmin`, `acceptCreatorAdmin`, `cancelCreatorAdminTransfer`, and `revokeCreatorAdmin` | | Token metadata | `updateTokenName`, `updateTokenSymbol`, `updateTokenContractURI`, and `updateTokenExtraMetadata` for launches that enabled editing | The current Base, Robinhood, Monad, Arc, BSC and X Layer factories do not expose the older `feeDefaults()` aggregate read. Read the named fee getters and enumerate `feeComponents(0..feeComponentCount-1)`. They also replace the older `quotes()` tuple with `quoteConfig()`, use one global `nativeLaunchFee()` for every quote, and use `bandTemplate()` instead of `bands()`. The current fee component rows on all six chains are `CREATOR` at 50 bps, `PLATFORM` at 30 bps, and `REFERRER` at 20 bps. Their sum is the 100 bps base fee. Component bps are direct shares of the trade amount, not percentages that need to be applied to `baseFeeBps` again. ### Chain-specific token deployment Base creates and validates native B20 tokens. Robinhood, Monad, Arc, BSC and X Layer call their dedicated `LaunchTokenDeployer` to create immutable ERC-20 tokens. Robinhood, Monad, Arc, BSC and X Layer integrations can read `launchTokenBytecodeHash(LaunchParams)` and `TOKEN_ADDRESS_SUFFIX` to prepare a deterministic token address ending in `01` before signing. ### Launch events | Event | Meaning | | - | - | | `Launched` | Token, pool ID, creator, quote, supply, and liquidity spacing | | `NativeLaunchFeePaid` | Creation-fee payer, configured recipient, and native amount | | `LaunchBuyExecuted` | Token, pool, creator, funding token, input amount, output amount, and adapter for an atomic launch-buy | | `QuoteRegistered` / `QuoteUnregistered` | Supported quote changes | | `QuoteStartTickUpdated` | Revision-aware future opening-frame update | | `BandTemplateUpdated` | Future liquidity-range change | | `FeeConfigurationUpdated` / `FeeComponentConfigured` | Future base fee, anti-snipe, and component configuration | | `LaunchSupplyUpdated` / `TickSpacingUpdated` | Future supply or range-alignment change | | `NativeLaunchFeeUpdated` / `LaunchBuyAdapterUpdated` | Future global launch-fee or atomic adapter change | | `ConfigVersionUpdated` / `AnnouncementRegistrySet` | Future launch configuration version or announcement-registry change | | `CreatorRightsTransferProposed` / `CreatorRightsTransferCancelled` / `CreatorRightsTransferred` | Two-step creator-rights transfer history | | `CreatorRightsReassigned` / creator-admin transfer events | Administrative creator-rights reassignment or creator-admin authority changes | | `CreatorFeeRecipientUpdated` | Future creator-fee routing | | `OwnershipTransferStarted` / `OwnershipTransferred` | Governance ownership change | All current minimal factories additionally emit `PriceUpdaterUpdated` and `LaunchCreationEnabledUpdated`. Historical factories retain their original event names; use the ABI for the exact contract that produced the event. ## LaunchHook The hook exposes `poolConfig(poolId)` and `poolFeeComponents(poolId)` for each launch pool. These reads return the pool's frozen fee and anti-snipe configuration plus its current creator and creator fee recipient. The factory registers and seeds a pool; ordinary trading then occurs through Uniswap v4. | Event | Meaning | | - | - | | `PoolRegistered` | The pool's immutable original creator, initial creator fee recipient, and base fee | | `CreatorRightsUpdated` | Current creator and creator fee-recipient changes | | `FeeComponentCredited` | Per-component fee credit, recipient, currency, and amount | | `Seeded` | Token amount placed into the permanent position | | `Trade` | Executor, referrer, fee currency, fee amount, and optional comment; swap direction comes from the matching Uniswap event | `Trade.executor` is the router or callback sender and is not guaranteed to be the trader's wallet. Indexers should derive direction and trader attribution from the complete transaction receipt, including the matching Uniswap swap and router execution context. ## FeeEscrow | Function | Who can call | Result | | - | - | - | | `owed(recipient, currency)` | Anyone | Returns the raw claimable fee balance | | `claimFor(recipient, currency)` | Anyone | Pays the full balance to the recorded recipient on the current fee contract | | `claimTo(currency, destination)` | Balance owner | Pays the caller's balance to a chosen address | Events: `Credited` and `Claimed`. Earlier launch contracts use their original claim function names. Resolve the fee contract recorded for the launch before encoding a claim. ## AnnouncementRegistry | Function | Who can call | Result | | - | - | - | | `isTokenRegistered(token)` | Anyone | Checks whether the active registry knows the launch token | | `isAnnouncementIdUsed(token, id)` | Anyone | Checks whether an announcement ID was used | | `postAnnouncement(token, id, description, uri)` | Current recorded creator | Publishes a unique announcement | Events: `TokenRegistered` and `AnnouncementPosted`. Earlier launch contracts retain their original `creatorOf`, `usedId`, `post`, `CreatorRegistered`, and `Announcement` surface. <span /> <span /> <span /> ## Robinhood, Monad, Arc, BSC and X Layer launch tokens Standard launch tokens on Robinhood, Monad, Arc, BSC and X Layer expose ERC-20 reads and transfers. When profile editing was enabled at launch, the metadata authority can call `updateName`, `updateSymbol`, `updateContractURI`, and `updateExtraMetadata`. No mint, burn, pause, owner, upgrade, or recovery function exists. Standard ERC-20 launches on Robinhood, Monad, Arc, BSC and X Layer use `LaunchToken`; Tax launches use `TaxLaunchToken`. Each is created through its own bound factory and must end in `01`. <span /> ## Tax surface The Base, Robinhood, BSC, Monad, X Layer and Arc Tax suites use `TaxRWAERC20LaunchpadFactory`, `TaxLaunchHook`, optional `TaxDividend` clones (`ArcTaxDividend` on Arc) and one fixed `TaxDividendClaimHelper` per suite. Each keeps FeeEscrow and creator-rights concepts but has different launch tuples, inclusive units and fee events. Arc reward/payment event amounts use the fixed ERC-20 quote units: six decimals for USDC and eight for cirBTC. Native launch fees and native recovery use 18-decimal USDC units. The payment preference does not convert Arc rewards to a wrapped or separate native asset. | Surface | Important members | | - | - | | Policy and preview | `taxPolicy`, `previewTaxConfiguration`, `configVersion` | | Owner policy updates | `setTaxPolicy`, `setTaxFeeBounds`, `setProtocolFeeConfiguration`, `setAntiSnipeConfiguration`, `setMinimumDividendHoldingRequirement` | | Launch | Tax `createLaunch` / `createLaunchAndBuy` tuples; `launchTokenInitCodeHash`; `dividendOf` | | Pool rates | `poolConfig`, `effectiveFeeRates` | | Dividend earnings | Hook-only `notifyDividendFee`; `withdrawableDividendOf`, `accumulativeDividendOf`, `withdrawnDividends` | | Dividend backing | `pendingDividendFunding`, `availableRewardBacking`, `requiredRewardBacking`, `rewardBackingDeficit` | | Dividend withdrawals | Holder-authorized `withdrawDividends` and `withdrawDividendsFor` | | Voluntary contributions | `depositDividends` assigns new rewards; `replenishBacking` restores backing without new entitlements | | Cross-token claims | Fixed helper `claimDividends`; caller is the holder, no arbitrary beneficiary parameter | | Burn delivery | Unchanged `FeeEscrow.claimFor(deadAddress, token)` | Tax events include `LaunchTaxConfigured`, `TaxPolicyUpdated`, category-specific quote/burn credit events, `DividendTaxRedirected`, Dividend share/accrual/allocation/payment events and the helper's `DividendsClaimed`. Do not decode them with Standard fee-component tuples. [Tax contract integration](/launchpad/integration/tax-tokens) gives the complete mapping, precision, authorization and accounting distinctions. <span /> ## \$O launch contracts Use the `wsto-burn-v1` ABI for [\$O launches on Base and Robinhood](/launchpad/integration/wsto), not Standard fee components or Tax allocation tuples. | Surface | Members and meaning | | - | - | | Creation | `createLaunch`, `createLaunchAndBuy`, `launchTokenBytecodeHash`, `configVersion`, `launchCreationEnabled` | | Burn defaults | `defaultBurnRates`, `setDefaultBurnRates`, `DefaultBurnRatesUpdated`; only new pools use updated rates | | Pool read | Hook `poolConfig(poolId)` returns initialization, token ordering and frozen buy/sell burn rates | | Quote lifecycle | `quoteConfig`, `quoteRevision`, registration/removal
프로젝트로 돌아가기