{
    "contractName": "P1SoloBridgeProxy",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "soloMargin",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "chainId",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "bytes32",
                    "name": "transferHash",
                    "type": "bytes32"
                }
            ],
            "name": "LogSignatureInvalidated",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "address",
                    "name": "perpetual",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "soloAccountNumber",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "soloMarketId",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bool",
                    "name": "toPerpetual",
                    "type": "bool"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "LogTransferred",
            "type": "event"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "_EIP712_DOMAIN_HASH_",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "name": "_SIGNATURE_USED_",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "_SOLO_MARGIN_",
            "outputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "address",
                    "name": "perpetual",
                    "type": "address"
                }
            ],
            "name": "approveMaximumOnPerpetual",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "soloMarketId",
                    "type": "uint256"
                }
            ],
            "name": "approveMaximumOnSolo",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "account",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "perpetual",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "soloAccountNumber",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "soloMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "options",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct P1SoloBridgeProxy.Transfer",
                    "name": "transfer",
                    "type": "tuple"
                },
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "r",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "s",
                            "type": "bytes32"
                        },
                        {
                            "internalType": "bytes2",
                            "name": "vType",
                            "type": "bytes2"
                        }
                    ],
                    "internalType": "struct TypedSignature.Signature",
                    "name": "signature",
                    "type": "tuple"
                }
            ],
            "name": "bridgeTransfer",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "components": [
                        {
                            "internalType": "address",
                            "name": "account",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "perpetual",
                            "type": "address"
                        },
                        {
                            "internalType": "uint256",
                            "name": "soloAccountNumber",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "soloMarketId",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "amount",
                            "type": "uint256"
                        },
                        {
                            "internalType": "bytes32",
                            "name": "options",
                            "type": "bytes32"
                        }
                    ],
                    "internalType": "struct P1SoloBridgeProxy.Transfer",
                    "name": "transfer",
                    "type": "tuple"
                }
            ],
            "name": "invalidateSignature",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "networks": {
        "PBTC-USDC": {},
        "WETH-PUSD": {},
        "PLINK-USDC": {}
    }
}