"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transactions = exports.Signatures = exports.signStates = exports.signChallengeMessage = exports.getStateSignerAddress = exports.signState = exports.createTransferAllTransaction = exports.createETHDepositTransaction = exports.createERC20DepositTransaction = exports.hashState = exports.hashAppPart = exports.getFixedPart = exports.getVariablePart = exports.channelDataToChannelStorageHash = exports.hashOutcome = exports.encodeGuarantee = exports.isGuaranteeOutcome = exports.isAllocationOutcome = exports.decodeOutcome = exports.encodeOutcome = exports.encodeAllocation = exports.createValidTransitionTransaction = exports.ForceMoveAppContractInterface = exports.validTransition = exports.isExternalDestination = exports.getChannelId = exports.getChallengeClearedEvent = exports.getChallengeRegisteredEvent = exports.convertAddressToBytes32 = exports.convertBytes32ToAddress = exports.getDepositedEvent = exports.getAssetTransferredEvent = exports.setupContracts = exports.replaceAddressesAndBigNumberify = exports.randomExternalDestination = exports.randomChannelId = exports.getTestProvider = exports.TestContractArtifacts = exports.ContractArtifacts = void 0;
var NitroAdjudicator_json_1 = __importDefault(require("../artifacts/contracts/NitroAdjudicator.sol/NitroAdjudicator.json"));
var TrivialApp_json_1 = __importDefault(require("../artifacts/contracts/TrivialApp.sol/TrivialApp.json"));
var Token_json_1 = __importDefault(require("../artifacts/contracts/Token.sol/Token.json"));
var AssetHolder_json_1 = __importDefault(require("../artifacts/contracts/AssetHolder.sol/AssetHolder.json"));
var ERC20AssetHolder_json_1 = __importDefault(require("../artifacts/contracts/ERC20AssetHolder.sol/ERC20AssetHolder.json"));
var ETHAssetHolder_json_1 = __importDefault(require("../artifacts/contracts/ETHAssetHolder.sol/ETHAssetHolder.json"));
var TESTNitroAdjudicator_json_1 = __importDefault(require("../artifacts/contracts/test/TESTNitroAdjudicator.sol/TESTNitroAdjudicator.json"));
var TESTAssetHolder_json_1 = __importDefault(require("../artifacts/contracts/test/TESTAssetHolder.sol/TESTAssetHolder.json"));
exports.ContractArtifacts = {
    NitroAdjudicatorArtifact: NitroAdjudicator_json_1.default,
    TrivialAppArtifact: TrivialApp_json_1.default,
    Erc20AssetHolderArtifact: ERC20AssetHolder_json_1.default,
    EthAssetHolderArtifact: ETHAssetHolder_json_1.default,
    TokenArtifact: Token_json_1.default,
    AssetHolderArtifact: AssetHolder_json_1.default,
};
exports.TestContractArtifacts = {
    TestNitroAdjudicatorArtifact: TESTNitroAdjudicator_json_1.default,
    TestAssetHolderArtifact: TESTAssetHolder_json_1.default,
};
var test_helpers_1 = require("../test/test-helpers");
Object.defineProperty(exports, "getTestProvider", { enumerable: true, get: function () { return test_helpers_1.getTestProvider; } });
Object.defineProperty(exports, "randomChannelId", { enumerable: true, get: function () { return test_helpers_1.randomChannelId; } });
Object.defineProperty(exports, "randomExternalDestination", { enumerable: true, get: function () { return test_helpers_1.randomExternalDestination; } });
Object.defineProperty(exports, "replaceAddressesAndBigNumberify", { enumerable: true, get: function () { return test_helpers_1.replaceAddressesAndBigNumberify; } });
Object.defineProperty(exports, "setupContracts", { enumerable: true, get: function () { return test_helpers_1.setupContracts; } });
var asset_holder_1 = require("./contract/asset-holder");
Object.defineProperty(exports, "getAssetTransferredEvent", { enumerable: true, get: function () { return asset_holder_1.getAssetTransferredEvent; } });
Object.defineProperty(exports, "getDepositedEvent", { enumerable: true, get: function () { return asset_holder_1.getDepositedEvent; } });
Object.defineProperty(exports, "convertBytes32ToAddress", { enumerable: true, get: function () { return asset_holder_1.convertBytes32ToAddress; } });
Object.defineProperty(exports, "convertAddressToBytes32", { enumerable: true, get: function () { return asset_holder_1.convertAddressToBytes32; } });
var challenge_1 = require("./contract/challenge");
Object.defineProperty(exports, "getChallengeRegisteredEvent", { enumerable: true, get: function () { return challenge_1.getChallengeRegisteredEvent; } });
Object.defineProperty(exports, "getChallengeClearedEvent", { enumerable: true, get: function () { return challenge_1.getChallengeClearedEvent; } });
var channel_1 = require("./contract/channel");
Object.defineProperty(exports, "getChannelId", { enumerable: true, get: function () { return channel_1.getChannelId; } });
Object.defineProperty(exports, "isExternalDestination", { enumerable: true, get: function () { return channel_1.isExternalDestination; } });
var force_move_app_1 = require("./contract/force-move-app");
Object.defineProperty(exports, "validTransition", { enumerable: true, get: function () { return force_move_app_1.validTransition; } });
Object.defineProperty(exports, "ForceMoveAppContractInterface", { enumerable: true, get: function () { return force_move_app_1.ForceMoveAppContractInterface; } });
Object.defineProperty(exports, "createValidTransitionTransaction", { enumerable: true, get: function () { return force_move_app_1.createValidTransitionTransaction; } });
var outcome_1 = require("./contract/outcome");
Object.defineProperty(exports, "encodeAllocation", { enumerable: true, get: function () { return outcome_1.encodeAllocation; } });
Object.defineProperty(exports, "encodeOutcome", { enumerable: true, get: function () { return outcome_1.encodeOutcome; } });
Object.defineProperty(exports, "decodeOutcome", { enumerable: true, get: function () { return outcome_1.decodeOutcome; } });
Object.defineProperty(exports, "isAllocationOutcome", { enumerable: true, get: function () { return outcome_1.isAllocationOutcome; } });
Object.defineProperty(exports, "isGuaranteeOutcome", { enumerable: true, get: function () { return outcome_1.isGuaranteeOutcome; } });
Object.defineProperty(exports, "encodeGuarantee", { enumerable: true, get: function () { return outcome_1.encodeGuarantee; } });
Object.defineProperty(exports, "hashOutcome", { enumerable: true, get: function () { return outcome_1.hashOutcome; } });
var channel_storage_1 = require("./contract/channel-storage");
Object.defineProperty(exports, "channelDataToChannelStorageHash", { enumerable: true, get: function () { return channel_storage_1.channelDataToChannelStorageHash; } });
var state_1 = require("./contract/state");
Object.defineProperty(exports, "getVariablePart", { enumerable: true, get: function () { return state_1.getVariablePart; } });
Object.defineProperty(exports, "getFixedPart", { enumerable: true, get: function () { return state_1.getFixedPart; } });
Object.defineProperty(exports, "hashAppPart", { enumerable: true, get: function () { return state_1.hashAppPart; } });
Object.defineProperty(exports, "hashState", { enumerable: true, get: function () { return state_1.hashState; } });
var erc20_asset_holder_1 = require("./contract/transaction-creators/erc20-asset-holder");
Object.defineProperty(exports, "createERC20DepositTransaction", { enumerable: true, get: function () { return erc20_asset_holder_1.createDepositTransaction; } });
var eth_asset_holder_1 = require("./contract/transaction-creators/eth-asset-holder");
Object.defineProperty(exports, "createETHDepositTransaction", { enumerable: true, get: function () { return eth_asset_holder_1.createDepositTransaction; } });
Object.defineProperty(exports, "createTransferAllTransaction", { enumerable: true, get: function () { return eth_asset_holder_1.createTransferAllTransaction; } });
var signatures_1 = require("./signatures");
Object.defineProperty(exports, "signState", { enumerable: true, get: function () { return signatures_1.signState; } });
Object.defineProperty(exports, "getStateSignerAddress", { enumerable: true, get: function () { return signatures_1.getStateSignerAddress; } });
Object.defineProperty(exports, "signChallengeMessage", { enumerable: true, get: function () { return signatures_1.signChallengeMessage; } });
Object.defineProperty(exports, "signStates", { enumerable: true, get: function () { return signatures_1.signStates; } });
var Signatures = __importStar(require("./signatures"));
exports.Signatures = Signatures;
var Transactions = __importStar(require("./transactions"));
exports.Transactions = Transactions;
__exportStar(require("./valid-transition"), exports);
//# sourceMappingURL=index.js.map