test-contracts-sovryn
Version:
Smart contracts for the Sovryn protocol and external integrations.
640 lines (639 loc) • 16.1 kB
JSON
[
{
"inputs": [
{
"internalType": "address",
"name": "_wrbtcTokenAddress",
"type": "address"
},
{
"internalType": "address",
"name": "_protocolTokenAddress",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "isPaused",
"type": "bool"
}
],
"name": "GlobalPricingPaused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "amountInEth",
"outputs": [
{
"internalType": "uint256",
"name": "ethAmount",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "baseToken",
"outputs": [
{
"internalType": "contract IWrbtcERC20",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "sourceToken",
"type": "address"
},
{
"internalType": "address",
"name": "destToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "sourceAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "destAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxSlippage",
"type": "uint256"
}
],
"name": "checkPriceDisagreement",
"outputs": [
{
"internalType": "uint256",
"name": "sourceToDestSwapRate",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "decimals",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"internalType": "address",
"name": "collateralToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralAmount",
"type": "uint256"
}
],
"name": "getCurrentMargin",
"outputs": [
{
"internalType": "uint256",
"name": "currentMargin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralToLoanRate",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"internalType": "address",
"name": "collateralToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralAmount",
"type": "uint256"
}
],
"name": "getCurrentMarginAndCollateralSize",
"outputs": [
{
"internalType": "uint256",
"name": "currentMargin",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralInEthAmount",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"internalType": "address",
"name": "collateralToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "margin",
"type": "uint256"
}
],
"name": "getMaxDrawdown",
"outputs": [
{
"internalType": "uint256",
"name": "maxDrawdown",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "globalPricingPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "pricesFeeds",
"outputs": [
{
"internalType": "contract IPriceFeedsExt",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "protocolTokenEthPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "sourceToken",
"type": "address"
},
{
"internalType": "address",
"name": "destToken",
"type": "address"
}
],
"name": "queryPrecision",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "sourceToken",
"type": "address"
},
{
"internalType": "address",
"name": "destToken",
"type": "address"
}
],
"name": "queryRate",
"outputs": [
{
"internalType": "uint256",
"name": "rate",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "precision",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "sourceToken",
"type": "address"
},
{
"internalType": "address",
"name": "destToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "sourceAmount",
"type": "uint256"
}
],
"name": "queryReturn",
"outputs": [
{
"internalType": "uint256",
"name": "destAmount",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "rates",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "contract IERC20[]",
"name": "tokens",
"type": "address[]"
}
],
"name": "setDecimals",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bool",
"name": "isPaused",
"type": "bool"
}
],
"name": "setGlobalPricingPaused",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
},
{
"internalType": "contract IPriceFeedsExt[]",
"name": "feeds",
"type": "address[]"
}
],
"name": "setPriceFeed",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "newPrice",
"type": "uint256"
}
],
"name": "setProtocolTokenEthPrice",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "sourceToken",
"type": "address"
},
{
"internalType": "address",
"name": "destToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "rate",
"type": "uint256"
}
],
"name": "setRates",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "loanToken",
"type": "address"
},
{
"internalType": "address",
"name": "collateralToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "loanAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateralAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maintenanceMargin",
"type": "uint256"
}
],
"name": "shouldLiquidate",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "wrbtcToken",
"outputs": [
{
"internalType": "contract IWrbtcERC20",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]