@melonproject/protocol
Version:
Technology Regulated and Operated Investment Funds
188 lines (187 loc) • 10.9 kB
JavaScript
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const R = __importStar(require("ramda"));
const web3_eth_abi_1 = __importDefault(require("web3-eth-abi"));
var Contracts;
(function (Contracts) {
Contracts["Accounting"] = "Accounting";
Contracts["AccountingFactory"] = "AccountingFactory";
Contracts["AddressList"] = "AddressList";
Contracts["AmguConsumer"] = "AmguConsumer";
Contracts["AssetBlacklist"] = "AssetBlacklist";
Contracts["AssetWhitelist"] = "AssetWhitelist";
Contracts["BurnableToken"] = "BurnableToken";
Contracts["CanonicalPriceFeed"] = "CanonicalPriceFeed";
Contracts["ConversionRates"] = "ConversionRates";
Contracts["Engine"] = "Engine";
Contracts["EngineAdapter"] = "EngineAdapter";
Contracts["EthfinexAdapter"] = "EthfinexAdapter";
Contracts["ERC20Proxy"] = "ERC20Proxy";
Contracts["ExchangeAdapter"] = "ExchangeAdapter";
Contracts["FalsePolicy"] = "FalsePolicy";
Contracts["FeeManager"] = "FeeManager";
Contracts["FeeManagerFactory"] = "FeeManagerFactory";
Contracts["FundFactory"] = "FundFactory";
Contracts["FundRanking"] = "FundRanking";
Contracts["Hub"] = "Hub";
Contracts["KyberAdapter"] = "KyberAdapter";
Contracts["KyberNetwork"] = "KyberNetwork";
Contracts["KyberNetworkProxy"] = "KyberNetworkProxy";
Contracts["KyberPriceFeed"] = "KyberPriceFeed";
Contracts["KyberReserve"] = "KyberReserve";
Contracts["KyberWhiteList"] = "KyberWhiteList";
Contracts["MaliciousToken"] = "MaliciousToken";
Contracts["ManagementFee"] = "ManagementFee";
Contracts["MatchingMarket"] = "MatchingMarket";
Contracts["MatchingMarketAdapter"] = "MatchingMarketAdapter";
Contracts["MatchingMarketAccessor"] = "MatchingMarketAccessor";
Contracts["MaxConcentration"] = "MaxConcentration";
Contracts["MaxPositions"] = "MaxPositions";
Contracts["MockAccounting"] = "MockAccounting";
Contracts["MockAdapter"] = "MockAdapter";
Contracts["MockFee"] = "MockFee";
Contracts["MockFeeManager"] = "MockFeeManager";
Contracts["MockHub"] = "MockHub";
Contracts["MockRegistry"] = "MockRegistry";
Contracts["MockShares"] = "MockShares";
Contracts["MockVersion"] = "MockVersion";
Contracts["Participation"] = "Participation";
Contracts["ParticipationFactory"] = "ParticipationFactory";
Contracts["PerformanceFee"] = "PerformanceFee";
Contracts["PermissiveAuthority"] = "PermissiveAuthority";
Contracts["Policy"] = "Policy";
Contracts["PolicyManager"] = "PolicyManager";
Contracts["PolicyManagerFactory"] = "PolicyManagerFactory";
Contracts["PreminedToken"] = "PreminedToken";
Contracts["PriceSourceInterface"] = "PriceSourceInterface";
Contracts["PriceTolerance"] = "PriceTolerance";
Contracts["Registry"] = "Registry";
Contracts["SelfDestructing"] = "SelfDestructing";
Contracts["Shares"] = "Shares";
Contracts["SharesFactory"] = "SharesFactory";
Contracts["Spoke"] = "Spoke";
Contracts["StakingPriceFeed"] = "StakingPriceFeed";
Contracts["StandardToken"] = "StandardToken";
Contracts["TestingPriceFeed"] = "TestingPriceFeed";
Contracts["Trading"] = "Trading";
Contracts["TradingFactory"] = "TradingFactory";
Contracts["TruePolicy"] = "TruePolicy";
Contracts["UserWhitelist"] = "UserWhitelist";
Contracts["Vault"] = "Vault";
Contracts["VaultFactory"] = "VaultFactory";
Contracts["Version"] = "Version";
Contracts["Weth"] = "WETH";
Contracts["WrapperLock"] = "WrapperLock";
Contracts["WrapperLockEth"] = "WrapperLockEth";
Contracts["WrapperRegistryEFX"] = "WrapperRegistryEFX";
Contracts["ZeroExAdapter"] = "ZeroExV2Adapter";
Contracts["ZeroExExchange"] = "Exchange";
})(Contracts = exports.Contracts || (exports.Contracts = {}));
// HINT: Link the interfaces instead of the implementations wherever possible
// (to maintain extensibility)
// prettier-ignore
exports.requireMap = {
[]: require('../out/Accounting.abi.json'),
[]: require(`../out/${Contracts.AccountingFactory}.abi.json`),
[]: require('../out/AddressList.abi.json'),
[]: require('../out/AmguConsumer.abi.json'),
[]: require('../out/AssetBlacklist.abi.json'),
[]: require('../out/AssetWhitelist.abi.json'),
[]: require(`../out/${Contracts.BurnableToken}.abi.json`),
[]: require(`../out/${Contracts.CanonicalPriceFeed}.abi.json`),
[]: require(`../out/${Contracts.ERC20Proxy}.abi.json`),
[]: require('../out/Engine.abi.json'),
[]: require('../out/EngineAdapter.abi.json'),
[]: require(`../out/${Contracts.EthfinexAdapter}.abi.json`),
[]: require(`../out/${Contracts.ExchangeAdapter}.abi.json`),
[]: require('../out/FalsePolicy.abi.json'),
[]: require('../out/FeeManager.abi.json'),
[]: require(`../out/${Contracts.FeeManagerFactory}.abi.json`),
[]: require('../out/FundFactory.abi.json'),
[]: require('../out/FundRanking.abi.json'),
[]: require('../out/Hub.abi.json'),
[]: require('../out/MockAdapter.abi.json'),
[]: require('../out/ManagementFee.abi.json'),
[]: require('../out/MatchingMarket.abi.json'),
[]: require('../out/MatchingMarketAdapter.abi.json'),
[]: require('../out/MatchingMarketAccessor.abi.json'),
[]: require('../out/KyberNetwork.abi.json'),
[]: require(`../out/${Contracts.KyberPriceFeed}.abi.json`),
[]: require('../out/KyberReserve.abi.json'),
[]: require('../out/KyberNetworkProxy.abi.json'),
[]: require('../out/KyberAdapter.abi.json'),
[]: require('../out/ConversionRates.abi.json'),
[]: require('../out/KyberWhiteList.abi.json'),
[]: require('../out/MaliciousToken.abi.json'),
[]: require('../out/MaxPositions.abi.json'),
[]: require('../out/MaxConcentration.abi.json'),
[]: require('../out/MockAccounting.abi.json'),
[]: require('../out/MockFeeManager.abi.json'),
[]: require('../out/MockFee.abi.json'),
[]: require('../out/MockHub.abi.json'),
[]: require('../out/MockRegistry.abi.json'),
[]: require('../out/MockShares.abi.json'),
[]: require('../out/MockVersion.abi.json'),
[]: require('../out/MatchingMarket.abi.json'),
[]: require('../out/MatchingMarketAdapter.abi.json'),
[]: require('../out/Participation.abi.json'),
[]: require(`../out/${Contracts.ParticipationFactory}.abi.json`),
[]: require('../out/PerformanceFee.abi.json'),
[]: require(`../out/${Contracts.PermissiveAuthority}.abi.json`),
[]: require('../out/Policy.abi.json'),
[]: require('../out/PolicyManager.abi.json'),
[]: require(`../out/${Contracts.PolicyManagerFactory}.abi.json`),
[]: require('../out/PreminedToken.abi.json'),
[]: require(`../out/${Contracts.PriceTolerance}.abi.json`),
[]: require('../out/Registry.abi.json'),
[]: require('../out/PriceSourceInterface.abi.json'),
[]: require('../out/SelfDestructing.abi.json'),
[]: require('../out/Shares.abi.json'),
[]: require(`../out/${Contracts.SharesFactory}.abi.json`),
[]: require(`../out/${Contracts.Spoke}.abi.json`),
[]: require(`../out/${Contracts.StakingPriceFeed}.abi.json`),
[]: require('../out/StandardToken.abi.json'),
[]: require('../out/TestingPriceFeed.abi.json'),
[]: require('../out/Trading.abi.json'),
[]: require(`../out/${Contracts.TradingFactory}.abi.json`),
[]: require('../out/TruePolicy.abi.json'),
[]: require(`../out/${Contracts.UserWhitelist}.abi.json`),
[]: require('../out/Vault.abi.json'),
[]: require('../out/VaultFactory.abi.json'),
[]: require('../out/Version.abi.json'),
[]: require('../out/WETH.abi.json'),
[]: require(`../out/${Contracts.WrapperLock}.abi.json`),
[]: require(`../out/${Contracts.WrapperLockEth}.abi.json`),
[]: require(`../out/${Contracts.WrapperRegistryEFX}.abi.json`),
[]: require('../out/Exchange.abi.json'),
[]: require('../out/ZeroExV2Adapter.abi.json'),
};
const allAbis = R.toPairs(exports.requireMap);
const onlyEvents = R.propEq('type', 'event');
exports.eventSignatureABIMap = allAbis.reduce((carry, [contract, abi]) => {
const events = R.filter(onlyEvents, abi);
const signatureToEvents = R.map(eventAbi => [
web3_eth_abi_1.default.encodeEventSignature(eventAbi),
eventAbi,
])(events);
return Object.assign({}, carry, R.fromPairs(signatureToEvents));
}, {});
// Note: We need this as a string enum to have a readable export to JSON
var Exchanges;
(function (Exchanges) {
Exchanges["MatchingMarket"] = "MatchingMarket";
Exchanges["KyberNetwork"] = "KyberNetwork";
Exchanges["ZeroEx"] = "ZeroEx";
Exchanges["Ethfinex"] = "Ethfinex";
Exchanges["MelonEngine"] = "MelonEngine";
})(Exchanges = exports.Exchanges || (exports.Exchanges = {}));