UNPKG

@pushchain/core

Version:

Push Chain is a true universal L1 that is 100% EVM compatible. It allows developers to deploy once and make their apps instantly compatible with users from all other L1s (Ethereum, Solana, etc) with zero on-chain code change.

1,665 lines (1,664 loc) 77.7 kB
{ "address": "CFVSincHYbETh2k7w6u1ENEkjbSLtveRCEBupKidw2VS", "metadata": { "name": "pushsolanagateway", "version": "0.1.0", "spec": "0.1.0", "description": "Push Solana Gateway - Universal Gateway for Solana" }, "instructions": [ { "name": "add_funds", "docs": [ "@notice Legacy-compatible add funds event for offchain relayers (pushsolanalocker)" ], "discriminator": [ 132, 237, 76, 57, 80, 10, 179, 138 ], "accounts": [ { "name": "config", "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "user", "writable": true, "signer": true }, { "name": "price_update" }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "transaction_hash", "type": { "array": [ "u8", 32 ] } } ] }, { "name": "get_sol_price", "docs": [ "@notice View function for SOL price (locker-compatible)", "@dev Anyone can fetch SOL price in USD" ], "discriminator": [ 230, 145, 206, 175, 43, 184, 97, 110 ], "accounts": [ { "name": "price_update" } ], "args": [], "returns": { "defined": { "name": "PriceData" } } }, { "name": "init_tss", "discriminator": [ 47, 31, 100, 111, 115, 2, 22, 208 ], "accounts": [ { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "authority", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "tss_eth_address", "type": { "array": [ "u8", 20 ] } }, { "name": "chain_id", "type": "u64" } ] }, { "name": "initialize", "docs": [ "@notice Initialize the gateway" ], "discriminator": [ 175, 175, 109, 31, 13, 152, 155, 237 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "admin", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "admin", "type": "pubkey" }, { "name": "pauser", "type": "pubkey" }, { "name": "tss", "type": "pubkey" }, { "name": "min_cap_usd", "type": "u128" }, { "name": "max_cap_usd", "type": "u128" }, { "name": "pyth_price_feed", "type": "pubkey" } ] }, { "name": "pause", "docs": [ "@notice Pause the gateway" ], "discriminator": [ 211, 22, 221, 251, 74, 121, 193, 47 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "pauser", "signer": true } ], "args": [] }, { "name": "remove_whitelist_token", "docs": [ "@notice Remove token from whitelist" ], "discriminator": [ 65, 182, 42, 255, 198, 163, 73, 46 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "whitelist", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 119, 104, 105, 116, 101, 108, 105, 115, 116 ] } ] } }, { "name": "admin", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "token", "type": "pubkey" } ] }, { "name": "reset_nonce", "discriminator": [ 104, 139, 110, 85, 234, 155, 132, 248 ], "accounts": [ { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "authority", "signer": true } ], "args": [ { "name": "new_nonce", "type": "u64" } ] }, { "name": "revert_withdraw", "docs": [ "@notice TSS-verified revert withdraw for SOL" ], "discriminator": [ 8, 232, 107, 216, 153, 25, 204, 116 ], "accounts": [ { "name": "config", "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "recipient", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } }, { "name": "signature", "type": { "array": [ "u8", 64 ] } }, { "name": "recovery_id", "type": "u8" }, { "name": "message_hash", "type": { "array": [ "u8", 32 ] } }, { "name": "nonce", "type": "u64" } ] }, { "name": "revert_withdraw_spl_token", "docs": [ "@notice TSS-verified revert withdraw for SPL tokens" ], "discriminator": [ 172, 155, 56, 3, 92, 190, 159, 191 ], "accounts": [ { "name": "config", "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "whitelist" }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "token_vault", "writable": true }, { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "recipient_token_account", "writable": true }, { "name": "token_mint" }, { "name": "token_program", "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } }, { "name": "signature", "type": { "array": [ "u8", 64 ] } }, { "name": "recovery_id", "type": "u8" }, { "name": "message_hash", "type": { "array": [ "u8", 32 ] } }, { "name": "nonce", "type": "u64" } ] }, { "name": "send_funds", "docs": [ "@notice Allows initiating a TX for movement of funds from source chain to Push Chain.", "@dev Supports both native SOL and SPL token deposits.", "The route emits TxWithFunds event." ], "discriminator": [ 84, 247, 211, 40, 63, 106, 15, 59 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "token_whitelist", "pda": { "seeds": [ { "kind": "const", "value": [ 119, 104, 105, 116, 101, 108, 105, 115, 116 ] } ] } }, { "name": "user_token_account", "writable": true }, { "name": "gateway_token_account", "writable": true }, { "name": "user", "writable": true, "signer": true }, { "name": "bridge_token" }, { "name": "token_program", "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "recipient", "type": "pubkey" }, { "name": "bridge_token", "type": "pubkey" }, { "name": "bridge_amount", "type": "u64" }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } } ] }, { "name": "send_funds_native", "docs": [ "@notice Allows initiating a TX for movement of native SOL from source chain to Push Chain." ], "discriminator": [ 245, 51, 222, 185, 98, 79, 40, 25 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "user", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "recipient", "type": "pubkey" }, { "name": "bridge_amount", "type": "u64" }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } } ] }, { "name": "send_tx_with_funds", "docs": [ "@notice Allows initiating a TX for movement of funds and payload from source chain to Push Chain.", "@dev Supports both native SOL and SPL token deposits with payload execution.", "The route emits both TxWithGas and TxWithFunds events." ], "discriminator": [ 224, 179, 202, 222, 121, 238, 38, 168 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "token_whitelist", "pda": { "seeds": [ { "kind": "const", "value": [ 119, 104, 105, 116, 101, 108, 105, 115, 116 ] } ] } }, { "name": "user_token_account", "writable": true }, { "name": "gateway_token_account", "writable": true }, { "name": "user", "writable": true, "signer": true }, { "name": "price_update" }, { "name": "bridge_token" }, { "name": "token_program", "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "bridge_token", "type": "pubkey" }, { "name": "bridge_amount", "type": "u64" }, { "name": "payload", "type": { "defined": { "name": "UniversalPayload" } } }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } }, { "name": "gas_amount", "type": "u64" }, { "name": "signature_data", "type": { "array": [ "u8", 32 ] } } ] }, { "name": "send_tx_with_gas", "docs": [ "@notice Allows initiating a TX for funding UEA with gas deposits from source chain.", "@dev Supports only native SOL deposits for gas funding.", "The route emits TxWithGas event - important for Instant TX Route." ], "discriminator": [ 220, 10, 179, 127, 41, 153, 193, 213 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "user", "writable": true, "signer": true }, { "name": "price_update" }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "payload", "type": { "defined": { "name": "UniversalPayload" } } }, { "name": "revert_cfg", "type": { "defined": { "name": "RevertSettings" } } }, { "name": "amount", "type": "u64" } ] }, { "name": "set_caps_usd", "docs": [ "@notice Set USD caps" ], "discriminator": [ 136, 160, 17, 54, 239, 108, 125, 129 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "admin", "signer": true } ], "args": [ { "name": "min_cap", "type": "u128" }, { "name": "max_cap", "type": "u128" } ] }, { "name": "set_pyth_confidence_threshold", "docs": [ "@notice Set Pyth confidence threshold" ], "discriminator": [ 213, 69, 242, 123, 122, 165, 125, 21 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "admin", "signer": true } ], "args": [ { "name": "threshold", "type": "u64" } ] }, { "name": "set_pyth_price_feed", "docs": [ "@notice Set Pyth price feed" ], "discriminator": [ 202, 185, 109, 150, 255, 130, 210, 208 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "admin", "signer": true } ], "args": [ { "name": "price_feed", "type": "pubkey" } ] }, { "name": "set_tss_address", "docs": [ "@notice Set TSS address" ], "discriminator": [ 158, 254, 147, 0, 154, 3, 56, 50 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "admin", "signer": true } ], "args": [ { "name": "new_tss", "type": "pubkey" } ] }, { "name": "unpause", "docs": [ "@notice Unpause the gateway" ], "discriminator": [ 169, 144, 4, 38, 10, 141, 188, 255 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "pauser", "signer": true } ], "args": [] }, { "name": "update_tss", "discriminator": [ 227, 136, 3, 242, 177, 168, 10, 160 ], "accounts": [ { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "authority", "signer": true } ], "args": [ { "name": "tss_eth_address", "type": { "array": [ "u8", 20 ] } }, { "name": "chain_id", "type": "u64" } ] }, { "name": "whitelist_token", "docs": [ "@notice Whitelist a token" ], "discriminator": [ 6, 141, 83, 167, 31, 6, 2, 224 ], "accounts": [ { "name": "config", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "whitelist", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 119, 104, 105, 116, 101, 108, 105, 115, 116 ] } ] } }, { "name": "admin", "writable": true, "signer": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ { "name": "token", "type": "pubkey" } ] }, { "name": "withdraw_spl_token_tss", "docs": [ "@notice TSS-verified withdraw of SPL tokens" ], "discriminator": [ 238, 209, 47, 229, 44, 234, 138, 198 ], "accounts": [ { "name": "config", "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "whitelist" }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "token_vault", "writable": true }, { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "recipient_token_account", "writable": true }, { "name": "token_mint" }, { "name": "token_program", "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" } ], "args": [ { "name": "amount", "type": "u64" }, { "name": "signature", "type": { "array": [ "u8", 64 ] } }, { "name": "recovery_id", "type": "u8" }, { "name": "message_hash", "type": { "array": [ "u8", 32 ] } }, { "name": "nonce", "type": "u64" } ] }, { "name": "withdraw_tss", "docs": [ "@notice TSS-verified withdraw of native SOL" ], "discriminator": [ 112, 51, 93, 250, 136, 175, 118, 100 ], "accounts": [ { "name": "config", "pda": { "seeds": [ { "kind": "const", "value": [ 99, 111, 110, 102, 105, 103 ] } ] } }, { "name": "vault", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 118, 97, 117, 108, 116 ] } ] } }, { "name": "tss_pda", "writable": true, "pda": { "seeds": [ { "kind": "const", "value": [ 116, 115, 115 ] } ] } }, { "name": "recipient", "writable": true }, { "name": "system_program", "address": "11111111111111111111111111111111" } ], "args": [ {