opportunity-service 0.0.565 → 0.0.569
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/OpportunityService.js +137 -0
- package/dist/OpportunityService.js.map +1 -0
- package/dist/api/dispute/check-vote-results.js +33 -0
- package/dist/api/dispute/check-vote-results.js.map +1 -0
- package/dist/api/dispute/connect.js +39 -0
- package/dist/api/dispute/connect.js.map +1 -0
- package/dist/api/dispute/ensure-entity-metadata.js +39 -0
- package/dist/api/dispute/ensure-entity-metadata.js.map +1 -0
- package/dist/api/dispute/launch-new-vote.js +94 -0
- package/dist/api/dispute/launch-new-vote.js.map +1 -0
- package/dist/api/dispute/submit-vote.js +41 -0
- package/dist/api/dispute/submit-vote.js.map +1 -0
- package/dist/api/dispute/util/wait-until-present.js +27 -0
- package/dist/api/dispute/util/wait-until-present.js.map +1 -0
- package/dist/api/dispute/util/wait-until-started.js +23 -0
- package/dist/api/dispute/util/wait-until-started.js.map +1 -0
- package/dist/api/ethereum/sendAsync.js +37 -0
- package/dist/api/ethereum/sendAsync.js.map +1 -0
- package/dist/api/exchange/complete-relationship.js +4 -0
- package/dist/api/exchange/complete-relationship.js.map +1 -0
- package/dist/api/exchange/create-dispute.js +40 -0
- package/dist/api/exchange/create-dispute.js.map +1 -0
- package/dist/api/exchange/create-task.js +70 -0
- package/dist/api/exchange/create-task.js.map +1 -0
- package/dist/api/exchange/enter-work-relationship.js +61 -0
- package/dist/api/exchange/enter-work-relationship.js.map +1 -0
- package/dist/api/exchange/index.js +1 -0
- package/dist/api/exchange/index.js.map +1 -0
- package/dist/api/exchange/inspect-relationship.js +6 -0
- package/dist/api/exchange/inspect-relationship.js.map +1 -0
- package/dist/api/identity/register-new-user.js +33 -0
- package/dist/api/identity/register-new-user.js.map +1 -0
- package/dist/api/index.js +72 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/internal/abis.js +10 -0
- package/dist/api/internal/abis.js.map +1 -0
- package/dist/api/internal/addresses.js +8 -0
- package/dist/api/internal/addresses.js.map +1 -0
- package/dist/api/internal/events.js +10 -0
- package/dist/api/internal/events.js.map +1 -0
- package/dist/api/internal/index.js +5 -0
- package/dist/api/internal/index.js.map +1 -0
- package/dist/api/market/create-market.js +4 -0
- package/dist/api/market/create-market.js.map +1 -0
- package/dist/api/other/create-eth-crypto-creds.js +20 -0
- package/dist/api/other/create-eth-crypto-creds.js.map +1 -0
- package/dist/api/provider/decrypt.js +18 -0
- package/dist/api/provider/decrypt.js.map +1 -0
- package/dist/api/provider/encrypt.js +18 -0
- package/dist/api/provider/encrypt.js.map +1 -0
- package/dist/api/util/encrypt-by-public-key.js +52 -0
- package/dist/api/util/encrypt-by-public-key.js.map +1 -0
- package/dist/api/util/parse-cipher.js +11 -0
- package/dist/api/util/parse-cipher.js.map +1 -0
- package/dist/api/util/stringify-cipher.js +5 -0
- package/dist/api/util/stringify-cipher.js.map +1 -0
- package/dist/blockchain/abi.json +1626 -0
- package/dist/blockchain/addresses.json +17 -0
- package/dist/blockchain/blocks.json +3 -0
- package/dist/blockchain/bytecode.json +4 -0
- package/dist/constants/interface.js +1 -0
- package/dist/constants/interface.js.map +1 -0
- package/dist/constants/voting.js +1 -0
- package/dist/constants/voting.js.map +1 -0
- package/dist/constants.js +92 -0
- package/dist/constants.js.map +1 -0
- package/dist/events/OpportunityEventEmitter.js +32 -0
- package/dist/events/OpportunityEventEmitter.js.map +1 -0
- package/dist/events/get-log.js +1 -0
- package/dist/events/get-log.js.map +1 -0
- package/dist/events/start-event-listeners.js +9 -0
- package/dist/events/start-event-listeners.js.map +1 -0
- package/dist/events/sync-with-ethereum-node.js +20 -0
- package/dist/events/sync-with-ethereum-node.js.map +1 -0
- package/dist/gas.js +1 -0
- package/dist/gas.js.map +1 -0
- package/dist/logger.js +1 -0
- package/dist/logger.js.map +1 -0
- package/dist/modules/storage/OpportunityStorageProvider.js +94 -0
- package/dist/modules/storage/OpportunityStorageProvider.js.map +1 -0
- package/dist/sync/process/process-log.js +69 -0
- package/dist/sync/process/process-log.js.map +1 -0
- package/dist/sync/process/processDisputeCreated.js +33 -0
- package/dist/sync/process/processDisputeCreated.js.map +1 -0
- package/dist/sync/process/processMarketCreatedLog.js +33 -0
- package/dist/sync/process/processMarketCreatedLog.js.map +1 -0
- package/dist/sync/process/processMarketDestroyedEvent.js +10 -0
- package/dist/sync/process/processMarketDestroyedEvent.js.map +1 -0
- package/dist/sync/process/processUserAssignedTrueIdentification.js +21 -0
- package/dist/sync/process/processUserAssignedTrueIdentification.js.map +1 -0
- package/dist/sync/process/processUserRegistered.js +20 -0
- package/dist/sync/process/processUserRegistered.js.map +1 -0
- package/dist/sync/process/processUserSummaryCreated.js +22 -0
- package/dist/sync/process/processUserSummaryCreated.js.map +1 -0
- package/dist/sync/process/processWorkRelationshipCreated.js +38 -0
- package/dist/sync/process/processWorkRelationshipCreated.js.map +1 -0
- package/dist/sync/sync-jobs.js +35 -0
- package/dist/sync/sync-jobs.js.map +1 -0
- package/dist/sync/sync-markets.js +37 -0
- package/dist/sync/sync-markets.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/util.js +1 -0
- package/dist/util.js.map +1 -0
- package/package.json +1 -1
- package/src/api/exchange/create-dispute.ts +0 -1
- package/src/api/identity/register-new-user.ts +5 -5
- package/src/blockchain/addresses.json +4 -4
- package/src/sync/sync-markets.ts +1 -1
@@ -0,0 +1,137 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { RPCEvents, ServiceEvents } from "./constants";
|
11
|
+
import opportunityEventEmitter from "./events/OpportunityEventEmitter";
|
12
|
+
import { syncWithEthereumNode } from "./events/sync-with-ethereum-node";
|
13
|
+
import { ethers } from "ethers";
|
14
|
+
import { startEventListeners } from "./events/start-event-listeners";
|
15
|
+
import opportunityAPI from './api/index';
|
16
|
+
import Web3 from 'web3';
|
17
|
+
import OpportunityStorageProvider from "./modules/storage/OpportunityStorageProvider";
|
18
|
+
class OpportunityService {
|
19
|
+
/**
|
20
|
+
* The Singleton's constructor should always be private to prevent direct
|
21
|
+
* construction calls with the `new` operator.
|
22
|
+
*/
|
23
|
+
constructor() {
|
24
|
+
this.eventEmitter = opportunityEventEmitter;
|
25
|
+
this.running = false;
|
26
|
+
this.syncing = false;
|
27
|
+
this.ethersProvider = ethers.getDefaultProvider('http://localhost:8545');
|
28
|
+
this.ethersSigner = null;
|
29
|
+
this.opportunityLogger = null;
|
30
|
+
this.storageProvider = null;
|
31
|
+
this.currentAccount = null;
|
32
|
+
this.ethNetwork = 'rinkeby';
|
33
|
+
this.storage = null;
|
34
|
+
this.api = opportunityAPI;
|
35
|
+
this.ethNetwork = 'rinkeby';
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* The static method that controls the access to the singleton instance.
|
39
|
+
*
|
40
|
+
* This implementation let you subclass the Singleton class while keeping
|
41
|
+
* just one instance of each subclass around.
|
42
|
+
*/
|
43
|
+
static getInstance() {
|
44
|
+
if (!OpportunityService.instance) {
|
45
|
+
OpportunityService.instance = new OpportunityService();
|
46
|
+
}
|
47
|
+
return OpportunityService.instance;
|
48
|
+
}
|
49
|
+
assignDefaultProvider(provider) {
|
50
|
+
OpportunityService.defaultProvider = provider;
|
51
|
+
}
|
52
|
+
assignProvider(provider) {
|
53
|
+
this.ethersProvider = provider;
|
54
|
+
}
|
55
|
+
assignSigner(signer) {
|
56
|
+
this.ethersSigner = signer;
|
57
|
+
}
|
58
|
+
assignCurrentAccount(account) {
|
59
|
+
this.currentAccount = account;
|
60
|
+
}
|
61
|
+
subscribeToEvents(eventDictionary, onComplete) {
|
62
|
+
startEventListeners(eventDictionary, onComplete);
|
63
|
+
}
|
64
|
+
setNetworkParameters(networkId, dbAddress) {
|
65
|
+
switch (networkId) {
|
66
|
+
case 1:
|
67
|
+
this.ethNetwork = 'mainnet';
|
68
|
+
break;
|
69
|
+
case 4:
|
70
|
+
this.ethNetwork = 'rinkeby';
|
71
|
+
break;
|
72
|
+
default:
|
73
|
+
this.ethNetwork = 'rinkeby';
|
74
|
+
}
|
75
|
+
this.storageProvider = new OpportunityStorageProvider(dbAddress);
|
76
|
+
}
|
77
|
+
getEthNetwork() {
|
78
|
+
return this.ethNetwork;
|
79
|
+
}
|
80
|
+
getStorageProvider() {
|
81
|
+
return this.storageProvider;
|
82
|
+
}
|
83
|
+
startService() {
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
85
|
+
if (this.running) {
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
console.log('Starting service...');
|
89
|
+
this.sync();
|
90
|
+
this.running = true;
|
91
|
+
console.log('Finished starting service...');
|
92
|
+
});
|
93
|
+
}
|
94
|
+
shutdownService() {
|
95
|
+
if (!this.running) {
|
96
|
+
return;
|
97
|
+
}
|
98
|
+
;
|
99
|
+
this.running = false;
|
100
|
+
this.assignDefaultProvider(null);
|
101
|
+
this.assignProvider(null);
|
102
|
+
this.assignSigner(null);
|
103
|
+
this.eventEmitter.emit(ServiceEvents.ServiceStopped);
|
104
|
+
}
|
105
|
+
sync() {
|
106
|
+
//sync node
|
107
|
+
this.syncing = true;
|
108
|
+
this.eventEmitter.emit(RPCEvents.StartSyncing);
|
109
|
+
syncWithEthereumNode()
|
110
|
+
.then(() => {
|
111
|
+
this.syncing = false;
|
112
|
+
this.eventEmitter.emit(RPCEvents.StopSyncing);
|
113
|
+
console.log('Finished syncing ethereum node.');
|
114
|
+
this.syncing = false;
|
115
|
+
})
|
116
|
+
.catch(err => {
|
117
|
+
console.log('Error while syncing ethereum node: ' + err);
|
118
|
+
this.syncing = false;
|
119
|
+
});
|
120
|
+
}
|
121
|
+
isSyncing() {
|
122
|
+
return this.syncing;
|
123
|
+
}
|
124
|
+
getDefaultProviderInterface() {
|
125
|
+
return OpportunityService.defaultProvider;
|
126
|
+
}
|
127
|
+
getProviderInterface() {
|
128
|
+
return this.ethersProvider;
|
129
|
+
}
|
130
|
+
getSignersInterface() {
|
131
|
+
return this.ethersSigner;
|
132
|
+
}
|
133
|
+
}
|
134
|
+
OpportunityService.defaultProvider = new Web3('http://localhost:8545');
|
135
|
+
const opportunityService = OpportunityService.getInstance();
|
136
|
+
export default opportunityService;
|
137
|
+
//# sourceMappingURL=OpportunityService.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"OpportunityService.js","sourceRoot":"","sources":["../src/OpportunityService.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import * as assert from 'assert';
|
11
|
+
import { VotingApi, VochainWaiter } from '@vocdoni/voting';
|
12
|
+
export function checkVoteResults(processId, gwPool) {
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
14
|
+
assert.strictEqual(typeof processId, "string");
|
15
|
+
console.log("Waiting a bit for the votes to be received", processId);
|
16
|
+
const nextBlock = 2 + (yield VotingApi.getBlockHeight(gwPool));
|
17
|
+
yield VochainWaiter.waitUntil(nextBlock, gwPool, { verbose: true });
|
18
|
+
console.log("Fetching the number of votes for", processId);
|
19
|
+
const envelopeHeight = yield VotingApi.getEnvelopeHeight(processId, gwPool);
|
20
|
+
console.log('Votes submitted: ' + envelopeHeight);
|
21
|
+
const processState = yield VotingApi.getProcessState(processId, gwPool);
|
22
|
+
console.log("Waiting for the process to end", processId);
|
23
|
+
yield VochainWaiter.waitUntil(processState.endBlock, gwPool, { verbose: true });
|
24
|
+
console.log("Waiting a bit for the results to be ready", processId);
|
25
|
+
yield VochainWaiter.wait(2, gwPool, { verbose: true });
|
26
|
+
console.log("Fetching the vote results for", processId);
|
27
|
+
const rawResults = yield VotingApi.getResults(processId, gwPool);
|
28
|
+
const totalVotes = yield VotingApi.getEnvelopeHeight(processId, gwPool);
|
29
|
+
console.log('Raw voting results: ' + rawResults);
|
30
|
+
console.log('Total votes: ' + totalVotes);
|
31
|
+
});
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=check-vote-results.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"check-vote-results.js","sourceRoot":"","sources":["../../../src/api/dispute/check-vote-results.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG1D,MAAM,UAAgB,gBAAgB,CAAC,SAAiB,EAAE,MAAmB;;QACzE,MAAM,CAAC,WAAW,CAAC,OAAO,SAAS,EAAE,QAAQ,CAAC,CAAA;QAE9C,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAA;QACpE,MAAM,SAAS,GAAG,CAAC,IAAG,MAAM,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA,CAAA;QAC5D,MAAM,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAEnE,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAA;QAC1D,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC3E,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,cAAc,CAAC,CAAA;QAEjD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEvE,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAA;QACxD,MAAM,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/E,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAA;QACnE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAEtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEvE,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,UAAU,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,UAAU,CAAC,CAAA;IAC7C,CAAC;CAAA"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { GatewayPool, DVoteGateway } from "@vocdoni/client";
|
11
|
+
export function connectGateways(networkId, environment, bootnodeContentUri) {
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
13
|
+
console.log("Connecting to the gateways");
|
14
|
+
const options = {
|
15
|
+
networkId: networkId,
|
16
|
+
environment: environment,
|
17
|
+
bootnodesContentUri: bootnodeContentUri
|
18
|
+
};
|
19
|
+
const pool = yield GatewayPool.discover(options);
|
20
|
+
console.log("Connected to", pool.dvoteUri);
|
21
|
+
console.log("Connected to", pool.provider["connection"].url);
|
22
|
+
return pool;
|
23
|
+
});
|
24
|
+
}
|
25
|
+
export function getOracleClient() {
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
27
|
+
console.log('Creating oracle instance...');
|
28
|
+
const oracleClient = new DVoteGateway({
|
29
|
+
uri: 'https://signaling-oracle.dev.vocdoni.net/dvote',
|
30
|
+
supportedApis: ["oracle"]
|
31
|
+
});
|
32
|
+
console.log('Initiating oracle...');
|
33
|
+
yield oracleClient.init();
|
34
|
+
console.log('Oracle status: ' + oracleClient.isReady);
|
35
|
+
console.log('Oracle health: ' + oracleClient.health);
|
36
|
+
return oracleClient;
|
37
|
+
});
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=connect.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/api/dispute/connect.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAA+B,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAIxF,MAAM,UAAgB,eAAe,CAAC,SAAuB,EAAE,WAA+B,EAAE,kBAA0B;;QACtH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;QAEzC,MAAM,OAAO,GAAiC;YAC1C,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW;YACxB,mBAAmB,EAAE,kBAAkB;SAC1C,CAAA;QAED,MAAM,IAAI,GAAG,MAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEjD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAA;QAE5D,OAAO,IAAI,CAAA;IACf,CAAC;CAAA;AAED,MAAM,UAAgB,eAAe;;QACjC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;YAClC,GAAG,EAAE,gDAAgD;YACrD,aAAa,EAAE,CAAC,QAAQ,CAAC;SAC5B,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QAEzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QAEpD,OAAO,YAAY,CAAA;IACvB,CAAC;CAAA"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { EntityMetadataTemplate } from '@vocdoni/data-models';
|
11
|
+
import { EntityApi } from '@vocdoni/voting';
|
12
|
+
import * as assert from 'assert';
|
13
|
+
export function ensureEntityMetadata(creatorWallet, gwPool) {
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
15
|
+
console.log("Making sure metadata doesn't already exist...");
|
16
|
+
const meta = yield EntityApi.getMetadata(creatorWallet.address, gwPool).catch(err => console.log(err));
|
17
|
+
if (!meta)
|
18
|
+
return false;
|
19
|
+
console.log("Setting Metadata for entity", creatorWallet.address);
|
20
|
+
const metadata = JSON.parse(JSON.stringify(EntityMetadataTemplate));
|
21
|
+
metadata.name = { default: "Opportunity" };
|
22
|
+
metadata.description = { default: "Opportunity, decentralized job markets" };
|
23
|
+
metadata.media = {
|
24
|
+
avatar: "https://picsum.photos/200/300",
|
25
|
+
header: "Opportunity, decentralized job markets",
|
26
|
+
logo: "https://picsum.photos/200/300"
|
27
|
+
};
|
28
|
+
yield EntityApi.setMetadata(creatorWallet.address, metadata, creatorWallet, gwPool);
|
29
|
+
console.log('Entity metadata set');
|
30
|
+
// Read back
|
31
|
+
const entityMetaPost = yield EntityApi.getMetadata(creatorWallet.address, gwPool);
|
32
|
+
if (!entityMetaPost)
|
33
|
+
return false;
|
34
|
+
assert.strictEqual(entityMetaPost.name.default, metadata.name.default);
|
35
|
+
assert.strictEqual(entityMetaPost.description.default, metadata.description.default);
|
36
|
+
return true;
|
37
|
+
});
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=ensure-entity-metadata.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ensure-entity-metadata.js","sourceRoot":"","sources":["../../../src/api/dispute/ensure-entity-metadata.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,UAAgB,oBAAoB,CAAC,aAAqB,EAAE,MAAmB;;QACjF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACtG,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEvB,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAEnE,QAAQ,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;QAC1C,QAAQ,CAAC,WAAW,GAAG,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAA;QAC5E,QAAQ,CAAC,KAAK,GAAG;YACb,MAAM,EAAE,+BAA+B;YACvC,MAAM,EAAE,wCAAwC;YAChD,IAAI,EAAE,+BAA+B;SACxC,CAAA;QAED,MAAM,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACnF,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAElC,YAAY;QACZ,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACjF,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAA;QAEjC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAEpF,OAAO,IAAI,CAAA;IACf,CAAC;CAAA"}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { CensusErc20Api } from "@vocdoni/census";
|
11
|
+
import { VotingApi, VotingOracleApi } from "@vocdoni/voting";
|
12
|
+
import { Erc20TokensApi } from "@vocdoni/client";
|
13
|
+
import { ProcessMetadataTemplate } from "@vocdoni/data-models";
|
14
|
+
import { ProcessMode, ProcessEnvelopeType } from '@vocdoni/contract-wrappers';
|
15
|
+
import * as assert from 'assert';
|
16
|
+
import { waitUntilPresent } from "./util/wait-until-present";
|
17
|
+
export function launchNewVote(creatorWallet, tokenAddress, gwPool, oracleClient, disputeId, employer, worker) {
|
18
|
+
var _a;
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
20
|
+
console.log('Launching new vote...');
|
21
|
+
if (!(yield Erc20TokensApi.isRegistered(tokenAddress, gwPool))) {
|
22
|
+
yield CensusErc20Api.registerTokenAuto(tokenAddress, creatorWallet, gwPool);
|
23
|
+
assert(yield Erc20TokensApi.isRegistered(tokenAddress, gwPool));
|
24
|
+
}
|
25
|
+
const sourceBlockHeight = (yield gwPool.provider.getBlockNumber()) - 1;
|
26
|
+
const tokenInfo = yield CensusErc20Api.getTokenInfo(tokenAddress, gwPool);
|
27
|
+
const proof = yield CensusErc20Api.generateProof(tokenAddress, creatorWallet.address, tokenInfo.balanceMappingPosition, sourceBlockHeight, gwPool.provider);
|
28
|
+
if (!((_a = proof === null || proof === void 0 ? void 0 : proof.storageProof) === null || _a === void 0 ? void 0 : _a.length))
|
29
|
+
throw new Error("Invalid storage proof");
|
30
|
+
console.log("Preparing the new vote metadata");
|
31
|
+
const processMetadataPre = JSON.parse(JSON.stringify(ProcessMetadataTemplate)); // make a copy of the template
|
32
|
+
processMetadataPre.title.default = disputeId,
|
33
|
+
processMetadataPre.description.default = `Dispute: ${disputeId}`,
|
34
|
+
processMetadataPre.questions = [
|
35
|
+
{
|
36
|
+
title: { default: "Contract Dispute" },
|
37
|
+
description: { default: "Please choose one of the two participants" },
|
38
|
+
choices: [
|
39
|
+
{ title: { default: employer }, value: 0 },
|
40
|
+
{ title: { default: worker }, value: 1 },
|
41
|
+
]
|
42
|
+
}
|
43
|
+
];
|
44
|
+
processMetadataPre.meta.disputeId = disputeId;
|
45
|
+
const maxValue = processMetadataPre.questions.reduce((prev, cur) => {
|
46
|
+
const localMax = cur.choices.reduce((prev, cur) => prev > cur.value ? prev : cur.value, 0);
|
47
|
+
return localMax > prev ? localMax : prev;
|
48
|
+
}, 0);
|
49
|
+
console.log("Getting the block height");
|
50
|
+
const currentBlock = yield VotingApi.getBlockHeight(gwPool);
|
51
|
+
const startBlock = currentBlock + 15; //start after 15 blocks
|
52
|
+
const blockCount = 6 * 4; // 4m
|
53
|
+
const processParamsPre = {
|
54
|
+
mode: ProcessMode.make({ autoStart: true }),
|
55
|
+
envelopeType: ProcessEnvelopeType.make({}),
|
56
|
+
metadata: processMetadataPre,
|
57
|
+
startBlock,
|
58
|
+
blockCount,
|
59
|
+
maxCount: 1,
|
60
|
+
maxValue,
|
61
|
+
maxTotalCost: 0,
|
62
|
+
costExponent: 10000,
|
63
|
+
maxVoteOverwrites: 1,
|
64
|
+
sourceBlockHeight,
|
65
|
+
tokenAddress,
|
66
|
+
paramsSignature: "0x0000000000000000000000000000000000000000000000000000000000000000"
|
67
|
+
};
|
68
|
+
const tokenDetails = {
|
69
|
+
balanceMappingPosition: tokenInfo.balanceMappingPosition,
|
70
|
+
storageHash: proof.storageHash,
|
71
|
+
storageProof: {
|
72
|
+
key: proof.storageProof[0].key,
|
73
|
+
value: proof.storageProof[0].value,
|
74
|
+
proof: proof.storageProof[0].proof
|
75
|
+
}
|
76
|
+
};
|
77
|
+
console.log("Creating the process");
|
78
|
+
const processId = yield VotingOracleApi.newProcessErc20(processParamsPre, tokenDetails, creatorWallet, gwPool, oracleClient);
|
79
|
+
assert(processId);
|
80
|
+
console.log("Created process with process id: ", processId);
|
81
|
+
yield waitUntilPresent(processId, gwPool);
|
82
|
+
console.log('Checking process params to ensure process was created...');
|
83
|
+
const processParams = yield VotingApi.getProcessState(processId, gwPool);
|
84
|
+
assert.strictEqual(processParams === null || processParams === void 0 ? void 0 : processParams.entityAddress.toLowerCase(), creatorWallet.address.toLowerCase());
|
85
|
+
assert.strictEqual(processParams === null || processParams === void 0 ? void 0 : processParams.startBlock, processParamsPre === null || processParamsPre === void 0 ? void 0 : processParamsPre.startBlock, "SENT " + JSON.stringify(processParamsPre) + " GOT " + JSON.stringify(processParams));
|
86
|
+
assert.strictEqual(processParams === null || processParams === void 0 ? void 0 : processParams.blockCount, processParamsPre === null || processParamsPre === void 0 ? void 0 : processParamsPre.blockCount);
|
87
|
+
assert.strictEqual(processParams === null || processParams === void 0 ? void 0 : processParams.censusUri, processParamsPre === null || processParamsPre === void 0 ? void 0 : processParamsPre.censusUri);
|
88
|
+
const processMetadata = yield VotingApi.getProcessMetadata(processId, gwPool);
|
89
|
+
console.log('Process created with metadata: ');
|
90
|
+
console.log(processMetadata);
|
91
|
+
return { processId, processParams, processMetadata };
|
92
|
+
});
|
93
|
+
}
|
94
|
+
//# sourceMappingURL=launch-new-vote.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"launch-new-vote.js","sourceRoot":"","sources":["../../../src/api/dispute/launch-new-vote.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { CensusErc20Api } from "@vocdoni/census";
|
11
|
+
import { VotingApi } from "@vocdoni/voting";
|
12
|
+
export function submitVote(processId, processParams, processMetadata, accounts, tokenAddress, voter, voterChoice, gwPool) {
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
14
|
+
console.log("Launching votes");
|
15
|
+
const processKeys = processParams.envelopeType.hasEncryptedVotes ? yield VotingApi.getProcessKeys(processId, gwPool) : null;
|
16
|
+
const balanceMappingPosition = (yield CensusErc20Api.getTokenInfo(tokenAddress, gwPool)).balanceMappingPosition;
|
17
|
+
const voterAddress = yield voter.getAddress();
|
18
|
+
const result = yield CensusErc20Api.generateProof(tokenAddress, voterAddress, balanceMappingPosition, processParams.sourceBlockHeight, gwPool.provider);
|
19
|
+
const censusProof = result.storageProof[0];
|
20
|
+
console.log('Creating voter envelope');
|
21
|
+
const envelope = processParams.envelopeType.encryptedVotes ?
|
22
|
+
yield VotingApi.packageSignedEnvelope({ censusOrigin: processParams.censusOrigin, votes: voterChoice, censusProof, processId, walletOrSigner: voter, processKeys }) :
|
23
|
+
yield VotingApi.packageSignedEnvelope({ censusOrigin: processParams.censusOrigin, votes: voterChoice, censusProof, processId, walletOrSigner: voter });
|
24
|
+
console.log('Attempting to submit voter envelope: ' + voter);
|
25
|
+
yield VotingApi.submitEnvelope(envelope, voter, gwPool);
|
26
|
+
// wait a bit
|
27
|
+
yield new Promise(resolve => setTimeout(resolve, 11000));
|
28
|
+
const nullifier = VotingApi.getSignedVoteNullifier(voterAddress, processId);
|
29
|
+
const { block, date, registered } = yield VotingApi.getEnvelopeStatus(processId, nullifier, gwPool);
|
30
|
+
if (!registered) {
|
31
|
+
console.log('Vote not submitted.. voter not registered...');
|
32
|
+
return false;
|
33
|
+
}
|
34
|
+
console.log('Voter envelope successfully submitted');
|
35
|
+
console.log('Block: ' + block);
|
36
|
+
console.log('Date: ' + date);
|
37
|
+
console.log('Registered: ' + registered);
|
38
|
+
return true;
|
39
|
+
});
|
40
|
+
}
|
41
|
+
//# sourceMappingURL=submit-vote.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"submit-vote.js","sourceRoot":"","sources":["../../../src/api/dispute/submit-vote.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAgB,SAAS,EAAmB,MAAM,iBAAiB,CAAA;AAO1E,MAAM,UAAgB,UAAU,CAC5B,SAAiB,EACjB,aAA2B,EAC3B,eAAgC,EAChC,QAAQ,EACR,YAAoB,EACpB,KAAa,EACb,WAAqB,EACrB,MAAmB;;QACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAE9B,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3H,MAAM,sBAAsB,GAAG,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAA;QAC/G,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAC7C,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,aAAa,CAAC,iBAAiB,EAC/B,MAAM,CAAC,QAA2B,CACrC,CAAA;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAE1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,SAAS,CAAC,qBAAqB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACrK,MAAM,SAAS,CAAC,qBAAqB,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;QAEtJ,OAAO,CAAC,GAAG,CAAC,uCAAuC,GAAG,KAAK,CAAC,CAAA;QAC5D,MAAM,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvD,aAAa;QACb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;QAExD,MAAM,SAAS,GAAG,SAAS,CAAC,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAC3E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAEnG,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;YAC3D,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,CAAA;QAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,UAAU,CAAC,CAAA;QACxC,OAAO,IAAI,CAAA;IACf,CAAC;CAAA"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { VotingApi, VochainWaiter } from '@vocdoni/voting';
|
11
|
+
export function waitUntilPresent(processId, gwPool) {
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
13
|
+
let attempts = 10;
|
14
|
+
while (attempts >= 0) {
|
15
|
+
console.log("Waiting for process", processId, "to be created");
|
16
|
+
yield VochainWaiter.wait(1, gwPool);
|
17
|
+
const state = yield VotingApi.getProcessState(processId, gwPool).catch(error => console.log(error));
|
18
|
+
console.log('Attempted to get process state: ' + state);
|
19
|
+
if (state === null || state === void 0 ? void 0 : state.entityId)
|
20
|
+
break;
|
21
|
+
attempts--;
|
22
|
+
}
|
23
|
+
if (attempts < 0)
|
24
|
+
throw new Error("The process still does not exist on the Vochain after 10 blocks");
|
25
|
+
});
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=wait-until-present.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wait-until-present.js","sourceRoot":"","sources":["../../../../src/api/dispute/util/wait-until-present.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAA;AAIxE,MAAM,UAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;;QACpD,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,OAAO,QAAQ,IAAI,CAAC,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;YAC9D,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAEnC,MAAM,KAAK,GAAwB,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YACxH,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,KAAK,CAAC,CAAA;YACvD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ;gBAAE,MAAK;YAE1B,QAAQ,EAAE,CAAA;SACb;QAED,IAAI,QAAQ,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IACxG,CAAC;CAAA"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { VotingApi, VochainWaiter } from '@vocdoni/voting';
|
11
|
+
import * as assert from 'assert';
|
12
|
+
import { ProcessStatus } from 'dvote-solidity';
|
13
|
+
export function waitUntilStarted(processId, startBlock, gwPool) {
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
15
|
+
console.log('Waiting until block: ' + startBlock);
|
16
|
+
// start block
|
17
|
+
yield VochainWaiter.waitUntil(startBlock, gwPool, { verbose: true });
|
18
|
+
console.log("Waiting for the process to be ready");
|
19
|
+
const state = yield VotingApi.getProcessState(processId, gwPool);
|
20
|
+
assert.strictEqual(state.status, ProcessStatus.READY, "Should be ready but is not");
|
21
|
+
});
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=wait-until-started.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wait-until-started.js","sourceRoot":"","sources":["../../../../src/api/dispute/util/wait-until-started.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,MAAM,UAAgB,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM;;QAChE,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,UAAU,CAAC,CAAA;QAEjD,cAAc;QACd,MAAM,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAChE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAA;IACvF,CAAC;CAAA"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import opportunityService from "../../OpportunityService";
|
11
|
+
export function sendAsync(method, params, from) {
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
13
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
14
|
+
yield opportunityService.getDefaultProviderInterface().currentProvider.sendAsync({
|
15
|
+
id: 1,
|
16
|
+
method,
|
17
|
+
params,
|
18
|
+
from,
|
19
|
+
}, function (error, result) {
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
21
|
+
if (error) {
|
22
|
+
console.log(error);
|
23
|
+
throw error;
|
24
|
+
}
|
25
|
+
const realResult = result.result.toString().slice(2);
|
26
|
+
const r = '0x' + realResult.slice(0, 64);
|
27
|
+
const s = '0x' + realResult.slice(64, 128);
|
28
|
+
const v = parseInt(realResult.substring(128, 130), 16);
|
29
|
+
resolve({
|
30
|
+
v, r, s
|
31
|
+
});
|
32
|
+
});
|
33
|
+
});
|
34
|
+
}));
|
35
|
+
});
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=sendAsync.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sendAsync.js","sourceRoot":"","sources":["../../../src/api/ethereum/sendAsync.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI;;QAChD,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,kBAAkB,CAAC,2BAA2B,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;gBAC7E,EAAE,EAAE,CAAC;gBACL,MAAM;gBACN,MAAM;gBACN,IAAI;aACL,EAAE,UAAe,KAAK,EAAE,MAAM;;oBAC7B,IAAI,KAAK,EAAE;wBACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAClB,MAAM,KAAK,CAAC;qBACb;oBAEC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBACpD,MAAM,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzC,MAAM,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEvD,OAAO,CAAC;wBACJ,CAAC,EAAE,CAAC,EAAE,CAAC;qBACV,CAAC,CAAA;gBAEN,CAAC;aAAA,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CAAA;IACN,CAAC;CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"complete-relationship.js","sourceRoot":"","sources":["../../../src/api/exchange/complete-relationship.ts"],"names":[],"mappings":"AAAA,SAAS,oBAAoB,CAAC,mBAAmB;AAEjD,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { Contracts } from "../../constants";
|
11
|
+
import * as abiMap from '../../blockchain/abi.json';
|
12
|
+
import * as bytecodeMap from '../../blockchain/bytecode.json';
|
13
|
+
import opportunityService from "../../OpportunityService";
|
14
|
+
import { ContractFactory } from 'ethers';
|
15
|
+
const Tx = require("ethereumjs-tx").Transaction;
|
16
|
+
function createDispute(data) {
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
18
|
+
//createData(data)
|
19
|
+
const parsedData = JSON.parse(data);
|
20
|
+
const abi = abiMap[Contracts.DISPUTE];
|
21
|
+
const complaintMetadataPointer = parsedData['complaintMetadataPointer'];
|
22
|
+
const complaintResponseMetadataPointer = parsedData['complaintResponseMetadataPointer'];
|
23
|
+
const relationshipAddress = parsedData['relationshipAddress'];
|
24
|
+
console.log(abi);
|
25
|
+
console.log(parsedData);
|
26
|
+
try {
|
27
|
+
// The factory we use for deploying contracts
|
28
|
+
const disputeContractfactory = new ContractFactory(abi, bytecodeMap[Contracts.DISPUTE], opportunityService.getSignersInterface());
|
29
|
+
// Deploy an instance of the contract
|
30
|
+
const disputeContract = yield disputeContractfactory.deploy(relationshipAddress, complaintMetadataPointer, complaintResponseMetadataPointer);
|
31
|
+
const txReceipt = yield disputeContract.deployTransaction.wait();
|
32
|
+
console.log(txReceipt);
|
33
|
+
}
|
34
|
+
catch (error) {
|
35
|
+
console.log('Service: Caught error creating new job: ' + error);
|
36
|
+
}
|
37
|
+
});
|
38
|
+
}
|
39
|
+
export { createDispute };
|
40
|
+
//# sourceMappingURL=create-dispute.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-dispute.js","sourceRoot":"","sources":["../../../src/api/exchange/create-dispute.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAI1D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAU,eAAe,EAAE,MAAM,QAAQ,CAAC;AAIjD,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC;AAEhD,SAAe,aAAa,CAAC,IAAI;;QAC7B,kBAAkB;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAErC,MAAM,wBAAwB,GAAG,UAAU,CAAC,0BAA0B,CAAC,CAAA;QACvE,MAAM,gCAAgC,GAAG,UAAU,CAAC,kCAAkC,CAAC,CAAA;QACvF,MAAM,mBAAmB,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAA;QAE7D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEvB,IAAI;YACA,6CAA6C;YAC7C,MAAM,sBAAsB,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,CAAA;YAEjI,qCAAqC;YACrC,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;YAC7I,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;YAChE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;SACzB;QAAC,OAAM,KAAK,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,KAAK,CAAC,CAAC;SACnE;IACL,CAAC;CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|