@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
449 lines (448 loc) • 16.5 kB
JSON
{
"contractName": "GenericTraderProxyV1",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "_expiry",
"type": "address"
},
{
"internalType": "address",
"name": "_eventEmitterRegistry",
"type": "address"
},
{
"internalType": "address",
"name": "_dolomiteMargin",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"constant": true,
"inputs": [],
"name": "DOLOMITE_MARGIN",
"outputs": [
{
"internalType": "contract IDolomiteMargin",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "EVENT_EMITTER_REGISTRY",
"outputs": [
{
"internalType": "contract IEventEmitterRegistry",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "EXPIRY",
"outputs": [
{
"internalType": "contract IExpiry",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "chainId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "contract IDolomiteMargin",
"name": "_dolomiteMargin",
"type": "address"
},
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
}
],
"name": "isIsolationModeMarket",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_eventEmitterRegistry",
"type": "address"
}
],
"name": "ownerSetEventEmitterRegistry",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_tradeAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "_marketIdsPath",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "_inputAmountWei",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_minOutputAmountWei",
"type": "uint256"
},
{
"components": [
{
"internalType": "enum IGenericTraderProxyBase.TraderType",
"name": "traderType",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "makerAccountIndex",
"type": "uint256"
},
{
"internalType": "address",
"name": "trader",
"type": "address"
},
{
"internalType": "bytes",
"name": "tradeData",
"type": "bytes"
}
],
"internalType": "struct IGenericTraderProxyBase.TraderParam[]",
"name": "_tradersPath",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"internalType": "struct Account.Info[]",
"name": "_makerAccounts",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "balanceCheckFlag",
"type": "uint8"
},
{
"internalType": "enum IGenericTraderProxyV1.EventEmissionType",
"name": "eventType",
"type": "uint8"
}
],
"internalType": "struct IGenericTraderProxyV1.UserConfig",
"name": "_userConfig",
"type": "tuple"
}
],
"name": "swapExactInputForOutput",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_tradeAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "_marketIdsPath",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "_inputAmountWei",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_minOutputAmountWei",
"type": "uint256"
},
{
"components": [
{
"internalType": "enum IGenericTraderProxyBase.TraderType",
"name": "traderType",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "makerAccountIndex",
"type": "uint256"
},
{
"internalType": "address",
"name": "trader",
"type": "address"
},
{
"internalType": "bytes",
"name": "tradeData",
"type": "bytes"
}
],
"internalType": "struct IGenericTraderProxyBase.TraderParam[]",
"name": "_tradersPath",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
}
],
"internalType": "struct Account.Info[]",
"name": "_makerAccounts",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint256",
"name": "fromAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "toAccountNumber",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amountWei",
"type": "uint256"
}
],
"internalType": "struct IGenericTraderProxyV1.TransferAmount[]",
"name": "transferAmounts",
"type": "tuple[]"
}
],
"internalType": "struct IGenericTraderProxyV1.TransferCollateralParam",
"name": "_transferCollateralParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "marketId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "expiryTimeDelta",
"type": "uint32"
}
],
"internalType": "struct IGenericTraderProxyV1.ExpiryParam",
"name": "_expiryParams",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "balanceCheckFlag",
"type": "uint8"
},
{
"internalType": "enum IGenericTraderProxyV1.EventEmissionType",
"name": "eventType",
"type": "uint8"
}
],
"internalType": "struct IGenericTraderProxyV1.UserConfig",
"name": "_userConfig",
"type": "tuple"
}
],
"name": "swapExactInputForOutputAndModifyPosition",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"networks": {
"1": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0xc387cd4c2fafc7f49a6e2e26e29948c175c038bb7da0d664fbd2c1381d2765bc"
},
"196": {
"links": {
"GenericTraderProxyV1Lib": "0x76C23dcCd11b48e7202e11263Ad0ab4da0E729Cc"
},
"address": "0xBF3179aD5339dCb6BD741Bc08c3011FAda586075",
"transactionHash": "0x61741b6f7d0557daebad93e405001a7c73d8de110078dff564587be15f4a3c23"
},
"1101": {
"links": {
"GenericTraderProxyV1Lib": "0xE9892894E6c7d0947ABb8CD3dDC84c42E9222883"
},
"address": "0x88a6d8E6fFdb145A8719d43E6FD48F3383745866",
"transactionHash": "0xc1949efc580437b98b78e7e9365c2f7195b23c07c1a7b6b57e239b1d08d3d522"
},
"3637": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0x2dde50667b3bb1dcb2150e9d31da458eb2cfa1146dbdbb726024e86c9c60f309"
},
"5000": {
"links": {
"GenericTraderProxyV1Lib": "0x6727fe07ff5dCE46F34D20FB1f9D62EDDA73cFdc"
},
"address": "0xd432C30de38b5d6F30257a353ED853503ed2edab",
"transactionHash": "0xe0aa3f7707fd910cfc76324807dfa753e160820bb9d0dca6a16fb48e0031d35b"
},
"5330": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0x81ddc05f22f531775d6646b530dbc6a4ed40fd42b235f1bb3719dc16c3ec1ff4"
},
"8453": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0x8f40aaeb5b4a6b52b18a0b95c29061c0e35e62c7c3383c508c3fb11067231cd3"
},
"42161": {
"links": {
"GenericTraderProxyV1Lib": "0x5477F499F1273a89041527e7a1e76184D857dF68"
},
"address": "0x26cB28C95C964b75fE6E118E267e6f17908a7F7C",
"transactionHash": "0x599e7fd2b214e6abe019e2fb8b81a44e491b760edaa120aa70e3a8600341f827"
},
"57073": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0x954b3703be1c4252466eeabf59f6666dcaa4ff3e6d760ba0bf79954db22fb115"
},
"80094": {
"links": {
"GenericTraderProxyV1Lib": "0x79A26AC69533Cd29544a8c0C53363e2D9392e2D0"
},
"address": "0xb50BcDFC914e0AfB484Dee621F49010862Fb928d",
"transactionHash": "0x44b4d1db0629cb134316a1a7448f4b275236d0038deeb192146372ad48b21474"
}
}
}