{"address":"EPMG5kYwLHbearntvnARik8TR3dB9RNPakPuBmcBiV4a","metadata":{"name":"wdyt","version":"0.1.0","spec":"0.1.0","description":"wdyt.fun: launches as self-resolving prediction markets (YES / NO)"},"docs":["Every instruction below that takes the config or the event authority refuses them writable first","(`read_only`): only `init_config` and `update_config` write the config."],"instructions":[{"name":"approve_wallet","docs":["A private launch's approver lets `wallet` buy up to `limit` lamports, fees included, or changes its limit."],"discriminator":[96,225,176,206,131,183,10,179],"accounts":[{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"approver","writable":true,"signer":true},{"name":"approval","writable":true,"pda":{"seeds":[{"kind":"const","value":[97,112,112,114,111,118,97,108]},{"kind":"account","path":"launch"},{"kind":"arg","path":"wallet"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"wallet","type":"pubkey"},{"name":"limit","type":"u64"}]},{"name":"buy_no","docs":["Buys NO into the buyer's holding, which is settled automatically (SPEC 8.4)."],"discriminator":[89,240,244,16,196,201,190,163],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"holding","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"frontend","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_shares","type":"u64"}]},{"name":"buy_no_private","docs":["`buy_no` in a private launch, from an approved wallet within its limit."],"discriminator":[253,83,100,115,62,91,140,138],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"approval","writable":true,"pda":{"seeds":[{"kind":"const","value":[97,112,112,114,111,118,97,108]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"holding","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"frontend","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_shares","type":"u64"}]},{"name":"buy_no_to_wallet","docs":["Buys NO into the buyer's own token account, for aggregators; settles by claim."],"discriminator":[99,83,132,193,161,131,88,29],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"no_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[110,111]},{"kind":"account","path":"launch"}]}},{"name":"buyer_no","writable":true,"pda":{"seeds":[{"kind":"account","path":"buyer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"no_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"frontend","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_shares","type":"u64"}]},{"name":"buy_yes","docs":["Buys YES into the buyer's holding, which is settled automatically (SPEC 8.4)."],"discriminator":[124,76,113,130,177,112,187,104],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"holding","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"frontend","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_out","type":"u64"}]},{"name":"buy_yes_private","docs":["`buy_yes` in a private launch, from an approved wallet within its limit."],"discriminator":[243,225,185,44,168,189,205,187],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"approval","writable":true,"pda":{"seeds":[{"kind":"const","value":[97,112,112,114,111,118,97,108]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"holding","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"buyer"}]}},{"name":"frontend","writable":true,"optional":true},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_out","type":"u64"}]},{"name":"buy_yes_to_wallet","docs":["Buys YES into the buyer's own token account, for aggregators; settles by claim."],"discriminator":[36,145,146,151,30,223,149,122],"accounts":[{"name":"buyer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"buyer_yes","writable":true,"pda":{"seeds":[{"kind":"account","path":"buyer"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"yes_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"frontend","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"spend","type":"u64"},{"name":"min_out","type":"u64"}]},{"name":"cancel_order","docs":["`side`, `price` and `size` are the order's as its maker placed it; the cancel fails if the order","at the address is another one."],"discriminator":[95,129,237,240,8,49,223,132],"accounts":[{"name":"maker","writable":true,"signer":true,"relations":["order"]},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]},"relations":["order"]},{"name":"order","writable":true,"pda":{"seeds":[{"kind":"const","value":[111,114,100,101,114]},{"kind":"account","path":"launch"},{"kind":"account","path":"maker"},{"kind":"account","path":"order.nonce","account":"Order"}]}},{"name":"maker_token","writable":true},{"name":"book_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[98,111,111,107]},{"kind":"account","path":"launch"},{"kind":"account","path":"maker_token.mint","account":"TokenAccount"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"side","type":"u8"},{"name":"price","type":"u64"},{"name":"size","type":"u64"}]},{"name":"claim_creator","discriminator":[231,240,197,249,244,10,21,59],"accounts":[{"name":"creator","writable":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"launch"}]}},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"claim_pool_fees","discriminator":[33,187,125,186,41,247,236,89],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"migrator","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,105,103,114,97,116,111,114]},{"kind":"account","path":"launch"}]}},{"name":"meme_mint"},{"name":"wsol_mint","address":"So11111111111111111111111111111111111111112"},{"name":"migrator_meme","writable":true},{"name":"migrator_wsol","writable":true},{"name":"creator","writable":true},{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"launch"}]}},{"name":"treasury","writable":true},{"name":"rewards_wallet","writable":true},{"name":"pool"},{"name":"position","writable":true},{"name":"position_nft_account"},{"name":"token_a_vault","writable":true},{"name":"token_b_vault","writable":true},{"name":"damm_pool_authority","address":"HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC"},{"name":"damm_event_authority"},{"name":"amm_program","address":"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"claim_sol","discriminator":[139,113,179,189,190,30,132,195],"accounts":[{"name":"user","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"no_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[110,111]},{"kind":"account","path":"launch"}]}},{"name":"user_yes","writable":true,"optional":true},{"name":"user_no","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"claim_tokens","discriminator":[108,216,210,231,0,212,42,64],"accounts":[{"name":"user","writable":true,"signer":true},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"meme_mint"},{"name":"user_yes","writable":true},{"name":"user_meme","writable":true,"pda":{"seeds":[{"kind":"account","path":"user"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"meme_mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"meme_escrow","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"close_approval","docs":["Permissionless once the launch has resolved: returns an approval's rent to the approver."],"discriminator":[134,50,229,207,67,161,148,203],"accounts":[{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"approval","writable":true,"pda":{"seeds":[{"kind":"const","value":[97,112,112,114,111,118,97,108]},{"kind":"account","path":"launch"},{"kind":"account","path":"approval.wallet","account":"Approval"}]}},{"name":"approver","writable":true},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"close_expired","discriminator":[138,186,164,245,32,116,162,62],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]},"relations":["order"]},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"order","writable":true,"pda":{"seeds":[{"kind":"const","value":[111,114,100,101,114]},{"kind":"account","path":"launch"},{"kind":"account","path":"maker"},{"kind":"account","path":"order.nonce","account":"Order"}]}},{"name":"maker","writable":true,"relations":["order"]},{"name":"mint","docs":["The order's book mint (YES or NO), burned from the book escrow."],"writable":true},{"name":"book_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[98,111,111,107]},{"kind":"account","path":"launch"},{"kind":"account","path":"mint"}]}},{"name":"meme_mint"},{"name":"meme_escrow","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"maker_meme","writable":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"create_fee_shares","discriminator":[221,246,121,214,81,165,202,20],"accounts":[{"name":"payer","docs":["The creator, or the takeover authority; pays the account's rent"],"writable":true,"signer":true},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"launch"}]}},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"create_launch","docs":["`preset` picks one of the config's launch options (threshold, window and the rest of the terms).","`meme_mint` is a new keypair that signs: the coin's address, and the launch's seed."],"discriminator":[239,223,255,134,39,121,127,62],"accounts":[{"name":"creator","writable":true,"signer":true},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"meme_mint","docs":["The coin's mint: a fresh keypair that signs, so its address (any keypair; the app's end in","\"wdyt\") is fixed by whoever holds the key and no pending create can be copied. The launch's","address derives from it and the launch is its mint authority, so the handler creates it."],"writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"meme_mint"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"no_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[110,111]},{"kind":"account","path":"launch"}]}},{"name":"meme_escrow","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"meme_metadata","docs":["and that it is uninitialized"],"writable":true},{"name":"token_metadata_program","address":"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"name","type":"string"},{"name":"ticker","type":"string"},{"name":"uri","type":"string"},{"name":"preset","type":"u8"}]},{"name":"deposit","docs":["While the market is open: move wallet YES or NO into the signer's position."],"discriminator":[242,35,198,137,82,225,242,182],"accounts":[{"name":"owner","writable":true,"signer":true},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"mint"},{"name":"from","writable":true},{"name":"position","writable":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"mint"},{"kind":"account","path":"owner"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"token","type":"u8"},{"name":"amount","type":"u64"}]},{"name":"distribute_creator_fees","discriminator":[165,114,103,0,121,206,247,81],"accounts":[{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"fee_shares.launch","account":"FeeShares"}]}},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"fill_order","docs":["`side` and `price` are the order's as the taker saw them; the fill fails if they changed."],"discriminator":[232,122,115,25,199,143,136,162],"accounts":[{"name":"taker","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]},"relations":["order"]},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"order","writable":true,"pda":{"seeds":[{"kind":"const","value":[111,114,100,101,114]},{"kind":"account","path":"launch"},{"kind":"account","path":"order.maker","account":"Order"},{"kind":"account","path":"order.nonce","account":"Order"}]}},{"name":"maker","writable":true},{"name":"maker_token","writable":true},{"name":"mint"},{"name":"taker_token","docs":["The taker's position: receives from an ask, pays into a bid."],"writable":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"mint"},{"kind":"account","path":"taker"}]}},{"name":"book_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[98,111,111,107]},{"kind":"account","path":"launch"},{"kind":"account","path":"mint"}]}},{"name":"frontend","writable":true,"optional":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"qty","type":"u64"},{"name":"side","type":"u8"},{"name":"price","type":"u64"}]},{"name":"init_config","discriminator":[23,235,115,232,168,96,1,231],"accounts":[{"name":"admin","writable":true,"signer":true},{"name":"config","writable":true,"pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"program","docs":["Initialization is reserved to the program's upgrade authority (no front-running the singleton)."],"address":"EPMG5kYwLHbearntvnARik8TR3dB9RNPakPuBmcBiV4a"},{"name":"program_data"},{"name":"system_program","address":"11111111111111111111111111111111"}],"args":[{"name":"treasury","type":"pubkey"},{"name":"rewards_wallet","type":"pubkey"},{"name":"presets","type":{"array":[{"defined":{"name":"LaunchParams"}},3]}},{"name":"presets_enabled","type":"u8"}]},{"name":"make_private","docs":["Makes a launch private (SPEC 3.2), in the transaction that creates it: the config admin and the","creator sign; it opens at `opens_at`, and until it resolves only wallets `approver` approves can buy it."],"discriminator":[24,194,92,182,123,211,83,22],"accounts":[{"name":"admin","signer":true,"relations":["config"]},{"name":"creator","signer":true,"relations":["launch"]},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"instructions","address":"Sysvar1nstructions1111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"approver","type":"pubkey"},{"name":"opens_at","type":"i64"}]},{"name":"migrate","discriminator":[155,234,231,146,236,158,162,30],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"migrator","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,105,103,114,97,116,111,114]},{"kind":"account","path":"launch"}]}},{"name":"meme_mint","writable":true},{"name":"wsol_mint","address":"So11111111111111111111111111111111111111112"},{"name":"meme_escrow","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"migrator_meme","writable":true},{"name":"migrator_wsol","writable":true},{"name":"treasury","writable":true},{"name":"position_nft_mint","writable":true,"signer":true},{"name":"position_nft_account","writable":true},{"name":"pool","writable":true},{"name":"position","writable":true},{"name":"token_a_vault","writable":true},{"name":"token_b_vault","writable":true},{"name":"damm_pool_authority","address":"HLnpSz9h2S4hiLQ43rnSD9XkcUThA7B8hQMKmDaiTLcC"},{"name":"damm_event_authority"},{"name":"amm_program","address":"cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG"},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"token_2022_program","address":"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"place_order","docs":["`nonce` is the maker's pick; the order lives at `[\"order\", launch, maker, nonce]`."],"discriminator":[51,194,155,175,109,130,96,106],"accounts":[{"name":"maker","writable":true,"signer":true},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"order","writable":true,"pda":{"seeds":[{"kind":"const","value":[111,114,100,101,114]},{"kind":"account","path":"launch"},{"kind":"account","path":"maker"},{"kind":"arg","path":"nonce"}]}},{"name":"mint"},{"name":"maker_token","docs":["The maker's position: an ask's tokens come from it, a bid's bought tokens land in it."],"writable":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"mint"},{"kind":"account","path":"maker"}]}},{"name":"book_vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[98,111,111,107]},{"kind":"account","path":"launch"},{"kind":"account","path":"mint"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"token","type":"u8"},{"name":"side","type":"u8"},{"name":"price","type":"u64"},{"name":"size","type":"u64"},{"name":"nonce","type":"u64"}]},{"name":"prepare_migration","discriminator":[59,118,102,18,9,133,23,172],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"migrator","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,105,103,114,97,116,111,114]},{"kind":"account","path":"launch"}]}},{"name":"meme_mint"},{"name":"wsol_mint","address":"So11111111111111111111111111111111111111112"},{"name":"migrator_meme","writable":true},{"name":"migrator_wsol","writable":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"realize","docs":["While the market is open: mint the signer's held YES (`token` 0) or NO (1) into their position,","for the book or a withdrawal."],"discriminator":[226,239,62,93,162,240,40,161],"accounts":[{"name":"owner","writable":true,"signer":true},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"holding","writable":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"owner"}]}},{"name":"mint","writable":true},{"name":"position","writable":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"mint"},{"kind":"account","path":"owner"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"token","type":"u8"}]},{"name":"resolve_no","discriminator":[40,174,19,241,204,15,196,163],"accounts":[{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"treasury","writable":true},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"set_fee_admin","discriminator":[45,227,180,113,69,212,7,7],"accounts":[{"name":"authority","signer":true},{"name":"config","pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"launch"}]}},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"new_admin","type":"pubkey"}]},{"name":"settle_position","docs":["Permissionless: pay an owner for their positions and holding once the launch resolves (SPEC 8.4)."],"discriminator":[33,156,74,218,215,42,112,175],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"owner","writable":true},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"no_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[110,111]},{"kind":"account","path":"launch"}]}},{"name":"yes_position","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"yes_mint"},{"kind":"account","path":"owner"}]}},{"name":"no_position","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"no_mint"},{"kind":"account","path":"owner"}]}},{"name":"holding","writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[104,111,108,100,105,110,103]},{"kind":"account","path":"launch"},{"kind":"account","path":"owner"}]}},{"name":"meme_mint"},{"name":"meme_escrow","writable":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"owner_meme","writable":true},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[]},{"name":"settle_positions","docs":["Permissionless: `settle_position` for up to `MAX_SETTLE_OWNERS` owners, one group of accounts","each in the remaining accounts, as `groups` describes (SPEC 8.4)."],"discriminator":[43,66,200,216,219,186,44,87],"accounts":[{"name":"payer","writable":true,"signer":true},{"name":"launch","writable":true,"pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"vault","writable":true,"pda":{"seeds":[{"kind":"const","value":[118,97,117,108,116]},{"kind":"account","path":"launch"}]}},{"name":"yes_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[121,101,115]},{"kind":"account","path":"launch"}]}},{"name":"no_mint","writable":true,"pda":{"seeds":[{"kind":"const","value":[110,111]},{"kind":"account","path":"launch"}]}},{"name":"meme_mint","docs":["In LIVE, where YES is paid in coins; left out in RESOLVED_NO"],"optional":true},{"name":"meme_escrow","docs":["In LIVE, with `meme_mint`"],"writable":true,"optional":true,"pda":{"seeds":[{"kind":"const","value":[109,101,109,101,95,101,115,99,114,111,119]},{"kind":"account","path":"launch"}]}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","docs":["In LIVE: an owner without a coin account gets one"],"optional":true,"address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","docs":["In LIVE, with `associated_token_program`"],"optional":true,"address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"groups","type":"bytes"}]},{"name":"update_config","discriminator":[29,158,252,191,10,83,219,99],"accounts":[{"name":"admin","signer":true,"relations":["config"]},{"name":"config","writable":true,"pda":{"seeds":[{"kind":"const","value":[99,111,110,102,105,103]}]}}],"args":[{"name":"treasury","type":"pubkey"},{"name":"rewards_wallet","type":"pubkey"},{"name":"presets","type":{"array":[{"defined":{"name":"LaunchParams"}},3]}},{"name":"presets_enabled","type":"u8"},{"name":"paused","type":"bool"},{"name":"new_admin","type":"pubkey"},{"name":"takeover_authority","type":"pubkey"}]},{"name":"update_fee_shares","discriminator":[189,13,136,99,187,164,237,35],"accounts":[{"name":"admin","signer":true,"relations":["fee_shares"]},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"fee_shares","writable":true,"pda":{"seeds":[{"kind":"const","value":[102,101,101,95,115,104,97,114,101,115]},{"kind":"account","path":"launch"}]}},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"shares","type":{"vec":{"defined":{"name":"ShareArg"}}}}]},{"name":"withdraw","docs":["While the market is open: move YES or NO from the signer's position to their wallet."],"discriminator":[183,18,70,156,148,109,161,34],"accounts":[{"name":"owner","writable":true,"signer":true},{"name":"launch","pda":{"seeds":[{"kind":"const","value":[108,97,117,110,99,104]},{"kind":"account","path":"launch.meme_mint","account":"Launch"}]}},{"name":"mint"},{"name":"position","writable":true,"pda":{"seeds":[{"kind":"const","value":[112,111,115,105,116,105,111,110]},{"kind":"account","path":"mint"},{"kind":"account","path":"owner"}]}},{"name":"to","writable":true,"pda":{"seeds":[{"kind":"account","path":"owner"},{"kind":"const","value":[6,221,246,225,215,101,161,147,217,203,225,70,206,235,121,172,28,180,133,237,95,91,55,145,58,140,245,133,126,255,0,169]},{"kind":"account","path":"mint"}],"program":{"kind":"const","value":[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{"name":"token_program","address":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"},{"name":"associated_token_program","address":"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{"name":"system_program","address":"11111111111111111111111111111111"},{"name":"event_authority"},{"name":"program"}],"args":[{"name":"token","type":"u8"},{"name":"amount","type":"u64"}]}],"accounts":[{"name":"Approval","discriminator":[233,9,153,49,11,222,59,130]},{"name":"Config","discriminator":[155,12,170,224,30,250,204,130]},{"name":"FeeShares","discriminator":[15,1,202,178,86,202,191,156]},{"name":"Holding","discriminator":[23,96,64,250,235,191,0,144]},{"name":"Launch","discriminator":[144,51,51,163,206,85,213,38]},{"name":"Order","discriminator":[134,173,223,185,77,86,28,51]},{"name":"SolVault","discriminator":[21,132,230,103,19,209,129,248]}],"events":[{"name":"ApprovalClosed","discriminator":[100,244,78,167,76,47,153,18]},{"name":"CreatorClaimed","discriminator":[118,206,30,219,62,164,54,200]},{"name":"CreatorFeesDistributed","discriminator":[46,237,154,15,200,195,115,115]},{"name":"Deposited","discriminator":[111,141,26,45,161,35,100,57]},{"name":"FeeSharesChanged","discriminator":[149,80,96,247,160,66,14,156]},{"name":"LaunchCreated","discriminator":[59,38,190,230,33,34,89,20]},{"name":"LaunchMadePrivate","discriminator":[92,49,103,255,170,110,18,29]},{"name":"LaunchResolvedNo","discriminator":[67,79,242,204,230,209,235,191]},{"name":"Migrated","discriminator":[2,66,164,53,158,122,128,236]},{"name":"MigrationPrepared","discriminator":[34,222,38,134,134,231,82,228]},{"name":"NoBought","discriminator":[86,67,211,206,207,183,155,187]},{"name":"OrderClosed","discriminator":[237,77,101,123,72,43,149,123]},{"name":"OrderFilled","discriminator":[120,124,109,66,249,116,174,30]},{"name":"OrderPlaced","discriminator":[96,130,204,234,169,219,216,227]},{"name":"PoolFeesClaimed","discriminator":[172,6,248,216,198,124,73,110]},{"name":"PositionSettled","discriminator":[75,100,92,189,245,116,252,221]},{"name":"PositionsSettled","discriminator":[130,211,170,182,121,164,58,209]},{"name":"Realized","discriminator":[139,68,128,39,220,116,181,241]},{"name":"SolClaimed","discriminator":[112,80,238,167,120,101,47,207]},{"name":"TokensClaimed","discriminator":[25,128,244,55,241,136,200,91]},{"name":"WalletApproved","discriminator":[175,100,49,147,12,109,72,42]},{"name":"Withdrawn","discriminator":[20,89,223,198,194,124,219,13]},{"name":"YesBought","discriminator":[32,82,79,181,195,218,91,150]}],"errors":[{"code":6000,"name":"Closed","msg":"Launch is not open for trading"},{"code":6001,"name":"NotExpired","msg":"Launch deadline has not passed"},{"code":6002,"name":"WrongState","msg":"Wrong launch state for this action"},{"code":6003,"name":"Dust","msg":"Amount too small"},{"code":6004,"name":"Slippage","msg":"Slippage limit exceeded"},{"code":6005,"name":"NoSideFull","msg":"The No side is full for this launch"},{"code":6006,"name":"MathOverflow","msg":"Math overflow"},{"code":6007,"name":"InvalidParam","msg":"Invalid parameter"},{"code":6008,"name":"Paused","msg":"Launch creation is paused"},{"code":6009,"name":"InvalidMetadata","msg":"Name, ticker or URI invalid"},{"code":6010,"name":"BelowMinimum","msg":"Order below minimum notional"},{"code":6011,"name":"BadFill","msg":"Bad fill size"},{"code":6012,"name":"NotMaker","msg":"Not the order maker"},{"code":6013,"name":"WrongMint","msg":"Wrong mint for this order book"},{"code":6014,"name":"NothingToClaim","msg":"Nothing to claim"},{"code":6015,"name":"Insolvent","msg":"Payouts would exceed pots plus bond"},{"code":6016,"name":"SelfFill","msg":"Maker cannot fill their own order"},{"code":6017,"name":"WrongPool","msg":"Pool accounts do not match this launch"},{"code":6018,"name":"Unauthorized","msg":"Only the program's upgrade authority can do this"},{"code":6019,"name":"PresetUnavailable","msg":"That launch option isn't available"},{"code":6020,"name":"WrongAccount","msg":"Account does not match its derived address"},{"code":6021,"name":"NoSideClosed","msg":"The No side opens once Yes reaches its unlock"},{"code":6022,"name":"NotFeeAdmin","msg":"Only the creator, the fee admin or the takeover authority can do this"},{"code":6023,"name":"InvalidShares","msg":"A fee split needs 1 to 10 different recipients whose shares add up to 100%"},{"code":6024,"name":"SharesLocked","msg":"The fee split can only be set once"},{"code":6025,"name":"WrongRecipients","msg":"Recipients must be the current fee shares, in order"},{"code":6026,"name":"CreatorUnpaid","msg":"Pay the creator's escrow and bond first"},{"code":6027,"name":"PrivateLaunch","msg":"Only wallets this launch approved can buy it"},{"code":6028,"name":"OverLimit","msg":"This buy would go past the wallet's limit"},{"code":6029,"name":"NotPrivate","msg":"This launch is public"},{"code":6030,"name":"NotOpenYet","msg":"This launch hasn't opened yet"},{"code":6031,"name":"SharedAccountWritable","msg":"The config and the event authority must be passed read-only"},{"code":6032,"name":"OrderChanged","msg":"The order at this address is not the one this instruction was built for"},{"code":6033,"name":"TooManyOwners","msg":"Too many owners for one settlement"},{"code":6034,"name":"AliasedAccount","msg":"An account appears twice in the settlement"},{"code":6035,"name":"NothingHeld","msg":"Nothing held on that side"}],"types":[{"name":"Approval","docs":["A wallet a private launch approved (SPEC 3.2), at `[APPROVAL_SEED, launch, wallet]`."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"wallet","type":"pubkey"},{"name":"limit","docs":["The most this wallet may pay the launch, fees included, for Yes and No together"],"type":"u64"},{"name":"spent","docs":["What it has paid so far"],"type":"u64"},{"name":"bump","type":"u8"}]}},{"name":"ApprovalClosed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"wallet","type":"pubkey"},{"name":"spent","type":"u64"}]}},{"name":"Config","docs":["Written only by `init_config` and `update_config`. Every other instruction that takes it reads it,","and refuses it when a transaction passes it writable, so no trade or creation locks it."],"type":{"kind":"struct","fields":[{"name":"admin","type":"pubkey"},{"name":"treasury","type":"pubkey"},{"name":"rewards_wallet","docs":["Receives the holders' share of pool fees; the keeper pays the coin's holders from it (SPEC 9.2)"],"type":"pubkey"},{"name":"takeover_authority","docs":["Executes approved community takeovers: hands a live coin's creator fees to a new lead (SPEC 9.5)"],"type":"pubkey"},{"name":"presets","docs":["The launch options; a launch copies the one its creator picks. Keep in step with PRESET_COUNT."],"type":{"array":[{"defined":{"name":"LaunchParams"}},3]}},{"name":"presets_enabled","docs":["Bit i set: option i can be picked."],"type":"u8"},{"name":"paused","docs":["Stops new launches by anyone but the admin; never trading, settlement, claims or cancels"],"type":"bool"},{"name":"bump","type":"u8"}]}},{"name":"CreatorClaimed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"amount","docs":["Paid to the creator"],"type":"u64"},{"name":"to_shares","docs":["Fee escrow sent to the launch's fee split instead (SPEC 9.5)"],"type":"u64"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"CreatorFeesDistributed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"recipients","type":{"vec":"pubkey"}},{"name":"paid","docs":["Paid to each recipient in this instruction"],"type":{"vec":"u64"}},{"name":"owed","docs":["Still due to each recipient afterwards"],"type":{"vec":"u64"}}]}},{"name":"Deposited","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"token","type":"u8"},{"name":"amount","type":"u64"}]}},{"name":"FeeShare","type":{"kind":"struct","fields":[{"name":"recipient","type":"pubkey"},{"name":"bps","type":"u16"},{"name":"owed","docs":["Due to this recipient but not yet receivable by it (SPEC 9.5)"],"type":"u64"}]}},{"name":"FeeShares","docs":["A launch's creator fee split (SPEC 9.5). Without one, creator fees go to `Launch.creator`.","Holds the fees it has received and not yet paid: `lamports - rent == pending + sum(owed)`."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"admin","docs":["May set the split, once: the creator, or after a community takeover the new lead"],"type":"pubkey"},{"name":"locked","type":"bool"},{"name":"pending","docs":["Creator fees received and not yet paid out"],"type":"u64"},{"name":"shares","type":{"vec":{"defined":{"name":"FeeShare"}}}},{"name":"bump","type":"u8"}]}},{"name":"FeeSharesChanged","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"by","docs":["Who signed the change: the creator, the split's admin, or the takeover authority"],"type":"pubkey"},{"name":"admin","type":"pubkey"},{"name":"recipients","type":{"vec":"pubkey"}},{"name":"bps","type":{"vec":"u16"}},{"name":"locked","type":"bool"},{"name":"takeover","docs":["Set by a community takeover (`set_fee_admin`)"],"type":"bool"}]}},{"name":"Holding","docs":["What `owner` bought of a launch and has not had minted (SPEC 4, 5.1), at `[HOLDING_SEED, launch,","owner]`: buys add here, settlement pays it with the owner's positions and closes it, and `realize`","moves one side into the owner's position as tokens. Until settlement begins, every YES the launch","sold is either minted (a position, a wallet, the book) or held (`sold` = YES supply + held YES), and","every NO share likewise (`s_no` = NO supply + held NO)."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"yes","docs":["YES base units"],"type":"u64"},{"name":"no","docs":["NO base units"],"type":"u64"},{"name":"bump","type":"u8"},{"name":"_reserved","docs":["Pads the account to a token account's 165 bytes, so the rent it returns on close exactly","covers a coin account a settler had to create for the owner (SPEC 8.4)."],"type":{"array":["u8",76]}}]}},{"name":"Launch","docs":["A launch, at `[\"launch\", meme_mint]`. Everything that changes after creation is mirrored in","`MarketState`, which every instruction that changes the launch emits."],"type":{"kind":"struct","fields":[{"name":"seq","docs":["Bumped once by every instruction that changes the launch, each of which emits exactly one","event carrying the launch's state afterwards; a reader that sees it skip missed an event"],"type":"u64"},{"name":"creator","type":"pubkey"},{"name":"state","type":"u8"},{"name":"name","type":"string"},{"name":"ticker","type":"string"},{"name":"uri","type":"string"},{"name":"params","type":{"defined":{"name":"LaunchParams"}}},{"name":"open_ts","type":"i64"},{"name":"deadline","type":"i64"},{"name":"vs","type":"u64"},{"name":"vt","type":"u64"},{"name":"k","type":"u128"},{"name":"sold","type":"u64"},{"name":"r_yes","type":"u64"},{"name":"r_no","type":"u64"},{"name":"s_no","type":"u64"},{"name":"creator_escrow","type":"u64"},{"name":"protocol_escrow","docs":["The protocol's share of this launch's trading fees, held in its vault until `resolve_no` or the","graduation transaction pays it to the treasury, once"],"type":"u64"},{"name":"last_bond","type":"u64"},{"name":"s0_yes_gain","type":"u64"},{"name":"s0_bond_gain","type":"u64"},{"name":"paid_out","type":"u64"},{"name":"bond_done","type":"bool"},{"name":"s0_claimed","type":"bool"},{"name":"migration_prepared","type":"bool"},{"name":"resolved_yes_ts","type":"i64"},{"name":"live_ts","type":"i64"},{"name":"pool","type":"pubkey"},{"name":"position_nft","type":"pubkey"},{"name":"pool_sol","type":"u64"},{"name":"pool_tok","type":"u64"},{"name":"bump","type":"u8"},{"name":"vault_bump","type":"u8"},{"name":"launch_fee","docs":["launch fee paid to the treasury at graduation (the pool received both pots less this, `mig_fee`","and `no_refund`)"],"type":"u64"},{"name":"no_refund","docs":["No-side SOL kept in the vault at graduation for No holders, paid by NO share in LIVE"],"type":"u64"},{"name":"meme_mint","docs":["the coin's mint: a keypair that signed `create_launch` and the launch's own seed; every","instruction checks against it"],"type":"pubkey"},{"name":"approver","docs":["A private launch's approver (SPEC 3.2): while it is open, only the wallets it approved can buy","Yes or No from it, each up to its own limit. The default key for a public launch."],"type":"pubkey"}]}},{"name":"LaunchCreated","docs":["A new launch: everything static about it, and its state (the first, `seq` 1)."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"meme_mint","type":"pubkey"},{"name":"creator","type":"pubkey"},{"name":"name","type":"string"},{"name":"ticker","type":"string"},{"name":"uri","type":"string"},{"name":"params","type":{"defined":{"name":"LaunchParams"}}},{"name":"preset","type":"u8"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"LaunchMadePrivate","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"approver","type":"pubkey"},{"name":"opens_at","type":"i64"},{"name":"deadline","type":"i64"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"LaunchParams","docs":["Parameters every new launch copies at creation (SPEC section 3)."],"type":{"kind":"struct","fields":[{"name":"threshold","type":"u64"},{"name":"window","type":"i64"},{"name":"bond","type":"u64"},{"name":"s0","type":"u64"},{"name":"p_min","type":"u64"},{"name":"mig_fee","type":"u64"},{"name":"claim_delay","type":"i64"},{"name":"min_order","type":"u64"},{"name":"k_no_bps","type":"u32"},{"name":"fee_bps","type":"u16"},{"name":"frontend_bps","type":"u16"},{"name":"creator_bps","type":"u16"},{"name":"supply","type":"u64"},{"name":"curve_tok","type":"u64"},{"name":"vs0","type":"u64"},{"name":"vt0","type":"u64"},{"name":"pool_fee_bps","type":"u16"},{"name":"creator_pool_share_bps","type":"u16"},{"name":"holder_pool_share_bps","type":"u16"},{"name":"boost_bps","type":"u16"},{"name":"no_unlock_bps","type":"u16"},{"name":"grad_fee_bps","type":"u16"},{"name":"no_refund_bps","type":"u16"}]}},{"name":"LaunchResolvedNo","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"r_yes","type":"u64"},{"name":"r_no","type":"u64"},{"name":"s_no","type":"u64"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"MarketState","docs":["Every `Launch` field that can change after creation, as it stands after the instruction whose","event carries it. With `LaunchCreated`'s static fields it is the whole launch account (the curve","constant `k` is `vs0 * vt0`)."],"type":{"kind":"struct","fields":[{"name":"seq","type":"u64"},{"name":"state","type":"u8"},{"name":"open_ts","type":"i64"},{"name":"deadline","type":"i64"},{"name":"vs","type":"u64"},{"name":"vt","type":"u64"},{"name":"sold","type":"u64"},{"name":"r_yes","type":"u64"},{"name":"r_no","type":"u64"},{"name":"s_no","type":"u64"},{"name":"creator_escrow","type":"u64"},{"name":"protocol_escrow","type":"u64"},{"name":"last_bond","type":"u64"},{"name":"s0_yes_gain","type":"u64"},{"name":"s0_bond_gain","type":"u64"},{"name":"paid_out","type":"u64"},{"name":"bond_done","type":"bool"},{"name":"s0_claimed","type":"bool"},{"name":"migration_prepared","type":"bool"},{"name":"resolved_yes_ts","type":"i64"},{"name":"live_ts","type":"i64"},{"name":"pool","type":"pubkey"},{"name":"position_nft","type":"pubkey"},{"name":"pool_sol","type":"u64"},{"name":"pool_tok","type":"u64"},{"name":"launch_fee","type":"u64"},{"name":"no_refund","type":"u64"},{"name":"approver","type":"pubkey"}]}},{"name":"Migrated","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"pool","type":"pubkey"},{"name":"pool_sol","type":"u64"},{"name":"pool_tok","type":"u64"},{"name":"minted","docs":["tokens minted to match No-side SOL (total supply = base supply + minted - burned)"],"type":"u64"},{"name":"burned","docs":["unsold reserve burned so the launch fee leaves the opening price unchanged"],"type":"u64"},{"name":"launch_fee","docs":["SOL paid to the treasury out of the pool at graduation"],"type":"u64"},{"name":"no_refund","docs":["No-side SOL kept for No holders, paid by NO share once LIVE"],"type":"u64"},{"name":"liquidity","type":"u128"},{"name":"sqrt_price","type":"u128"},{"name":"trading_opens","type":"i64"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"MigrationPrepared","docs":["The first half of graduation ran: the pool's SOL and the treasury's share left the vault."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"NoBought","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"buyer","type":"pubkey"},{"name":"spend","type":"u64"},{"name":"fee","type":"u64"},{"name":"net","type":"u64"},{"name":"shares","type":"u64"},{"name":"to_wallet","docs":["Minted into the buyer's own token account (`buy_no_to_wallet`) rather than added to their holding"],"type":"bool"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"Order","docs":["A resting order, at `[\"order\", launch, maker, nonce]`. The maker picks the nonce and may reuse it","once the order closes."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"nonce","type":"u64"},{"name":"maker","type":"pubkey"},{"name":"maker_token","type":"pubkey"},{"name":"token","type":"u8"},{"name":"side","type":"u8"},{"name":"price","type":"u64"},{"name":"size","docs":["The size it was placed with, base units: with the side and price, what a cancel names"],"type":"u64"},{"name":"left","type":"u64"},{"name":"sol","type":"u64"},{"name":"bump","type":"u8"},{"name":"_reserved","docs":["Pads the account to a token account's 165 bytes, so the rent it returns on close exactly","covers a coin account a settler had to create for the maker (SPEC 8.4)."],"type":{"array":["u8",18]}}]}},{"name":"OrderClosed","docs":["An order closed: cancelled by its maker (`expired` false, no launch state: cancelling reads the","launch) or settled after resolution by `close_expired` (with the launch's state)."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"order","type":"pubkey"},{"name":"nonce","type":"u64"},{"name":"expired","type":"bool"},{"name":"burned","docs":["ask tokens burned when the order settled"],"type":"u64"},{"name":"coins_out","type":"u64"},{"name":"sol_out","type":"u64"},{"name":"state","type":{"option":{"defined":{"name":"MarketState"}}}}]}},{"name":"OrderFilled","docs":["A fill, with the order's own state after it (`left`; `sol`, a bid's remaining escrow, which goes","back to the maker with the account's rent when `done`) and the launch's."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"order","type":"pubkey"},{"name":"nonce","type":"u64"},{"name":"taker","type":"pubkey"},{"name":"qty","type":"u64"},{"name":"notional","type":"u64"},{"name":"fee","type":"u64"},{"name":"left","type":"u64"},{"name":"sol","type":"u64"},{"name":"done","type":"bool"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"OrderPlaced","docs":["An order was placed. `sol` is a bid's escrow (zero for an ask)."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"order","type":"pubkey"},{"name":"nonce","type":"u64"},{"name":"maker","type":"pubkey"},{"name":"token","type":"u8"},{"name":"side","type":"u8"},{"name":"price","type":"u64"},{"name":"size","type":"u64"},{"name":"sol","type":"u64"}]}},{"name":"OwnerSettlement","docs":["One owner's result in `settle_positions`."],"type":{"kind":"struct","fields":[{"name":"owner","type":"pubkey"},{"name":"accounts","docs":["The owner's accounts the group named (`SETTLE_YES`, `SETTLE_NO`, `SETTLE_HOLDING`), each closed","after the settlement: by it, or already (`skipped` when all were)"],"type":"u8"},{"name":"yes_burned","docs":["Settled from the owner's positions (burned)"],"type":"u64"},{"name":"no_burned","type":"u64"},{"name":"yes_held","docs":["Settled from the owner's holding (never minted)"],"type":"u64"},{"name":"no_held","type":"u64"},{"name":"coins_out","type":"u64"},{"name":"sol_out","type":"u64"},{"name":"rent_to_caller","docs":["The YES position's rent reimbursed the caller, who created the owner's coin account"],"type":"bool"},{"name":"skipped","docs":["Nothing left to settle: every position and holding the group named was already closed"],"type":"bool"}]}},{"name":"PoolFeesClaimed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"fees","type":"u64"},{"name":"creator_share","type":"u64"},{"name":"holder_share","docs":["paid to the rewards wallet for the coin's holders"],"type":"u64"}]}},{"name":"PositionSettled","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"accounts","docs":["The owner's accounts the instruction was given (`SETTLE_YES`, `SETTLE_NO`, `SETTLE_HOLDING`),","each closed by it"],"type":"u8"},{"name":"yes_burned","docs":["Settled from the owner's positions (burned)"],"type":"u64"},{"name":"no_burned","type":"u64"},{"name":"yes_held","docs":["Settled from the owner's holding (never minted)"],"type":"u64"},{"name":"no_held","type":"u64"},{"name":"coins_out","type":"u64"},{"name":"sol_out","type":"u64"},{"name":"rent_to_caller","type":"bool"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"PositionsSettled","docs":["Every owner a `settle_positions` paid or skipped, in the order of its groups, and the launch's","state after the whole batch."],"type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"results","type":{"vec":{"defined":{"name":"OwnerSettlement"}}}},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"Realized","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"token","type":"u8"},{"name":"amount","docs":["Minted from the holding into the owner's position"],"type":"u64"}]}},{"name":"ShareArg","type":{"kind":"struct","fields":[{"name":"recipient","type":"pubkey"},{"name":"bps","type":"u16"}]}},{"name":"SolClaimed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"user","type":"pubkey"},{"name":"no_burned","type":"u64"},{"name":"yes_burned","type":"u64"},{"name":"sol_out","type":"u64"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}},{"name":"SolVault","docs":["Holds the launch's SOL: both pots, the creator and protocol fee escrows and the bond (accounting","lives in `Launch`)."],"type":{"kind":"struct","fields":[]}},{"name":"TokensClaimed","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"user","type":"pubkey"},{"name":"amount","type":"u64"}]}},{"name":"WalletApproved","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"wallet","type":"pubkey"},{"name":"limit","type":"u64"},{"name":"spent","docs":["already paid, when this changes an existing approval's limit"],"type":"u64"}]}},{"name":"Withdrawn","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"owner","type":"pubkey"},{"name":"token","type":"u8"},{"name":"amount","type":"u64"}]}},{"name":"YesBought","type":{"kind":"struct","fields":[{"name":"launch","type":"pubkey"},{"name":"buyer","type":"pubkey"},{"name":"charged","docs":["What the buyer paid, fee included; below the spend when the buy crossed the threshold"],"type":"u64"},{"name":"fee","type":"u64"},{"name":"net","type":"u64"},{"name":"yes_out","type":"u64"},{"name":"to_wallet","docs":["Minted into the buyer's own token account (`buy_yes_to_wallet`) rather than added to their holding"],"type":"bool"},{"name":"state","type":{"defined":{"name":"MarketState"}}}]}}],"constants":[{"name":"MAX_SETTLE_OWNERS","docs":["Most owners `settle_positions` pays in one instruction: as many of the smallest groups (an owner","and one position) as fit one v0 transaction of 1,232 bytes without lookup tables, with two","compute budget instructions and a Sender tip (measured in `tests/fit.rs`). Larger groups fit fewer."],"type":"u8","value":"10"},{"name":"SETTLE_HOLDING","docs":["...and their holding after that."],"type":"u8","value":"4"},{"name":"SETTLE_NO","docs":["...their NO position after it..."],"type":"u8","value":"2"},{"name":"SETTLE_YES","docs":["`settle_positions` group flags: the owner's YES position follows the owner in the group..."],"type":"u8","value":"1"}]}