Expand description

Generated by the following Solidity interface…

interface BalancerV1SmartPoolFactory {
    struct PoolParams {
        string poolTokenSymbol;
        string poolTokenName;
        address[] constituentTokens;
        uint256[] tokenBalances;
        uint256[] tokenWeights;
        uint256 swapFee;
    }
    struct Rights {
        bool canPauseSwapping;
        bool canChangeSwapFee;
        bool canChangeWeights;
        bool canAddRemoveTokens;
        bool canWhitelistLPs;
        bool canChangeCap;
    }

    event LogNewCrp(address indexed caller, address indexed pool);

    function isCrp(address addr) external view returns (bool);
    function newCrp(address factoryAddress, PoolParams memory poolParams, Rights memory rights) external returns (address);
}

…which was generated by the following JSON ABI:

[
  {
    "type": "function",
    "name": "isCrp",
    "inputs": [
      {
        "name": "addr",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "newCrp",
    "inputs": [
      {
        "name": "factoryAddress",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "poolParams",
        "type": "tuple",
        "internalType": "struct ConfigurableRightsPool.PoolParams",
        "components": [
          {
            "name": "poolTokenSymbol",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "poolTokenName",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "constituentTokens",
            "type": "address[]",
            "internalType": "address[]"
          },
          {
            "name": "tokenBalances",
            "type": "uint256[]",
            "internalType": "uint256[]"
          },
          {
            "name": "tokenWeights",
            "type": "uint256[]",
            "internalType": "uint256[]"
          },
          {
            "name": "swapFee",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "rights",
        "type": "tuple",
        "internalType": "struct RightsManager.Rights",
        "components": [
          {
            "name": "canPauseSwapping",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "canChangeSwapFee",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "canChangeWeights",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "canAddRemoveTokens",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "canWhitelistLPs",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "canChangeCap",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract ConfigurableRightsPool"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "LogNewCrp",
    "inputs": [
      {
        "name": "caller",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "pool",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      }
    ],
    "anonymous": false
  }
]

Structs§

Enums§