fluid-contracts-public/deployments/arbitrum/VaultT1Secondary.json

409 lines
194 KiB
JSON
Raw Permalink Normal View History

{
"address": "0xbd6C8ee7CB9a13333e043C4d5fCf3ac125f7f890",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "colLiquidated",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "debtLiquidated",
"type": "uint256"
}
],
"name": "FluidLiquidateResult",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "errorId_",
"type": "uint256"
}
],
"name": "FluidSafeTransferError",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "errorId_",
"type": "uint256"
}
],
"name": "FluidVaultError",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "colAbsorbedRaw_",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "debtAbsorbedRaw_",
"type": "uint256"
}
],
"name": "LogAbsorb",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "liquidator_",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "colAmt_",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "debtAmt_",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "to_",
"type": "address"
}
],
"name": "LogLiquidate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "user_",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "nftId_",
"type": "uint256"
},
{
"indexed": false,
"internalType": "int256",
"name": "colAmt_",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "debtAmt_",
"type": "int256"
},
{
"indexed": false,
"internalType": "address",
"name": "to_",
"type": "address"
}
],
"name": "LogOperate",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "int256",
"name": "colAmt_",
"type": "int256"
},
{
"indexed": false,
"internalType": "int256",
"name": "debtAmt_",
"type": "int256"
}
],
"name": "LogRebalance",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "supplyExPrice_",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "borrowExPrice_",
"type": "uint256"
}
],
"name": "LogUpdateExchangePrice",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "vaultVariables_",
"type": "uint256"
},
{
"internalType": "int256",
"name": "maxTick_",
"type": "int256"
}
],
"name": "absorb",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "rebalance",
"outputs": [
{
"internalType": "int256",
"name": "supplyAmt_",
"type": "int256"
},
{
"internalType": "int256",
"name": "borrowAmt_",
"type": "int256"
}
],
"stateMutability": "payable",
"type": "function"
}
],
"transactionHash": "0xe4899d7d2aa0b5a8c2d4f6c9c728191b77c20372d5121e08f73e320633562081",
"receipt": {
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"from": "0x0Ed35B1609Ec45c7079E80d11149a52717e4859A",
"contractAddress": null,
"transactionIndex": 1,
"gasUsed": "2371653",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x53a1bfc6e6faf39a6e0eadbe99074756b52c263487475544c089c5c6f3cc0d9b",
"transactionHash": "0xe4899d7d2aa0b5a8c2d4f6c9c728191b77c20372d5121e08f73e320633562081",
"logs": [],
"blockNumber": 220375778,
"cumulativeGasUsed": "2371653",
"status": 1,
"byzantium": true
},
"args": [],
"numDeployments": 1,
"solcInputHash": "1989963ad64c4704dbe1170530c79d20",
"metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"colLiquidated\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"debtLiquidated\",\"type\":\"uint256\"}],\"name\":\"FluidLiquidateResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidSafeTransferError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"errorId_\",\"type\":\"uint256\"}],\"name\":\"FluidVaultError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"colAbsorbedRaw_\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"debtAbsorbedRaw_\",\"type\":\"uint256\"}],\"name\":\"LogAbsorb\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidator_\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"colAmt_\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"debtAmt_\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"}],\"name\":\"LogLiquidate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user_\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nftId_\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"colAmt_\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"debtAmt_\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to_\",\"type\":\"address\"}],\"name\":\"LogOperate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"colAmt_\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"debtAmt_\",\"type\":\"int256\"}],\"name\":\"LogRebalance\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"supplyExPrice_\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowExPrice_\",\"type\":\"uint256\"}],\"name\":\"LogUpdateExchangePrice\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"vaultVariables_\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"maxTick_\",\"type\":\"int256\"}],\"name\":\"absorb\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rebalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"supplyAmt_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"borrowAmt_\",\"type\":\"int256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"absorb(uint256,int256)\":{\"details\":\"absorb function absorbs the bad debt if the bad debt is above max limit. The main use of it is if the bad debt didn't got liquidated in time maybe due to sudden price drop or bad debt was extremely small to liquidate and the bad debt goes above 100% ratio then there's no incentive for anyone to liquidate now hence absorb functions absorbs that bad debt to allow newer bad debt to liquidate seamlessly. if absorbing were to happen after this it's on governance on how to deal with it although it can still be removed through liquidate via liquidator if the price goes back up and liquidation becomes beneficial upon absorbed user position gets 100% liquidated.\"},\"rebalance()\":{\"details\":\"Checks total supply of vault's in Liquidity Layer & Vault contract and rebalance it accordingly if vault supply is more than Liquidity Layer then deposit difference through reserve/rebalance contract if vault supply is less than Liquidity Layer
"bytecode": "0x60a060405234801561001057600080fd5b5030608052608051611e386100366000396000818160980152610c6d0152611e386000f3fe6080604052600436106100295760003560e01c80637d7c2a1c1461002e5780639e3e482114610050575b600080fd5b61003661007e565b604080519283526020830191909152015b60405180910390f35b34801561005c57600080fd5b5061007061006b366004611907565b610c54565b604051908152602001610047565b60008073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036100f9576040517f60121cca00000000000000000000000000000000000000000000000000000000815261792b60048201526024015b60405180910390fd5b60095473ffffffffffffffffffffffffffffffffffffffff16331461014e576040517f60121cca00000000000000000000000000000000000000000000000000000000815261792260048201526024016100f0565b6000805490600182169003610169576001811760005561019f565b6040517f60121cca00000000000000000000000000000000000000000000000000000000815261791960048201526024016100f0565b60003073ffffffffffffffffffffffffffffffffffffffff1663b7791bf26040518163ffffffff1660e01b81526004016101a060405180830381865afa1580156101ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021191906119b4565b90506000341180156102895750608081015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610287575060a081015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b155b156102c4576040517f60121cca00000000000000000000000000000000000000000000000000000000815261793660048201526024016100f0565b805160408051608081018252600080825260208201819052818301819052606082015260015491517f09f0d8cb00000000000000000000000000000000000000000000000000000000815260048101929092529030906309f0d8cb90602401608060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190611a91565b6060850152604080850191909152602084019190915290825261016084015190517fb5c736e400000000000000000000000000000000000000000000000000000000815260009167ffffffffffffffff9160019173ffffffffffffffffffffffffffffffffffffffff87169163b5c736e4916103e69160040190815260200190565b602060405180830381865afa158015610403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104279190611ac7565b8451911c91909116600881901c60ff9091161b915064e8d4a510009061044d9083611b0f565b6104579190611b55565b9050600067ffffffffffffffff60018573ffffffffffffffffffffffffffffffffffffffff1663b5c736e48861018001516040518263ffffffff1660e01b81526004016104a691815260200190565b602060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e79190611ac7565b901c16905060ff8116600882901c901b905064e8d4a5100083602001518261050f9190611b0f565b6105199190611b55565b604084015190915066ffffffffffffff605a88901c1660ff605289901c161b9064e8d4a510009061054a9083611b0f565b6105549190611b55565b606085015190915066ffffffffffffff609a89901c1660ff60928a901c161b9064e8d4a51000906105859083611b0f565b61058f9190611b55565b9050600084831115610736576105a58584611b69565b9a5073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff16886080015173ffffffffffffffffffffffffffffffffffffffff160361061f578a34111561061457508961060f3361060a8334611b90565b6115a0565b610617565b50345b809a50610623565b5060005b8673ffffffffffffffffffffffffffffffffffffffff1663ad967e15828a608001518e6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200161069a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016106ca96959493929190611c07565b604080518083038185885af193505050508015610722575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261071f91810190611c60565b60015b61072f5760009a506108a7565b50506108a7565b828511156108a757608088015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801561077b5750600034115b156107b6576040517f60121cca00000000000000000000000000000000000000000000000000000000815261793660048201526024016100f0565b6107c08584611b69565b
"deployedBytecode": "0x6080604052600436106100295760003560e01c80637d7c2a1c1461002e5780639e3e482114610050575b600080fd5b61003661007e565b604080519283526020830191909152015b60405180910390f35b34801561005c57600080fd5b5061007061006b366004611907565b610c54565b604051908152602001610047565b60008073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036100f9576040517f60121cca00000000000000000000000000000000000000000000000000000000815261792b60048201526024015b60405180910390fd5b60095473ffffffffffffffffffffffffffffffffffffffff16331461014e576040517f60121cca00000000000000000000000000000000000000000000000000000000815261792260048201526024016100f0565b6000805490600182169003610169576001811760005561019f565b6040517f60121cca00000000000000000000000000000000000000000000000000000000815261791960048201526024016100f0565b60003073ffffffffffffffffffffffffffffffffffffffff1663b7791bf26040518163ffffffff1660e01b81526004016101a060405180830381865afa1580156101ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021191906119b4565b90506000341180156102895750608081015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480610287575060a081015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b155b156102c4576040517f60121cca00000000000000000000000000000000000000000000000000000000815261793660048201526024016100f0565b805160408051608081018252600080825260208201819052818301819052606082015260015491517f09f0d8cb00000000000000000000000000000000000000000000000000000000815260048101929092529030906309f0d8cb90602401608060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190611a91565b6060850152604080850191909152602084019190915290825261016084015190517fb5c736e400000000000000000000000000000000000000000000000000000000815260009167ffffffffffffffff9160019173ffffffffffffffffffffffffffffffffffffffff87169163b5c736e4916103e69160040190815260200190565b602060405180830381865afa158015610403573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104279190611ac7565b8451911c91909116600881901c60ff9091161b915064e8d4a510009061044d9083611b0f565b6104579190611b55565b9050600067ffffffffffffffff60018573ffffffffffffffffffffffffffffffffffffffff1663b5c736e48861018001516040518263ffffffff1660e01b81526004016104a691815260200190565b602060405180830381865afa1580156104c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e79190611ac7565b901c16905060ff8116600882901c901b905064e8d4a5100083602001518261050f9190611b0f565b6105199190611b55565b604084015190915066ffffffffffffff605a88901c1660ff605289901c161b9064e8d4a510009061054a9083611b0f565b6105549190611b55565b606085015190915066ffffffffffffff609a89901c1660ff60928a901c161b9064e8d4a51000906105859083611b0f565b61058f9190611b55565b9050600084831115610736576105a58584611b69565b9a5073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff16886080015173ffffffffffffffffffffffffffffffffffffffff160361061f578a34111561061457508961060f3361060a8334611b90565b6115a0565b610617565b50345b809a50610623565b5060005b8673ffffffffffffffffffffffffffffffffffffffff1663ad967e15828a608001518e6000806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200161069a919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016106ca96959493929190611c07565b604080518083038185885af193505050508015610722575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261071f91810190611c60565b60015b61072f5760009a506108a7565b50506108a7565b828511156108a757608088015173ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14801561077b5750600034115b156107b6576040517f60121cca00000000000000000000000000000000000000000000000000000000815261793660048201526024016100f0565b6107c08584611b69565b6080890151600954919c5073ffffffffffffffffffffffffffffffffffffffff808a169263ad967e1592918f916000911681
"devdoc": {
"kind": "dev",
"methods": {
"absorb(uint256,int256)": {
"details": "absorb function absorbs the bad debt if the bad debt is above max limit. The main use of it is if the bad debt didn't got liquidated in time maybe due to sudden price drop or bad debt was extremely small to liquidate and the bad debt goes above 100% ratio then there's no incentive for anyone to liquidate now hence absorb functions absorbs that bad debt to allow newer bad debt to liquidate seamlessly. if absorbing were to happen after this it's on governance on how to deal with it although it can still be removed through liquidate via liquidator if the price goes back up and liquidation becomes beneficial upon absorbed user position gets 100% liquidated."
},
"rebalance()": {
"details": "Checks total supply of vault's in Liquidity Layer & Vault contract and rebalance it accordingly if vault supply is more than Liquidity Layer then deposit difference through reserve/rebalance contract if vault supply is less than Liquidity Layer then withdraw difference to reserve/rebalance contract if vault borrow is more than Liquidity Layer then borrow difference to reserve/rebalance contract if vault borrow is less than Liquidity Layer then payback difference through reserve/rebalance contract"
}
},
"version": 1
},
"userdoc": {
"errors": {
"FluidLiquidateResult(uint256,uint256)": [
{
"notice": "used to simulate liquidation to find the maximum liquidatable amounts"
}
]
},
"events": {
"LogAbsorb(uint256,uint256)": {
"notice": "emitted when `absorb()` was executed to absorb bad debt."
},
"LogLiquidate(address,uint256,uint256,address)": {
"notice": "emitted when a liquidation has been executed."
},
"LogOperate(address,uint256,int256,int256,address)": {
"notice": "emitted when an operate() method is executed that changes collateral (`colAmt_`) / debt (debtAmt_`) amount for a `user_` position with `nftId_`. Receiver of any funds is the address `to_`."
},
"LogRebalance(int256,int256)": {
"notice": "emitted when a `rebalance()` has been executed, balancing out total supply / borrow between Vault and Fluid Liquidity pools. if `colAmt_` is positive then loss, meaning transfer from rebalancer address to vault and deposit. if `colAmt_` is negative then profit, meaning withdrawn from vault and sent to rebalancer address. if `debtAmt_` is positive then profit, meaning borrow from vault and sent to rebalancer address. if `debtAmt_` is negative then loss, meaning transfer from rebalancer address to vault and payback."
},
"LogUpdateExchangePrice(uint256,uint256)": {
"notice": "emitted when the exchange prices are updated in storage."
}
},
"kind": "user",
"methods": {},
"notice": "Fluid Vault protocol secondary methods contract. Implements `absorb()` and `rebalance()` methods, extracted from main contract due to contract size limits. Methods are limited to be called via delegateCall only (as done by Vault CoreModule \"VaultT1\" contract).",
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 54719,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "vaultVariables",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 54722,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "vaultVariables2",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 54725,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "absorbedLiquidity",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 54730,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "positionData",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 54735,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "tickHasDebt",
"offset": 0,
"slot": "4",
"type": "t_mapping(t_int256,t_uint256)"
},
{
"astId": 54740,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "tickData",
"offset": 0,
"slot": "5",
"type": "t_mapping(t_int256,t_uint256)"
},
{
"astId": 54747,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "tickId",
"offset": 0,
"slot": "6",
"type": "t_mapping(t_int256,t_mapping(t_uint256,t_uint256))"
},
{
"astId": 54752,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "branchData",
"offset": 0,
"slot": "7",
"type": "t_mapping(t_uint256,t_uint256)"
},
{
"astId": 54755,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "rates",
"offset": 0,
"slot": "8",
"type": "t_uint256"
},
{
"astId": 54758,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "rebalancer",
"offset": 0,
"slot": "9",
"type": "t_address"
},
{
"astId": 54760,
"contract": "contracts/protocols/vault/vaultT1/coreModule/main2.sol:FluidVaultT1Secondary",
"label": "absorbedDustDebt",
"offset": 0,
"slot": "10",
"type": "t_uint256"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_int256": {
"encoding": "inplace",
"label": "int256",
"numberOfBytes": "32"
},
"t_mapping(t_int256,t_mapping(t_uint256,t_uint256))": {
"encoding": "mapping",
"key": "t_int256",
"label": "mapping(int256 => mapping(uint256 => uint256))",
"numberOfBytes": "32",
"value": "t_mapping(t_uint256,t_uint256)"
},
"t_mapping(t_int256,t_uint256)": {
"encoding": "mapping",
"key": "t_int256",
"label": "mapping(int256 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_mapping(t_uint256,t_uint256)": {
"encoding": "mapping",
"key": "t_uint256",
"label": "mapping(uint256 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
}
}