@dolomite-exchange/dolomite-margin
Version:
Ethereum Smart Contracts and TypeScript library used for the DolomiteMargin trading protocol
750 lines • 137 kB
JSON
{
"contractName": "IDepositWithdrawalProxy",
"abi": [
{
"constant": false,
"inputs": [
{
"internalType": "address payable",
"name": "_payableToken",
"type": "address"
}
],
"name": "initializePayableMarket",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_toAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
}
],
"name": "depositWei",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_toAccountNumber",
"type": "uint256"
}
],
"name": "depositPayable",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
}
],
"name": "depositWeiIntoDefaultAccount",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "depositPayableIntoDefaultAccount",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_fromAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawWei",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_fromAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawPayable",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawWeiFromDefaultAccount",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_amountWei",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawPayableFromDefaultAccount",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_toAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountPar",
"type": "uint256"
}
],
"name": "depositPar",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountPar",
"type": "uint256"
}
],
"name": "depositParIntoDefaultAccount",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_fromAccountNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountPar",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawPar",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "uint256",
"name": "_marketId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_amountPar",
"type": "uint256"
},
{
"internalType": "enum AccountBalanceLib.BalanceCheckFlag",
"name": "_balanceCheckFlag",
"type": "uint8"
}
],
"name": "withdrawParFromDefaultAccount",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_toAccountNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountPar\",\"type\":\"uint256\"}],\"name\":\"depositPar\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountPar\",\"type\":\"uint256\"}],\"name\":\"depositParIntoDefaultAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_toAccountNumber\",\"type\":\"uint256\"}],\"name\":\"depositPayable\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"depositPayableIntoDefaultAccount\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_toAccountNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"}],\"name\":\"depositWei\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"}],\"name\":\"depositWeiIntoDefaultAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_payableToken\",\"type\":\"address\"}],\"name\":\"initializePayableMarket\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fromAccountNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountPar\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawPar\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountPar\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawParFromDefaultAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fromAccountNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawPayable\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawPayableFromDefaultAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_fromAccountNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawWei\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_marketId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountWei\",\"type\":\"uint256\"},{\"internalType\":\"enum AccountBalanceLib.BalanceCheckFlag\",\"name\":\"_balanceCheckFlag\",\"type\":\"uint8\"}],\"name\":\"withdrawWeiFromDefaultAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"depositPar(uint256,uint256,uint256)\":{\"params\":{\"_amountPar\":\"The amount, in Par, to deposit.\",\"_marketId\":\"The ID of the market being deposited\",\"_toAccountNumber\":\"The account number into which `msg.sender` will be depositing\"}},\"depositParIntoDefaultAccount(uint256,uint256)\":{\"details\":\"Same as `depositPar` but defaults to account number 0 to save additional call data\",\"params\":{\"_amountPar\":\"The amount, in Par, to deposit.\",\"_marketId\":\"The ID of the market being deposited\"}},\"depositPayable(uint256)\":{\"params\":{\"_toAccountNumber\":\"The account number into which `msg.sender` will be depositing\"}},\"depositWei(uint256,uint256,uint256)\":{\"params\":{\"_amountWei\":\"The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance\",\"_marketId\":\"The ID of the market being deposited\",\"_toAccountNumber\":\"The account number into which `msg.sender` will be depositing\"}},\"depositWeiIntoDefaultAccount(uint256,uint256)\":{\"details\":\"Same as `depositWei` but defaults to account number 0 to save additional call data\",\"params\":{\"_amountWei\":\"The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance\",\"_marketId\":\"The ID of the market being deposited\"}},\"initializePayableMarket(address)\":{\"params\":{\"_payableToken\":\"The wrapped payable token of the network. For example, WETH on Arbitrum.\"}},\"withdrawPar(uint256,uint256,uint256,uint8)\":{\"params\":{\"_amountPar\":\"The amount, in Par, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\",\"_fromAccountNumber\":\"The account number from which `msg.sender` will be withdrawing\",\"_marketId\":\"The ID of the market being withdrawn\"}},\"withdrawParFromDefaultAccount(uint256,uint256,uint8)\":{\"details\":\"Same as `withdrawPar` but defaults to account number 0 to save additional call data\",\"params\":{\"_amountPar\":\"The amount, in Par, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\",\"_marketId\":\"The ID of the market being withdrawn\"}},\"withdrawPayable(uint256,uint256,uint8)\":{\"params\":{\"_amountWei\":\"The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance.\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\",\"_fromAccountNumber\":\"The account number from which `msg.sender` will be withdrawing\"}},\"withdrawPayableFromDefaultAccount(uint256,uint8)\":{\"params\":{\"_amountWei\":\"The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\"}},\"withdrawWei(uint256,uint256,uint256,uint8)\":{\"params\":{\"_amountWei\":\"The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\",\"_fromAccountNumber\":\"The account number from which `msg.sender` will be withdrawing\",\"_marketId\":\"The ID of the market being withdrawn\"}},\"withdrawWeiFromDefaultAccount(uint256,uint256,uint8)\":{\"details\":\"Same as `withdrawWei` but defaults to account number 0 to save additional call data\",\"params\":{\"_amountWei\":\"The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\",\"_balanceCheckFlag\":\"Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber` balance is non-negative after the withdrawal settles.\",\"_marketId\":\"The ID of the market being withdrawn\"}}}},\"userdoc\":{\"methods\":{\"depositPayable(uint256)\":{\"notice\":\"Same as `depositWei` but converts the `msg.sender`'s sent Payable Currency into Wrapped Payable Token before depositing into `DolomiteMargin`.\"},\"depositPayableIntoDefaultAccount()\":{\"notice\":\"Same as `depositWeiIntoDefaultAccount` but converts the `msg.sender`'s sent Payable Currency into wrapped Payable Token before depositing into `DolomiteMargin`.\"},\"withdrawPayable(uint256,uint256,uint8)\":{\"notice\":\"Same as `withdrawWei` but for withdrawing the Payable Token of the network. The user will receive unwrapped Payable Token from DolomiteMargin.\"},\"withdrawPayableFromDefaultAccount(uint256,uint8)\":{\"notice\":\"Same as `withdrawWeiFromDefaultAccount` but for withdrawing the Payable Token for the network. The user will receive unwrapped Payable Token from DolomiteMargin.\"}}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IDepositWithdrawalProxy.sol\":\"IDepositWithdrawalProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IDepositWithdrawalProxy.sol\":{\"keccak256\":\"0x3602a42de25e379b39e1d4d1fbe5b65ffbbf119c8657350189e627bbcab6bbfd\",\"urls\":[\"bzz-raw://d2e4c68fe59712bd13ebb64e600035c7da3cbfb76d1600892ee6e5cf16900421\",\"dweb:/ipfs/QmYFTa5BTJtVMg7QCtXtRxm2aD1cK6bA2pCpUghahNUGz9\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol\":{\"keccak256\":\"0x76fd16d615fe7cfceaf775b4e6524fd0462606c802b082498c768a7a4ca01a20\",\"urls\":[\"bzz-raw://56068145e300cde1c77c22e38cb753378abf2f0d4613dcb203e33ff101f169e2\",\"dweb:/ipfs/QmXvMzr9n7vzMHdUPgnc58KX4mrbQAqkq4kDETaj5Y55ZY\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IAccountRiskOverrideSetter.sol\":{\"keccak256\":\"0x5b9fde139ddfdaae7b650b3c3f6699e0e44605f0d9d3daadc1622eb06ad4c3f8\",\"urls\":[\"bzz-raw://2dfd5af24b6de63f94519c99fd8777a264d7cd11266fa2d525c7d72d96a9c7cf\",\"dweb:/ipfs/QmPg9fjhbnmBayZMh6yTG79xsK1PWSoAHA5pfwSXfnKKjF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IDolomiteMargin.sol\":{\"keccak256\":\"0x7e86ed1ed04dc205245db9f4e7cf7cca60c3bfc46c57ade8129a463780647967\",\"urls\":[\"bzz-raw://f8fbd85afd334c12bdccbb6523ebea9172b27b7b4b132c4a48b4b4dd03ceeb2b\",\"dweb:/ipfs/QmU1srfSqBTz3kw7oz1KEzfTUJvphZiE4K8MRZcy9uJjv1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IERC20Detailed.sol\":{\"keccak256\":\"0x22a62e2a8155e70300773721902f4b9118e17aa0bb5d9d1b046050a014cfb223\",\"urls\":[\"bzz-raw://03af737a33c552fbe58f6f1fbd5496854fdc28dd57be4365d56663725c083a18\",\"dweb:/ipfs/QmbgLqGAQEd6tXsZB8QaPNCAMiU6nNzP75wNbKdS65BuUF\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IInterestSetter.sol\":{\"keccak256\":\"0x546825f65490a30e29d0f6446acec49c1e895ce6b33d48ca5c05092725a63a57\",\"urls\":[\"bzz-raw://6ad3013aed985bdf6e6234ae0f7f37e6bba76c3470c33bfa24678cf19b3b412c\",\"dweb:/ipfs/QmfYaSBzxGpgiHoR7ontMJY66S5L26XwkLYoEuzsEjpbQH\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IOracleSentinel.sol\":{\"keccak256\":\"0xa94499fda55ef112640daed2cb1d06062e72c51c7b925c323b4e0ffa9b456ce5\",\"urls\":[\"bzz-raw://18b4a16acac577590a57f34f7ec6583e3cb35f575c948abb928b308d29cac1ab\",\"dweb:/ipfs/QmR1jLkzj6w7SjrdZ7GVW4V2vofSdMJwzjTqKpeUKABvxu\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/interfaces/IPriceOracle.sol\":{\"keccak256\":\"0x3f7c3d1397390ea44c6d5e5730d49476431c3df3b28334fe38218de5edc31138\",\"urls\":[\"bzz-raw://63ebf926fca9ce33aaabaf93805686acc25daded1648d6dab59c8c4d05116918\",\"dweb:/ipfs/QmeGkDp7ycYstpfqCYBiqoCYwy876gabx8r42o5koj3H5A\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Account.sol\":{\"keccak256\":\"0x2059276ea5e478bd5ac7f2712e7b1b6c85d291c647a54b264909044844828e67\",\"urls\":[\"bzz-raw://f153777051d12131b13a57e5c3af10a2670927cfc7d22c9519ab20c9b4b9bc89\",\"dweb:/ipfs/QmQMP3qS5xDAVGYKDfNkbkSqBKozQGQsGqX4e8VyjRtxPS\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Actions.sol\":{\"keccak256\":\"0x7b2fcf441c034952dd042b6c8b20b148359db771e7c9ac07d06369560a9f0301\",\"urls\":[\"bzz-raw://84665ee4a780360fe6160d197ba98f0bf0ab0d7c6ad87bfed6226bf2f88d8d30\",\"dweb:/ipfs/QmRDfRdAd8hSXeu4SAeeYKkKoXBhStu7n4uReYBce2JD5Z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Bits.sol\":{\"keccak256\":\"0x6d9a641163b2dd25e648c65f5d9e4949a57938e29ddc4c9dddefd74a9964aeef\",\"urls\":[\"bzz-raw://67e5a04ed4055faafbc100d6ccca9c54448ed378a1a8c71171562edda7bcbf7c\",\"dweb:/ipfs/QmYRikK3Xbgiq3UBJkgoo2zNUSSrShVabpRHmQj6iQHhrc\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Cache.sol\":{\"keccak256\":\"0xe57c80a7621a77fcb2acb9f883fb5248e71a6dce03bc2db56df0db3fee332950\",\"urls\":[\"bzz-raw://28e221c04629674490b9a0041d4f9a5f15e669dc0cc192a5df6e2c701c36369f\",\"dweb:/ipfs/QmaL3oh8c7v9cx91pB175pyCEuzxnhNTab4UxmBMsDYfUx\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Decimal.sol\":{\"keccak256\":\"0xd9a348c2b1eec076609ba12bbec6b9c2e4ea135790a7ef4f5411feb050af2144\",\"urls\":[\"bzz-raw://d5bcff29e47d5cd02d7a9966e9f44c46ccbb4f0e4adfc4b0b86646880677db39\",\"dweb:/ipfs/QmRKfJD4FFM1AvTynSFNx1NcDg94o9SAcjz7dvMaJCfecp\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/DolomiteMarginMath.sol\":{\"keccak256\":\"0x53f205f6a779d579be29faa9412c806a892b3e605fff092dfd9d14d936fa019f\",\"urls\":[\"bzz-raw://0ff936f89602a63b8e6a4eb4ce8f87673c0f45b7ce29694920905a3f0b5a6a69\",\"dweb:/ipfs/QmbYME9BeEvPC1ndV8EaUDX5fDMghLc3rocNUxFtgHmg8m\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/EnumerableSet.sol\":{\"keccak256\":\"0x41a3460e34b7b8635d936e35e6568ceb5354b638f53b884530e0d4875fa0f151\",\"urls\":[\"bzz-raw://d1a5ba866ee95d455afe5075dadd91fc71c2806371f2c1b358a1f67c632bb0df\",\"dweb:/ipfs/QmW4qCjmsG8J3UJv97GwDLDM7wt1K4yLDKAwzWMY7TFYi5\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Interest.sol\":{\"keccak256\":\"0x141a0ecb4a746f0e5767df4b99dbe33c6362df507ae9d5c02da1c1c17bc26df3\",\"urls\":[\"bzz-raw://9ff03e64a8ce5231acde07788624bf8c7a8ff55d90b157fa32f62fa887a0eff0\",\"dweb:/ipfs/QmUVxxWeE954RDXbmHJAYnHsXcit6rSXGqZUigu8t9oH2z\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Monetary.sol\":{\"keccak256\":\"0x5257274f2d4d3605f3e97ec45fb902111fe9a22506f0b4cf308ea933bc81bfe2\",\"urls\":[\"bzz-raw://85b8023b78805063a2ec8d376f1f5983994eabd96efd8ceadb0224dbb71c5678\",\"dweb:/ipfs/QmaDhzCzRqsuHuJfhToEC4pATQHwhh7yWWsjwfuRzFT1kG\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Require.sol\":{\"keccak256\":\"0x05a2a90b41b6a5f42f0a72da63d015fb0b406a9ba2172823352e522e8bf3a606\",\"urls\":[\"bzz-raw://19883f0c6d33266f756ec5c3d17539524aa24b993c46c33f8400801d09373a6c\",\"dweb:/ipfs/QmYX2fwK3vQQDSZLMrc5wMfeb8RWrcC9CGX8XECLty8QDk\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Storage.sol\":{\"keccak256\":\"0x9c27f3cd52af28c9b6bca18097b1793f114d08284d78417467d0d05f67e9e2a9\",\"urls\":[\"bzz-raw://d1ed0e7a7f76d59f30572996d4e164ab8fb5b2ec4bfca127983f9e936b904813\",\"dweb:/ipfs/QmePVYbgrY8Yw3Vf76pmEvE9pX916Jaa9we4kjM8tGM4J1\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Time.sol\":{\"keccak256\":\"0x87ee8d3c1d6e315a116426d8c8fc6f083e220fd14dda27fad4e8d7cab3dc7305\",\"urls\":[\"bzz-raw://7c20f2c52da682c3b5917fb6a19e81f43699b1d13c62b569ed723f34da72e766\",\"dweb:/ipfs/QmbXWYXi67nHBVNDKYUpo2E9ZaEVcHLvmXQkpYLMm1d5Vm\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Token.sol\":{\"keccak256\":\"0x095b5f8eb3665f6e246200311efc8a654fa3e90f9a1a522e27a4d089e8ab3917\",\"urls\":[\"bzz-raw://5db812b752a03d601d424e6e21be38153477082af0acf51b5c98eefa5553ed18\",\"dweb:/ipfs/QmbE549QUXYTurpx8hSMLBJvuBpfYqyNE6FBCgHJDY8PLf\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/protocol/lib/Types.sol\":{\"keccak256\":\"0xe1bab8c8799d83e86c7a49aaf815d8e3bc8d09562d46d44d921500db5e98de0e\",\"urls\":[\"bzz-raw://8ea3d0cc4fdab6dd9bba545a792170f939b342d8d1a7051c1c6365009af72658\",\"dweb:/ipfs/QmaLJgbavu88eEit6JPqfWnw6NmGBDZfveMXxumgWywBFG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "/*\n\n Copyright 2021 Dolomite.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\n\nimport { AccountBalanceLib } from \"../lib/AccountBalanceLib.sol\";\n\n\ninterface IDepositWithdrawalProxy {\n\n /**\n * @param _payableToken The wrapped payable token of the network. For example, WETH on Arbitrum.\n */\n function initializePayableMarket(\n address payable _payableToken\n ) external;\n\n /**\n * @param _toAccountNumber The account number into which `msg.sender` will be depositing\n * @param _marketId The ID of the market being deposited\n * @param _amountWei The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance\n */\n function depositWei(\n uint256 _toAccountNumber,\n uint256 _marketId,\n uint256 _amountWei\n ) external;\n\n /**\n * Same as `depositWei` but converts the `msg.sender`'s sent Payable Currency into Wrapped Payable Token before depositing into `DolomiteMargin`.\n *\n * @param _toAccountNumber The account number into which `msg.sender` will be depositing\n */\n function depositPayable(\n uint256 _toAccountNumber\n ) external payable;\n\n /**\n * @dev Same as `depositWei` but defaults to account number 0 to save additional call data\n *\n * @param _marketId The ID of the market being deposited\n * @param _amountWei The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance\n */\n function depositWeiIntoDefaultAccount(\n uint256 _marketId,\n uint256 _amountWei\n ) external;\n\n /**\n * Same as `depositWeiIntoDefaultAccount` but converts the `msg.sender`'s sent Payable Currency into wrapped Payable Token before depositing into\n * `DolomiteMargin`.\n */\n function depositPayableIntoDefaultAccount() external payable;\n\n /**\n * @param _fromAccountNumber The account number from which `msg.sender` will be withdrawing\n * @param _marketId The ID of the market being withdrawn\n * @param _amountWei The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n * balance\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that\n * `_fromAccountNumber` balance is non-negative after the withdrawal settles.\n */\n function withdrawWei(\n uint256 _fromAccountNumber,\n uint256 _marketId,\n uint256 _amountWei,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n\n /**\n * Same as `withdrawWei` but for withdrawing the Payable Token of the network. The user will receive unwrapped\n * Payable Token from DolomiteMargin.\n *\n * @param _fromAccountNumber The account number from which `msg.sender` will be withdrawing\n * @param _amountWei The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n * balance.\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that\n * `_fromAccountNumber` balance is non-negative after the withdrawal settles.\n */\n function withdrawPayable(\n uint256 _fromAccountNumber,\n uint256 _amountWei,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n\n /**\n * @dev Same as `withdrawWei` but defaults to account number 0 to save additional call data\n *\n * @param _marketId The ID of the market being withdrawn\n * @param _amountWei The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n * balance\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber`\n * balance is non-negative after the withdrawal settles.\n */\n function withdrawWeiFromDefaultAccount(\n uint256 _marketId,\n uint256 _amountWei,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n\n /**\n * Same as `withdrawWeiFromDefaultAccount` but for withdrawing the Payable Token for the network. The user will\n * receive unwrapped Payable Token from\n * DolomiteMargin.\n *\n * @param _amountWei The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n * balance\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber`\n * balance is non-negative after the withdrawal settles.\n */\n function withdrawPayableFromDefaultAccount(\n uint256 _amountWei,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n\n /**\n * @param _toAccountNumber The account number into which `msg.sender` will be depositing\n * @param _marketId The ID of the market being deposited\n * @param _amountPar The amount, in Par, to deposit.\n */\n function depositPar(\n uint256 _toAccountNumber,\n uint256 _marketId,\n uint256 _amountPar\n ) external;\n\n /**\n * @dev Same as `depositPar` but defaults to account number 0 to save additional call data\n *\n * @param _marketId The ID of the market being deposited\n * @param _amountPar The amount, in Par, to deposit.\n */\n function depositParIntoDefaultAccount(\n uint256 _marketId,\n uint256 _amountPar\n ) external;\n\n /**\n * @param _fromAccountNumber The account number from which `msg.sender` will be withdrawing\n * @param _marketId The ID of the market being withdrawn\n * @param _amountPar The amount, in Par, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n * balance\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that\n * `_fromAccountNumber` balance is non-negative after the withdrawal settles.\n */\n function withdrawPar(\n uint256 _fromAccountNumber,\n uint256 _marketId,\n uint256 _amountPar,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n\n /**\n * @dev Same as `withdrawPar` but defaults to account number 0 to save additional call data\n *\n * @param _marketId The ID of the market being withdrawn\n * @param _amountPar The amount, in Par, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire balance\n * @param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that `_fromAccountNumber`\n * balance is non-negative after the withdrawal settles.\n */\n function withdrawParFromDefaultAccount(\n uint256 _marketId,\n uint256 _amountPar,\n AccountBalanceLib.BalanceCheckFlag _balanceCheckFlag\n ) external;\n}\n",
"sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IDepositWithdrawalProxy.sol",
"ast": {
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IDepositWithdrawalProxy.sol",
"exportedSymbols": {
"IDepositWithdrawalProxy": [
4378
]
},
"id": 4379,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 4274,
"literals": [
"solidity",
"^",
"0.5",
".7"
],
"nodeType": "PragmaDirective",
"src": "595:23:22"
},
{
"absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/lib/AccountBalanceLib.sol",
"file": "../lib/AccountBalanceLib.sol",
"id": 4276,
"nodeType": "ImportDirective",
"scope": 4379,
"sourceUnit": 5892,
"src": "620:65:22",
"symbolAliases": [
{
"foreign": 4275,
"local": null
}
],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 4378,
"linearizedBaseContracts": [
4378
],
"name": "IDepositWithdrawalProxy",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@param _payableToken The wrapped payable token of the network. For example, WETH on Arbitrum.",
"id": 4281,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "initializePayableMarket",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4279,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4278,
"name": "_payableToken",
"nodeType": "VariableDeclaration",
"scope": 4281,
"src": "888:29:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
"typeName": {
"id": 4277,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "888:15:22",
"stateMutability": "payable",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "878:45:22"
},
"returnParameters": {
"id": 4280,
"nodeType": "ParameterList",
"parameters": [],
"src": "932:0:22"
},
"scope": 4378,
"src": "846:87:22",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@param _toAccountNumber The account number into which `msg.sender` will be depositing\n@param _marketId The ID of the market being deposited\n@param _amountWei The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance",
"id": 4290,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "depositWei",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4288,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4283,
"name": "_toAccountNumber",
"nodeType": "VariableDeclaration",
"scope": 4290,
"src": "1267:24:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4282,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1267:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4285,
"name": "_marketId",
"nodeType": "VariableDeclaration",
"scope": 4290,
"src": "1301:17:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4284,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1301:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4287,
"name": "_amountWei",
"nodeType": "VariableDeclaration",
"scope": 4290,
"src": "1328:18:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4286,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1328:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1257:95:22"
},
"returnParameters": {
"id": 4289,
"nodeType": "ParameterList",
"parameters": [],
"src": "1361:0:22"
},
"scope": 4378,
"src": "1238:124:22",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Same as `depositWei` but converts the `msg.sender`'s sent Payable Currency into Wrapped Payable Token before depositing into `DolomiteMargin`.\n * @param _toAccountNumber The account number into which `msg.sender` will be depositing",
"id": 4295,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "depositPayable",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4293,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4292,
"name": "_toAccountNumber",
"nodeType": "VariableDeclaration",
"scope": 4295,
"src": "1667:24:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4291,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1667:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1657:40:22"
},
"returnParameters": {
"id": 4294,
"nodeType": "ParameterList",
"parameters": [],
"src": "1714:0:22"
},
"scope": 4378,
"src": "1634:81:22",
"stateMutability": "payable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Same as `depositWei` but defaults to account number 0 to save additional call data\n * @param _marketId The ID of the market being deposited\n@param _amountWei The amount, in Wei, to deposit. Use `uint(-1)` to deposit `msg.sender`'s entire balance",
"id": 4302,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "depositWeiIntoDefaultAccount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4300,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4297,
"name": "_marketId",
"nodeType": "VariableDeclaration",
"scope": 4302,
"src": "2067:17:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4296,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2067:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4299,
"name": "_amountWei",
"nodeType": "VariableDeclaration",
"scope": 4302,
"src": "2094:18:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4298,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2094:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2057:61:22"
},
"returnParameters": {
"id": 4301,
"nodeType": "ParameterList",
"parameters": [],
"src": "2127:0:22"
},
"scope": 4378,
"src": "2020:108:22",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "Same as `depositWeiIntoDefaultAccount` but converts the `msg.sender`'s sent Payable Currency into wrapped Payable Token before depositing into\n`DolomiteMargin`.",
"id": 4305,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "depositPayableIntoDefaultAccount",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4303,
"nodeType": "ParameterList",
"parameters": [],
"src": "2366:2:22"
},
"returnParameters": {
"id": 4304,
"nodeType": "ParameterList",
"parameters": [],
"src": "2385:0:22"
},
"scope": 4378,
"src": "2325:61:22",
"stateMutability": "payable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@param _fromAccountNumber The account number from which `msg.sender` will be withdrawing\n@param _marketId The ID of the market being withdrawn\n@param _amountWei The amount, in Wei, to withdraw. Use `uint(-1)` to withdraw `msg.sender`'s entire\n balance\n@param _balanceCheckFlag Use `BalanceCheckFlag.Both` or `BalanceCheckFlag.From` to check that\n `_fromAccountNumber` balance is non-negative after the withdrawal settles.",
"id": 4316,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "withdrawWei",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 4314,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4307,
"name": "_fromAccountNumber",
"nodeType": "VariableDeclaration",
"scope": 4316,
"src": "2988:26:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4306,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2988:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4309,
"name": "_marketId",
"nodeType": "VariableDeclaration",
"scope": 4316,
"src": "3024:17:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4308,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3024:7:22",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 4311,
"name": "_amountWei",
"nodeType": "VariableDeclaration",
"scope": 4316,
"src": "3051:18:22",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4310,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3051: