@zoralabs/coins-sdk 0.0.2-sdkalpha.5 → 0.0.2-sdkalpha.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @zoralabs/coins-sdk
2
2
 
3
+ ## 0.0.2-sdkalpha.6
4
+
5
+ ### Patch Changes
6
+
7
+ - Properly export set api key
8
+
3
9
  ## 0.0.2-sdkalpha.5
4
10
 
5
11
  ### Patch Changes
@@ -0,0 +1,30 @@
1
+ import { Address, PublicClient, SimulateContractParameters, WalletClient } from "viem";
2
+ type UpdatePayoutRecipientArgs = {
3
+ coin: Address;
4
+ newPayoutRecipient: string;
5
+ };
6
+ export declare function updatePayoutRecipientCall({ newPayoutRecipient, coin, }: UpdatePayoutRecipientArgs): SimulateContractParameters;
7
+ export declare function updatePayoutRecipient(args: UpdatePayoutRecipientArgs, walletClient: WalletClient, publicClient: PublicClient): Promise<{
8
+ hash: `0x${string}`;
9
+ receipt: import("viem").TransactionReceipt;
10
+ payoutRecipientUpdated: ({
11
+ address: Address;
12
+ blockHash: `0x${string}`;
13
+ blockNumber: bigint;
14
+ data: import("viem").Hex;
15
+ logIndex: number;
16
+ transactionHash: `0x${string}`;
17
+ transactionIndex: number;
18
+ removed: boolean;
19
+ } & {
20
+ args: {
21
+ caller: `0x${string}`;
22
+ prevRecipient: `0x${string}`;
23
+ newRecipient: `0x${string}`;
24
+ };
25
+ eventName: "CoinPayoutRecipientUpdated";
26
+ topics: [`0x${string}`, `0x${string}`, `0x${string}`, `0x${string}`];
27
+ }) | undefined;
28
+ }>;
29
+ export {};
30
+ //# sourceMappingURL=updatePayoutRecipient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updatePayoutRecipient.d.ts","sourceRoot":"","sources":["../../src/actions/updatePayoutRecipient.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,OAAO,EAEP,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACf,MAAM,MAAM,CAAC;AAEd,KAAK,yBAAyB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,EACtC,kBAAkB,EAClB,IAAI,GACP,EAAE,yBAAyB,GAAG,0BAA0B,CAOxD;AAED,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,yBAAyB,EAC/B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;GAgB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/api/explore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore.d.ts","sourceRoot":"","sources":["../../src/api/explore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/api/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/api/queries.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
2
- import type { GetCoinData, GetCoinCommentsData, GetCoinsData, GetExploreData, GetProfileData, GetProfileBalancesData } from './types.gen';
1
+ import type { Options as ClientOptions, TDataShape, Client } from "@hey-api/client-fetch";
2
+ import type { GetCoinData, GetCoinCommentsData, GetCoinsData, GetExploreData, GetProfileData, GetProfileBalancesData } from "./types.gen";
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.gen.d.ts","sourceRoot":"","sources":["../../src/client/sdk.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.gen.d.ts","sourceRoot":"","sources":["../../src/client/sdk.gen.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export type GetCoinData = {
5
5
  address: string;
6
6
  chain?: number;
7
7
  };
8
- url: '/coin';
8
+ url: "/coin";
9
9
  };
10
10
  export type GetCoinResponses = {
11
11
  /**
@@ -105,7 +105,7 @@ export type GetCoinCommentsData = {
105
105
  after?: string;
106
106
  count?: number;
107
107
  };
108
- url: '/coinComments';
108
+ url: "/coinComments";
109
109
  };
110
110
  export type GetCoinCommentsResponses = {
111
111
  /**
@@ -182,7 +182,7 @@ export type GetCoinsData = {
182
182
  collectionAddress?: string;
183
183
  }>;
184
184
  };
185
- url: '/coins';
185
+ url: "/coins";
186
186
  };
187
187
  export type GetCoinsResponses = {
188
188
  /**
@@ -277,11 +277,11 @@ export type GetExploreData = {
277
277
  body?: never;
278
278
  path?: never;
279
279
  query: {
280
- listType: 'TOP_GAINERS' | 'TOP_VOLUME_24H' | 'MOST_VALUABLE' | 'NEW' | 'LAST_TRADED' | 'LAST_TRADED_UNIQUE';
280
+ listType: "TOP_GAINERS" | "TOP_VOLUME_24H" | "MOST_VALUABLE" | "NEW" | "LAST_TRADED" | "LAST_TRADED_UNIQUE";
281
281
  count?: number;
282
282
  after?: string;
283
283
  };
284
- url: '/explore';
284
+ url: "/explore";
285
285
  };
286
286
  export type GetExploreResponses = {
287
287
  /**
@@ -362,7 +362,7 @@ export type GetProfileData = {
362
362
  query: {
363
363
  identifier: string;
364
364
  };
365
- url: '/profile';
365
+ url: "/profile";
366
366
  };
367
367
  export type GetProfileResponses = {
368
368
  /**
@@ -390,7 +390,7 @@ export type GetProfileResponses = {
390
390
  linkedWallets?: {
391
391
  edges?: Array<{
392
392
  node?: {
393
- walletType?: 'PRIVY' | 'EXTERNAL' | 'SMART_WALLET';
393
+ walletType?: "PRIVY" | "EXTERNAL" | "SMART_WALLET";
394
394
  walletAddress?: string;
395
395
  };
396
396
  }>;
@@ -407,7 +407,7 @@ export type GetProfileBalancesData = {
407
407
  after?: string;
408
408
  chainIds?: Array<number>;
409
409
  };
410
- url: '/profileBalances';
410
+ url: "/profileBalances";
411
411
  };
412
412
  export type GetProfileBalancesResponses = {
413
413
  /**
@@ -535,6 +535,6 @@ export type GetProfileBalancesResponses = {
535
535
  };
536
536
  export type GetProfileBalancesResponse = GetProfileBalancesResponses[keyof GetProfileBalancesResponses];
537
537
  export type ClientOptions = {
538
- baseUrl: 'https://api-sdk.zora.engineering/' | 'https://api-sdk-staging.zora.engineering/' | (string & {});
538
+ baseUrl: "https://api-sdk.zora.engineering/" | "https://api-sdk-staging.zora.engineering/" | (string & {});
539
539
  };
540
540
  //# sourceMappingURL=types.gen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -36,10 +36,13 @@ __export(src_exports, {
36
36
  getProfile: () => getProfile2,
37
37
  getProfileBalances: () => getProfileBalances2,
38
38
  getTradeFromLogs: () => getTradeFromLogs,
39
+ setApiKey: () => setApiKey,
39
40
  tradeCoin: () => tradeCoin,
40
41
  tradeCoinCall: () => tradeCoinCall,
41
42
  updateCoinURI: () => updateCoinURI,
42
- updateCoinURICall: () => updateCoinURICall
43
+ updateCoinURICall: () => updateCoinURICall,
44
+ updatePayoutRecipient: () => updatePayoutRecipient,
45
+ updatePayoutRecipientCall: () => updatePayoutRecipientCall
43
46
  });
44
47
  module.exports = __toCommonJS(src_exports);
45
48
 
@@ -359,6 +362,36 @@ async function updateCoinURI(args, walletClient, publicClient) {
359
362
  return { hash, receipt, uriUpdated };
360
363
  }
361
364
 
365
+ // src/actions/updatePayoutRecipient.ts
366
+ var import_coins6 = require("@zoralabs/coins");
367
+ var import_viem5 = require("viem");
368
+ function updatePayoutRecipientCall({
369
+ newPayoutRecipient,
370
+ coin
371
+ }) {
372
+ return {
373
+ abi: import_coins6.coinABI,
374
+ address: coin,
375
+ functionName: "setPayoutRecipient",
376
+ args: [newPayoutRecipient]
377
+ };
378
+ }
379
+ async function updatePayoutRecipient(args, walletClient, publicClient) {
380
+ validateClientNetwork(publicClient);
381
+ const call = updatePayoutRecipientCall(args);
382
+ const { request } = await publicClient.simulateContract({
383
+ ...call,
384
+ account: walletClient.account
385
+ });
386
+ const hash = await walletClient.writeContract(request);
387
+ const receipt = await publicClient.waitForTransactionReceipt({ hash });
388
+ const eventLogs = (0, import_viem5.parseEventLogs)({ abi: import_coins6.coinABI, logs: receipt.logs });
389
+ const payoutRecipientUpdated = eventLogs.find(
390
+ (log) => log.eventName === "CoinPayoutRecipientUpdated"
391
+ );
392
+ return { hash, receipt, payoutRecipientUpdated };
393
+ }
394
+
362
395
  // src/client/client.gen.ts
363
396
  var import_client_fetch = require("@hey-api/client-fetch");
364
397
  var client = (0, import_client_fetch.createClient)((0, import_client_fetch.createConfig)({
@@ -405,6 +438,9 @@ var getProfileBalances = (options) => {
405
438
 
406
439
  // src/api/api-key.ts
407
440
  var apiKey;
441
+ function setApiKey(key) {
442
+ apiKey = key;
443
+ }
408
444
  function getApiKeyMeta() {
409
445
  if (!apiKey) {
410
446
  return {};
@@ -486,9 +522,12 @@ var getCoinsLastTradedUnique = (options) => createExploreQuery("LAST_TRADED_UNIQ
486
522
  getProfile,
487
523
  getProfileBalances,
488
524
  getTradeFromLogs,
525
+ setApiKey,
489
526
  tradeCoin,
490
527
  tradeCoinCall,
491
528
  updateCoinURI,
492
- updateCoinURICall
529
+ updateCoinURICall,
530
+ updatePayoutRecipient,
531
+ updatePayoutRecipientCall
493
532
  });
494
533
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/actions/createCoin.ts","../src/constants.ts","../src/utils/validateClientNetwork.ts","../src/actions/tradeCoin.ts","../src/actions/getOnchainCoinDetails.ts","../src/actions/updateCoinURI.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/api/api-key.ts","../src/api/queries.ts","../src/api/explore.ts"],"sourcesContent":["export {\n createCoin,\n createCoinCall,\n getCoinCreateFromLogs,\n} from \"./actions/createCoin\";\nexport {\n tradeCoin,\n tradeCoinCall,\n getTradeFromLogs,\n} from \"./actions/tradeCoin\";\nexport {\n getOnchainCoinDetails,\n type OnchainCoinDetails,\n} from \"./actions/getOnchainCoinDetails\";\nexport { updateCoinURI, updateCoinURICall } from \"./actions/updateCoinURI\";\n\n// API Read Actions\nexport * from \"./api/queries\";\nexport * from \"./api/explore\";\n\n// API Types\nexport type * from \"src/client/types.gen\";","import { zoraFactoryImplABI } from \"@zoralabs/coins\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { COIN_FACTORY_ADDRESS } from \"../constants\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\n\nexport type CoinDeploymentLogArgs = ContractEventArgsFromTopics<\n typeof zoraFactoryImplABI,\n \"CoinCreated\"\n>;\n\ntype CreateCoinArgs = {\n name: string;\n symbol: string;\n uri: string;\n owners?: Address[];\n tickLower?: number;\n payoutRecipient: Address;\n platformReferrer?: Address;\n initialPurchaseWei?: bigint;\n};\n\nexport function createCoinCall({\n name,\n symbol,\n uri,\n owners,\n payoutRecipient,\n initialPurchaseWei = 0n,\n tickLower = -199200,\n platformReferrer = \"0x0000000000000000000000000000000000000000\",\n}: CreateCoinArgs): SimulateContractParameters<\n typeof zoraFactoryImplABI,\n \"deploy\"\n> {\n if (!owners) {\n owners = [payoutRecipient];\n }\n\n const currency = \"0x4200000000000000000000000000000000000006\";\n return {\n abi: zoraFactoryImplABI,\n functionName: \"deploy\",\n address: COIN_FACTORY_ADDRESS,\n args: [\n payoutRecipient,\n owners,\n uri,\n name,\n symbol,\n platformReferrer,\n currency,\n tickLower,\n initialPurchaseWei,\n ],\n value: initialPurchaseWei,\n } as const;\n}\n\n/**\n * Gets the deployed coin address from transaction receipt logs\n * @param receipt Transaction receipt containing the CoinCreated event\n * @returns The deployment information if found\n */\nexport function getCoinCreateFromLogs(\n receipt: TransactionReceipt,\n): CoinDeploymentLogArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: zoraFactoryImplABI,\n logs: receipt.logs,\n });\n return eventLogs.find((log) => log.eventName === \"CoinCreated\")?.args;\n}\n\n// Update createCoin to return both receipt and coin address\nexport async function createCoin(\n call: CreateCoinArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...createCoinCall(call),\n account: walletClient.account,\n });\n\n // Add a 1/5th buffer on gas.\n if (request.gas) {\n request.gas = request.gas * 6n / 5n;\n }\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const deployment = getCoinCreateFromLogs(receipt);\n\n return {\n hash,\n receipt,\n address: deployment?.coin,\n deployment,\n };\n}\n","import { zoraFactoryImplAddress } from \"@zoralabs/coins\";\nimport { Address } from \"viem\";\nimport { base } from \"viem/chains\";\n\n// this is the same across all chains due to deterministic deploys.\nexport const COIN_FACTORY_ADDRESS = zoraFactoryImplAddress[\"8453\"] as Address;\n\nexport const SUPERCHAIN_WETH_ADDRESS = '0x4200000000000000000000000000000000000006';\n\nexport const USDC_WETH_POOLS_BY_CHAIN: Record<number, Address> = {\n [base.id]: '0xd0b53D9277642d899DF5C87A3966A349A798F224',\n}\n","import { PublicClient } from \"viem\";\nimport { base, baseSepolia } from \"viem/chains\";\n\nexport const validateClientNetwork = (\n publicClient: PublicClient<any, any, any, any>,\n) => {\n const clientChainId = publicClient?.chain?.id;\n if (clientChainId === base.id) {\n return;\n }\n if (clientChainId === baseSepolia.id) {\n return;\n }\n\n throw new Error(\n \"Client network needs to be base or baseSepolia for current coin deployments.\",\n );\n};\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n parseEther,\n zeroAddress,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { baseSepolia } from \"viem/chains\";\n\n// Define trade event args type\n\nexport type SellEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinSell\"\n>;\nexport type BuyEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinBuy\"\n>;\n\nexport type TradeEventArgs = SellEventArgs | BuyEventArgs;\n\n/**\n * Simulates a buy order to get the expected output amount\n * @param {Object} params - The simulation parameters\n * @param {Address} params.target - The target coin contract address\n * @param {bigint} params.requestedOrderSize - The desired input amount for the buy\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<{orderSize: bigint, amountOut: bigint}>} The simulated order size and output amount\n */\nexport async function simulateBuy({\n target,\n requestedOrderSize,\n publicClient,\n}: {\n target: Address;\n requestedOrderSize: bigint;\n publicClient: PublicClient;\n}): Promise<{ orderSize: bigint; amountOut: bigint }> {\n const numberResult = await publicClient.simulateContract({\n address: target,\n abi: coinABI,\n functionName: \"buy\",\n args: [\n zeroAddress,\n requestedOrderSize,\n 0n, // minAmountOut\n 0n, // sqrtPriceLimitX96\n zeroAddress, // tradeReferrer\n ],\n stateOverride: [\n {\n address: baseSepolia.contracts.multicall3.address,\n balance: parseEther(\"100000\"),\n },\n ],\n });\n const orderSize = numberResult.result[0];\n const amountOut = numberResult.result[1];\n return { orderSize, amountOut };\n}\n\n/**\n * Parameters for creating a trade call\n * @typedef {Object} TradeParams\n * @property {'sell' | 'buy'} direction - The trade direction\n * @property {Address} target - The target coin contract address\n * @property {Object} args - The trade arguments\n * @property {Address} args.recipient - The recipient of the trade output\n * @property {bigint} args.orderSize - The size of the order\n * @property {bigint} [args.minAmountOut] - The minimum amount to receive\n * @property {bigint} [args.sqrtPriceLimitX96] - The price limit for the trade\n * @property {Address} [args.tradeReferrer] - The referrer address for the trade\n */\ntype TradeParams = {\n direction: \"sell\" | \"buy\";\n target: Address;\n args: {\n recipient: Address;\n orderSize: bigint;\n minAmountOut?: bigint;\n sqrtPriceLimitX96?: bigint;\n tradeReferrer?: Address;\n };\n};\n\n/**\n * Creates a trade call parameters object for buy or sell\n * @param {TradeParams} params - The trade parameters\n * @returns {SimulateContractParameters} The contract call parameters\n */\nexport function tradeCoinCall({\n target,\n direction,\n args: {\n recipient,\n orderSize,\n minAmountOut = 0n,\n sqrtPriceLimitX96 = 0n,\n tradeReferrer = zeroAddress,\n },\n}: TradeParams): SimulateContractParameters {\n return {\n abi: coinABI,\n functionName: direction,\n address: target,\n args: [\n recipient,\n orderSize,\n minAmountOut,\n sqrtPriceLimitX96,\n tradeReferrer,\n ],\n value: direction === \"buy\" ? orderSize : 0n,\n } as const;\n}\n\n/**\n * Gets the trade event from transaction receipt logs\n * @param {TransactionReceipt} receipt - The transaction receipt containing the logs\n * @param {'buy' | 'sell'} direction - The direction of the trade\n * @returns {TradeEventArgs | undefined} The decoded trade event args if found\n */\nexport function getTradeFromLogs(\n receipt: TransactionReceipt,\n direction: \"buy\" | \"sell\",\n): TradeEventArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: coinABI,\n logs: receipt.logs,\n });\n\n if (direction === \"buy\") {\n return eventLogs.find((log) => log.eventName === \"CoinBuy\")?.args;\n }\n return eventLogs.find((log) => log.eventName === \"CoinSell\")?.args;\n}\n\n/**\n * Executes a trade transaction\n * @param {TradeParams} params - The trade parameters\n * @param {PublicClient} publicClient - The viem public client instance\n * @param {WalletClient} walletClient - The viem wallet client instance\n * @returns {Promise<{\n * hash: `0x${string}`,\n * receipt: TransactionReceipt,\n * trade: TradeEventArgs | undefined\n * }>} The transaction result with trade details\n */\nexport async function tradeCoin(\n params: TradeParams,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...tradeCoinCall(params),\n account: walletClient.account,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const trade = getTradeFromLogs(receipt, params.direction);\n\n return {\n hash,\n receipt,\n trade,\n };\n}\n","import { coinABI, iUniswapV3PoolABI } from \"@zoralabs/coins\";\nimport {\n SUPERCHAIN_WETH_ADDRESS,\n USDC_WETH_POOLS_BY_CHAIN,\n} from \"src/constants\";\nimport { GenericPublicClient } from \"src/utils/genericPublicClient\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n erc20Abi,\n formatEther,\n isAddressEqual,\n zeroAddress,\n} from \"viem\";\n\ntype Slot0Result = {\n sqrtPriceX96: bigint;\n tick: number;\n observationIndex: number;\n observationCardinality: number;\n observationCardinalityNext: number;\n feeProtocol: number;\n unlocked: boolean;\n};\n\ntype PricingResult = {\n eth: bigint;\n usdc: bigint | null;\n usdcDecimal: number | null;\n ethDecimal: number;\n};\n\n/**\n * Represents the current state of a coin\n * @typedef {Object} OnchainCoinDetails\n * @property {bigint} balance - The user's balance of the coin\n * @property {PricingResult} marketCap - The market cap of the coin\n * @property {PricingResult} liquidity - The liquidity of the coin\n * @property {Address} pool - Pool address\n * @property {Slot0Result} poolState - Current state of the UniswapV3 pool\n * @property {Address[]} owners - List of owners for the coin\n * @property {Address} payoutRecipient - The payout recipient address\n */\nexport type OnchainCoinDetails = {\n balance: bigint;\n marketCap: PricingResult;\n liquidity: PricingResult;\n pool: Address;\n poolState: Slot0Result;\n owners: readonly Address[];\n payoutRecipient: Address;\n};\n\n/**\n * Gets the current state of a coin for a user\n * @param {Object} params - The query parameters\n * @param {Address} params.coin - The coin contract address\n * @param {Address} params.user - The user address to check balance for\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<OnchainCoinDetails>} The coin's current state\n */\nexport async function getOnchainCoinDetails({\n coin,\n user = zeroAddress,\n publicClient,\n}: {\n coin: Address;\n user?: Address;\n publicClient: GenericPublicClient;\n}): Promise<OnchainCoinDetails> {\n validateClientNetwork(publicClient);\n const [balance, pool, owners, payoutRecipient] = await publicClient.multicall(\n {\n contracts: [\n {\n address: coin,\n abi: coinABI,\n functionName: \"balanceOf\",\n args: [user],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"poolAddress\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"owners\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"payoutRecipient\",\n },\n ],\n allowFailure: false,\n },\n );\n\n const USDC_WETH_POOL = USDC_WETH_POOLS_BY_CHAIN[publicClient.chain?.id || 0];\n\n const [\n coinWethPoolSlot0,\n coinWethPoolToken0,\n coinReservesRaw,\n coinTotalSupply,\n wethReservesRaw,\n usdcWethSlot0,\n ] = await publicClient.multicall({\n contracts: [\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"token0\",\n },\n {\n address: coin,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"totalSupply\",\n },\n {\n address: SUPERCHAIN_WETH_ADDRESS,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: USDC_WETH_POOL ?? coin,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n ],\n allowFailure: false,\n });\n\n const wethPriceInUsdc = USDC_WETH_POOL\n ? uniswapV3SqrtPriceToBigIntScaled(\n usdcWethSlot0.sqrtPriceX96,\n 18,\n 6,\n true,\n 18,\n )\n : null;\n\n const coinPriceInWeth = uniswapV3SqrtPriceToBigIntScaled(\n coinWethPoolSlot0.sqrtPriceX96,\n 18,\n 18,\n isAddressEqual(coinWethPoolToken0, coin),\n 18,\n );\n\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const marketCap = (coinPriceInWeth * coinTotalSupply) / 10n ** 18n;\n\n const wethLiquidity = wethReservesRaw;\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const tokenLiquidity = (coinReservesRaw * coinPriceInWeth) / 10n ** 18n;\n\n return {\n balance,\n pool,\n owners,\n payoutRecipient,\n marketCap: convertEthOutput(marketCap, wethPriceInUsdc),\n liquidity: convertEthOutput(\n wethLiquidity + tokenLiquidity,\n wethPriceInUsdc,\n ),\n poolState: coinWethPoolSlot0,\n };\n}\n\nfunction convertEthOutput(amountETH: bigint, wethToUsdc: bigint | null) {\n return {\n eth: amountETH,\n ethDecimal: parseFloat(formatEther(amountETH)),\n usdc: wethToUsdc ? amountETH * wethToUsdc : null,\n usdcDecimal: wethToUsdc\n ? parseFloat(formatEther((amountETH * wethToUsdc) / 10n ** 18n))\n : null,\n };\n}\n\nfunction uniswapV3SqrtPriceToBigIntScaled(\n sqrtPriceX96: bigint,\n token0Decimals: number,\n token1Decimals: number,\n isToken0Coin: boolean,\n scaleDecimals: number = 18,\n): bigint {\n // (sqrtPrice^2 / 2^192) => ratio\n // We'll do: ratioScaled = (sqrtPrice^2 * 10^scaleDecimals) / 2^192\n const numerator = sqrtPriceX96 * sqrtPriceX96;\n const denominator = 2n ** 192n;\n const scaleFactor = 10n ** BigInt(scaleDecimals);\n\n // raw ratioScaled\n let ratioScaled = (numerator * scaleFactor) / denominator; // BigInt\n\n // Adjust for difference in decimals:\n // ratioScaled *= 10^(dec0 - dec1)\n const decimalsDiff = BigInt(token0Decimals - token1Decimals);\n if (decimalsDiff > 0n) {\n ratioScaled *= 10n ** decimalsDiff;\n } else if (decimalsDiff < 0n) {\n ratioScaled /= 10n ** -decimalsDiff;\n }\n\n if (!isToken0Coin) {\n // We want the reciprocal: coin is token1 => coinPriceInToken0 = 1 / ratio\n // But we also want it scaled by 10^scaleDecimals\n // reciprocalScaled = (10^scaleDecimals * 10^(decimalsDiff)) / ratioScaled\n // (assuming ratioScaled != 0)\n if (ratioScaled === 0n) {\n return 0n; // or some huge number representing infinity\n }\n ratioScaled = (scaleFactor * scaleFactor) / ratioScaled;\n // or if we already included decimalsDiff above, handle carefully.\n }\n\n return ratioScaled;\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdateCoinURIArgs = {\n coin: Address;\n newURI: string;\n};\n\nexport function updateCoinURICall({\n newURI,\n coin,\n}: UpdateCoinURIArgs): SimulateContractParameters {\n if (!newURI.startsWith(\"ipfs://\")) {\n throw new Error(\"URI needs to be an ipfs:// prefix uri\");\n }\n\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setContractURI\",\n args: [newURI],\n };\n}\n\nexport async function updateCoinURI(\n args: UpdateCoinURIArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updateCoinURICall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const uriUpdated = eventLogs.find(\n (log) => log.eventName === \"ContractURIUpdated\",\n );\n\n return { hash, receipt, uriUpdated };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api-sdk.zora.engineering/'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';\nimport type { GetCoinData, GetCoinResponse, GetCoinCommentsData, GetCoinCommentsResponse, GetCoinsData, GetCoinsResponse, GetExploreData, GetExploreResponse, GetProfileData, GetProfileResponse, GetProfileBalancesData, GetProfileBalancesResponse } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nexport const getCoin = <ThrowOnError extends boolean = false>(options: Options<GetCoinData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinResponse, unknown, ThrowOnError>({\n url: '/coin',\n ...options\n });\n};\n\nexport const getCoinComments = <ThrowOnError extends boolean = false>(options: Options<GetCoinCommentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinCommentsResponse, unknown, ThrowOnError>({\n url: '/coinComments',\n ...options\n });\n};\n\nexport const getCoins = <ThrowOnError extends boolean = false>(options: Options<GetCoinsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinsResponse, unknown, ThrowOnError>({\n url: '/coins',\n ...options\n });\n};\n\nexport const getExplore = <ThrowOnError extends boolean = false>(options: Options<GetExploreData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetExploreResponse, unknown, ThrowOnError>({\n url: '/explore',\n ...options\n });\n};\n\nexport const getProfile = <ThrowOnError extends boolean = false>(options: Options<GetProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileResponse, unknown, ThrowOnError>({\n url: '/profile',\n ...options\n });\n};\n\nexport const getProfileBalances = <ThrowOnError extends boolean = false>(options: Options<GetProfileBalancesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileBalancesResponse, unknown, ThrowOnError>({\n url: '/profileBalances',\n ...options\n });\n};","let apiKey: string | undefined;\nexport function setApiKey(key: string) {\n apiKey = key;\n}\n\nexport function getApiKeyMeta() {\n if (!apiKey) {\n return {};\n }\n return {\n headers: {\n \"api-key\": apiKey,\n },\n };\n}\n","import {\n GetCoinCommentsData,\n GetCoinData,\n GetProfileBalancesData,\n GetProfileData,\n} from \"src/client\";\nimport {\n getCoin as getCoinSDK,\n getCoins as getCoinsSDK,\n getCoinComments as getCoinCommentsSDK,\n getProfile as getProfileSDK,\n getProfileBalances as getProfileBalancesSDK,\n} from \"../client/sdk.gen\";\nimport { getApiKeyMeta } from \"./api-key\";\n\nexport const getCoin = async (query: GetCoinData[\"query\"]) => {\n return await getCoinSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoins = async ({\n coinAddresses,\n chainId,\n}: {\n coinAddresses: string[];\n chainId?: number;\n}) => {\n return await getCoinsSDK({\n query: {\n coins: coinAddresses.map((collectionAddress) => ({\n chainId,\n collectionAddress,\n })),\n },\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoinComments = async (query: GetCoinCommentsData[\"query\"]) => {\n return await getCoinCommentsSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfile = async (query: GetProfileData[\"query\"]) => {\n return await getProfileSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfileBalances = async (query: GetProfileBalancesData[\"query\"]) => {\n return await getProfileBalancesSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n","import { getExplore as getExploreSDK } from \"../client/sdk.gen\";\nimport type { GetExploreData } from \"../client/types.gen\";\nimport { Options } from \"@hey-api/client-fetch\";\nimport { getApiKeyMeta } from \"./api-key\";\n\n/**\n * The inner type for the explore queries that omits listType.\n * This is used to create the query object for the explore queries.\n */\ntype QueryInnerType = {\n query: Omit<GetExploreData[\"query\"], \"listType\">;\n} & Omit<GetExploreData, \"query\">;\n\n/**\n * Creates an explore query with the specified list type\n */\nconst createExploreQuery = <T extends boolean = false>(\n listType: GetExploreData[\"query\"][\"listType\"],\n options?: Options<QueryInnerType, T>,\n) =>\n getExploreSDK({\n ...options,\n query: { ...options?.query, listType },\n meta: getApiKeyMeta(),\n });\n\n/** Get top gaining coins */\nexport const getCoinsTopGainers = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_GAINERS\", options);\n\n/** Get coins with highest 24h volume */\nexport const getCoinsTopVolume24h = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_VOLUME_24H\", options);\n\n/** Get most valuable coins */\nexport const getCoinsMostValuable = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"MOST_VALUABLE\", options);\n\n/** Get newly created coins */\nexport const getCoinsNew = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"NEW\", options);\n\n/** Get recently traded coins */\nexport const getCoinsLastTraded = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED\", options);\n\n/** Get recently traded unique coins */\nexport const getCoinsLastTradedUnique = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED_UNIQUE\", options);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA,EAAA,uBAAAC;AAAA,EAAA;AAAA,kBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAAC;AAAA,EAAA,0BAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAC,gBAAmC;AACnC,kBAQO;;;ACTP,mBAAuC;AAEvC,oBAAqB;AAGd,IAAM,uBAAuB,oCAAuB,MAAM;AAE1D,IAAM,0BAA0B;AAEhC,IAAM,2BAAoD;AAAA,EAC7D,CAAC,mBAAK,EAAE,GAAG;AACf;;;ACVA,IAAAC,iBAAkC;AAE3B,IAAM,wBAAwB,CACnC,iBACG;AACH,QAAM,gBAAgB,cAAc,OAAO;AAC3C,MAAI,kBAAkB,oBAAK,IAAI;AAC7B;AAAA,EACF;AACA,MAAI,kBAAkB,2BAAY,IAAI;AACpC;AAAA,EACF;AAEA,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;;;AFYO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,mBAAmB;AACrB,GAGE;AACA,MAAI,CAAC,QAAQ;AACX,aAAS,CAAC,eAAe;AAAA,EAC3B;AAEA,QAAM,WAAW;AACjB,SAAO;AAAA,IACL,KAAK;AAAA,IACL,cAAc;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,EACT;AACF;AAOO,SAAS,sBACd,SACmC;AACnC,QAAM,gBAAY,4BAAe;AAAA,IAC/B,KAAK;AAAA,IACL,MAAM,QAAQ;AAAA,EAChB,CAAC;AACD,SAAO,UAAU,KAAK,CAAC,QAAQ,IAAI,cAAc,aAAa,GAAG;AACnE;AAGA,eAAsB,WACpB,MACA,cACA,cACA;AACA,wBAAsB,YAAY;AAClC,QAAM,EAAE,QAAQ,IAAI,MAAM,aAAa,iBAAiB;AAAA,IACtD,GAAG,eAAe,IAAI;AAAA,IACtB,SAAS,aAAa;AAAA,EACxB,CAAC;AAGD,MAAI,QAAQ,KAAK;AACf,YAAQ,MAAM,QAAQ,MAAM,KAAK;AAAA,EACnC;AACA,QAAM,OAAO,MAAM,aAAa,cAAc,OAAO;AACrD,QAAM,UAAU,MAAM,aAAa,0BAA0B,EAAE,KAAK,CAAC;AACrE,QAAM,aAAa,sBAAsB,OAAO;AAEhD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,SAAS,YAAY;AAAA,IACrB;AAAA,EACF;AACF;;;AG3GA,IAAAC,gBAAwB;AAExB,IAAAC,eAUO;AACP,IAAAC,iBAA4B;AAoFrB,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,EAClB;AACF,GAA4C;AAC1C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,cAAc;AAAA,IACd,SAAS;AAAA,IACT,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO,cAAc,QAAQ,YAAY;AAAA,EAC3C;AACF;AAQO,SAAS,iBACd,SACA,WAC4B;AAC5B,QAAM,gBAAY,6BAAe;AAAA,IAC/B,KAAK;AAAA,IACL,MAAM,QAAQ;AAAA,EAChB,CAAC;AAED,MAAI,cAAc,OAAO;AACvB,WAAO,UAAU,KAAK,CAAC,QAAQ,IAAI,cAAc,SAAS,GAAG;AAAA,EAC/D;AACA,SAAO,UAAU,KAAK,CAAC,QAAQ,IAAI,cAAc,UAAU,GAAG;AAChE;AAaA,eAAsB,UACpB,QACA,cACA,cACA;AACA,wBAAsB,YAAY;AAClC,QAAM,EAAE,QAAQ,IAAI,MAAM,aAAa,iBAAiB;AAAA,IACtD,GAAG,cAAc,MAAM;AAAA,IACvB,SAAS,aAAa;AAAA,EACxB,CAAC;AACD,QAAM,OAAO,MAAM,aAAa,cAAc,OAAO;AACrD,QAAM,UAAU,MAAM,aAAa,0BAA0B,EAAE,KAAK,CAAC;AACrE,QAAM,QAAQ,iBAAiB,SAAS,OAAO,SAAS;AAExD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC9KA,IAAAC,gBAA2C;AAO3C,IAAAC,eAMO;AAgDP,eAAsB,sBAAsB;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA,EACP;AACF,GAIgC;AAC9B,wBAAsB,YAAY;AAClC,QAAM,CAAC,SAAS,MAAM,QAAQ,eAAe,IAAI,MAAM,aAAa;AAAA,IAClE;AAAA,MACE,WAAW;AAAA,QACT;AAAA,UACE,SAAS;AAAA,UACT,KAAK;AAAA,UACL,cAAc;AAAA,UACd,MAAM,CAAC,IAAI;AAAA,QACb;AAAA,QACA;AAAA,UACE,SAAS;AAAA,UACT,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,QACA;AAAA,UACE,SAAS;AAAA,UACT,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,QACA;AAAA,UACE,SAAS;AAAA,UACT,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,cAAc;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,iBAAiB,yBAAyB,aAAa,OAAO,MAAM,CAAC;AAE3E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,MAAM,aAAa,UAAU;AAAA,IAC/B,WAAW;AAAA,MACT;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,QACd,MAAM,CAAC,IAAI;AAAA,MACb;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,KAAK;AAAA,QACL,cAAc;AAAA,QACd,MAAM,CAAC,IAAI;AAAA,MACb;AAAA,MACA;AAAA,QACE,SAAS,kBAAkB;AAAA,QAC3B,KAAK;AAAA,QACL,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IACA,cAAc;AAAA,EAChB,CAAC;AAED,QAAM,kBAAkB,iBACpB;AAAA,IACE,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAEJ,QAAM,kBAAkB;AAAA,IACtB,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,QACA,6BAAe,oBAAoB,IAAI;AAAA,IACvC;AAAA,EACF;AAGA,QAAM,YAAa,kBAAkB,kBAAmB,OAAO;AAE/D,QAAM,gBAAgB;AAEtB,QAAM,iBAAkB,kBAAkB,kBAAmB,OAAO;AAEpE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB,WAAW,eAAe;AAAA,IACtD,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,EACb;AACF;AAEA,SAAS,iBAAiB,WAAmB,YAA2B;AACtE,SAAO;AAAA,IACL,KAAK;AAAA,IACL,YAAY,eAAW,0BAAY,SAAS,CAAC;AAAA,IAC7C,MAAM,aAAa,YAAY,aAAa;AAAA,IAC5C,aAAa,aACT,eAAW,0BAAa,YAAY,aAAc,OAAO,GAAG,CAAC,IAC7D;AAAA,EACN;AACF;AAEA,SAAS,iCACP,cACA,gBACA,gBACA,cACA,gBAAwB,IAChB;AAGR,QAAM,YAAY,eAAe;AACjC,QAAM,cAAc,MAAM;AAC1B,QAAM,cAAc,OAAO,OAAO,aAAa;AAG/C,MAAI,cAAe,YAAY,cAAe;AAI9C,QAAM,eAAe,OAAO,iBAAiB,cAAc;AAC3D,MAAI,eAAe,IAAI;AACrB,mBAAe,OAAO;AAAA,EACxB,WAAW,eAAe,IAAI;AAC5B,mBAAe,OAAO,CAAC;AAAA,EACzB;AAEA,MAAI,CAAC,cAAc;AAKjB,QAAI,gBAAgB,IAAI;AACtB,aAAO;AAAA,IACT;AACA,kBAAe,cAAc,cAAe;AAAA,EAE9C;AAEA,SAAO;AACT;;;AC3OA,IAAAC,gBAAwB;AAExB,IAAAC,eAMO;AAOA,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAkD;AAChD,MAAI,CAAC,OAAO,WAAW,SAAS,GAAG;AACjC,UAAM,IAAI,MAAM,uCAAuC;AAAA,EACzD;AAEA,SAAO;AAAA,IACL,KAAK;AAAA,IACL,SAAS;AAAA,IACT,cAAc;AAAA,IACd,MAAM,CAAC,MAAM;AAAA,EACf;AACF;AAEA,eAAsB,cACpB,MACA,cACA,cACA;AACA,wBAAsB,YAAY;AAClC,QAAM,OAAO,kBAAkB,IAAI;AACnC,QAAM,EAAE,QAAQ,IAAI,MAAM,aAAa,iBAAiB;AAAA,IACtD,GAAG;AAAA,IACH,SAAS,aAAa;AAAA,EACxB,CAAC;AACD,QAAM,OAAO,MAAM,aAAa,cAAc,OAAO;AACrD,QAAM,UAAU,MAAM,aAAa,0BAA0B,EAAE,KAAK,CAAC;AACrE,QAAM,gBAAY,6BAAe,EAAE,KAAK,uBAAS,MAAM,QAAQ,KAAK,CAAC;AACrE,QAAM,aAAa,UAAU;AAAA,IAC3B,CAAC,QAAQ,IAAI,cAAc;AAAA,EAC7B;AAEA,SAAO,EAAE,MAAM,SAAS,WAAW;AACrC;;;AC/CA,0BAAoG;AAY7F,IAAM,aAAS,sCAAa,kCAA4B;AAAA,EAC3D,SAAS;AACb,CAAC,CAAC;;;ACGK,IAAM,UAAU,CAAuC,YAAgD;AAC1G,UAAQ,QAAQ,UAAU,QAAe,IAA4C;AAAA,IACjF,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;AAEO,IAAM,kBAAkB,CAAuC,YAAwD;AAC1H,UAAQ,QAAQ,UAAU,QAAe,IAAoD;AAAA,IACzF,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;AAEO,IAAM,WAAW,CAAuC,YAAiD;AAC5G,UAAQ,QAAQ,UAAU,QAAe,IAA6C;AAAA,IAClF,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;AAEO,IAAM,aAAa,CAAuC,YAAmD;AAChH,UAAQ,QAAQ,UAAU,QAAe,IAA+C;AAAA,IACpF,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;AAEO,IAAM,aAAa,CAAuC,YAAmD;AAChH,UAAQ,QAAQ,UAAU,QAAe,IAA+C;AAAA,IACpF,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;AAEO,IAAM,qBAAqB,CAAuC,YAA2D;AAChI,UAAQ,QAAQ,UAAU,QAAe,IAAuD;AAAA,IAC5F,KAAK;AAAA,IACL,GAAG;AAAA,EACP,CAAC;AACL;;;AC5DA,IAAI;AAKG,SAAS,gBAAgB;AAC9B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO;AAAA,IACL,SAAS;AAAA,MACP,WAAW;AAAA,IACb;AAAA,EACF;AACF;;;ACCO,IAAMC,WAAU,OAAO,UAAgC;AAC5D,SAAO,MAAM,QAAW;AAAA,IACtB;AAAA,IACA,MAAM,cAAc;AAAA,EACtB,CAAC;AACH;AAEO,IAAMC,YAAW,OAAO;AAAA,EAC7B;AAAA,EACA;AACF,MAGM;AACJ,SAAO,MAAM,SAAY;AAAA,IACvB,OAAO;AAAA,MACL,OAAO,cAAc,IAAI,CAAC,uBAAuB;AAAA,QAC/C;AAAA,QACA;AAAA,MACF,EAAE;AAAA,IACJ;AAAA,IACA,MAAM,cAAc;AAAA,EACtB,CAAC;AACH;AAEO,IAAMC,mBAAkB,OAAO,UAAwC;AAC5E,SAAO,MAAM,gBAAmB;AAAA,IAC9B;AAAA,IACA,MAAM,cAAc;AAAA,EACtB,CAAC;AACH;AAEO,IAAMC,cAAa,OAAO,UAAmC;AAClE,SAAO,MAAM,WAAc;AAAA,IACzB;AAAA,IACA,MAAM,cAAc;AAAA,EACtB,CAAC;AACH;AAEO,IAAMC,sBAAqB,OAAO,UAA2C;AAClF,SAAO,MAAM,mBAAsB;AAAA,IACjC;AAAA,IACA,MAAM,cAAc;AAAA,EACtB,CAAC;AACH;;;AC3CA,IAAM,qBAAqB,CACzB,UACA,YAEA,WAAc;AAAA,EACZ,GAAG;AAAA,EACH,OAAO,EAAE,GAAG,SAAS,OAAO,SAAS;AAAA,EACrC,MAAM,cAAc;AACtB,CAAC;AAGI,IAAM,qBAAqB,CAChC,YACG,mBAAmB,eAAe,OAAO;AAGvC,IAAM,uBAAuB,CAClC,YACG,mBAAmB,kBAAkB,OAAO;AAG1C,IAAM,uBAAuB,CAClC,YACG,mBAAmB,iBAAiB,OAAO;AAGzC,IAAM,cAAc,CACzB,YACG,mBAAmB,OAAO,OAAO;AAG/B,IAAM,qBAAqB,CAChC,YACG,mBAAmB,eAAe,OAAO;AAGvC,IAAM,2BAA2B,CACtC,YACG,mBAAmB,sBAAsB,OAAO;","names":["getCoin","getCoinComments","getCoins","getProfile","getProfileBalances","import_coins","import_chains","import_coins","import_viem","import_chains","import_coins","import_viem","import_coins","import_viem","getCoin","getCoins","getCoinComments","getProfile","getProfileBalances"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/actions/createCoin.ts","../src/constants.ts","../src/utils/validateClientNetwork.ts","../src/actions/tradeCoin.ts","../src/actions/getOnchainCoinDetails.ts","../src/actions/updateCoinURI.ts","../src/actions/updatePayoutRecipient.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/api/api-key.ts","../src/api/queries.ts","../src/api/explore.ts"],"sourcesContent":["export {\n createCoin,\n createCoinCall,\n getCoinCreateFromLogs,\n} from \"./actions/createCoin\";\nexport {\n tradeCoin,\n tradeCoinCall,\n getTradeFromLogs,\n} from \"./actions/tradeCoin\";\nexport {\n getOnchainCoinDetails,\n type OnchainCoinDetails,\n} from \"./actions/getOnchainCoinDetails\";\nexport { updateCoinURI, updateCoinURICall } from \"./actions/updateCoinURI\";\nexport { updatePayoutRecipient, updatePayoutRecipientCall } from \"./actions/updatePayoutRecipient\";\n\n// API Read Actions\nexport * from \"./api/queries\";\nexport * from \"./api/explore\";\n\nexport { setApiKey } from \"./api/api-key\";\n\n// API Types\nexport type * from \"src/client/types.gen\";\n","import { zoraFactoryImplABI } from \"@zoralabs/coins\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { COIN_FACTORY_ADDRESS } from \"../constants\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\n\nexport type CoinDeploymentLogArgs = ContractEventArgsFromTopics<\n typeof zoraFactoryImplABI,\n \"CoinCreated\"\n>;\n\ntype CreateCoinArgs = {\n name: string;\n symbol: string;\n uri: string;\n owners?: Address[];\n tickLower?: number;\n payoutRecipient: Address;\n platformReferrer?: Address;\n initialPurchaseWei?: bigint;\n};\n\nexport function createCoinCall({\n name,\n symbol,\n uri,\n owners,\n payoutRecipient,\n initialPurchaseWei = 0n,\n tickLower = -199200,\n platformReferrer = \"0x0000000000000000000000000000000000000000\",\n}: CreateCoinArgs): SimulateContractParameters<\n typeof zoraFactoryImplABI,\n \"deploy\"\n> {\n if (!owners) {\n owners = [payoutRecipient];\n }\n\n const currency = \"0x4200000000000000000000000000000000000006\";\n return {\n abi: zoraFactoryImplABI,\n functionName: \"deploy\",\n address: COIN_FACTORY_ADDRESS,\n args: [\n payoutRecipient,\n owners,\n uri,\n name,\n symbol,\n platformReferrer,\n currency,\n tickLower,\n initialPurchaseWei,\n ],\n value: initialPurchaseWei,\n } as const;\n}\n\n/**\n * Gets the deployed coin address from transaction receipt logs\n * @param receipt Transaction receipt containing the CoinCreated event\n * @returns The deployment information if found\n */\nexport function getCoinCreateFromLogs(\n receipt: TransactionReceipt,\n): CoinDeploymentLogArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: zoraFactoryImplABI,\n logs: receipt.logs,\n });\n return eventLogs.find((log) => log.eventName === \"CoinCreated\")?.args;\n}\n\n// Update createCoin to return both receipt and coin address\nexport async function createCoin(\n call: CreateCoinArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...createCoinCall(call),\n account: walletClient.account,\n });\n\n // Add a 1/5th buffer on gas.\n if (request.gas) {\n request.gas = request.gas * 6n / 5n;\n }\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const deployment = getCoinCreateFromLogs(receipt);\n\n return {\n hash,\n receipt,\n address: deployment?.coin,\n deployment,\n };\n}\n","import { zoraFactoryImplAddress } from \"@zoralabs/coins\";\nimport { Address } from \"viem\";\nimport { base } from \"viem/chains\";\n\n// this is the same across all chains due to deterministic deploys.\nexport const COIN_FACTORY_ADDRESS = zoraFactoryImplAddress[\"8453\"] as Address;\n\nexport const SUPERCHAIN_WETH_ADDRESS = '0x4200000000000000000000000000000000000006';\n\nexport const USDC_WETH_POOLS_BY_CHAIN: Record<number, Address> = {\n [base.id]: '0xd0b53D9277642d899DF5C87A3966A349A798F224',\n}\n","import { PublicClient } from \"viem\";\nimport { base, baseSepolia } from \"viem/chains\";\n\nexport const validateClientNetwork = (\n publicClient: PublicClient<any, any, any, any>,\n) => {\n const clientChainId = publicClient?.chain?.id;\n if (clientChainId === base.id) {\n return;\n }\n if (clientChainId === baseSepolia.id) {\n return;\n }\n\n throw new Error(\n \"Client network needs to be base or baseSepolia for current coin deployments.\",\n );\n};\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n parseEther,\n zeroAddress,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { baseSepolia } from \"viem/chains\";\n\n// Define trade event args type\n\nexport type SellEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinSell\"\n>;\nexport type BuyEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinBuy\"\n>;\n\nexport type TradeEventArgs = SellEventArgs | BuyEventArgs;\n\n/**\n * Simulates a buy order to get the expected output amount\n * @param {Object} params - The simulation parameters\n * @param {Address} params.target - The target coin contract address\n * @param {bigint} params.requestedOrderSize - The desired input amount for the buy\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<{orderSize: bigint, amountOut: bigint}>} The simulated order size and output amount\n */\nexport async function simulateBuy({\n target,\n requestedOrderSize,\n publicClient,\n}: {\n target: Address;\n requestedOrderSize: bigint;\n publicClient: PublicClient;\n}): Promise<{ orderSize: bigint; amountOut: bigint }> {\n const numberResult = await publicClient.simulateContract({\n address: target,\n abi: coinABI,\n functionName: \"buy\",\n args: [\n zeroAddress,\n requestedOrderSize,\n 0n, // minAmountOut\n 0n, // sqrtPriceLimitX96\n zeroAddress, // tradeReferrer\n ],\n stateOverride: [\n {\n address: baseSepolia.contracts.multicall3.address,\n balance: parseEther(\"100000\"),\n },\n ],\n });\n const orderSize = numberResult.result[0];\n const amountOut = numberResult.result[1];\n return { orderSize, amountOut };\n}\n\n/**\n * Parameters for creating a trade call\n * @typedef {Object} TradeParams\n * @property {'sell' | 'buy'} direction - The trade direction\n * @property {Address} target - The target coin contract address\n * @property {Object} args - The trade arguments\n * @property {Address} args.recipient - The recipient of the trade output\n * @property {bigint} args.orderSize - The size of the order\n * @property {bigint} [args.minAmountOut] - The minimum amount to receive\n * @property {bigint} [args.sqrtPriceLimitX96] - The price limit for the trade\n * @property {Address} [args.tradeReferrer] - The referrer address for the trade\n */\ntype TradeParams = {\n direction: \"sell\" | \"buy\";\n target: Address;\n args: {\n recipient: Address;\n orderSize: bigint;\n minAmountOut?: bigint;\n sqrtPriceLimitX96?: bigint;\n tradeReferrer?: Address;\n };\n};\n\n/**\n * Creates a trade call parameters object for buy or sell\n * @param {TradeParams} params - The trade parameters\n * @returns {SimulateContractParameters} The contract call parameters\n */\nexport function tradeCoinCall({\n target,\n direction,\n args: {\n recipient,\n orderSize,\n minAmountOut = 0n,\n sqrtPriceLimitX96 = 0n,\n tradeReferrer = zeroAddress,\n },\n}: TradeParams): SimulateContractParameters {\n return {\n abi: coinABI,\n functionName: direction,\n address: target,\n args: [\n recipient,\n orderSize,\n minAmountOut,\n sqrtPriceLimitX96,\n tradeReferrer,\n ],\n value: direction === \"buy\" ? orderSize : 0n,\n } as const;\n}\n\n/**\n * Gets the trade event from transaction receipt logs\n * @param {TransactionReceipt} receipt - The transaction receipt containing the logs\n * @param {'buy' | 'sell'} direction - The direction of the trade\n * @returns {TradeEventArgs | undefined} The decoded trade event args if found\n */\nexport function getTradeFromLogs(\n receipt: TransactionReceipt,\n direction: \"buy\" | \"sell\",\n): TradeEventArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: coinABI,\n logs: receipt.logs,\n });\n\n if (direction === \"buy\") {\n return eventLogs.find((log) => log.eventName === \"CoinBuy\")?.args;\n }\n return eventLogs.find((log) => log.eventName === \"CoinSell\")?.args;\n}\n\n/**\n * Executes a trade transaction\n * @param {TradeParams} params - The trade parameters\n * @param {PublicClient} publicClient - The viem public client instance\n * @param {WalletClient} walletClient - The viem wallet client instance\n * @returns {Promise<{\n * hash: `0x${string}`,\n * receipt: TransactionReceipt,\n * trade: TradeEventArgs | undefined\n * }>} The transaction result with trade details\n */\nexport async function tradeCoin(\n params: TradeParams,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...tradeCoinCall(params),\n account: walletClient.account,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const trade = getTradeFromLogs(receipt, params.direction);\n\n return {\n hash,\n receipt,\n trade,\n };\n}\n","import { coinABI, iUniswapV3PoolABI } from \"@zoralabs/coins\";\nimport {\n SUPERCHAIN_WETH_ADDRESS,\n USDC_WETH_POOLS_BY_CHAIN,\n} from \"src/constants\";\nimport { GenericPublicClient } from \"src/utils/genericPublicClient\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n erc20Abi,\n formatEther,\n isAddressEqual,\n zeroAddress,\n} from \"viem\";\n\ntype Slot0Result = {\n sqrtPriceX96: bigint;\n tick: number;\n observationIndex: number;\n observationCardinality: number;\n observationCardinalityNext: number;\n feeProtocol: number;\n unlocked: boolean;\n};\n\ntype PricingResult = {\n eth: bigint;\n usdc: bigint | null;\n usdcDecimal: number | null;\n ethDecimal: number;\n};\n\n/**\n * Represents the current state of a coin\n * @typedef {Object} OnchainCoinDetails\n * @property {bigint} balance - The user's balance of the coin\n * @property {PricingResult} marketCap - The market cap of the coin\n * @property {PricingResult} liquidity - The liquidity of the coin\n * @property {Address} pool - Pool address\n * @property {Slot0Result} poolState - Current state of the UniswapV3 pool\n * @property {Address[]} owners - List of owners for the coin\n * @property {Address} payoutRecipient - The payout recipient address\n */\nexport type OnchainCoinDetails = {\n balance: bigint;\n marketCap: PricingResult;\n liquidity: PricingResult;\n pool: Address;\n poolState: Slot0Result;\n owners: readonly Address[];\n payoutRecipient: Address;\n};\n\n/**\n * Gets the current state of a coin for a user\n * @param {Object} params - The query parameters\n * @param {Address} params.coin - The coin contract address\n * @param {Address} params.user - The user address to check balance for\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<OnchainCoinDetails>} The coin's current state\n */\nexport async function getOnchainCoinDetails({\n coin,\n user = zeroAddress,\n publicClient,\n}: {\n coin: Address;\n user?: Address;\n publicClient: GenericPublicClient;\n}): Promise<OnchainCoinDetails> {\n validateClientNetwork(publicClient);\n const [balance, pool, owners, payoutRecipient] = await publicClient.multicall(\n {\n contracts: [\n {\n address: coin,\n abi: coinABI,\n functionName: \"balanceOf\",\n args: [user],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"poolAddress\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"owners\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"payoutRecipient\",\n },\n ],\n allowFailure: false,\n },\n );\n\n const USDC_WETH_POOL = USDC_WETH_POOLS_BY_CHAIN[publicClient.chain?.id || 0];\n\n const [\n coinWethPoolSlot0,\n coinWethPoolToken0,\n coinReservesRaw,\n coinTotalSupply,\n wethReservesRaw,\n usdcWethSlot0,\n ] = await publicClient.multicall({\n contracts: [\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"token0\",\n },\n {\n address: coin,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"totalSupply\",\n },\n {\n address: SUPERCHAIN_WETH_ADDRESS,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: USDC_WETH_POOL ?? coin,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n ],\n allowFailure: false,\n });\n\n const wethPriceInUsdc = USDC_WETH_POOL\n ? uniswapV3SqrtPriceToBigIntScaled(\n usdcWethSlot0.sqrtPriceX96,\n 18,\n 6,\n true,\n 18,\n )\n : null;\n\n const coinPriceInWeth = uniswapV3SqrtPriceToBigIntScaled(\n coinWethPoolSlot0.sqrtPriceX96,\n 18,\n 18,\n isAddressEqual(coinWethPoolToken0, coin),\n 18,\n );\n\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const marketCap = (coinPriceInWeth * coinTotalSupply) / 10n ** 18n;\n\n const wethLiquidity = wethReservesRaw;\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const tokenLiquidity = (coinReservesRaw * coinPriceInWeth) / 10n ** 18n;\n\n return {\n balance,\n pool,\n owners,\n payoutRecipient,\n marketCap: convertEthOutput(marketCap, wethPriceInUsdc),\n liquidity: convertEthOutput(\n wethLiquidity + tokenLiquidity,\n wethPriceInUsdc,\n ),\n poolState: coinWethPoolSlot0,\n };\n}\n\nfunction convertEthOutput(amountETH: bigint, wethToUsdc: bigint | null) {\n return {\n eth: amountETH,\n ethDecimal: parseFloat(formatEther(amountETH)),\n usdc: wethToUsdc ? amountETH * wethToUsdc : null,\n usdcDecimal: wethToUsdc\n ? parseFloat(formatEther((amountETH * wethToUsdc) / 10n ** 18n))\n : null,\n };\n}\n\nfunction uniswapV3SqrtPriceToBigIntScaled(\n sqrtPriceX96: bigint,\n token0Decimals: number,\n token1Decimals: number,\n isToken0Coin: boolean,\n scaleDecimals: number = 18,\n): bigint {\n // (sqrtPrice^2 / 2^192) => ratio\n // We'll do: ratioScaled = (sqrtPrice^2 * 10^scaleDecimals) / 2^192\n const numerator = sqrtPriceX96 * sqrtPriceX96;\n const denominator = 2n ** 192n;\n const scaleFactor = 10n ** BigInt(scaleDecimals);\n\n // raw ratioScaled\n let ratioScaled = (numerator * scaleFactor) / denominator; // BigInt\n\n // Adjust for difference in decimals:\n // ratioScaled *= 10^(dec0 - dec1)\n const decimalsDiff = BigInt(token0Decimals - token1Decimals);\n if (decimalsDiff > 0n) {\n ratioScaled *= 10n ** decimalsDiff;\n } else if (decimalsDiff < 0n) {\n ratioScaled /= 10n ** -decimalsDiff;\n }\n\n if (!isToken0Coin) {\n // We want the reciprocal: coin is token1 => coinPriceInToken0 = 1 / ratio\n // But we also want it scaled by 10^scaleDecimals\n // reciprocalScaled = (10^scaleDecimals * 10^(decimalsDiff)) / ratioScaled\n // (assuming ratioScaled != 0)\n if (ratioScaled === 0n) {\n return 0n; // or some huge number representing infinity\n }\n ratioScaled = (scaleFactor * scaleFactor) / ratioScaled;\n // or if we already included decimalsDiff above, handle carefully.\n }\n\n return ratioScaled;\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdateCoinURIArgs = {\n coin: Address;\n newURI: string;\n};\n\nexport function updateCoinURICall({\n newURI,\n coin,\n}: UpdateCoinURIArgs): SimulateContractParameters {\n if (!newURI.startsWith(\"ipfs://\")) {\n throw new Error(\"URI needs to be an ipfs:// prefix uri\");\n }\n\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setContractURI\",\n args: [newURI],\n };\n}\n\nexport async function updateCoinURI(\n args: UpdateCoinURIArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updateCoinURICall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const uriUpdated = eventLogs.find(\n (log) => log.eventName === \"ContractURIUpdated\",\n );\n\n return { hash, receipt, uriUpdated };\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdatePayoutRecipientArgs = {\n coin: Address;\n newPayoutRecipient: string;\n};\n\nexport function updatePayoutRecipientCall({\n newPayoutRecipient,\n coin,\n}: UpdatePayoutRecipientArgs): SimulateContractParameters {\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setPayoutRecipient\",\n args: [newPayoutRecipient],\n };\n}\n\nexport async function updatePayoutRecipient(\n args: UpdatePayoutRecipientArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updatePayoutRecipientCall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const payoutRecipientUpdated = eventLogs.find(\n (log) => log.eventName === \"CoinPayoutRecipientUpdated\",\n );\n\n return { hash, receipt, payoutRecipientUpdated };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api-sdk.zora.engineering/'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n Options as ClientOptions,\n TDataShape,\n Client,\n} from \"@hey-api/client-fetch\";\nimport type {\n GetCoinData,\n GetCoinResponse,\n GetCoinCommentsData,\n GetCoinCommentsResponse,\n GetCoinsData,\n GetCoinsResponse,\n GetExploreData,\n GetExploreResponse,\n GetProfileData,\n GetProfileResponse,\n GetProfileBalancesData,\n GetProfileBalancesResponse,\n} from \"./types.gen\";\nimport { client as _heyApiClient } from \"./client.gen\";\n\nexport type Options<\n TData extends TDataShape = TDataShape,\n ThrowOnError extends boolean = boolean,\n> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nexport const getCoin = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coin\",\n ...options,\n });\n};\n\nexport const getCoinComments = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinCommentsData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinCommentsResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coinComments\",\n ...options,\n });\n};\n\nexport const getCoins = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinsData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinsResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coins\",\n ...options,\n });\n};\n\nexport const getExplore = <ThrowOnError extends boolean = false>(\n options: Options<GetExploreData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetExploreResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/explore\",\n ...options,\n });\n};\n\nexport const getProfile = <ThrowOnError extends boolean = false>(\n options: Options<GetProfileData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetProfileResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/profile\",\n ...options,\n });\n};\n\nexport const getProfileBalances = <ThrowOnError extends boolean = false>(\n options: Options<GetProfileBalancesData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetProfileBalancesResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/profileBalances\",\n ...options,\n });\n};\n","let apiKey: string | undefined;\nexport function setApiKey(key: string) {\n apiKey = key;\n}\n\nexport function getApiKeyMeta() {\n if (!apiKey) {\n return {};\n }\n return {\n headers: {\n \"api-key\": apiKey,\n },\n };\n}\n","import {\n GetCoinCommentsData,\n GetCoinData,\n GetProfileBalancesData,\n GetProfileData,\n} from \"src/client\";\nimport {\n getCoin as getCoinSDK,\n getCoins as getCoinsSDK,\n getCoinComments as getCoinCommentsSDK,\n getProfile as getProfileSDK,\n getProfileBalances as getProfileBalancesSDK,\n} from \"../client/sdk.gen\";\nimport { getApiKeyMeta } from \"./api-key\";\n\nexport const getCoin = async (query: GetCoinData[\"query\"]) => {\n return await getCoinSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoins = async ({\n coinAddresses,\n chainId,\n}: {\n coinAddresses: string[];\n chainId?: number;\n}) => {\n return await getCoinsSDK({\n query: {\n coins: coinAddresses.map((collectionAddress) => ({\n chainId,\n collectionAddress,\n })),\n },\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoinComments = async (query: GetCoinCommentsData[\"query\"]) => {\n return await getCoinCommentsSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfile = async (query: GetProfileData[\"query\"]) => {\n return await getProfileSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfileBalances = async (\n query: GetProfileBalancesData[\"query\"],\n) => {\n return await getProfileBalancesSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n","import { getExplore as getExploreSDK } from \"../client/sdk.gen\";\nimport type { GetExploreData } from \"../client/types.gen\";\nimport { Options } from \"@hey-api/client-fetch\";\nimport { getApiKeyMeta } from \"./api-key\";\n\n/**\n * The inner type for the explore queries that omits listType.\n * This is used to create the query object for the explore queries.\n */\ntype QueryInnerType = {\n query: Omit<GetExploreData[\"query\"], \"listType\">;\n} & Omit<GetExploreData, \"query\">;\n\n/**\n * Creates an explore query with the specified list type\n */\nconst createExploreQuery = <T extends boolean = false>(\n listType: GetExploreData[\"query\"][\"listType\"],\n options?: Options<QueryInnerType, T>,\n) =>\n getExploreSDK({\n ...options,\n query: { ...options?.query, listType },\n meta: getApiKeyMeta(),\n });\n\n/** Get top gaining coins */\nexport const getCoinsTopGainers = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_GAINERS\", options);\n\n/** Get coins with highest 24h volume */\nexport const getCoinsTopVolume24h = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_VOLUME_24H\", options);\n\n/** Get most valuable coins */\nexport const getCoinsMostValuable = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"MOST_VALUABLE\", options);\n\n/** Get newly created coins */\nexport const getCoinsNew = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"NEW\", options);\n\n/** Get recently traded coins */\nexport const getCoinsLastTraded = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED\", options);\n\n/** Get recently traded unique coins */\nexport const getCoinsLastTradedUnique = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED_UNIQUE\", options);\n"],"mappings":"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","names":["getCoin","getCoinComments","getCoins","getProfile","getProfileBalances","import_coins","import_chains","import_coins","import_viem","import_chains","import_coins","import_viem","import_coins","import_viem","import_coins","import_viem","getCoin","getCoins","getCoinComments","getProfile","getProfileBalances"]}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,9 @@ export { createCoin, createCoinCall, getCoinCreateFromLogs, } from "./actions/cr
2
2
  export { tradeCoin, tradeCoinCall, getTradeFromLogs, } from "./actions/tradeCoin";
3
3
  export { getOnchainCoinDetails, type OnchainCoinDetails, } from "./actions/getOnchainCoinDetails";
4
4
  export { updateCoinURI, updateCoinURICall } from "./actions/updateCoinURI";
5
+ export { updatePayoutRecipient, updatePayoutRecipientCall } from "./actions/updatePayoutRecipient";
5
6
  export * from "./api/queries";
6
7
  export * from "./api/explore";
8
+ export { setApiKey } from "./api/api-key";
7
9
  export type * from "src/client/types.gen";
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAG9B,mBAAmB,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAGnG,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,mBAAmB,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -327,6 +327,38 @@ async function updateCoinURI(args, walletClient, publicClient) {
327
327
  return { hash, receipt, uriUpdated };
328
328
  }
329
329
 
330
+ // src/actions/updatePayoutRecipient.ts
331
+ import { coinABI as coinABI4 } from "@zoralabs/coins";
332
+ import {
333
+ parseEventLogs as parseEventLogs4
334
+ } from "viem";
335
+ function updatePayoutRecipientCall({
336
+ newPayoutRecipient,
337
+ coin
338
+ }) {
339
+ return {
340
+ abi: coinABI4,
341
+ address: coin,
342
+ functionName: "setPayoutRecipient",
343
+ args: [newPayoutRecipient]
344
+ };
345
+ }
346
+ async function updatePayoutRecipient(args, walletClient, publicClient) {
347
+ validateClientNetwork(publicClient);
348
+ const call = updatePayoutRecipientCall(args);
349
+ const { request } = await publicClient.simulateContract({
350
+ ...call,
351
+ account: walletClient.account
352
+ });
353
+ const hash = await walletClient.writeContract(request);
354
+ const receipt = await publicClient.waitForTransactionReceipt({ hash });
355
+ const eventLogs = parseEventLogs4({ abi: coinABI4, logs: receipt.logs });
356
+ const payoutRecipientUpdated = eventLogs.find(
357
+ (log) => log.eventName === "CoinPayoutRecipientUpdated"
358
+ );
359
+ return { hash, receipt, payoutRecipientUpdated };
360
+ }
361
+
330
362
  // src/client/client.gen.ts
331
363
  import { createClient, createConfig } from "@hey-api/client-fetch";
332
364
  var client = createClient(createConfig({
@@ -373,6 +405,9 @@ var getProfileBalances = (options) => {
373
405
 
374
406
  // src/api/api-key.ts
375
407
  var apiKey;
408
+ function setApiKey(key) {
409
+ apiKey = key;
410
+ }
376
411
  function getApiKeyMeta() {
377
412
  if (!apiKey) {
378
413
  return {};
@@ -453,9 +488,12 @@ export {
453
488
  getProfile2 as getProfile,
454
489
  getProfileBalances2 as getProfileBalances,
455
490
  getTradeFromLogs,
491
+ setApiKey,
456
492
  tradeCoin,
457
493
  tradeCoinCall,
458
494
  updateCoinURI,
459
- updateCoinURICall
495
+ updateCoinURICall,
496
+ updatePayoutRecipient,
497
+ updatePayoutRecipientCall
460
498
  };
461
499
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/actions/createCoin.ts","../src/constants.ts","../src/utils/validateClientNetwork.ts","../src/actions/tradeCoin.ts","../src/actions/getOnchainCoinDetails.ts","../src/actions/updateCoinURI.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/api/api-key.ts","../src/api/queries.ts","../src/api/explore.ts"],"sourcesContent":["import { zoraFactoryImplABI } from \"@zoralabs/coins\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { COIN_FACTORY_ADDRESS } from \"../constants\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\n\nexport type CoinDeploymentLogArgs = ContractEventArgsFromTopics<\n typeof zoraFactoryImplABI,\n \"CoinCreated\"\n>;\n\ntype CreateCoinArgs = {\n name: string;\n symbol: string;\n uri: string;\n owners?: Address[];\n tickLower?: number;\n payoutRecipient: Address;\n platformReferrer?: Address;\n initialPurchaseWei?: bigint;\n};\n\nexport function createCoinCall({\n name,\n symbol,\n uri,\n owners,\n payoutRecipient,\n initialPurchaseWei = 0n,\n tickLower = -199200,\n platformReferrer = \"0x0000000000000000000000000000000000000000\",\n}: CreateCoinArgs): SimulateContractParameters<\n typeof zoraFactoryImplABI,\n \"deploy\"\n> {\n if (!owners) {\n owners = [payoutRecipient];\n }\n\n const currency = \"0x4200000000000000000000000000000000000006\";\n return {\n abi: zoraFactoryImplABI,\n functionName: \"deploy\",\n address: COIN_FACTORY_ADDRESS,\n args: [\n payoutRecipient,\n owners,\n uri,\n name,\n symbol,\n platformReferrer,\n currency,\n tickLower,\n initialPurchaseWei,\n ],\n value: initialPurchaseWei,\n } as const;\n}\n\n/**\n * Gets the deployed coin address from transaction receipt logs\n * @param receipt Transaction receipt containing the CoinCreated event\n * @returns The deployment information if found\n */\nexport function getCoinCreateFromLogs(\n receipt: TransactionReceipt,\n): CoinDeploymentLogArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: zoraFactoryImplABI,\n logs: receipt.logs,\n });\n return eventLogs.find((log) => log.eventName === \"CoinCreated\")?.args;\n}\n\n// Update createCoin to return both receipt and coin address\nexport async function createCoin(\n call: CreateCoinArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...createCoinCall(call),\n account: walletClient.account,\n });\n\n // Add a 1/5th buffer on gas.\n if (request.gas) {\n request.gas = request.gas * 6n / 5n;\n }\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const deployment = getCoinCreateFromLogs(receipt);\n\n return {\n hash,\n receipt,\n address: deployment?.coin,\n deployment,\n };\n}\n","import { zoraFactoryImplAddress } from \"@zoralabs/coins\";\nimport { Address } from \"viem\";\nimport { base } from \"viem/chains\";\n\n// this is the same across all chains due to deterministic deploys.\nexport const COIN_FACTORY_ADDRESS = zoraFactoryImplAddress[\"8453\"] as Address;\n\nexport const SUPERCHAIN_WETH_ADDRESS = '0x4200000000000000000000000000000000000006';\n\nexport const USDC_WETH_POOLS_BY_CHAIN: Record<number, Address> = {\n [base.id]: '0xd0b53D9277642d899DF5C87A3966A349A798F224',\n}\n","import { PublicClient } from \"viem\";\nimport { base, baseSepolia } from \"viem/chains\";\n\nexport const validateClientNetwork = (\n publicClient: PublicClient<any, any, any, any>,\n) => {\n const clientChainId = publicClient?.chain?.id;\n if (clientChainId === base.id) {\n return;\n }\n if (clientChainId === baseSepolia.id) {\n return;\n }\n\n throw new Error(\n \"Client network needs to be base or baseSepolia for current coin deployments.\",\n );\n};\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n parseEther,\n zeroAddress,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { baseSepolia } from \"viem/chains\";\n\n// Define trade event args type\n\nexport type SellEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinSell\"\n>;\nexport type BuyEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinBuy\"\n>;\n\nexport type TradeEventArgs = SellEventArgs | BuyEventArgs;\n\n/**\n * Simulates a buy order to get the expected output amount\n * @param {Object} params - The simulation parameters\n * @param {Address} params.target - The target coin contract address\n * @param {bigint} params.requestedOrderSize - The desired input amount for the buy\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<{orderSize: bigint, amountOut: bigint}>} The simulated order size and output amount\n */\nexport async function simulateBuy({\n target,\n requestedOrderSize,\n publicClient,\n}: {\n target: Address;\n requestedOrderSize: bigint;\n publicClient: PublicClient;\n}): Promise<{ orderSize: bigint; amountOut: bigint }> {\n const numberResult = await publicClient.simulateContract({\n address: target,\n abi: coinABI,\n functionName: \"buy\",\n args: [\n zeroAddress,\n requestedOrderSize,\n 0n, // minAmountOut\n 0n, // sqrtPriceLimitX96\n zeroAddress, // tradeReferrer\n ],\n stateOverride: [\n {\n address: baseSepolia.contracts.multicall3.address,\n balance: parseEther(\"100000\"),\n },\n ],\n });\n const orderSize = numberResult.result[0];\n const amountOut = numberResult.result[1];\n return { orderSize, amountOut };\n}\n\n/**\n * Parameters for creating a trade call\n * @typedef {Object} TradeParams\n * @property {'sell' | 'buy'} direction - The trade direction\n * @property {Address} target - The target coin contract address\n * @property {Object} args - The trade arguments\n * @property {Address} args.recipient - The recipient of the trade output\n * @property {bigint} args.orderSize - The size of the order\n * @property {bigint} [args.minAmountOut] - The minimum amount to receive\n * @property {bigint} [args.sqrtPriceLimitX96] - The price limit for the trade\n * @property {Address} [args.tradeReferrer] - The referrer address for the trade\n */\ntype TradeParams = {\n direction: \"sell\" | \"buy\";\n target: Address;\n args: {\n recipient: Address;\n orderSize: bigint;\n minAmountOut?: bigint;\n sqrtPriceLimitX96?: bigint;\n tradeReferrer?: Address;\n };\n};\n\n/**\n * Creates a trade call parameters object for buy or sell\n * @param {TradeParams} params - The trade parameters\n * @returns {SimulateContractParameters} The contract call parameters\n */\nexport function tradeCoinCall({\n target,\n direction,\n args: {\n recipient,\n orderSize,\n minAmountOut = 0n,\n sqrtPriceLimitX96 = 0n,\n tradeReferrer = zeroAddress,\n },\n}: TradeParams): SimulateContractParameters {\n return {\n abi: coinABI,\n functionName: direction,\n address: target,\n args: [\n recipient,\n orderSize,\n minAmountOut,\n sqrtPriceLimitX96,\n tradeReferrer,\n ],\n value: direction === \"buy\" ? orderSize : 0n,\n } as const;\n}\n\n/**\n * Gets the trade event from transaction receipt logs\n * @param {TransactionReceipt} receipt - The transaction receipt containing the logs\n * @param {'buy' | 'sell'} direction - The direction of the trade\n * @returns {TradeEventArgs | undefined} The decoded trade event args if found\n */\nexport function getTradeFromLogs(\n receipt: TransactionReceipt,\n direction: \"buy\" | \"sell\",\n): TradeEventArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: coinABI,\n logs: receipt.logs,\n });\n\n if (direction === \"buy\") {\n return eventLogs.find((log) => log.eventName === \"CoinBuy\")?.args;\n }\n return eventLogs.find((log) => log.eventName === \"CoinSell\")?.args;\n}\n\n/**\n * Executes a trade transaction\n * @param {TradeParams} params - The trade parameters\n * @param {PublicClient} publicClient - The viem public client instance\n * @param {WalletClient} walletClient - The viem wallet client instance\n * @returns {Promise<{\n * hash: `0x${string}`,\n * receipt: TransactionReceipt,\n * trade: TradeEventArgs | undefined\n * }>} The transaction result with trade details\n */\nexport async function tradeCoin(\n params: TradeParams,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...tradeCoinCall(params),\n account: walletClient.account,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const trade = getTradeFromLogs(receipt, params.direction);\n\n return {\n hash,\n receipt,\n trade,\n };\n}\n","import { coinABI, iUniswapV3PoolABI } from \"@zoralabs/coins\";\nimport {\n SUPERCHAIN_WETH_ADDRESS,\n USDC_WETH_POOLS_BY_CHAIN,\n} from \"src/constants\";\nimport { GenericPublicClient } from \"src/utils/genericPublicClient\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n erc20Abi,\n formatEther,\n isAddressEqual,\n zeroAddress,\n} from \"viem\";\n\ntype Slot0Result = {\n sqrtPriceX96: bigint;\n tick: number;\n observationIndex: number;\n observationCardinality: number;\n observationCardinalityNext: number;\n feeProtocol: number;\n unlocked: boolean;\n};\n\ntype PricingResult = {\n eth: bigint;\n usdc: bigint | null;\n usdcDecimal: number | null;\n ethDecimal: number;\n};\n\n/**\n * Represents the current state of a coin\n * @typedef {Object} OnchainCoinDetails\n * @property {bigint} balance - The user's balance of the coin\n * @property {PricingResult} marketCap - The market cap of the coin\n * @property {PricingResult} liquidity - The liquidity of the coin\n * @property {Address} pool - Pool address\n * @property {Slot0Result} poolState - Current state of the UniswapV3 pool\n * @property {Address[]} owners - List of owners for the coin\n * @property {Address} payoutRecipient - The payout recipient address\n */\nexport type OnchainCoinDetails = {\n balance: bigint;\n marketCap: PricingResult;\n liquidity: PricingResult;\n pool: Address;\n poolState: Slot0Result;\n owners: readonly Address[];\n payoutRecipient: Address;\n};\n\n/**\n * Gets the current state of a coin for a user\n * @param {Object} params - The query parameters\n * @param {Address} params.coin - The coin contract address\n * @param {Address} params.user - The user address to check balance for\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<OnchainCoinDetails>} The coin's current state\n */\nexport async function getOnchainCoinDetails({\n coin,\n user = zeroAddress,\n publicClient,\n}: {\n coin: Address;\n user?: Address;\n publicClient: GenericPublicClient;\n}): Promise<OnchainCoinDetails> {\n validateClientNetwork(publicClient);\n const [balance, pool, owners, payoutRecipient] = await publicClient.multicall(\n {\n contracts: [\n {\n address: coin,\n abi: coinABI,\n functionName: \"balanceOf\",\n args: [user],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"poolAddress\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"owners\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"payoutRecipient\",\n },\n ],\n allowFailure: false,\n },\n );\n\n const USDC_WETH_POOL = USDC_WETH_POOLS_BY_CHAIN[publicClient.chain?.id || 0];\n\n const [\n coinWethPoolSlot0,\n coinWethPoolToken0,\n coinReservesRaw,\n coinTotalSupply,\n wethReservesRaw,\n usdcWethSlot0,\n ] = await publicClient.multicall({\n contracts: [\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"token0\",\n },\n {\n address: coin,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"totalSupply\",\n },\n {\n address: SUPERCHAIN_WETH_ADDRESS,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: USDC_WETH_POOL ?? coin,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n ],\n allowFailure: false,\n });\n\n const wethPriceInUsdc = USDC_WETH_POOL\n ? uniswapV3SqrtPriceToBigIntScaled(\n usdcWethSlot0.sqrtPriceX96,\n 18,\n 6,\n true,\n 18,\n )\n : null;\n\n const coinPriceInWeth = uniswapV3SqrtPriceToBigIntScaled(\n coinWethPoolSlot0.sqrtPriceX96,\n 18,\n 18,\n isAddressEqual(coinWethPoolToken0, coin),\n 18,\n );\n\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const marketCap = (coinPriceInWeth * coinTotalSupply) / 10n ** 18n;\n\n const wethLiquidity = wethReservesRaw;\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const tokenLiquidity = (coinReservesRaw * coinPriceInWeth) / 10n ** 18n;\n\n return {\n balance,\n pool,\n owners,\n payoutRecipient,\n marketCap: convertEthOutput(marketCap, wethPriceInUsdc),\n liquidity: convertEthOutput(\n wethLiquidity + tokenLiquidity,\n wethPriceInUsdc,\n ),\n poolState: coinWethPoolSlot0,\n };\n}\n\nfunction convertEthOutput(amountETH: bigint, wethToUsdc: bigint | null) {\n return {\n eth: amountETH,\n ethDecimal: parseFloat(formatEther(amountETH)),\n usdc: wethToUsdc ? amountETH * wethToUsdc : null,\n usdcDecimal: wethToUsdc\n ? parseFloat(formatEther((amountETH * wethToUsdc) / 10n ** 18n))\n : null,\n };\n}\n\nfunction uniswapV3SqrtPriceToBigIntScaled(\n sqrtPriceX96: bigint,\n token0Decimals: number,\n token1Decimals: number,\n isToken0Coin: boolean,\n scaleDecimals: number = 18,\n): bigint {\n // (sqrtPrice^2 / 2^192) => ratio\n // We'll do: ratioScaled = (sqrtPrice^2 * 10^scaleDecimals) / 2^192\n const numerator = sqrtPriceX96 * sqrtPriceX96;\n const denominator = 2n ** 192n;\n const scaleFactor = 10n ** BigInt(scaleDecimals);\n\n // raw ratioScaled\n let ratioScaled = (numerator * scaleFactor) / denominator; // BigInt\n\n // Adjust for difference in decimals:\n // ratioScaled *= 10^(dec0 - dec1)\n const decimalsDiff = BigInt(token0Decimals - token1Decimals);\n if (decimalsDiff > 0n) {\n ratioScaled *= 10n ** decimalsDiff;\n } else if (decimalsDiff < 0n) {\n ratioScaled /= 10n ** -decimalsDiff;\n }\n\n if (!isToken0Coin) {\n // We want the reciprocal: coin is token1 => coinPriceInToken0 = 1 / ratio\n // But we also want it scaled by 10^scaleDecimals\n // reciprocalScaled = (10^scaleDecimals * 10^(decimalsDiff)) / ratioScaled\n // (assuming ratioScaled != 0)\n if (ratioScaled === 0n) {\n return 0n; // or some huge number representing infinity\n }\n ratioScaled = (scaleFactor * scaleFactor) / ratioScaled;\n // or if we already included decimalsDiff above, handle carefully.\n }\n\n return ratioScaled;\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdateCoinURIArgs = {\n coin: Address;\n newURI: string;\n};\n\nexport function updateCoinURICall({\n newURI,\n coin,\n}: UpdateCoinURIArgs): SimulateContractParameters {\n if (!newURI.startsWith(\"ipfs://\")) {\n throw new Error(\"URI needs to be an ipfs:// prefix uri\");\n }\n\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setContractURI\",\n args: [newURI],\n };\n}\n\nexport async function updateCoinURI(\n args: UpdateCoinURIArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updateCoinURICall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const uriUpdated = eventLogs.find(\n (log) => log.eventName === \"ContractURIUpdated\",\n );\n\n return { hash, receipt, uriUpdated };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api-sdk.zora.engineering/'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';\nimport type { GetCoinData, GetCoinResponse, GetCoinCommentsData, GetCoinCommentsResponse, GetCoinsData, GetCoinsResponse, GetExploreData, GetExploreResponse, GetProfileData, GetProfileResponse, GetProfileBalancesData, GetProfileBalancesResponse } from './types.gen';\nimport { client as _heyApiClient } from './client.gen';\n\nexport type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nexport const getCoin = <ThrowOnError extends boolean = false>(options: Options<GetCoinData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinResponse, unknown, ThrowOnError>({\n url: '/coin',\n ...options\n });\n};\n\nexport const getCoinComments = <ThrowOnError extends boolean = false>(options: Options<GetCoinCommentsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinCommentsResponse, unknown, ThrowOnError>({\n url: '/coinComments',\n ...options\n });\n};\n\nexport const getCoins = <ThrowOnError extends boolean = false>(options: Options<GetCoinsData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetCoinsResponse, unknown, ThrowOnError>({\n url: '/coins',\n ...options\n });\n};\n\nexport const getExplore = <ThrowOnError extends boolean = false>(options: Options<GetExploreData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetExploreResponse, unknown, ThrowOnError>({\n url: '/explore',\n ...options\n });\n};\n\nexport const getProfile = <ThrowOnError extends boolean = false>(options: Options<GetProfileData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileResponse, unknown, ThrowOnError>({\n url: '/profile',\n ...options\n });\n};\n\nexport const getProfileBalances = <ThrowOnError extends boolean = false>(options: Options<GetProfileBalancesData, ThrowOnError>) => {\n return (options.client ?? _heyApiClient).get<GetProfileBalancesResponse, unknown, ThrowOnError>({\n url: '/profileBalances',\n ...options\n });\n};","let apiKey: string | undefined;\nexport function setApiKey(key: string) {\n apiKey = key;\n}\n\nexport function getApiKeyMeta() {\n if (!apiKey) {\n return {};\n }\n return {\n headers: {\n \"api-key\": apiKey,\n },\n };\n}\n","import {\n GetCoinCommentsData,\n GetCoinData,\n GetProfileBalancesData,\n GetProfileData,\n} from \"src/client\";\nimport {\n getCoin as getCoinSDK,\n getCoins as getCoinsSDK,\n getCoinComments as getCoinCommentsSDK,\n getProfile as getProfileSDK,\n getProfileBalances as getProfileBalancesSDK,\n} from \"../client/sdk.gen\";\nimport { getApiKeyMeta } from \"./api-key\";\n\nexport const getCoin = async (query: GetCoinData[\"query\"]) => {\n return await getCoinSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoins = async ({\n coinAddresses,\n chainId,\n}: {\n coinAddresses: string[];\n chainId?: number;\n}) => {\n return await getCoinsSDK({\n query: {\n coins: coinAddresses.map((collectionAddress) => ({\n chainId,\n collectionAddress,\n })),\n },\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoinComments = async (query: GetCoinCommentsData[\"query\"]) => {\n return await getCoinCommentsSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfile = async (query: GetProfileData[\"query\"]) => {\n return await getProfileSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfileBalances = async (query: GetProfileBalancesData[\"query\"]) => {\n return await getProfileBalancesSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n","import { getExplore as getExploreSDK } from \"../client/sdk.gen\";\nimport type { GetExploreData } from \"../client/types.gen\";\nimport { Options } from \"@hey-api/client-fetch\";\nimport { getApiKeyMeta } from \"./api-key\";\n\n/**\n * The inner type for the explore queries that omits listType.\n * This is used to create the query object for the explore queries.\n */\ntype QueryInnerType = {\n query: Omit<GetExploreData[\"query\"], \"listType\">;\n} & Omit<GetExploreData, \"query\">;\n\n/**\n * Creates an explore query with the specified list type\n */\nconst createExploreQuery = <T extends boolean = false>(\n listType: GetExploreData[\"query\"][\"listType\"],\n options?: Options<QueryInnerType, T>,\n) =>\n getExploreSDK({\n ...options,\n query: { ...options?.query, listType },\n meta: getApiKeyMeta(),\n });\n\n/** Get top gaining coins */\nexport const getCoinsTopGainers = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_GAINERS\", options);\n\n/** Get coins with highest 24h volume */\nexport const getCoinsTopVolume24h = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_VOLUME_24H\", options);\n\n/** Get most valuable coins */\nexport const getCoinsMostValuable = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"MOST_VALUABLE\", options);\n\n/** Get newly created coins */\nexport const getCoinsNew = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"NEW\", options);\n\n/** Get recently traded coins */\nexport const getCoinsLastTraded = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED\", options);\n\n/** Get recently traded unique coins */\nexport const getCoinsLastTradedUnique = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED_UNIQUE\", options);\n"],"mappings":"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","names":["base","parseEventLogs","baseSepolia","parseEventLogs","coinABI","zeroAddress","coinABI","coinABI","parseEventLogs","coinABI","getCoin","getCoins","getCoinComments","getProfile","getProfileBalances"]}
1
+ {"version":3,"sources":["../src/actions/createCoin.ts","../src/constants.ts","../src/utils/validateClientNetwork.ts","../src/actions/tradeCoin.ts","../src/actions/getOnchainCoinDetails.ts","../src/actions/updateCoinURI.ts","../src/actions/updatePayoutRecipient.ts","../src/client/client.gen.ts","../src/client/sdk.gen.ts","../src/api/api-key.ts","../src/api/queries.ts","../src/api/explore.ts"],"sourcesContent":["import { zoraFactoryImplABI } from \"@zoralabs/coins\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { COIN_FACTORY_ADDRESS } from \"../constants\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\n\nexport type CoinDeploymentLogArgs = ContractEventArgsFromTopics<\n typeof zoraFactoryImplABI,\n \"CoinCreated\"\n>;\n\ntype CreateCoinArgs = {\n name: string;\n symbol: string;\n uri: string;\n owners?: Address[];\n tickLower?: number;\n payoutRecipient: Address;\n platformReferrer?: Address;\n initialPurchaseWei?: bigint;\n};\n\nexport function createCoinCall({\n name,\n symbol,\n uri,\n owners,\n payoutRecipient,\n initialPurchaseWei = 0n,\n tickLower = -199200,\n platformReferrer = \"0x0000000000000000000000000000000000000000\",\n}: CreateCoinArgs): SimulateContractParameters<\n typeof zoraFactoryImplABI,\n \"deploy\"\n> {\n if (!owners) {\n owners = [payoutRecipient];\n }\n\n const currency = \"0x4200000000000000000000000000000000000006\";\n return {\n abi: zoraFactoryImplABI,\n functionName: \"deploy\",\n address: COIN_FACTORY_ADDRESS,\n args: [\n payoutRecipient,\n owners,\n uri,\n name,\n symbol,\n platformReferrer,\n currency,\n tickLower,\n initialPurchaseWei,\n ],\n value: initialPurchaseWei,\n } as const;\n}\n\n/**\n * Gets the deployed coin address from transaction receipt logs\n * @param receipt Transaction receipt containing the CoinCreated event\n * @returns The deployment information if found\n */\nexport function getCoinCreateFromLogs(\n receipt: TransactionReceipt,\n): CoinDeploymentLogArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: zoraFactoryImplABI,\n logs: receipt.logs,\n });\n return eventLogs.find((log) => log.eventName === \"CoinCreated\")?.args;\n}\n\n// Update createCoin to return both receipt and coin address\nexport async function createCoin(\n call: CreateCoinArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...createCoinCall(call),\n account: walletClient.account,\n });\n\n // Add a 1/5th buffer on gas.\n if (request.gas) {\n request.gas = request.gas * 6n / 5n;\n }\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const deployment = getCoinCreateFromLogs(receipt);\n\n return {\n hash,\n receipt,\n address: deployment?.coin,\n deployment,\n };\n}\n","import { zoraFactoryImplAddress } from \"@zoralabs/coins\";\nimport { Address } from \"viem\";\nimport { base } from \"viem/chains\";\n\n// this is the same across all chains due to deterministic deploys.\nexport const COIN_FACTORY_ADDRESS = zoraFactoryImplAddress[\"8453\"] as Address;\n\nexport const SUPERCHAIN_WETH_ADDRESS = '0x4200000000000000000000000000000000000006';\n\nexport const USDC_WETH_POOLS_BY_CHAIN: Record<number, Address> = {\n [base.id]: '0xd0b53D9277642d899DF5C87A3966A349A798F224',\n}\n","import { PublicClient } from \"viem\";\nimport { base, baseSepolia } from \"viem/chains\";\n\nexport const validateClientNetwork = (\n publicClient: PublicClient<any, any, any, any>,\n) => {\n const clientChainId = publicClient?.chain?.id;\n if (clientChainId === base.id) {\n return;\n }\n if (clientChainId === baseSepolia.id) {\n return;\n }\n\n throw new Error(\n \"Client network needs to be base or baseSepolia for current coin deployments.\",\n );\n};\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n PublicClient,\n TransactionReceipt,\n WalletClient,\n SimulateContractParameters,\n parseEther,\n zeroAddress,\n ContractEventArgsFromTopics,\n parseEventLogs,\n} from \"viem\";\nimport { baseSepolia } from \"viem/chains\";\n\n// Define trade event args type\n\nexport type SellEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinSell\"\n>;\nexport type BuyEventArgs = ContractEventArgsFromTopics<\n typeof coinABI,\n \"CoinBuy\"\n>;\n\nexport type TradeEventArgs = SellEventArgs | BuyEventArgs;\n\n/**\n * Simulates a buy order to get the expected output amount\n * @param {Object} params - The simulation parameters\n * @param {Address} params.target - The target coin contract address\n * @param {bigint} params.requestedOrderSize - The desired input amount for the buy\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<{orderSize: bigint, amountOut: bigint}>} The simulated order size and output amount\n */\nexport async function simulateBuy({\n target,\n requestedOrderSize,\n publicClient,\n}: {\n target: Address;\n requestedOrderSize: bigint;\n publicClient: PublicClient;\n}): Promise<{ orderSize: bigint; amountOut: bigint }> {\n const numberResult = await publicClient.simulateContract({\n address: target,\n abi: coinABI,\n functionName: \"buy\",\n args: [\n zeroAddress,\n requestedOrderSize,\n 0n, // minAmountOut\n 0n, // sqrtPriceLimitX96\n zeroAddress, // tradeReferrer\n ],\n stateOverride: [\n {\n address: baseSepolia.contracts.multicall3.address,\n balance: parseEther(\"100000\"),\n },\n ],\n });\n const orderSize = numberResult.result[0];\n const amountOut = numberResult.result[1];\n return { orderSize, amountOut };\n}\n\n/**\n * Parameters for creating a trade call\n * @typedef {Object} TradeParams\n * @property {'sell' | 'buy'} direction - The trade direction\n * @property {Address} target - The target coin contract address\n * @property {Object} args - The trade arguments\n * @property {Address} args.recipient - The recipient of the trade output\n * @property {bigint} args.orderSize - The size of the order\n * @property {bigint} [args.minAmountOut] - The minimum amount to receive\n * @property {bigint} [args.sqrtPriceLimitX96] - The price limit for the trade\n * @property {Address} [args.tradeReferrer] - The referrer address for the trade\n */\ntype TradeParams = {\n direction: \"sell\" | \"buy\";\n target: Address;\n args: {\n recipient: Address;\n orderSize: bigint;\n minAmountOut?: bigint;\n sqrtPriceLimitX96?: bigint;\n tradeReferrer?: Address;\n };\n};\n\n/**\n * Creates a trade call parameters object for buy or sell\n * @param {TradeParams} params - The trade parameters\n * @returns {SimulateContractParameters} The contract call parameters\n */\nexport function tradeCoinCall({\n target,\n direction,\n args: {\n recipient,\n orderSize,\n minAmountOut = 0n,\n sqrtPriceLimitX96 = 0n,\n tradeReferrer = zeroAddress,\n },\n}: TradeParams): SimulateContractParameters {\n return {\n abi: coinABI,\n functionName: direction,\n address: target,\n args: [\n recipient,\n orderSize,\n minAmountOut,\n sqrtPriceLimitX96,\n tradeReferrer,\n ],\n value: direction === \"buy\" ? orderSize : 0n,\n } as const;\n}\n\n/**\n * Gets the trade event from transaction receipt logs\n * @param {TransactionReceipt} receipt - The transaction receipt containing the logs\n * @param {'buy' | 'sell'} direction - The direction of the trade\n * @returns {TradeEventArgs | undefined} The decoded trade event args if found\n */\nexport function getTradeFromLogs(\n receipt: TransactionReceipt,\n direction: \"buy\" | \"sell\",\n): TradeEventArgs | undefined {\n const eventLogs = parseEventLogs({\n abi: coinABI,\n logs: receipt.logs,\n });\n\n if (direction === \"buy\") {\n return eventLogs.find((log) => log.eventName === \"CoinBuy\")?.args;\n }\n return eventLogs.find((log) => log.eventName === \"CoinSell\")?.args;\n}\n\n/**\n * Executes a trade transaction\n * @param {TradeParams} params - The trade parameters\n * @param {PublicClient} publicClient - The viem public client instance\n * @param {WalletClient} walletClient - The viem wallet client instance\n * @returns {Promise<{\n * hash: `0x${string}`,\n * receipt: TransactionReceipt,\n * trade: TradeEventArgs | undefined\n * }>} The transaction result with trade details\n */\nexport async function tradeCoin(\n params: TradeParams,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const { request } = await publicClient.simulateContract({\n ...tradeCoinCall(params),\n account: walletClient.account,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const trade = getTradeFromLogs(receipt, params.direction);\n\n return {\n hash,\n receipt,\n trade,\n };\n}\n","import { coinABI, iUniswapV3PoolABI } from \"@zoralabs/coins\";\nimport {\n SUPERCHAIN_WETH_ADDRESS,\n USDC_WETH_POOLS_BY_CHAIN,\n} from \"src/constants\";\nimport { GenericPublicClient } from \"src/utils/genericPublicClient\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n erc20Abi,\n formatEther,\n isAddressEqual,\n zeroAddress,\n} from \"viem\";\n\ntype Slot0Result = {\n sqrtPriceX96: bigint;\n tick: number;\n observationIndex: number;\n observationCardinality: number;\n observationCardinalityNext: number;\n feeProtocol: number;\n unlocked: boolean;\n};\n\ntype PricingResult = {\n eth: bigint;\n usdc: bigint | null;\n usdcDecimal: number | null;\n ethDecimal: number;\n};\n\n/**\n * Represents the current state of a coin\n * @typedef {Object} OnchainCoinDetails\n * @property {bigint} balance - The user's balance of the coin\n * @property {PricingResult} marketCap - The market cap of the coin\n * @property {PricingResult} liquidity - The liquidity of the coin\n * @property {Address} pool - Pool address\n * @property {Slot0Result} poolState - Current state of the UniswapV3 pool\n * @property {Address[]} owners - List of owners for the coin\n * @property {Address} payoutRecipient - The payout recipient address\n */\nexport type OnchainCoinDetails = {\n balance: bigint;\n marketCap: PricingResult;\n liquidity: PricingResult;\n pool: Address;\n poolState: Slot0Result;\n owners: readonly Address[];\n payoutRecipient: Address;\n};\n\n/**\n * Gets the current state of a coin for a user\n * @param {Object} params - The query parameters\n * @param {Address} params.coin - The coin contract address\n * @param {Address} params.user - The user address to check balance for\n * @param {PublicClient} params.publicClient - The viem public client instance\n * @returns {Promise<OnchainCoinDetails>} The coin's current state\n */\nexport async function getOnchainCoinDetails({\n coin,\n user = zeroAddress,\n publicClient,\n}: {\n coin: Address;\n user?: Address;\n publicClient: GenericPublicClient;\n}): Promise<OnchainCoinDetails> {\n validateClientNetwork(publicClient);\n const [balance, pool, owners, payoutRecipient] = await publicClient.multicall(\n {\n contracts: [\n {\n address: coin,\n abi: coinABI,\n functionName: \"balanceOf\",\n args: [user],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"poolAddress\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"owners\",\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"payoutRecipient\",\n },\n ],\n allowFailure: false,\n },\n );\n\n const USDC_WETH_POOL = USDC_WETH_POOLS_BY_CHAIN[publicClient.chain?.id || 0];\n\n const [\n coinWethPoolSlot0,\n coinWethPoolToken0,\n coinReservesRaw,\n coinTotalSupply,\n wethReservesRaw,\n usdcWethSlot0,\n ] = await publicClient.multicall({\n contracts: [\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n {\n address: pool,\n abi: iUniswapV3PoolABI,\n functionName: \"token0\",\n },\n {\n address: coin,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: coin,\n abi: coinABI,\n functionName: \"totalSupply\",\n },\n {\n address: SUPERCHAIN_WETH_ADDRESS,\n abi: erc20Abi,\n functionName: \"balanceOf\",\n args: [pool],\n },\n {\n address: USDC_WETH_POOL ?? coin,\n abi: iUniswapV3PoolABI,\n functionName: \"slot0\",\n },\n ],\n allowFailure: false,\n });\n\n const wethPriceInUsdc = USDC_WETH_POOL\n ? uniswapV3SqrtPriceToBigIntScaled(\n usdcWethSlot0.sqrtPriceX96,\n 18,\n 6,\n true,\n 18,\n )\n : null;\n\n const coinPriceInWeth = uniswapV3SqrtPriceToBigIntScaled(\n coinWethPoolSlot0.sqrtPriceX96,\n 18,\n 18,\n isAddressEqual(coinWethPoolToken0, coin),\n 18,\n );\n\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const marketCap = (coinPriceInWeth * coinTotalSupply) / 10n ** 18n;\n\n const wethLiquidity = wethReservesRaw;\n // Divide by 10^18 to remove percision from `coinPriceInWeth` after math since bigint is decimal.\n const tokenLiquidity = (coinReservesRaw * coinPriceInWeth) / 10n ** 18n;\n\n return {\n balance,\n pool,\n owners,\n payoutRecipient,\n marketCap: convertEthOutput(marketCap, wethPriceInUsdc),\n liquidity: convertEthOutput(\n wethLiquidity + tokenLiquidity,\n wethPriceInUsdc,\n ),\n poolState: coinWethPoolSlot0,\n };\n}\n\nfunction convertEthOutput(amountETH: bigint, wethToUsdc: bigint | null) {\n return {\n eth: amountETH,\n ethDecimal: parseFloat(formatEther(amountETH)),\n usdc: wethToUsdc ? amountETH * wethToUsdc : null,\n usdcDecimal: wethToUsdc\n ? parseFloat(formatEther((amountETH * wethToUsdc) / 10n ** 18n))\n : null,\n };\n}\n\nfunction uniswapV3SqrtPriceToBigIntScaled(\n sqrtPriceX96: bigint,\n token0Decimals: number,\n token1Decimals: number,\n isToken0Coin: boolean,\n scaleDecimals: number = 18,\n): bigint {\n // (sqrtPrice^2 / 2^192) => ratio\n // We'll do: ratioScaled = (sqrtPrice^2 * 10^scaleDecimals) / 2^192\n const numerator = sqrtPriceX96 * sqrtPriceX96;\n const denominator = 2n ** 192n;\n const scaleFactor = 10n ** BigInt(scaleDecimals);\n\n // raw ratioScaled\n let ratioScaled = (numerator * scaleFactor) / denominator; // BigInt\n\n // Adjust for difference in decimals:\n // ratioScaled *= 10^(dec0 - dec1)\n const decimalsDiff = BigInt(token0Decimals - token1Decimals);\n if (decimalsDiff > 0n) {\n ratioScaled *= 10n ** decimalsDiff;\n } else if (decimalsDiff < 0n) {\n ratioScaled /= 10n ** -decimalsDiff;\n }\n\n if (!isToken0Coin) {\n // We want the reciprocal: coin is token1 => coinPriceInToken0 = 1 / ratio\n // But we also want it scaled by 10^scaleDecimals\n // reciprocalScaled = (10^scaleDecimals * 10^(decimalsDiff)) / ratioScaled\n // (assuming ratioScaled != 0)\n if (ratioScaled === 0n) {\n return 0n; // or some huge number representing infinity\n }\n ratioScaled = (scaleFactor * scaleFactor) / ratioScaled;\n // or if we already included decimalsDiff above, handle carefully.\n }\n\n return ratioScaled;\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdateCoinURIArgs = {\n coin: Address;\n newURI: string;\n};\n\nexport function updateCoinURICall({\n newURI,\n coin,\n}: UpdateCoinURIArgs): SimulateContractParameters {\n if (!newURI.startsWith(\"ipfs://\")) {\n throw new Error(\"URI needs to be an ipfs:// prefix uri\");\n }\n\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setContractURI\",\n args: [newURI],\n };\n}\n\nexport async function updateCoinURI(\n args: UpdateCoinURIArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updateCoinURICall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const uriUpdated = eventLogs.find(\n (log) => log.eventName === \"ContractURIUpdated\",\n );\n\n return { hash, receipt, uriUpdated };\n}\n","import { coinABI } from \"@zoralabs/coins\";\nimport { validateClientNetwork } from \"src/utils/validateClientNetwork\";\nimport {\n Address,\n parseEventLogs,\n PublicClient,\n SimulateContractParameters,\n WalletClient,\n} from \"viem\";\n\ntype UpdatePayoutRecipientArgs = {\n coin: Address;\n newPayoutRecipient: string;\n};\n\nexport function updatePayoutRecipientCall({\n newPayoutRecipient,\n coin,\n}: UpdatePayoutRecipientArgs): SimulateContractParameters {\n return {\n abi: coinABI,\n address: coin,\n functionName: \"setPayoutRecipient\",\n args: [newPayoutRecipient],\n };\n}\n\nexport async function updatePayoutRecipient(\n args: UpdatePayoutRecipientArgs,\n walletClient: WalletClient,\n publicClient: PublicClient,\n) {\n validateClientNetwork(publicClient);\n const call = updatePayoutRecipientCall(args);\n const { request } = await publicClient.simulateContract({\n ...call,\n account: walletClient.account!,\n });\n const hash = await walletClient.writeContract(request);\n const receipt = await publicClient.waitForTransactionReceipt({ hash });\n const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });\n const payoutRecipientUpdated = eventLogs.find(\n (log) => log.eventName === \"CoinPayoutRecipientUpdated\",\n );\n\n return { hash, receipt, payoutRecipientUpdated };\n}\n","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type { ClientOptions } from './types.gen';\nimport { type Config, type ClientOptions as DefaultClientOptions, createClient, createConfig } from '@hey-api/client-fetch';\n\n/**\n * The `createClientConfig()` function will be called on client initialization\n * and the returned object will become the client's initial configuration.\n *\n * You may want to initialize your client this way instead of calling\n * `setConfig()`. This is useful for example if you're using Next.js\n * to ensure your client always has the correct values.\n */\nexport type CreateClientConfig<T extends DefaultClientOptions = ClientOptions> = (override?: Config<DefaultClientOptions & T>) => Config<Required<DefaultClientOptions> & T>;\n\nexport const client = createClient(createConfig<ClientOptions>({\n baseUrl: 'https://api-sdk.zora.engineering/'\n}));","// This file is auto-generated by @hey-api/openapi-ts\n\nimport type {\n Options as ClientOptions,\n TDataShape,\n Client,\n} from \"@hey-api/client-fetch\";\nimport type {\n GetCoinData,\n GetCoinResponse,\n GetCoinCommentsData,\n GetCoinCommentsResponse,\n GetCoinsData,\n GetCoinsResponse,\n GetExploreData,\n GetExploreResponse,\n GetProfileData,\n GetProfileResponse,\n GetProfileBalancesData,\n GetProfileBalancesResponse,\n} from \"./types.gen\";\nimport { client as _heyApiClient } from \"./client.gen\";\n\nexport type Options<\n TData extends TDataShape = TDataShape,\n ThrowOnError extends boolean = boolean,\n> = ClientOptions<TData, ThrowOnError> & {\n /**\n * You can provide a client instance returned by `createClient()` instead of\n * individual options. This might be also useful if you want to implement a\n * custom client.\n */\n client?: Client;\n /**\n * You can pass arbitrary values through the `meta` object. This can be\n * used to access values that aren't defined as part of the SDK function.\n */\n meta?: Record<string, unknown>;\n};\n\nexport const getCoin = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coin\",\n ...options,\n });\n};\n\nexport const getCoinComments = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinCommentsData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinCommentsResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coinComments\",\n ...options,\n });\n};\n\nexport const getCoins = <ThrowOnError extends boolean = false>(\n options: Options<GetCoinsData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetCoinsResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/coins\",\n ...options,\n });\n};\n\nexport const getExplore = <ThrowOnError extends boolean = false>(\n options: Options<GetExploreData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetExploreResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/explore\",\n ...options,\n });\n};\n\nexport const getProfile = <ThrowOnError extends boolean = false>(\n options: Options<GetProfileData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetProfileResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/profile\",\n ...options,\n });\n};\n\nexport const getProfileBalances = <ThrowOnError extends boolean = false>(\n options: Options<GetProfileBalancesData, ThrowOnError>,\n) => {\n return (options.client ?? _heyApiClient).get<\n GetProfileBalancesResponse,\n unknown,\n ThrowOnError\n >({\n url: \"/profileBalances\",\n ...options,\n });\n};\n","let apiKey: string | undefined;\nexport function setApiKey(key: string) {\n apiKey = key;\n}\n\nexport function getApiKeyMeta() {\n if (!apiKey) {\n return {};\n }\n return {\n headers: {\n \"api-key\": apiKey,\n },\n };\n}\n","import {\n GetCoinCommentsData,\n GetCoinData,\n GetProfileBalancesData,\n GetProfileData,\n} from \"src/client\";\nimport {\n getCoin as getCoinSDK,\n getCoins as getCoinsSDK,\n getCoinComments as getCoinCommentsSDK,\n getProfile as getProfileSDK,\n getProfileBalances as getProfileBalancesSDK,\n} from \"../client/sdk.gen\";\nimport { getApiKeyMeta } from \"./api-key\";\n\nexport const getCoin = async (query: GetCoinData[\"query\"]) => {\n return await getCoinSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoins = async ({\n coinAddresses,\n chainId,\n}: {\n coinAddresses: string[];\n chainId?: number;\n}) => {\n return await getCoinsSDK({\n query: {\n coins: coinAddresses.map((collectionAddress) => ({\n chainId,\n collectionAddress,\n })),\n },\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getCoinComments = async (query: GetCoinCommentsData[\"query\"]) => {\n return await getCoinCommentsSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfile = async (query: GetProfileData[\"query\"]) => {\n return await getProfileSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n\nexport const getProfileBalances = async (\n query: GetProfileBalancesData[\"query\"],\n) => {\n return await getProfileBalancesSDK({\n query,\n meta: getApiKeyMeta(),\n });\n};\n","import { getExplore as getExploreSDK } from \"../client/sdk.gen\";\nimport type { GetExploreData } from \"../client/types.gen\";\nimport { Options } from \"@hey-api/client-fetch\";\nimport { getApiKeyMeta } from \"./api-key\";\n\n/**\n * The inner type for the explore queries that omits listType.\n * This is used to create the query object for the explore queries.\n */\ntype QueryInnerType = {\n query: Omit<GetExploreData[\"query\"], \"listType\">;\n} & Omit<GetExploreData, \"query\">;\n\n/**\n * Creates an explore query with the specified list type\n */\nconst createExploreQuery = <T extends boolean = false>(\n listType: GetExploreData[\"query\"][\"listType\"],\n options?: Options<QueryInnerType, T>,\n) =>\n getExploreSDK({\n ...options,\n query: { ...options?.query, listType },\n meta: getApiKeyMeta(),\n });\n\n/** Get top gaining coins */\nexport const getCoinsTopGainers = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_GAINERS\", options);\n\n/** Get coins with highest 24h volume */\nexport const getCoinsTopVolume24h = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"TOP_VOLUME_24H\", options);\n\n/** Get most valuable coins */\nexport const getCoinsMostValuable = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"MOST_VALUABLE\", options);\n\n/** Get newly created coins */\nexport const getCoinsNew = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"NEW\", options);\n\n/** Get recently traded coins */\nexport const getCoinsLastTraded = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED\", options);\n\n/** Get recently traded unique coins */\nexport const getCoinsLastTradedUnique = <T extends boolean = false>(\n options?: Options<QueryInnerType, T>,\n) => createExploreQuery(\"LAST_TRADED_UNIQUE\", options);\n"],"mappings":"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","names":["base","parseEventLogs","baseSepolia","parseEventLogs","coinABI","zeroAddress","coinABI","coinABI","parseEventLogs","coinABI","coinABI","parseEventLogs","coinABI","getCoin","getCoins","getCoinComments","getProfile","getProfileBalances"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoralabs/coins-sdk",
3
- "version": "0.0.2-sdkalpha.5",
3
+ "version": "0.0.2-sdkalpha.6",
4
4
  "repository": "https://github.com/ourzora/zora-protocol",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -0,0 +1,47 @@
1
+ import { coinABI } from "@zoralabs/coins";
2
+ import { validateClientNetwork } from "src/utils/validateClientNetwork";
3
+ import {
4
+ Address,
5
+ parseEventLogs,
6
+ PublicClient,
7
+ SimulateContractParameters,
8
+ WalletClient,
9
+ } from "viem";
10
+
11
+ type UpdatePayoutRecipientArgs = {
12
+ coin: Address;
13
+ newPayoutRecipient: string;
14
+ };
15
+
16
+ export function updatePayoutRecipientCall({
17
+ newPayoutRecipient,
18
+ coin,
19
+ }: UpdatePayoutRecipientArgs): SimulateContractParameters {
20
+ return {
21
+ abi: coinABI,
22
+ address: coin,
23
+ functionName: "setPayoutRecipient",
24
+ args: [newPayoutRecipient],
25
+ };
26
+ }
27
+
28
+ export async function updatePayoutRecipient(
29
+ args: UpdatePayoutRecipientArgs,
30
+ walletClient: WalletClient,
31
+ publicClient: PublicClient,
32
+ ) {
33
+ validateClientNetwork(publicClient);
34
+ const call = updatePayoutRecipientCall(args);
35
+ const { request } = await publicClient.simulateContract({
36
+ ...call,
37
+ account: walletClient.account!,
38
+ });
39
+ const hash = await walletClient.writeContract(request);
40
+ const receipt = await publicClient.waitForTransactionReceipt({ hash });
41
+ const eventLogs = parseEventLogs({ abi: coinABI, logs: receipt.logs });
42
+ const payoutRecipientUpdated = eventLogs.find(
43
+ (log) => log.eventName === "CoinPayoutRecipientUpdated",
44
+ );
45
+
46
+ return { hash, receipt, payoutRecipientUpdated };
47
+ }
package/src/index.ts CHANGED
@@ -13,10 +13,16 @@ export {
13
13
  type OnchainCoinDetails,
14
14
  } from "./actions/getOnchainCoinDetails";
15
15
  export { updateCoinURI, updateCoinURICall } from "./actions/updateCoinURI";
16
+ export {
17
+ updatePayoutRecipient,
18
+ updatePayoutRecipientCall,
19
+ } from "./actions/updatePayoutRecipient";
16
20
 
17
21
  // API Read Actions
18
22
  export * from "./api/queries";
19
23
  export * from "./api/explore";
20
24
 
25
+ export { setApiKey } from "./api/api-key";
26
+
21
27
  // API Types
22
28
  export type * from "src/client/types.gen";