Status: Built, runs on simulator
Instruction arguments, accounts and data types below come directly from the Anchor IDLs. Addresses are IDL declarations, not confirmed deployments. Test stand-ins whose file name starts with mock_ are excluded.
merces_hook
Source: stage1:solana/idls/merces_hook.json.
IDL field | Value |
|---|
address | 2PuKMkGkGLCwsDMLCmm2bcbzjxtabvt9LVJni154ezRt |
metadata.version | 0.1.0 |
metadata.spec | 0.1.0 |
merces_hook: execute
Discriminator: 0x692565c54bfb661a.
Called by Token-2022 on every transfer of the mint.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
source_token | false | false | false | — | — | — |
mint | false | false | false | — | — | — |
destination_token | false | false | false | — | — | — |
owner | false | false | false | — | — | — |
extra_account_meta_list | false | false | false | — | "extra-account-metas", account:mint | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
escrow_arm | false | false | false | — | — | — |
Discriminator: 0x2b220d31a758ebeb.
Creates the `ExtraAccountMetaList` for a unit mint. The mint authority (the protocol's
`auction_authority` PDA) must sign, so only `merces_protocol::open_raise` can call this
for a Merces mint, and the registry must already map the series to the mint.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
extra_account_meta_list | true | false | false | — | "extra-account-metas", account:mint | — |
mint | false | false | false | — | — | — |
mint_authority | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
token_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_hook: account layouts
merces_hook: ParametersData
Borsh-serialisable mirror of [`Parameters`].
Name | Type |
|---|
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
fx_max_staleness_seconds | u64 |
fx_max_conf_bps | u16 |
fx_deviation_band_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
merces_hook: ProtocolConfig
Global protocol configuration, one per deployment (`[CONFIG]`).
Name | Type |
|---|
admin | Pubkey |
pending_admin | Pubkey |
allowlist_manager | Pubkey |
fee_collector | Pubkey |
domain | [u8; 32] |
chain_id | u64 |
new_raises_paused | bool |
windows_enabled | bool |
tier4_enabled | bool |
early_draw_approver | Pubkey |
defaults | ParametersData |
protocol_program | Pubkey |
protocol_authority | Pubkey |
series_count | u64 |
attestor_count | u32 |
verifier_count | u32 |
curve_quote_mint | Pubkey |
bump | u8 |
merces_hook: Series
One raise by one issuer (`[SERIES, series_id_le]`). The charter block is frozen once
`raise_state != Draft` (SPEC §3.3).
Name | Type |
|---|
series_id | u64 |
issuer | Pubkey |
mode | u8 |
stablecoin | Pubkey |
stablecoin_decimals | u8 |
stablecoin_program | Pubkey |
unit_mint | Pubkey |
units_offered | u64 |
reserve_price | u64 |
min_raise | u64 |
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
release_schedule | Vec<TrancheData> |
contract_hash | [u8; 32] |
tier_flags | u8 |
fx_pair_id | [u8; 32] |
issuer_accepts_public_price | bool |
metadata_uri | String |
router_theta | u64 |
router_r_wad | u64 |
terms_commitment | [u8; 32] |
amendment_nonce | u64 |
raise_state | u8 |
opened_at | u64 |
settlement_ts | u64 |
units_sold | u64 |
clearing_price | u64 |
mint_finalized | bool |
terminal_status | u8 |
auction_escrow_ata | Pubkey |
window_escrow_ata | Pubkey |
dbc_config | Pubkey |
dbc_pool | Pubkey |
base_mint | Pubkey |
dbc_creator | Pubkey |
bump | u8 |
merces_hook: TrancheData
Borsh-serialisable mirror of [`Tranche`].
Name | Type |
|---|
at_offset_seconds | u64 |
bps | u16 |
merces_protocol
Source: stage1:solana/idls/merces_protocol.json.
IDL field | Value |
|---|
address | EuaPg2nTXsf3CmmeJMfdiQb4C2hU7AfLfFyDLpD69six |
metadata.version | 0.1.0 |
metadata.spec | 0.1.0 |
merces_protocol: activate_curve
Discriminator: 0x5fcfa997de01d130.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
issuer_allowlist | false | false | false | — | "allow", account:issuer | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
ledger | false | false | false | — | "ledger", account:series | — |
dbc_config | false | false | false | — | — | — |
dbc_pool | false | false | false | — | — | — |
base_mint | false | false | false | — | — | — |
curve_authority | false | false | false | — | "curve_authority", account:series | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: approve_pause
Discriminator: 0x953003519c4ac3ac.
Arguments
Name | Type |
|---|
pause_end | u64 |
attestor_addr | [u8; 20] |
attestor_sig | [u8; 65] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
attestor_key | false | false | false | — | — | — |
merces_protocol: begin_settlement
Discriminator: 0x7cdf50f9133b1a5c.
Arguments
Name | Type |
|---|
clearing_price | u64 |
q_above_claim | u64 |
q_at_claim | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
merces_protocol: begin_takeback
Discriminator: 0xd8ff8bbc74105b56.
Arguments
Name | Type |
|---|
price | u64 |
reveal_index | u32 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: begin_window_settlement
Discriminator: 0xf3caae01d645bcb0.
Arguments
Name | Type |
|---|
clearing_price | u64 |
no_match | bool |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: burn_retired
Discriminator: 0xe4ad51b1a2ac6568.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:holder_wallet | — |
holder_wallet | false | false | false | — | — | — |
holder_unit_ata | true | false | false | — | — | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
unit_mint | true | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
merces_protocol: cancel_raise
Discriminator: 0x5d7bcc4f6bc478d9.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
unit_mint | true | false | false | — | — | — |
auction_auth | false | false | false | — | "auction_auth", account:series | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: claim
Discriminator: 0x3ec6d6c1d59f6cd2.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:holder_wallet | — |
holder_wallet | false | false | false | — | — | — |
holder_unit_ata | true | false | false | — | — | — |
holder_stable_ata | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
unit_mint | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: claim_final
Discriminator: 0xa86cd00dc67e6aeb.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:holder_wallet | — |
holder_wallet | false | false | false | — | — | — |
holder_unit_ata | true | false | false | — | — | — |
holder_stable_ata | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
unit_mint | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: claim_redemption
Discriminator: 0x6d6e09bcc3d97053.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:holder_wallet | — |
holder_wallet | false | false | false | — | — | — |
holder_unit_ata | true | false | false | — | — | — |
holder_stable_ata | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
unit_mint | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: claim_release
Discriminator: 0x20316847ae193a76.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
series | false | false | false | — | — | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | true | false | false | — | "ledger", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
treasury_auth | false | false | false | — | "treasury_auth", account:series | — |
issuer_stable | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
merces_protocol: claim_tail
Discriminator: 0xe59e741c5e92e76e.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:holder_wallet | — |
holder_wallet | false | false | false | — | — | — |
holder_unit_ata | true | false | false | — | — | — |
holder_stable_ata | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
unit_mint | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: close_router_period
Discriminator: 0x45fc480c80a9efb5.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
router | true | false | false | — | "router", account:series | — |
merces_protocol: collect_curve_proceeds
Discriminator: 0xd84a845b3d7117fa.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
treasury | true | false | false | — | "treasury", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
fee_collector_token | true | false | false | — | — | — |
curve_authority | false | false | false | — | "curve_authority", account:series | — |
dbc_pool_authority | false | false | false | FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM | — | — |
dbc_config | false | false | false | — | — | — |
dbc_pool | true | false | false | — | — | — |
dbc_quote_vault | true | false | false | — | — | — |
dbc_base_vault | true | false | false | — | — | — |
base_mint | false | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
dbc_event_authority | false | false | false | 8Ks12pbrD6PXxfty1hVQiE9sc289zgU1zHkvXhrSdriF | — | — |
dbc_program | false | false | false | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN | — | — |
merces_protocol: commit_ask
Discriminator: 0x1e3f5400e9f75b33.
Arguments
Name | Type |
|---|
commitment | [u8; 32] |
units | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | false | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
order | true | false | false | — | "order", account:series, account:window.period, account:owner | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
escrow_arm | true | false | false | — | "escrow_arm", account:unit_mint | — |
owner_unit_ata | true | false | false | — | — | — |
window_escrow_ata | true | false | false | — | — | — |
unit_mint | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: commit_bid
Discriminator: 0x95edc6713542464c.
Arguments
Name | Type |
|---|
commitment | [u8; 32] |
escrow | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
bidder | true | true | false | — | — | — |
series | false | false | false | — | — | — |
bidder_allowlist | false | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
bid | true | false | false | — | "bid", account:series, account:bidder | — |
bidder_stable | true | false | false | — | — | — |
escrow_token | true | false | false | — | "escrow_token", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: complete_curve
Discriminator: 0x3f2c5422c2b2c143.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
treasury | true | false | false | — | "treasury", account:series | — |
dbc_config | false | false | false | — | — | — |
dbc_pool | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: crank_status
Discriminator: 0x45431c952c557d55.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
merces_protocol: deliver_bid
Discriminator: 0x70119de88b00513d.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
bid | true | false | false | — | "bid", account:series, account:bidder | — |
bidder | false | false | false | — | — | — |
holder | true | false | true | — | "holder", account:series, account:bidder | — |
bidder_stable_ata | true | false | false | — | — | — |
bidder_unit_ata | true | false | false | — | — | — |
escrow_auth | false | false | false | — | "escrow_auth", account:series | — |
escrow_token | true | false | false | — | "escrow_token", account:series | — |
auction_escrow_auth | false | false | false | — | "auction_escrow", account:series | — |
auction_escrow_ata | true | false | false | — | — | — |
unit_mint | false | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
associated_token_program | false | false | false | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: deliver_order
Discriminator: 0xc4a17fc74385a368.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
order | true | false | false | — | "order", account:series, account:window.period, account:owner | — |
owner | false | false | false | — | — | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
owner_unit_ata | true | false | false | — | — | — |
owner_stable_ata | true | false | false | — | — | — |
window_escrow_ata | true | false | false | — | — | — |
window_stable | true | false | false | — | "window_stable", account:series | — |
window_escrow_auth | false | false | false | — | "window_escrow", account:series | — |
unit_mint | false | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
associated_token_program | false | false | false | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: end_pause
Discriminator: 0xa8fdd9d22744667a.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
merces_protocol: extinguish
Discriminator: 0x43389ff5fb61b2c9.
Arguments
Name | Type |
|---|
attestor_a | [u8; 20] |
sig_a | [u8; 65] |
attestor_b | [u8; 20] |
sig_b | [u8; 65] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
treasury | true | false | false | — | "treasury", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
treasury_auth | false | false | false | — | "treasury_auth", account:series | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
attestor_key_a | false | false | false | — | — | — |
attestor_key_b | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: finalize_settlement
Discriminator: 0xdc489877b2c419aa.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | true | false | false | — | "ledger", account:series | — |
unit_mint | true | false | false | — | — | — |
auction_auth | false | false | false | — | "auction_auth", account:series | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: finalize_takeback
Discriminator: 0x1856f67dcf58e957.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: finalize_window
Discriminator: 0xb74cf8a1c40e4a2e.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: init_fx_pair
Discriminator: 0xfe096df3a8a877f1.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
pair_config | false | false | false | — | "fx", arg:pair_id | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
pair | true | false | false | — | "fxpair", arg:pair_id | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: init_router
Discriminator: 0xea84b522b0658e5e.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
router | true | false | false | — | "router", account:series | — |
router_auth | false | false | false | — | "router_auth", account:series | — |
router_token | true | false | false | — | "router_token", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: open_raise
Discriminator: 0x83ee4f73f2878ef2.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
issuer_allowlist | false | false | false | — | "allow", account:issuer | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
unit_mint | true | false | false | — | "unit_mint", account:series | — |
auction_auth | false | false | false | — | "auction_auth", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
auction | true | false | false | — | "auction", account:series | — |
auction_escrow_auth | false | false | false | — | "auction_escrow", account:series | — |
auction_escrow_ata | true | false | false | — | — | — |
window_escrow_auth | false | false | false | — | "window_escrow", account:series | — |
window_escrow_ata | true | false | false | — | — | — |
extra_account_meta_list | true | false | false | — | "extra-account-metas", account:unit_mint | 0x14b99e8389a5519e1ed87c10b7464fff62a5845cd92daabd0db8a5c798be359f |
registry_authority | false | false | false | — | "registry_authority" | — |
hook_program | false | false | false | 2PuKMkGkGLCwsDMLCmm2bcbzjxtabvt9LVJni154ezRt | — | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
associated_token_program | false | false | false | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: open_window
Discriminator: 0x332835b5aa2b80a8.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, arg:period | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: pay
Discriminator: 0x7712d841c0757adc.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
report | true | false | true | — | "report", account:series, account:report.period | — |
payer_stable | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
issuer | false | false | false | — | — | — |
issuer_stable_ata | true | false | false | — | — | — |
fee_collector_ata | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: pay_trueup
Discriminator: 0xdff921404c8f7b9b.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
report | true | false | true | — | "report", account:series, account:report.period | — |
payer_stable | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
issuer | false | false | false | — | — | — |
issuer_stable_ata | true | false | false | — | — | — |
fee_collector_ata | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: prepare_curve
Discriminator: 0xe56176f10426d06e.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
treasury_auth | false | false | false | — | "treasury_auth", account:series | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | true | false | false | — | "ledger", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: prepare_raise
Discriminator: 0xf458b0101ff805d8.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
unit_mint | false | false | false | — | "unit_mint", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
escrow_auth | false | false | false | — | "escrow_auth", account:series | — |
treasury_auth | false | false | false | — | "treasury_auth", account:series | — |
window_escrow_auth | false | false | false | — | "window_escrow", account:series | — |
auction | true | false | false | — | "auction", account:series | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | true | false | false | — | "ledger", account:series | — |
escrow_arm | true | false | false | — | "escrow_arm", account:unit_mint | — |
escrow_token | true | false | false | — | "escrow_token", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
window_stable | true | false | false | — | "window_stable", account:series | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: process_bid
Discriminator: 0xdaf40d3834226ece.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
bid | true | false | false | — | "bid", account:series, account:bidder | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:bidder | — |
bidder | false | false | false | — | — | — |
escrow_auth | false | false | false | — | "escrow_auth", account:series | — |
auction_auth | false | false | false | — | "auction_auth", account:series | — |
escrow_token | true | false | false | — | "escrow_token", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
fee_collector_ata | true | false | false | — | — | — |
auction_escrow_ata | true | false | false | — | — | — |
unit_mint | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: process_order
Discriminator: 0x7e36fcb5fea36ba5.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
order | true | false | false | — | "order", account:series, account:window.period, account:owner | — |
owner | false | false | false | — | — | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
owner_allowlist | false | false | false | — | "allow", account:owner | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
owner_unit_ata | false | false | false | — | — | — |
window_stable | true | false | false | — | "window_stable", account:series | — |
window_escrow_auth | false | false | false | — | "window_escrow", account:series | — |
fee_collector_ata | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: redeem
Discriminator: 0xb80c569546c461e1.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
issuer_stable | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: register_holder
Discriminator: 0x716f75f6af3b62a1.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | false | false | false | — | "ledger", account:series | — |
allowlist_entry | false | false | false | — | "allow", arg:wallet | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
holder | true | false | false | — | "holder", account:series, arg:wallet | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: request_early_draw
Discriminator: 0x3f1eb3aaf899372d.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
approver | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
treasury | true | false | false | — | "treasury", account:series | — |
ledger | false | false | false | — | "ledger", account:series | — |
treasury_token | true | false | false | — | "treasury_token", account:series | — |
treasury_auth | false | false | false | — | "treasury_auth", account:series | — |
issuer_stable | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
merces_protocol: request_pause
Discriminator: 0x0493d2565b3f9c4e.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
merces_protocol: retire_if_capped
Discriminator: 0x0807294ad323f930.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
merces_protocol: reveal_bid
Discriminator: 0x30491cffca7eecc4.
Arguments
Name | Type |
|---|
price | u64 |
quantity | u64 |
salt | [u8; 32] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
bidder | false | true | false | — | — | — |
series | false | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
bid | true | false | false | — | "bid", account:series, account:bidder | — |
merces_protocol: reveal_order
Discriminator: 0x19f42adb119cd34a.
Arguments
Name | Type |
|---|
price | u64 |
quantity | u64 |
salt | [u8; 32] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | false | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
order | true | false | false | — | "order", account:series, account:window.period, account:owner | — |
owner_unit_ata | false | false | false | — | — | — |
holder | false | false | false | — | "holder", account:series, account:owner | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
merces_protocol: route
Discriminator: 0xe517cb977ae3ad2a.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
payer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | true | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
router | true | false | false | — | "router", account:series | — |
router_auth | false | false | false | — | "router_auth", account:series | — |
router_token | true | false | false | — | "router_token", account:series | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
issuer | false | false | false | — | — | — |
issuer_stable_ata | true | false | false | — | — | — |
fee_collector_ata | true | false | false | — | — | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
registry_authority | false | false | false | — | "registry_authority" | — |
registry_program | false | false | false | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: set_release_pause
Discriminator: 0xd7b47a26f5f19cc3.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
series | false | false | false | — | — | — |
treasury | true | false | false | — | "treasury", account:series | — |
merces_protocol: snapshot_fx
Discriminator: 0x995d3dd0c6fa0a4d.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
keeper | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
pair_config | false | false | false | — | "fx", account:pair.pair_id | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
pair | true | false | false | — | "fxpair", account:pair.pair_id | — |
checkpoint | true | false | false | — | "fxcp", account:pair.pair_id, arg:period | — |
price_update | false | false | false | — | — | — |
crosscheck_update | false | false | true | — | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: stake_units
Discriminator: 0x0811fa8da4588857.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | true | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
owner_allowlist | false | false | false | — | "allow", account:owner | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
owner_base_ata | true | false | false | — | — | — |
stake_auth | false | false | false | — | "curve_stake", account:series | — |
stake_vault | true | false | false | — | — | — |
base_mint | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
associated_token_program | false | false | false | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: submit_report
Discriminator: 0x1bb24009142efa0e.
Arguments
Name | Type |
|---|
args | SubmitReportArgs |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | true | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
report | true | false | false | — | "report", account:series, arg:args.period | — |
attestation_key | false | false | false | — | — | — |
fx_attestor_key | false | false | false | — | — | — |
fx_pair | false | false | false | — | "fxpair", account:series.fx_pair_id | — |
fx_start | false | false | false | — | "fxcp", account:series.fx_pair_id, arg:args.period | — |
fx_end | false | false | false | — | "fxcp", account:series.fx_pair_id, arg:args.period.saturating_add(1) | — |
router | false | false | true | — | "router", account:series | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: submit_trueup
Discriminator: 0x9ca03572b8ce96fb.
Arguments
Name | Type |
|---|
year | u16 |
adjustment | i64 |
attestation_ts | u64 |
attestor_addr | [u8; 20] |
attestor_sig | [u8; 65] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
config | false | false | false | — | "config" | 0xe98cc4df4a4420f1dcd0f8a2ccdd54f80ff2bb0cf05d3c4a0bf6049a984f89ef |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
attestor_key | false | false | false | — | — | — |
merces_protocol: sync_curve_units
Discriminator: 0xf02f76b63c7e0d05.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
base_mint | false | false | false | — | — | — |
dbc_pool | false | false | false | — | — | — |
dbc_base_vault | false | false | false | — | — | — |
damm_config | false | false | false | — | — | — |
damm_pool | false | false | false | — | — | — |
damm_base_vault | false | false | false | — | — | — |
locker_escrow_token | false | false | false | — | — | — |
leftover_token | false | false | false | — | — | — |
merces_protocol: tally_bids
Discriminator: 0x7a7a3f843600d167.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
auction | true | false | false | — | "auction", account:series | — |
merces_protocol: tally_orders
Discriminator: 0x3d5f572935f232c7.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: tally_takeback
Discriminator: 0x141eec52ae2609cc.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
series | false | false | false | — | — | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
merces_protocol: tender_units
Discriminator: 0xb835b26adf06967e.
Arguments
Name | Type |
|---|
from_stake | u64 |
from_wallet | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
owner_base_ata | true | false | false | — | — | — |
owner_stable_ata | true | false | false | — | — | — |
stake_auth | false | false | false | — | "curve_stake", account:series | — |
stake_vault | true | false | false | — | — | — |
base_mint | true | false | false | — | — | — |
vault_token | true | false | false | — | "vault_token", account:series | — |
vault_auth | false | false | false | — | "vault_auth", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
merces_protocol: unstake_units
Discriminator: 0xa221640ca872005d.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
holder | true | false | false | — | "holder", account:series, account:owner | — |
owner_base_ata | true | false | false | — | — | — |
stake_auth | false | false | false | — | "curve_stake", account:series | — |
stake_vault | true | false | false | — | — | — |
base_mint | false | false | false | — | — | — |
token_2022_program | false | false | false | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | — | — |
merces_protocol: window_commit_bid
Discriminator: 0xd797c537edcf0d8c.
Arguments
Name | Type |
|---|
commitment | [u8; 32] |
escrow | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
owner | true | true | false | — | — | — |
series | false | false | false | — | — | — |
owner_allowlist | false | false | false | — | — | — |
window | true | false | false | — | "window", account:series, account:window.period | — |
order | true | false | false | — | "order", account:series, account:window.period, account:owner | — |
owner_stable | true | false | false | — | — | — |
window_stable | true | false | false | — | "window_stable", account:series | — |
stablecoin_mint | false | false | false | — | — | — |
stablecoin_program | false | false | false | — | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_protocol: withdraw_pause_request
Discriminator: 0xc5e7724782288577.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer | false | true | false | — | — | — |
series | false | false | false | — | — | — |
ledger | true | false | false | — | "ledger", account:series | — |
merces_protocol: account layouts
Account type |
|---|
Auction |
Bid |
EscrowArm |
FxCheckpoint |
FxPair |
Holder |
Ledger |
Order |
Report |
Router |
Treasury |
Window |
merces_protocol: AllowlistEntry
Allowlist entry (`[ALLOW, wallet]`). A missing account means "never allowlisted".
Name | Type |
|---|
wallet | Pubkey |
allowed | bool |
updated_at | i64 |
bump | u8 |
merces_protocol: Auction
Sealed-bid auction state (`[AUCTION, series]`).
Name | Type |
|---|
series | Pubkey |
state | u8 |
opened_at | u64 |
commit_end | u64 |
reveal_end | u64 |
escrow_total | u64 |
bid_count | u32 |
revealed_count | u32 |
valid_count | u32 |
tally_round | u32 |
round_rejected | bool |
rejection_reason | u8 |
clearing_price | u64 |
q_above_claim | u64 |
q_at_claim | u64 |
r_claim | u64 |
q_above | u64 |
q_at | u64 |
alloc_sum | u64 |
min_valid_price | u64 |
tallied_count | u32 |
units_sold | u64 |
proceeds | u64 |
settlement_ts | u64 |
bids_processed | u32 |
units_minted | u64 |
mint_finalized | bool |
mint_authority_revoked | bool |
bump | u8 |
merces_protocol: Bid
One bid per wallet per series (`[BID, series, bidder]`).
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
commitment | [u8; 32] |
escrow | u64 |
reveal_index | u32 |
revealed | bool |
valid | bool |
price | u64 |
quantity | u64 |
tallied_round | u32 |
processed | bool |
allocation | u64 |
pending_units | u64 |
pending_refund | u64 |
delivered | bool |
bump | u8 |
merces_protocol: BidCommitted
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
escrow | u64 |
merces_protocol: BidDelivered
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
units | u64 |
refund | u64 |
merces_protocol: BidRevealed
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
price | u64 |
quantity | u64 |
valid | bool |
merces_protocol: CurveProceedsCollected
`collect_curve_proceeds`: the DBC migration fee and surplus withdrawn into the treasury
(`proceeds` = the treasury's new total), the partner trading fee into the fee collector.
Name | Type |
|---|
series | Pubkey |
migration_fee | u64 |
surplus | u64 |
trading_fee | u64 |
proceeds | u64 |
merces_protocol: CurveUnitsSynced
`sync_curve_units` (and the snapshot inside a curve-mode `redeem`): `units_outstanding =
supply − protocol_held`, all in base lamports.
Name | Type |
|---|
series | Pubkey |
supply | u64 |
protocol_held | u64 |
units_outstanding | u64 |
staked_total | u64 |
merces_protocol: EarlyDrawExecuted
Name | Type |
|---|
series | Pubkey |
amount | u64 |
approver | Pubkey |
merces_protocol: EscrowArm
Armed `commit_ask` deposit for the unit mint (`[ESCROW_ARM, unit_mint]`, SPEC §4.1). Read by
the hook at bytes 8..40 (owner) and 40..48 (units).
Name | Type |
|---|
armed_owner | Pubkey |
armed_units | u64 |
bump | u8 |
merces_protocol: FinalClaimed
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
units | u64 |
amount | u64 |
`trueup == false`: the report countdown of `period` reached the formal-notice threshold.
`trueup == true`: the true-up of calendar year `period` did (SPEC §6.4, `FormalNoticeDue(series, trueup)`).
Name | Type |
|---|
series | Pubkey |
period | u32 |
trueup | bool |
merces_protocol: FxCheckpoint
Accumulator checkpoint at the first snapshot of a period (`[FX_CHECKPOINT, pair_id, period]`).
Name | Type |
|---|
pair_id | [u8; 32] |
period | u32 |
sum_wad | u128 |
count | u32 |
flagged | bool |
bump | u8 |
merces_protocol: FxDeviationFlagged
Name | Type |
|---|
pair | [u8; 32] |
period | u32 |
rate_wad | u64 |
crosscheck_wad | u64 |
merces_protocol: FxPair
Rate accumulator (`[FX_PAIR, pair_id]`).
Name | Type |
|---|
pair_id | [u8; 32] |
sum_wad | u128 |
count | u32 |
last_day | u32 |
bump | u8 |
merces_protocol: FxPairConfig
FX pair configuration (`[FX, pair_id]`), `pair_id = keccak256(feed_id ‖ inverted_u8)`.
Name | Type |
|---|
pair_id | [u8; 32] |
feed_id | [u8; 32] |
inverted | bool |
crosscheck | Pubkey |
crosscheck_effective_period | u32 |
prev_crosscheck | Pubkey |
enabled | bool |
bump | u8 |
merces_protocol: FxSnapshot
Name | Type |
|---|
pair | [u8; 32] |
day | u32 |
rate_wad | u64 |
sum_wad | u128 |
count | u32 |
merces_protocol: Holder
Holder record (`[HOLDER, series, wallet]`).
Name | Type |
|---|
series | Pubkey |
wallet | Pubkey |
registered | bool |
last_net_acc_wad | u128 |
pending | u64 |
redeemed_units | u64 |
last_tail_acc_wad | u128 |
last_final_acc_wad | u128 |
undelivered_units | u64 |
ask_escrow_units | u64 |
window_pending_units | u64 |
staked_units | u64 |
bump | u8 |
merces_protocol: HolderRegistered
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
merces_protocol: IncomeRouted
Name | Type |
|---|
series | Pubkey |
amount | u64 |
pass_through | u64 |
routed | u64 |
ytd_received | u64 |
merces_protocol: Ledger
Per-series repayment ledger (`[LEDGER, series]`). Zero-copy so account validation never puts it
on the stack. Optional values are `(value, has_*)` pairs; booleans are `u8`; field order avoids
padding (bytemuck `Pod`).
Name | Type |
|---|
paid_per_unit_wad | u128 |
net_acc_wad | u128 |
tail_acc_wad | u128 |
tail_paid_per_unit_wad | u128 |
final_acc_wad | u128 |
window_acc_at_clear | u128 |
year_gross_wad | [u128; 4] |
settlement_ts | u64 |
open_due_amount | u64 |
router_credit | u64 |
trueup_nonce | u64 |
trueup_due | u64 |
trueup_attested_at | u64 |
pause_nonce | u64 |
pause_requested_at | u64 |
paused_total | u64 |
carry_wad | u64 |
fee_collected | u64 |
gross_received | u64 |
refunded_to_issuer | u64 |
units_outstanding | u64 |
redemption_ts | u64 |
redemption_price | u64 |
units_at_redemption | u64 |
tail_cap_per_unit | u64 |
tail_carry_wad | u64 |
extinguished_at | u64 |
final_carry_wad | u64 |
final_units | u64 |
extinguish_nonce | u64 |
unit_scale | u64 |
units_synced_at | u64 |
staked_total | u64 |
tendered_total | u64 |
year_pay_sum | [u64; 4] |
pause_start | [u64; 16] |
pause_end | [u64; 16] |
series | Pubkey |
last_income_commitment | [u8; 32] |
first_period | u32 |
last_accepted_period_v | u32 |
last_paid_period_v | u32 |
open_due_period_v | u32 |
formal_notice_emitted_for_v | u32 |
last_income_period_v | u32 |
active_window_v | u32 |
year_gross_tag | [u32; 4] |
year_pay_tag | [u32; 4] |
trueup_year_v | u32 |
last_trueup_year_v | u32 |
status | u8 |
has_last_accepted_period | u8 |
has_last_paid_period | u8 |
has_open_due_period | u8 |
has_formal_notice | u8 |
has_last_income_period | u8 |
has_active_window | u8 |
open_due_tier | u8 |
pause_requested | u8 |
pause_count | u8 |
trueup_notice_emitted | u8 |
has_trueup_year | u8 |
has_last_trueup_year | u8 |
tail_exhausted | u8 |
mint_finalized | u8 |
year_gross_set | [u8; 4] |
year_pay_set | [u8; 4] |
bump | u8 |
curve | u8 |
window_cleared | u8 |
_padding | [u8; 10] |
merces_protocol: MintAuthorityRevoked
merces_protocol: NonRevealCharged
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
charge | u64 |
merces_protocol: Order
Window order, ONE per wallet per window (`[ORDER, series, period, owner]`).
Name | Type |
|---|
series | Pubkey |
period | u32 |
owner | Pubkey |
side | u8 |
commitment | [u8; 32] |
escrow | u64 |
reveal_index | u32 |
revealed | bool |
valid | bool |
price | u64 |
quantity | u64 |
tallied_round | u32 |
processed | bool |
fill | u64 |
takeback_round | u32 |
pending_units | u64 |
pending_stable | u64 |
delivered | bool |
bump | u8 |
merces_protocol: OrderCommitted
Name | Type |
|---|
series | Pubkey |
period | u32 |
owner | Pubkey |
side | u8 |
escrow | u64 |
merces_protocol: OrderDelivered
`deliver_order` paid what a processed window order owes its owner (Solana addition mirroring
`BidDelivered`): `units` (bid fill or ask return) and `amount` of stablecoin (bid refund or ask
proceeds).
Name | Type |
|---|
series | Pubkey |
period | u32 |
owner | Pubkey |
side | u8 |
units | u64 |
amount | u64 |
merces_protocol: OrderFilled
Name | Type |
|---|
series | Pubkey |
period | u32 |
owner | Pubkey |
side | u8 |
fill | u64 |
price | u64 |
fee | u64 |
refund | u64 |
merces_protocol: OrderRevealed
Name | Type |
|---|
series | Pubkey |
period | u32 |
owner | Pubkey |
side | u8 |
price | u64 |
quantity | u64 |
valid | bool |
merces_protocol: ParametersData
Borsh-serialisable mirror of [`Parameters`].
Name | Type |
|---|
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
fx_max_staleness_seconds | u64 |
fx_max_conf_bps | u16 |
fx_deviation_band_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
merces_protocol: PauseApproved
Name | Type |
|---|
series | Pubkey |
start | u64 |
end | u64 |
attestor | [u8; 20] |
merces_protocol: PauseEnded
Name | Type |
|---|
series | Pubkey |
paused_total | u64 |
merces_protocol: PauseRequestWithdrawn
Name | Type |
|---|
series | Pubkey |
nonce | u64 |
merces_protocol: PauseRequested
Name | Type |
|---|
series | Pubkey |
nonce | u64 |
merces_protocol: PaymentSettled
Name | Type |
|---|
series | Pubkey |
period | u32 |
gross | u64 |
accrual | u64 |
fee | u64 |
accepted | u64 |
refunded | u64 |
merces_protocol: PayoutClaimed
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
amount | u64 |
burned_units | u64 |
merces_protocol: PayoutDistributed
`source`: 0 = Payment, 1 = Router, 2 = Tail, 3 = Final.
Name | Type |
|---|
series | Pubkey |
source | u8 |
gross | u64 |
accepted | u64 |
fee | u64 |
net_added | u64 |
delta_acc_wad | u128 |
paid_per_unit_wad | u128 |
retired | bool |
merces_protocol: PriceFeedMessage
Name | Type |
|---|
feed_id | [u8; 32] |
price | i64 |
conf | u64 |
exponent | i32 |
publish_time | i64 |
prev_publish_time | i64 |
ema_price | i64 |
ema_conf | u64 |
merces_protocol: PriceUpdateV2
A price update account. This account is used by the Pyth Receiver program to store a verified price update from a Pyth price feed.
It contains:
- `write_authority`: The write authority for this account. This authority can close this account to reclaim rent or update the account to contain a different price update.
- `verification_level`: The [`VerificationLevel`] of this price update. This represents how many Wormhole guardian signatures have been verified for this price update.
- `price_message`: The actual price update.
- `posted_slot`: The slot at which this price update was posted.
Name | Type |
|---|
write_authority | Pubkey |
verification_level | VerificationLevel |
price_message | PriceFeedMessage |
posted_slot | u64 |
merces_protocol: ProtocolConfig
Global protocol configuration, one per deployment (`[CONFIG]`).
Name | Type |
|---|
admin | Pubkey |
pending_admin | Pubkey |
allowlist_manager | Pubkey |
fee_collector | Pubkey |
domain | [u8; 32] |
chain_id | u64 |
new_raises_paused | bool |
windows_enabled | bool |
tier4_enabled | bool |
early_draw_approver | Pubkey |
defaults | ParametersData |
protocol_program | Pubkey |
protocol_authority | Pubkey |
series_count | u64 |
attestor_count | u32 |
verifier_count | u32 |
curve_quote_mint | Pubkey |
bump | u8 |
merces_protocol: RaiseCancelled
merces_protocol: RaiseFailed
Name | Type |
|---|
series | Pubkey |
clearing_price | u64 |
proceeds | u64 |
min_raise | u64 |
merces_protocol: RaiseMintFinalized
Name | Type |
|---|
series | Pubkey |
units_sold | u64 |
proceeds | u64 |
merces_protocol: RaiseOpened
Name | Type |
|---|
series | Pubkey |
unit_mint | Pubkey |
opened_at | u64 |
commit_end | u64 |
reveal_end | u64 |
merces_protocol: RaiseSettled
Name | Type |
|---|
series | Pubkey |
clearing_price | u64 |
units_sold | u64 |
proceeds | u64 |
settlement_ts | u64 |
merces_protocol: RedemptionClaimed
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
units | u64 |
amount | u64 |
merces_protocol: ReleaseClaimed
Name | Type |
|---|
series | Pubkey |
amount | u64 |
released_total | u64 |
merces_protocol: ReleasePauseSet
Name | Type |
|---|
series | Pubkey |
paused | bool |
merces_protocol: Report
Accepted report (`[REPORT, series, period]`).
Name | Type |
|---|
series | Pubkey |
period | u32 |
accepted_at | u64 |
payment_usd | u64 |
fx_avg_wad | u64 |
fx_fallback | bool |
tier | u8 |
liquidity_event | bool |
income_commitment | [u8; 32] |
prior_income_commitment | [u8; 32] |
due | u64 |
accrual_paid | u64 |
paid_at | u64 |
bump | u8 |
merces_protocol: ReportAccepted
Name | Type |
|---|
series | Pubkey |
period | u32 |
payment_usd | u64 |
fx_avg_wad | u64 |
fx_fallback | bool |
tier | u8 |
liquidity_event | bool |
income_commitment | [u8; 32] |
due | u64 |
merces_protocol: Router
Tier 1 split router (`[ROUTER, series]`); income lands in the `router_token` PDA.
Name | Type |
|---|
series | Pubkey |
theta | u64 |
r_wad | u64 |
ytd_year | u32 |
ytd_received | u64 |
last_receipt_period | u32 |
last_checkpoint_period | u32 |
init_period | u32 |
cp_period | [u32; 8] |
cp_ytd_at_end | [u64; 8] |
cp_set | [bool; 8] |
bump | u8 |
merces_protocol: RouterPeriodClosed
Name | Type |
|---|
series | Pubkey |
period | u32 |
ytd_at_end | u64 |
merces_protocol: Series
One raise by one issuer (`[SERIES, series_id_le]`). The charter block is frozen once
`raise_state != Draft` (SPEC §3.3).
Name | Type |
|---|
series_id | u64 |
issuer | Pubkey |
mode | u8 |
stablecoin | Pubkey |
stablecoin_decimals | u8 |
stablecoin_program | Pubkey |
unit_mint | Pubkey |
units_offered | u64 |
reserve_price | u64 |
min_raise | u64 |
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
release_schedule | Vec<TrancheData> |
contract_hash | [u8; 32] |
tier_flags | u8 |
fx_pair_id | [u8; 32] |
issuer_accepts_public_price | bool |
metadata_uri | String |
router_theta | u64 |
router_r_wad | u64 |
terms_commitment | [u8; 32] |
amendment_nonce | u64 |
raise_state | u8 |
opened_at | u64 |
settlement_ts | u64 |
units_sold | u64 |
clearing_price | u64 |
mint_finalized | bool |
terminal_status | u8 |
auction_escrow_ata | Pubkey |
window_escrow_ata | Pubkey |
dbc_config | Pubkey |
dbc_pool | Pubkey |
base_mint | Pubkey |
dbc_creator | Pubkey |
bump | u8 |
merces_protocol: SeriesExtinguished
Name | Type |
|---|
series | Pubkey |
unreleased | u64 |
attestor_a | [u8; 20] |
attestor_b | [u8; 20] |
merces_protocol: SeriesRedeemed
Name | Type |
|---|
series | Pubkey |
price | u64 |
hurdle | u64 |
d_avg | u64 |
cap_remaining | u64 |
units | u64 |
deposit | u64 |
merces_protocol: SeriesRetired
Name | Type |
|---|
series | Pubkey |
paid_per_unit_wad | u128 |
refund | u64 |
merces_protocol: SettlementProposed
Name | Type |
|---|
series | Pubkey |
clearing_price | u64 |
round | u32 |
merces_protocol: SettlementRejected
`reason`: 1 = ClaimMismatch, 2 = InvalidClearingPrice.
Name | Type |
|---|
series | Pubkey |
round | u32 |
clearing_price | u64 |
reason | u8 |
merces_protocol: StatusChanged
Name | Type |
|---|
series | Pubkey |
old | u8 |
new | u8 |
merces_protocol: SubmitReportArgs
Name | Type |
|---|
period | u32 |
payment_usd | u64 |
fx_avg_wad | u64 |
fx_fallback_sig | Option<[u8; 65]> |
fx_attestor_addr | [u8; 20] |
prior_income_commitment | [u8; 32] |
income_commitment | [u8; 32] |
tier | u8 |
liquidity_event | bool |
proof | bytes |
attestation_sig | Option<[u8; 65]> |
attestation_addr | [u8; 20] |
merces_protocol: TailClaimed
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
amount | u64 |
merces_protocol: TailDistributed
Name | Type |
|---|
series | Pubkey |
period | u32 |
gross | u64 |
accepted | u64 |
fee | u64 |
refunded | u64 |
merces_protocol: TrancheData
Borsh-serialisable mirror of [`Tranche`].
Name | Type |
|---|
at_offset_seconds | u64 |
bps | u16 |
merces_protocol: Treasury
Treasury bookkeeping (`[TREASURY, series]`); the stablecoin sits in the `treasury_token` PDA.
Name | Type |
|---|
series | Pubkey |
proceeds | u64 |
proceeds_received | u64 |
released_total | u64 |
issuer_paused_releases | bool |
early_draw_total | u64 |
extinguished_at | u64 |
mint_finalized | bool |
bump | u8 |
merces_protocol: TrueUpPaid
Name | Type |
|---|
series | Pubkey |
amount | u64 |
accrual | u64 |
merces_protocol: TrueUpRecorded
Name | Type |
|---|
series | Pubkey |
year | u16 |
adjustment | i64 |
deadline | u64 |
merces_protocol: UnitsAllocated
Name | Type |
|---|
series | Pubkey |
bidder | Pubkey |
units | u64 |
cost | u64 |
fee | u64 |
refund | u64 |
merces_protocol: UnitsBurned
`reason`: 0 = Retired, 1 = Redeemed, 2 = Extinguished.
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
units | u64 |
reason | u8 |
merces_protocol: UnitsStaked
Units moved into the series stake vault (`staked` = the holder's stake afterwards).
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
units | u64 |
staked | u64 |
merces_protocol: UnitsUnstaked
Units returned from the stake vault (`staked` = the holder's stake afterwards).
Name | Type |
|---|
series | Pubkey |
holder | Pubkey |
units | u64 |
staked | u64 |
merces_protocol: VerificationLevel
Pyth price updates are bridged to all blockchains via Wormhole.
Using the price updates on another chain requires verifying the signatures of the Wormhole guardians.
The usual process is to check the signatures for two thirds of the total number of guardians, but this can be cumbersome on Solana because of the transaction size limits,
so we also allow for partial verification.
This enum represents how much a price update has been verified:
- If `Full`, we have verified the signatures for two thirds of the current guardians.
- If `Partial`, only `num_signatures` guardian signatures have been checked.
# Warning
Using partially verified price updates is dangerous, as it lowers the threshold of guardians that need to collude to produce a malicious price update.
Variant | Fields |
|---|
Partial | num_signatures: u8 |
Full | — |
merces_protocol: Window
Transfer window (`[WINDOW, series, period]`).
Name | Type |
|---|
series | Pubkey |
period | u32 |
state | u8 |
opens_at | u64 |
commit_end | u64 |
reveal_end | u64 |
order_count | u32 |
bid_count | u32 |
ask_count | u32 |
revealed_count | u32 |
revealed_bids | u32 |
revealed_asks | u32 |
valid_count | u32 |
escrow_units | u64 |
escrow_stable | u64 |
tally_round | u32 |
round_rejected | bool |
rejection_reason | u8 |
clearing_price | u64 |
no_match_proposed | bool |
d_above | u64 |
d_at | u64 |
s_below | u64 |
s_at | u64 |
max_bid | u64 |
min_ask | u64 |
valid_bids | u32 |
valid_asks | u32 |
tallied_count | u32 |
branch | u8 |
matched_units | u64 |
marginal_remaining | u64 |
ask_at_total | u64 |
ask_at_filled | u64 |
cancelled_units | u64 |
next_bid_index | u32 |
next_ask_index | u32 |
bids_processed | u32 |
asks_processed | u32 |
processed_count | u32 |
delivered_count | u32 |
tb_round | u32 |
tb_rejected | bool |
tb_settled | bool |
tb_price | u64 |
tb_index | u32 |
tb_above_sum | u64 |
tb_found | bool |
tb_k_quantity | u64 |
tb_tallied | u32 |
tb_partial | u64 |
bump | u8 |
merces_protocol: WindowCleared
`branch`: 0 = SupplyLimited, 1 = DemandLimited.
Name | Type |
|---|
series | Pubkey |
period | u32 |
clearing_price | u64 |
matched_units | u64 |
branch | u8 |
merces_protocol: WindowNoMatch
Name | Type |
|---|
series | Pubkey |
period | u32 |
merces_protocol: WindowOpened
Name | Type |
|---|
series | Pubkey |
period | u32 |
commit_end | u64 |
reveal_end | u64 |
merces_protocol: WindowSettlementProposed
Window settlement proposal (Solana addition mirroring the auction's `SettlementProposed`;
SPEC §12: every state transition emits an event). `no_match = true` proposes `NO_MATCH`
(`clearing_price` is then `u64::MAX`).
Name | Type |
|---|
series | Pubkey |
period | u32 |
clearing_price | u64 |
no_match | bool |
round | u32 |
merces_protocol: WindowSettlementRejected
`reason`: 1 = NoMatchInvalid, 2 = PriceNotRevealed, 3 = NoCrossing. `clearing_price` is
`u64::MAX` for a rejected `NO_MATCH` proposal.
Name | Type |
|---|
series | Pubkey |
period | u32 |
clearing_price | u64 |
reason | u8 |
merces_protocol: WindowTakebackProposed
Take-back threshold proposal (Solana addition, SPEC §7 cancelled-buyer take-back from the asks
below `p*`): the order with key `(price, reveal_index)` is proposed as the last one cut.
Name | Type |
|---|
series | Pubkey |
period | u32 |
price | u64 |
reveal_index | u32 |
round | u32 |
merces_protocol: WindowTakebackRejected
A take-back proposal that failed the tally check (never a revert).
Name | Type |
|---|
series | Pubkey |
period | u32 |
round | u32 |
merces_protocol: WindowTakebackSettled
The take-back threshold is settled: `below_units` units come off the asks below `p*`.
Name | Type |
|---|
series | Pubkey |
period | u32 |
cancelled_units | u64 |
below_units | u64 |
price | u64 |
reveal_index | u32 |
partial | u64 |
merces_registry
Source: stage1:solana/idls/merces_registry.json.
IDL field | Value |
|---|
address | GigVSncHHvrt8kZVHcdZWULqUE52aAZn7GzGaBNVznSi |
metadata.version | 0.1.0 |
metadata.spec | 0.1.0 |
merces_registry: accept_admin
Discriminator: 0x702a2d5a74b50daa.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
pending_admin | false | true | false | — | — | — |
merces_registry: amend_terms
Discriminator: 0x1107fc02b679d7b6.
Issuer-favourable amendment (SPEC §3.2, brief C4): the issuer signs the transaction and an
active attestor signs the `MERCES_AMEND_V1` message with the current nonce. The cap
multiple may only decrease. Allowed only while `terminal_status == 0`.
Arguments
Name | Type |
|---|
new_terms_commitment | [u8; 32] |
new_cap_multiple_wad | u64 |
new_tier1_terms | Option<Tier1Terms> |
attestor_addr | [u8; 20] |
attestor_sig | [u8; 65] |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
issuer_wallet | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
attestor | false | false | false | — | "attestor", arg:attestor_addr | — |
merces_registry: create_series
Discriminator: 0xb5093478c5dd2a8e.
Arguments
Name | Type |
|---|
args | CreateSeriesArgs |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
issuer_wallet | true | true | false | — | — | — |
issuer | true | false | false | — | "issuer", account:issuer_wallet | — |
allowlist_entry | false | false | false | — | "allow", account:issuer_wallet | — |
stablecoin_mint | false | false | false | — | — | — |
fx_pair | false | false | true | — | — | — |
series | true | false | false | — | "series", account:config.series_count | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: deactivate_issuer
Discriminator: 0x340aa3bbf7169625.
Blocks *new* series only; existing series are untouched (SPEC §3.2).
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
issuer | true | false | false | — | "issuer", arg:wallet | — |
merces_registry: init_protocol
Discriminator: 0x03bc8dede1e2e8d2.
Creates `ProtocolConfig` once (SPEC §3.2).
Arguments
Name | Type |
|---|
args | InitProtocolArgs |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
payer | true | true | false | — | — | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: mark_curve_activated
Discriminator: 0xc7e38e75a6d58f4d.
Curve-mode activation (SPEC §9, CURVE_MODE §2–§3): records the DBC config, pool, base mint
and pool creator validated by `merces_protocol::activate_curve`, and fixes `P0`
(`clearing_price`, per whole unit) and the design `units_sold` (base lamports) for cap
accounting. Draft → Open; the protocol marks the raise Settled (and the mint final) when it
observes the curve's completion.
Arguments
Name | Type |
|---|
dbc_config | Pubkey |
dbc_pool | Pubkey |
base_mint | Pubkey |
dbc_creator | Pubkey |
activated_at | u64 |
units_sold | u64 |
clearing_price | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
protocol_authority | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
issuer_allowlist | false | false | false | — | "allow", account:series.issuer | — |
merces_registry: mark_mint_finalized
Discriminator: 0x636f8450f02385b6.
Mint finalised: every bid of a Settled or Failed raise processed and the mint authority
revoked (a failed raise finalises an empty mint, so nothing can ever be minted for it).
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
protocol_authority | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
merces_registry: mark_raise_opened
Discriminator: 0xf0bda85862e5fca4.
Draft → Open. Also enforces the D1 gate: contract hash set, issuer allowlisted, raises not
paused. Records the unit mint and the protocol's unit escrow ATAs for the hook.
Arguments
Name | Type |
|---|
unit_mint | Pubkey |
opened_at | u64 |
auction_escrow_ata | Pubkey |
window_escrow_ata | Pubkey |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
protocol_authority | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
issuer_allowlist | false | false | false | — | "allow", account:series.issuer | — |
merces_registry: mark_raise_result
Discriminator: 0xd5382326089255b3.
Records the raise outcome, exact and written once (SPEC §3.2).
Arguments
Name | Type |
|---|
state | u8 |
settlement_ts | u64 |
units_sold | u64 |
clearing_price | u64 |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
protocol_authority | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
merces_registry: mark_terminal
Discriminator: 0x7c78f7ad0e578467.
Terminal status mirror: Retired / Redeemed / Extinguished. Extinguished may follow Retired
or Redeemed (SPEC §6.9: allowed in every status but Extinguished).
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
protocol_authority | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
merces_registry: register_attestor
Discriminator: 0x44c956f433710f5e.
Registers (or re-activates) an attestor key.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | true | true | false | — | — | — |
attestor | true | false | false | — | "attestor", arg:addr | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: register_issuer
Discriminator: 0x9175343bbd1b7f12.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
admin | true | true | false | — | — | — |
issuer | true | false | false | — | "issuer", arg:wallet | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: register_verifier_key
Discriminator: 0x80fc951c405784b2.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | true | true | false | — | — | — |
verifier | true | false | false | — | "verifier", arg:addr | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: resume_issuance
Discriminator: 0xe10ad2de30200b92.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer_wallet | false | true | false | — | — | — |
issuer | true | false | false | — | "issuer", account:issuer_wallet | — |
merces_registry: revoke_attestor
Discriminator: 0xb90cbf8c9070669a.
Forward-only revocation (SPEC §1.4): records `revoked_at`; refused for the last active key.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
attestor | true | false | false | — | "attestor", arg:addr | — |
merces_registry: revoke_verifier_key
Discriminator: 0x26a20cf034fa22a1.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
verifier | true | false | false | — | "verifier", arg:addr | — |
merces_registry: set_allowed
Discriminator: 0xac8685800cfe8670.
Arguments
Name | Type |
|---|
wallet | Pubkey |
allowed | bool |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
allowlist_manager | true | true | false | — | — | — |
entry | true | false | false | — | "allow", arg:wallet | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: set_allowlist_manager
Discriminator: 0xe05e05bf03de5479.
Arguments
Name | Type |
|---|
new_manager | Pubkey |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: set_contract_hash
Discriminator: 0x019f0890488fb57b.
Draft only, non-zero (SPEC §3.2).
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer_wallet | false | true | false | — | — | — |
series | true | false | false | — | "series", account:series.series_id | — |
merces_registry: set_defaults
Discriminator: 0x3ab599318c10cdfb.
Edits the defaults for *future* series only (bounds-checked).
Arguments
Name | Type |
|---|
defaults | ParametersData |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: set_early_draw_approver
Discriminator: 0x133fef64e0df082a.
`Pubkey::default()` unsets the approver (early draws off).
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: set_fee_collector
Discriminator: 0x8f2e0a71799df5a6.
Arguments
Name | Type |
|---|
new_collector | Pubkey |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: set_flags
Discriminator: 0xc7366f7c572fd9c6.
Arguments
Name | Type |
|---|
new_raises_paused | bool |
windows_enabled | bool |
tier4_enabled | bool |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: set_fx_crosscheck
Discriminator: 0xa095ca290225dccf.
Changes a pair's cross-check feed (SPEC §3.1). Setting it from zero applies from the current
period (nothing was checked before); any later change — a new feed or removal — applies from
`period_of(now) + 1`, and the feed in force for the running period is kept in
`prev_crosscheck`, so a live quarter's rule never changes under an issuer.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
fx_pair | true | false | false | — | "fx", account:fx_pair.pair_id | — |
merces_registry: set_fx_pair
Discriminator: 0x81a0863a5369f3ad.
Registers an FX pair, write-once (SPEC §3.1): `pair_id = keccak256(feed_id ‖ inverted)`
commits to the feed and its direction, and a pair can never be re-registered
(`FxPairImmutable`). A cross-check feed given here applies from the current period; later
changes go through `set_fx_crosscheck`. `enabled` only gates new series.
Arguments
Name | Type |
|---|
pair_id | [u8; 32] |
feed_id | [u8; 32] |
inverted | bool |
crosscheck | Pubkey |
enabled | bool |
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
admin | true | true | false | — | — | — |
fx_pair | true | false | false | — | "fx", arg:pair_id | — |
system_program | false | false | false | 11111111111111111111111111111111 | — | — |
merces_registry: set_fx_pair_enabled
Discriminator: 0x6404d2e4e402bf69.
Enables or disables an existing pair (`enabled = false` only stops new series from
referencing it; live series keep their pair, SPEC §3.1).
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | false | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
fx_pair | true | false | false | — | "fx", account:fx_pair.pair_id | — |
merces_registry: stop_issuance
Discriminator: 0x7b0a862c3179a865.
Arguments
No fields.
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
issuer_wallet | false | true | false | — | — | — |
issuer | true | false | false | — | "issuer", account:issuer_wallet | — |
merces_registry: transfer_admin
Discriminator: 0x2af2426ae40a6f9c.
Arguments
Accounts
Account | Writable | Signer | Optional | Fixed address | PDA seeds | PDA program seed |
|---|
config | true | false | false | — | "config" | — |
admin | false | true | false | — | — | — |
merces_registry: account layouts
Account type |
|---|
AllowlistEntry |
AttestorKey |
FxPairConfig |
Issuer |
ProtocolConfig |
Series |
VerifierKey |
merces_registry: AdminTransferStarted
Name | Type |
|---|
admin | Pubkey |
pending_admin | Pubkey |
merces_registry: AdminTransferred
Name | Type |
|---|
old_admin | Pubkey |
new_admin | Pubkey |
merces_registry: AllowlistEntry
Allowlist entry (`[ALLOW, wallet]`). A missing account means "never allowlisted".
Name | Type |
|---|
wallet | Pubkey |
allowed | bool |
updated_at | i64 |
bump | u8 |
merces_registry: AllowlistManagerSet
Name | Type |
|---|
allowlist_manager | Pubkey |
merces_registry: AllowlistUpdated
Name | Type |
|---|
wallet | Pubkey |
allowed | bool |
merces_registry: AttestorKey
Attestor key (`[ATTESTOR, addr20]`). `revoked_at == 0` while active (SPEC §1.4).
Name | Type |
|---|
addr | [u8; 20] |
active | bool |
revoked_at | u64 |
bump | u8 |
merces_registry: AttestorRegistered
merces_registry: AttestorRevoked
Name | Type |
|---|
addr | [u8; 20] |
revoked_at | u64 |
merces_registry: ContractHashSet
Name | Type |
|---|
series | Pubkey |
hash | [u8; 32] |
merces_registry: CreateSeriesArgs
Arguments to `create_series`. Fees, FX bounds and pause bounds are copied from
`ProtocolConfig.defaults`; everything here is issuer-chosen within the §1.6 bounds.
Name | Type |
|---|
units_offered | u64 |
reserve_price | u64 |
min_raise | u64 |
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
release_schedule | Vec<TrancheData> |
terms_commitment | [u8; 32] |
tier_flags | u8 |
fx_pair_id | [u8; 32] |
mode | u8 |
issuer_accepts_public_price | bool |
metadata_uri | String |
tier1_terms | Option<Tier1Terms> |
merces_registry: CurveActivated
Name | Type |
|---|
series | Pubkey |
dbc_config | Pubkey |
dbc_pool | Pubkey |
base_mint | Pubkey |
dbc_creator | Pubkey |
units_sold | u64 |
clearing_price | u64 |
merces_registry: DefaultsSet
Name | Type |
|---|
defaults | ParametersData |
merces_registry: EarlyDrawApproverSet
merces_registry: FeeCollectorSet
Name | Type |
|---|
fee_collector | Pubkey |
merces_registry: FlagsSet
Name | Type |
|---|
new_raises_paused | bool |
windows_enabled | bool |
tier4_enabled | bool |
merces_registry: FxPairConfig
FX pair configuration (`[FX, pair_id]`), `pair_id = keccak256(feed_id ‖ inverted_u8)`.
Name | Type |
|---|
pair_id | [u8; 32] |
feed_id | [u8; 32] |
inverted | bool |
crosscheck | Pubkey |
crosscheck_effective_period | u32 |
prev_crosscheck | Pubkey |
enabled | bool |
bump | u8 |
merces_registry: FxPairSet
Name | Type |
|---|
pair_id | [u8; 32] |
feed_id | [u8; 32] |
inverted | bool |
crosscheck | Pubkey |
crosscheck_effective_period | u32 |
enabled | bool |
merces_registry: InitProtocolArgs
Arguments to `init_protocol`.
Name | Type |
|---|
admin | Pubkey |
allowlist_manager | Pubkey |
fee_collector | Pubkey |
chain_id | u64 |
defaults | ParametersData |
protocol_program | Pubkey |
curve_quote_mint | Pubkey |
merces_registry: IssuanceResumed
merces_registry: IssuanceStopped
merces_registry: Issuer
Issuer record (`[ISSUER, wallet]`).
Name | Type |
|---|
wallet | Pubkey |
active | bool |
issuance_stopped | bool |
series_count | u32 |
bump | u8 |
merces_registry: IssuerDeactivated
merces_registry: IssuerRegistered
merces_registry: MintFinalized
merces_registry: ParametersData
Borsh-serialisable mirror of [`Parameters`].
Name | Type |
|---|
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
fx_max_staleness_seconds | u64 |
fx_max_conf_bps | u16 |
fx_deviation_band_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
merces_registry: ProtocolConfig
Global protocol configuration, one per deployment (`[CONFIG]`).
Name | Type |
|---|
admin | Pubkey |
pending_admin | Pubkey |
allowlist_manager | Pubkey |
fee_collector | Pubkey |
domain | [u8; 32] |
chain_id | u64 |
new_raises_paused | bool |
windows_enabled | bool |
tier4_enabled | bool |
early_draw_approver | Pubkey |
defaults | ParametersData |
protocol_program | Pubkey |
protocol_authority | Pubkey |
series_count | u64 |
attestor_count | u32 |
verifier_count | u32 |
curve_quote_mint | Pubkey |
bump | u8 |
merces_registry: ProtocolInitialized
Name | Type |
|---|
admin | Pubkey |
allowlist_manager | Pubkey |
fee_collector | Pubkey |
chain_id | u64 |
domain | [u8; 32] |
protocol_program | Pubkey |
protocol_authority | Pubkey |
merces_registry: RaiseStateChanged
Name | Type |
|---|
series | Pubkey |
state | u8 |
merces_registry: Series
One raise by one issuer (`[SERIES, series_id_le]`). The charter block is frozen once
`raise_state != Draft` (SPEC §3.3).
Name | Type |
|---|
series_id | u64 |
issuer | Pubkey |
mode | u8 |
stablecoin | Pubkey |
stablecoin_decimals | u8 |
stablecoin_program | Pubkey |
unit_mint | Pubkey |
units_offered | u64 |
reserve_price | u64 |
min_raise | u64 |
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
payout_multiple_k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
commit_duration | u64 |
reveal_duration | u64 |
window_commit_duration | u64 |
window_reveal_duration | u64 |
fx_min_coverage_bps | u16 |
max_pause_seconds | u64 |
max_cumulative_pause_seconds | u64 |
release_schedule | Vec<TrancheData> |
contract_hash | [u8; 32] |
tier_flags | u8 |
fx_pair_id | [u8; 32] |
issuer_accepts_public_price | bool |
metadata_uri | String |
router_theta | u64 |
router_r_wad | u64 |
terms_commitment | [u8; 32] |
amendment_nonce | u64 |
raise_state | u8 |
opened_at | u64 |
settlement_ts | u64 |
units_sold | u64 |
clearing_price | u64 |
mint_finalized | bool |
terminal_status | u8 |
auction_escrow_ata | Pubkey |
window_escrow_ata | Pubkey |
dbc_config | Pubkey |
dbc_pool | Pubkey |
base_mint | Pubkey |
dbc_creator | Pubkey |
bump | u8 |
merces_registry: SeriesCreated
Name | Type |
|---|
series | Pubkey |
series_id | u64 |
issuer | Pubkey |
mode | u8 |
stablecoin | Pubkey |
units_offered | u64 |
reserve_price | u64 |
min_raise | u64 |
cap_multiple_wad | u64 |
hurdle_rate_wad | u64 |
k | u16 |
lockup_seconds | u64 |
wallet_cap_bps | u16 |
auction_fee_bps | u16 |
payout_fee_bps | u16 |
window_fee_bps | u16 |
non_reveal_charge_bps | u16 |
terms_commitment | [u8; 32] |
tier_flags | u8 |
fx_pair_id | [u8; 32] |
merces_registry: TerminalStatusSet
Name | Type |
|---|
series | Pubkey |
status | u8 |
merces_registry: TermsAmended
Name | Type |
|---|
series | Pubkey |
nonce | u64 |
new_terms_commitment | [u8; 32] |
new_cap_multiple_wad | u64 |
attestor | [u8; 20] |
merces_registry: Tier1Terms
Plaintext tier-1 terms (public by the issuer's choice, SPEC §6.5); checked against
`terms_commitment` with Poseidon(5) at series creation.
Name | Type |
|---|
theta | u64 |
r_wad | u64 |
currency_code | u32 |
indexing_rule | u32 |
terms_salt | [u8; 32] |
merces_registry: TrancheData
Borsh-serialisable mirror of [`Tranche`].
Name | Type |
|---|
at_offset_seconds | u64 |
bps | u16 |
merces_registry: VerifierKey
Report-verifier key (`[VERIFIER, addr20]`).
Name | Type |
|---|
addr | [u8; 20] |
active | bool |
revoked_at | u64 |
bump | u8 |
merces_registry: VerifierKeyRegistered
merces_registry: VerifierKeyRevoked
Name | Type |
|---|
addr | [u8; 20] |
revoked_at | u64 |
What can go wrong
These tables describe the checked source. Generated interfaces do not establish that a deployment exists or that a transaction is appropriate. Source discrepancies and unresolved product decisions still require review before using funds.