openethereum/js/src/contracts/contracts.js
2016-12-12 12:21:06 +01:00

80 lines
1.9 KiB
JavaScript

// Copyright 2015, 2016 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
import DappReg from './dappreg';
import Registry from './registry';
import SignatureReg from './signaturereg';
import TokenReg from './tokenreg';
import GithubHint from './githubhint';
import * as verification from './verification';
import BadgeReg from './badgereg';
let instance = null;
export default class Contracts {
constructor (api) {
instance = this;
this._api = api;
this._registry = new Registry(api);
this._dappreg = new DappReg(api, this._registry);
this._signaturereg = new SignatureReg(api, this._registry);
this._tokenreg = new TokenReg(api, this._registry);
this._githubhint = new GithubHint(api, this._registry);
this.badgeReg = new BadgeReg(api, this._registry);
}
get registry () {
return this._registry;
}
get dappReg () {
return this._dappreg;
}
get signatureReg () {
return this._signaturereg;
}
get tokenReg () {
return this._tokenreg;
}
get githubHint () {
return this._githubhint;
}
get smsVerification () {
return verification;
}
get emailVerification () {
return verification;
}
static create (api) {
if (instance) {
return instance;
}
return new Contracts(api);
}
static get () {
return instance;
}
}