"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const commonTypes_1 = require("../../commonTypes");
const contractWrapperBase_1 = require("../../contractWrapperBase");
const contractWrapperFactory_1 = require("../../contractWrapperFactory");
class TestWrapperWrapper extends contractWrapperBase_1.ContractWrapperBase {
    constructor() {
        super(...arguments);
        this.name = "AbsoluteVote";
        this.friendlyName = "Test Wrapper";
        this.factory = exports.TestWrapperFactory;
    }
    foo() {
        return "bar";
    }
    aMethod() {
        return "abc";
    }
    setParameters(params) {
        const _super = name => super[name];
        return tslib_1.__awaiter(this, void 0, void 0, function* () {
            params = Object.assign({}, {
                ownerVote: true,
                reputation: "0x1000000000000000000000000000000000000000",
                votePerc: 50,
            }, params);
            return _super("_setParameters").call(this, "AbsoluteVote.setParameters", params.reputation, params.votePerc, params.ownerVote);
        });
    }
    getDefaultPermissions() {
        return commonTypes_1.DefaultSchemePermissions.MinimumPermissions;
    }
}
exports.TestWrapperWrapper = TestWrapperWrapper;
exports.TestWrapperFactory = new contractWrapperFactory_1.ContractWrapperFactory("AbsoluteVote", TestWrapperWrapper);
//# sourceMappingURL=testWrapper.js.map