@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
JSON
{
"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": [
{