opportunity-service 0.0.503 → 0.0.508

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. package/.env +6 -1
  2. package/dist/OpportunityService.js +29 -28
  3. package/dist/OpportunityService.js.map +1 -1
  4. package/dist/api/ethereum/sendAsync.js +3 -10
  5. package/dist/api/ethereum/sendAsync.js.map +1 -1
  6. package/dist/api/exchange/complete-relationship.js +1 -4
  7. package/dist/api/exchange/complete-relationship.js.map +1 -1
  8. package/dist/api/exchange/create-dispute.js +41 -0
  9. package/dist/api/exchange/create-dispute.js.map +1 -0
  10. package/dist/api/exchange/create-task.js +9 -33
  11. package/dist/api/exchange/create-task.js.map +1 -1
  12. package/dist/api/exchange/enter-work-relationship.js +1 -4
  13. package/dist/api/exchange/enter-work-relationship.js.map +1 -1
  14. package/dist/api/exchange/inspect-relationship.js +1 -4
  15. package/dist/api/exchange/inspect-relationship.js.map +1 -1
  16. package/dist/api/identity/register-new-user.js +8 -32
  17. package/dist/api/identity/register-new-user.js.map +1 -1
  18. package/dist/api/index.js +23 -28
  19. package/dist/api/index.js.map +1 -1
  20. package/dist/api/internal/abis.js +3 -24
  21. package/dist/api/internal/abis.js.map +1 -1
  22. package/dist/api/internal/addresses.js +8 -28
  23. package/dist/api/internal/addresses.js.map +1 -1
  24. package/dist/api/internal/events.js +12 -14
  25. package/dist/api/internal/events.js.map +1 -1
  26. package/dist/api/internal/index.js +4 -12
  27. package/dist/api/internal/index.js.map +1 -1
  28. package/dist/api/market/create-market.js +1 -4
  29. package/dist/api/market/create-market.js.map +1 -1
  30. package/dist/api/voting/census.js +38 -0
  31. package/dist/api/voting/census.js.map +1 -0
  32. package/dist/api/voting/connect.js +33 -0
  33. package/dist/api/voting/connect.js.map +1 -0
  34. package/dist/api/voting/entity.js +39 -0
  35. package/dist/api/voting/entity.js.map +1 -0
  36. package/dist/api/voting/process.js +101 -0
  37. package/dist/api/voting/process.js.map +1 -0
  38. package/dist/blockchain/abi.json +2 -1
  39. package/dist/blockchain/addresses.json +12 -5
  40. package/dist/blockchain/bytecode.json +2 -1
  41. package/dist/constants/interface.js +1 -0
  42. package/dist/constants/interface.js.map +1 -0
  43. package/dist/constants/voting.js +1 -0
  44. package/dist/constants/voting.js.map +1 -0
  45. package/dist/constants.js +34 -39
  46. package/dist/constants.js.map +1 -1
  47. package/dist/events/OpportunityEventEmitter.js +3 -5
  48. package/dist/events/OpportunityEventEmitter.js.map +1 -1
  49. package/dist/events/start-event-listeners.js +3 -9
  50. package/dist/events/start-event-listeners.js.map +1 -1
  51. package/dist/events/sync-with-ethereum-node.js +3 -9
  52. package/dist/events/sync-with-ethereum-node.js.map +1 -1
  53. package/dist/modules/storage/OpportunityStorageProvider.js +3 -8
  54. package/dist/modules/storage/OpportunityStorageProvider.js.map +1 -1
  55. package/dist/sync/process/process-log.js +16 -36
  56. package/dist/sync/process/process-log.js.map +1 -1
  57. package/dist/sync/process/processDisputeCreated.js +33 -0
  58. package/dist/sync/process/processDisputeCreated.js.map +1 -0
  59. package/dist/sync/process/processMarketCreatedLog.js +7 -32
  60. package/dist/sync/process/processMarketCreatedLog.js.map +1 -1
  61. package/dist/sync/process/processMarketDestroyedEvent.js +1 -4
  62. package/dist/sync/process/processMarketDestroyedEvent.js.map +1 -1
  63. package/dist/sync/process/processUserAssignedTrueIdentification.js +7 -12
  64. package/dist/sync/process/processUserAssignedTrueIdentification.js.map +1 -1
  65. package/dist/sync/process/processUserRegistered.js +7 -12
  66. package/dist/sync/process/processUserRegistered.js.map +1 -1
  67. package/dist/sync/process/processUserSummaryCreated.js +7 -12
  68. package/dist/sync/process/processUserSummaryCreated.js.map +1 -1
  69. package/dist/sync/process/processWorkRelationshipCreated.js +9 -34
  70. package/dist/sync/process/processWorkRelationshipCreated.js.map +1 -1
  71. package/dist/sync/sync-jobs.js +5 -10
  72. package/dist/sync/sync-jobs.js.map +1 -1
  73. package/dist/sync/sync-markets.js +8 -32
  74. package/dist/sync/sync-markets.js.map +1 -1
  75. package/dist/types.js +1 -2
  76. package/gateways.all.json +190 -0
  77. package/package.json +23 -10
  78. package/src/OpportunityService.ts +9 -0
  79. package/src/api/exchange/create-dispute.ts +42 -0
  80. package/src/api/exchange/create-task.ts +1 -1
  81. package/src/api/identity/register-new-user.ts +1 -1
  82. package/src/api/internal/abis.ts +1 -1
  83. package/src/api/internal/addresses.ts +7 -5
  84. package/src/api/voting/census.ts +39 -0
  85. package/src/api/voting/connect.ts +34 -0
  86. package/src/api/voting/entity.ts +33 -0
  87. package/src/api/voting/process.ts +119 -0
  88. package/src/blockchain/abi.json +2 -1
  89. package/src/blockchain/addresses.json +16 -6
  90. package/src/blockchain/bytecode.json +2 -1
  91. package/src/{modules/whisper/ChatHttpServer.ts → constants/interface.ts} +0 -0
  92. package/src/{modules/whisper/ChatSocketServer.ts → constants/voting.ts} +0 -0
  93. package/src/constants.ts +9 -11
  94. package/src/sync/process/process-log.ts +3 -2
  95. package/src/sync/process/processDisputeCreated.ts +42 -0
  96. package/src/sync/sync-markets.ts +1 -1
  97. package/test/voting.test.ts +20 -0
  98. package/tsconfig.json +5 -3
  99. package/dist/modules/whisper/ChatHttpServer.js +0 -1
  100. package/dist/modules/whisper/ChatHttpServer.js.map +0 -1
  101. package/dist/modules/whisper/ChatSocketServer.js +0 -1
  102. package/dist/modules/whisper/ChatSocketServer.js.map +0 -1
  103. package/dist/modules/whisper/OpportunityChatProvider.js +0 -63
  104. package/dist/modules/whisper/OpportunityChatProvider.js.map +0 -1
  105. package/dist/rpc/connection.js +0 -1
  106. package/dist/rpc/connection.js.map +0 -1
  107. package/dist/rpc/index.js +0 -1
  108. package/dist/rpc/index.js.map +0 -1
  109. package/dist/rpc/interface/rpc-interface.js +0 -5
  110. package/dist/rpc/interface/rpc-interface.js.map +0 -1
  111. package/src/modules/whisper/OpportunityChatProvider.ts +0 -60
  112. package/src/rpc/connection.ts +0 -0
  113. package/src/rpc/index.ts +0 -0
  114. package/src/rpc/interface/rpc-interface.ts +0 -2
@@ -0,0 +1,119 @@
1
+ import * as assert from "assert"
2
+ import { ProcessMetadata, VochainWaiter, CensusOffChainApi, EntityApi, ProcessMetadataTemplate, INewProcessParams, ProcessMode, VotingApi, ProcessEnvelopeType, ProcessCensusOrigin, Voting, } from "dvote-js"
3
+ import { providers } from "ethers"
4
+ import gwPool from "./connect"
5
+
6
+ import { CensusOffChain } from "dvote-js/dist/api/census"
7
+ import opportunityService from "../../OpportunityService"
8
+
9
+ /**
10
+ * As it happened before, the JSON metadata is pinned on IPFS and pointed to from the process smart contract. In addition, some metadata fields are also stored on the smart contract so they can be accessed on-chain.
11
+ * The contract flags define how the process will behave, whereas the metadata is used to store the human readable content.
12
+ * In about 2-3 minutes, the Ethereum transaction will be relayed to the voting blockchain as well. When the block number reaches startBlock, the process will become open to those who are part of the census. The startBlock value should be at least 25 blocks ahead of the current value.
13
+ *
14
+ * @param censusRoot
15
+ * @param censusUri
16
+ * @param details
17
+ * @param entityWallet
18
+ */
19
+ export async function createVotingProcess(
20
+ censusRoot,
21
+ censusUri,
22
+ details : ProcessMetadata,
23
+ entityWallet : providers.JsonRpcSigner
24
+ ) {
25
+ console.log("Preparing the new vote metadata")
26
+ console.log("Getting the block height")
27
+ const currentBlock = await VotingApi.getBlockHeight(gwPool)
28
+ const startBlock = currentBlock + 25
29
+ const blockCount = 60480
30
+
31
+ const processParamsPre: INewProcessParams = {
32
+
33
+ mode: ProcessMode.make({ autoStart: true, interruptible: true }), // helper
34
+ envelopeType: ProcessEnvelopeType.ENCRYPTED_VOTES, // bit mask
35
+ censusOrigin: ProcessCensusOrigin.OFF_CHAIN_TREE,
36
+ metadata: details,
37
+ censusRoot: censusRoot,
38
+ censusUri: censusUri,
39
+ startBlock,
40
+ blockCount,
41
+ maxCount: 1,
42
+ maxValue: 3,
43
+ maxTotalCost: 0,
44
+ costExponent: 10000,
45
+ maxVoteOverwrites: 1,
46
+ paramsSignature: "0x0000000000000000000000000000000000000000000000000000000000000000"
47
+ }
48
+
49
+ console.log("Creating the process")
50
+
51
+ const processId = await VotingApi.newProcess(processParamsPre, entityWallet, gwPool)
52
+ //assert(processId)
53
+
54
+ //processMetadata = processParamsPre.metadata
55
+
56
+ // Reading back
57
+ //processParams = await VotingApi.getProcessContractParameters(processId, gwPool)
58
+ //assert.strictEqual(processParams.entityAddress.toLowerCase(), entityAddr.toLowerCase())
59
+ //assert.strictEqual(processParams.startBlock, processParamsPre.startBlock, "SENT " + JSON.stringify(processParamsPre) + " GOT " + JSON.stringify(processParams))
60
+ //assert.strictEqual(processParams.blockCount, processParamsPre.blockCount)
61
+ //assert.strictEqual(processParams.censusRoot, processParamsPre.censusRoot)
62
+ //assert.strictEqual(processParams.censusUri, processParamsPre.censusUri)
63
+ }
64
+
65
+ async function vote(processId, choices, publicKey) {
66
+ // Fetch the metadata
67
+ const processMeta = await VotingApi.getProcessMetadata(processId, gwPool)
68
+ const processParams = await VotingApi.getProcessContractParameters(processId, gwPool)
69
+
70
+ console.log("- Starting:", await VotingApi.estimateDateAtBlock(processMeta.startBlock, gwPool))
71
+ console.log("- Ending:", await VotingApi.estimateDateAtBlock(processMeta.startBlock + processMeta.numberOfBlocks, gwPool))
72
+ console.log("- Census size:", await CensusOffChainApi.getSize(processMeta.census.merkleRoot, gwPool))
73
+ console.log("- Current block:", await VotingApi.getBlockHeight(gwPool))
74
+ console.log("- Current votes:", await VotingApi.getEnvelopeHeight(processId, gwPool))
75
+
76
+ await VochainWaiter.waitUntil(processParams.startBlock, gwPool, { verbose: true })
77
+ //await waitUntilVochainBlock(processMeta.startBlock, gwPool, { verbose: true })
78
+
79
+ console.log("Submitting vote envelopes")
80
+
81
+ // Hash the voter's public key
82
+ const publicKeyHash = CensusOffChain.Public.encodePublicKey(publicKey) //supposed to be digestPublicKey(x, y)?
83
+
84
+ // Generate the census proof
85
+ const merkleProof = await CensusOffChainApi.generateProof(
86
+ processParams.censusRoot,
87
+ { key: Buffer.from(String(publicKey), "hex").toString("base64"), value: 0 },
88
+ true,
89
+ gwPool
90
+ )
91
+
92
+ // Sign the vote envelope with our choices
93
+ const voteEnvelope = await VotingApi.packageSignedEnvelope({ votes: choices, censusOrigin: 0, censusProof: merkleProof, processLeys: processId, walletOrSigner: opportunityService.getSignersInterface() })
94
+
95
+ // If the process had encrypted votes:
96
+ // const voteEnvelope = await packagePollEnvelope({ votes, merkleProof, processId, walletOrSigner: wallet, encryptionPubKeys: ["..."] })
97
+
98
+ await VotingApi.submitEnvelope(voteEnvelope, opportunityService.getSignersInterface(), gwPool)
99
+ console.log("Envelope submitted")
100
+ }
101
+
102
+ /*
103
+ async function checkVoteStatus() {
104
+ // Compute our deterministic nullifier to check the status of our vote
105
+ const nullifier = await getPollNullifier(wallet.address, processId)
106
+ const status = await VotingApi.getEnvelopeStatus(processId, nullifier, pool)
107
+
108
+ console.log("- Registered: ", status.registered)
109
+ console.log("- Block: ", status.block)
110
+ console.log("- Date: ", status.date)
111
+ }*/
112
+
113
+
114
+ async function fetchResults(processId) {
115
+ const { results, status } = await VotingApi.getResults(processId, gwPool)
116
+ console.log("Process results", results)
117
+ }
118
+
119
+
@@ -950,6 +950,7 @@
950
950
  "stateMutability": "nonpayable",
951
951
  "type": "function"
952
952
  }
953
- ]
953
+ ],
954
+ "Disptue": {}
954
955
  }
955
956
 
@@ -1,7 +1,17 @@
1
1
  {
2
- "MarketFactory": "0x8eb065482F681537e90eab826540E9DF8D8cBd89",
3
- "UserRegistration": "0xc4F1B570e57A5035a25035AFA5f7CbA204627024",
4
- "Dai": "0x6b175474e89094c44da98b954eedeac495271d0f",
5
- "cDai": "0x5d3a536e4d6dbd6114cc1ead35777bab948e3643",
6
- "Banker": "0x397B3F9838862220078FA3793DED8aF6C0b397FC"
7
- }
2
+ "rinkeby": {
3
+ "MarketFactory": "0xc4d293b967C86DC0fC0Fd41850223464431a40de",
4
+ "UserRegistration": "0xA81d698B0F165E4833239a75300a2cA0DCC8F72d",
5
+ "Dai": "0xD5942d62e7c57690F1B89A672ACa0E6F20aAD247",
6
+ "Scheduler": "0x"
7
+ },
8
+ "mainnet": {
9
+ "MarketFactory": "0x8eb065482F681537e90eab826540E9DF8D8cBd89",
10
+ "UserRegistration": "0xc4F1B570e57A5035a25035AFA5f7CbA204627024",
11
+ "Dai": "0x6b175474e89094c44da98b954eedeac495271d0f",
12
+ "Scheduler": "0x"
13
+ }
14
+ }
15
+
16
+
17
+
@@ -1,3 +1,4 @@
1
1
  {
2
- "WorkRelationship": "60a06040819052600060808190526200001b91600291620000ee565b506040805160208101918290526000908190526200003c91600391620000ee565b503480156200004a57600080fd5b50604051620023c5380380620023c58339810160408190526200006d9162000194565b600180546001600160a01b0385166001600160a01b031991821617825560008054909116905560048054849260ff60a81b1990911690600160a81b908490811115620000bd57620000bd620002e9565b02179055506004805460ff60a01b191690558051620000e4906002906020840190620000ee565b5050505062000315565b828054620000fc90620002ac565b90600052602060002090601f0160209004810192826200012057600085556200016b565b82601f106200013b57805160ff19168380011785556200016b565b828001600101855582156200016b579182015b828111156200016b5782518255916020019190600101906200014e565b50620001799291506200017d565b5090565b5b808211156200017957600081556001016200017e565b600080600060608486031215620001aa57600080fd5b83516001600160a01b0381168114620001c257600080fd5b8093505060208085015160028110620001da57600080fd5b60408601519093506001600160401b0380821115620001f857600080fd5b818701915087601f8301126200020d57600080fd5b815181811115620002225762000222620002ff565b604051601f8201601f19908116603f011681019083821181831017156200024d576200024d620002ff565b816040528281528a868487010111156200026657600080fd5b600093505b828410156200028a57848401860151818501870152928501926200026b565b828411156200029c5760008684830101525b8096505050505050509250925092565b600181811c90821680620002c157607f821691505b60208210811415620002e357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6120a080620003256000396000f3fe60806040523480156200001157600080fd5b5060043610620001095760003560e01c8063a924b62911620000a3578063df502c6b116200006e578063df502c6b146200022a578063e6e885931462000234578063ec3a47901462000258578063f74cc701146200026f57600080fd5b8063a924b62914620001db578063b4fedc1114620001f2578063cb2ef6f714620001fc578063d8a845cf146200022057600080fd5b80635cdcf07511620000e45780635cdcf075146200016c5780635db28c66146200018357806396d6d696146200019c5780639aed0c1714620001c457600080fd5b80632a705703146200010e57806335e9281914620001245780634d547ada146200013b575b600080fd5b620001226200011f36600462000ef6565b50565b005b620001226200013536600462000ebd565b62000286565b6000546200014f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b620001226200017d36600462000d06565b62000305565b6200018d6200036b565b60405162000163919062000f94565b620001b3620001ad36600462000d74565b62000433565b604051901515815260200162000163565b62000122620001d536600462000e94565b620004c2565b62000122620001ec36600462000d2d565b6200056b565b62000122620008b1565b6004546200021190600160a81b900460ff1681565b60405162000163919062000f60565b6200012262000975565b6200018d62000a52565b6004546200024990600160a01b900460ff1681565b60405162000163919062000f7d565b620001226200026936600462000ebd565b62000ae8565b620001226200028036600462000e4b565b62000b2e565b6000546001600160a01b03163314620002bc5760405162461bcd60e51b8152600401620002b39062000ff2565b60405180910390fd5b600580600454600160a01b900460ff166005811115620002e057620002e0620010cd565b14620002eb57600080fd5b81516200030090600390602085019062000ba6565b505050565b60048054604051632ed9c42160e11b81526001600160a01b0384811693820193909352911690635db3884290602401600060405180830381600087803b1580156200034f57600080fd5b505af115801562000364573d6000803e3d6000fd5b5050505050565b6001546060906001600160a01b031633146200039b5760405162461bcd60e51b8152600401620002b39062000fa9565b60038054620003aa906200107a565b80601f0160208091040260200160405190810160405280929190818152602001828054620003d8906200107a565b8015620004295780601f10620003fd5761010080835404028352916020019162000429565b820191906000526020600020905b8154815290600101906020018083116200040b57829003601f168201915b5050505050905090565b600080836001600160a01b0316635d5f221f846040518263ffffffff1660e01b81526004016200046491906200103c565b602060405180830381600087803b1580156200047f57600080fd5b505af115801562000494573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ba919062000e2b565b949350505050565b6000546001600160a01b03163314620004ef5760405162461bcd60e51b8152600401620002b39062000ff2565b600480546040516353318a8760e01b815291820186905260ff8516602483015260448201849052606482018390526001600160a01b0316906353318a87906084015b600060405180830381600087803b1580156200054c57600080fd5b505af115801562000561573d6000803e3d6000fd5b5050505050505050565b6001600454600160a81b900460ff1660018111156200058e576200058e620010cd565b1415620006ea57600080600454600160a01b900460ff166005811115620005b957620005b9620010cd565b14620005c457600080fd5b6001600160a01b038416620005d857600080fd5b600080546001600160a01b0319166001600160a01b03868116919091179091556001546040518692919091169085908590620006149062000c35565b6001600160a01b039485168152928416602084015260408301919091529091166060820152608001604051809103906000f08015801562000659573d6000803e3d6000fd5b5060048054600560a01b6001600160a81b03199091166001600160a01b0393841617179081905516620006905762000690620010b7565b6000546001600160a01b03858116911614620006b057620006b0620010b7565b6005600454600160a01b900460ff166005811115620006d357620006d3620010cd565b14620006e357620006e3620010b7565b506200075d565b6001546001600160a01b031633146200075d5760405162461bcd60e51b815260206004820152602e60248201527f43616c6c6572206973206e6f74206f776e657220616e6420636f6e747261637460448201526d1034b9903737ba10333630b9b41760911b6064820152608401620002b3565b600080600454600160a01b900460ff166005811115620007815762000781620010cd565b146200078c57600080fd5b6001600160a01b038416620007a057600080fd5b600080546001600160a01b0319166001600160a01b03868116919091179091556001546040518692919091169085908590620007dc9062000c35565b6001600160a01b039485168152928416602084015260408301919091529091166060820152608001604051809103906000f08015801562000821573d6000803e3d6000fd5b5060048054600560a01b6001600160a81b03199091166001600160a01b0393841617179081905516620008585762000858620010b7565b6000546001600160a01b03858116911614620008785762000878620010b7565b6005600454600160a01b900460ff1660058111156200089b576200089b620010cd565b14620008ab57620008ab620010b7565b50505050565b6001546001600160a01b03163314620008de5760405162461bcd60e51b8152600401620002b39062000fa9565b6003600454600160a01b900460ff166005811115620009015762000901620010cd565b1415620009605760405162461bcd60e51b815260206004820152602660248201527f546869732072656c6174696f6e7368697020697320616c726561647920636f6d6044820152651c1b195d195960d21b6064820152608401620002b3565b6004805460ff60a01b1916600360a01b179055565b6000546001600160a01b03163314620009a25760405162461bcd60e51b8152600401620002b39062000ff2565b6003600454600160a01b900460ff166005811115620009c557620009c5620010cd565b1415620009d157600080fd5b6003600454600160a01b900460ff166005811115620009f457620009f4620010cd565b141562000a0057600080fd5b600080546001600160a01b03191690556004805460ff60a01b191690556000600454600160a01b900460ff16600581111562000a405762000a40620010cd565b1462000a505762000a50620010b7565b565b6002805462000a61906200107a565b80601f016020809104026020016040519081016040528092919081815260200182805462000a8f906200107a565b801562000ae05780601f1062000ab45761010080835404028352916020019162000ae0565b820191906000526020600020905b81548152906001019060200180831162000ac257829003601f168201915b505050505081565b6001546001600160a01b0316331462000b155760405162461bcd60e51b8152600401620002b39062000fa9565b805162000b2a90600290602084019062000ba6565b5050565b6001546001600160a01b0316331462000b5b5760405162461bcd60e51b8152600401620002b39062000fa9565b600480546040516325b0db0f60e01b81528615159281019290925260ff8516602483015260448201849052606482018390526001600160a01b0316906325b0db0f9060840162000531565b82805462000bb4906200107a565b90600052602060002090601f01602090048101928262000bd8576000855562000c23565b82601f1062000bf357805160ff191683800117855562000c23565b8280016001018555821562000c23579182015b8281111562000c2357825182559160200191906001019062000c06565b5062000c3192915062000c43565b5090565b610f4c806200111f83390190565b5b8082111562000c31576000815560010162000c44565b600082601f83011262000c6c57600080fd5b813567ffffffffffffffff8082111562000c8a5762000c8a620010e3565b604051601f8301601f19908116603f0116810190828211818310171562000cb55762000cb5620010e3565b8160405283815286602085880101111562000ccf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811462000d0157600080fd5b919050565b60006020828403121562000d1957600080fd5b813562000d2681620010f9565b9392505050565b60008060006060848603121562000d4357600080fd5b833562000d5081620010f9565b925060208401359150604084013562000d6981620010f9565b809150509250925092565b6000806040838503121562000d8857600080fd5b823562000d9581620010f9565b9150602083013567ffffffffffffffff8082111562000db357600080fd5b908401906060828703121562000dc857600080fd5b60405160608101818110838211171562000de65762000de6620010e3565b60405282358281111562000df957600080fd5b62000e078882860162000c5a565b82525060208301356020820152604083013560408201528093505050509250929050565b60006020828403121562000e3e57600080fd5b815162000d26816200110f565b6000806000806080858703121562000e6257600080fd5b843562000e6f816200110f565b935062000e7f6020860162000cef565b93969395505050506040820135916060013590565b6000806000806080858703121562000eab57600080fd5b8435935062000e7f6020860162000cef565b60006020828403121562000ed057600080fd5b813567ffffffffffffffff81111562000ee857600080fd5b620004ba8482850162000c5a565b60006020828403121562000f0957600080fd5b5035919050565b6000815180845260005b8181101562000f385760208185018101518683018201520162000f1a565b8181111562000f4b576000602083870101525b50601f01601f19169290920160200192915050565b602081016002831062000f775762000f77620010cd565b91905290565b602081016006831062000f775762000f77620010cd565b60208152600062000d26602083018462000f10565b60208082526029908201527f576f726b52656c6174696f6e736869703a2063616c6c6572206973206e6f74206040820152683a34329037bbb732b960b91b606082015260800190565b6020808252602a908201527f576f726b52656c6174696f6e736869703a2063616c6c6572206973206e6f74206040820152693a3432903bb7b935b2b960b11b606082015260800190565b6020815260008251606060208401526200105a608084018262000f10565b905060208401516040840152604084015160608401528091505092915050565b600181811c908216806200108f57607f821691505b60208210811415620010b157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200011f57600080fd5b80151581146200011f57600080fdfe61010060405234801561001157600080fd5b50604051610f4c380380610f4c8339810160408190526100309161021f565b838383836001600160a01b03831661007f5760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21037bbb732b960991b60448201526064015b60405180910390fd5b6001600160a01b0381166100d55760405162461bcd60e51b815260206004820152601960248201527f696e76616c69642064616920746f6b656e2061646472657373000000000000006044820152606401610076565b6040805180820182526006815265657363726f7760d01b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527f5c24c10d65ac9aa9e0f7f63d96fe83c89107fae52b4ef778334c906c1ec5c1ed918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660ff811660808301523060a08301529060c00160408051808303601f1901815291905280516020909101206080525060e091909152606091821b6001600160601b031990811660c0529290911b90911660a052600080546001600160a81b0319166101006001600160a01b0393909316929092029190911790555061026c92505050565b80516001600160a01b038116811461021a57600080fd5b919050565b6000806000806080858703121561023557600080fd5b61023e85610203565b935061024c60208601610203565b92506040850151915061026160608601610203565b905092959194509250565b60805160a05160601c60c05160601c60e051610c5b6102f1600039600081816101bc0152610750015260008181610231015281816103b4015281816106aa0152818161072801526107d5015260008181610122015281816104250152818161052c01526105bd01526000818161020a0152818161030801526104de0152610c5b6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635db388421161008c578063bfce14ea11610066578063bfce14ea14610205578063c7c4ff461461022c578063cefd6c2114610253578063ea8a1af01461026657600080fd5b80635db38842146101a45780637df38c5b146101b757806396118e44146101de57600080fd5b806301162b93146100d4578063200d2ed2146100e757806325b0db0f1461010a57806338af3eed1461011d5780633c86f6f31461015c57806353318a8714610191575b600080fd5b6100e56100e2366004610a23565b50565b005b6000546100f49060ff1681565b6040516101019190610b91565b60405180910390f35b6100e5610118366004610a53565b61026e565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610101565b6101837ffa5e0016fb62b8dffda8fd95249d438edcffd3689b40ac3b4281d4cf710609ae81565b604051908152602001610101565b6100e561019f366004610a9c565b610451565b6100e56101b2366004610a23565b6100e2565b6101837f000000000000000000000000000000000000000000000000000000000000000081565b6101837f62b607caa4d4e7fcbd31bf4c033cd30888b536567fadc83710fdf15f8d5cfc9e81565b6101837f000000000000000000000000000000000000000000000000000000000000000081565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6100e5610261366004610adb565b610638565b6100e5610866565b60028060005460ff16600481111561028857610288610c0f565b146102ae5760405162461bcd60e51b81526004016102a590610bb9565b60405180910390fd5b604080517ffa5e0016fb62b8dffda8fd95249d438edcffd3689b40ac3b4281d4cf710609ae6020808301919091528715158284015282518083038401815260608301909352825192019190912061190160f01b60808301527f0000000000000000000000000000000000000000000000000000000000000000608283015260a282015260009060c20160408051601f1981840301815282825280516020918201206000845290830180835281905260ff8816918301919091526060820186905260808201859052915060019060a0016020604051602081039080840390855afa15801561039f573d6000803e3d6000fd5b505050602060405103516001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461041a5760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a590b5c195c9b5a5d60921b60448201526064016102a5565b8515610449576104497f00000000000000000000000000000000000000000000000000000000000000006108dd565b505050505050565b60018060005460ff16600481111561046b5761046b610c0f565b146104885760405162461bcd60e51b81526004016102a590610bb9565b604080517f62b607caa4d4e7fcbd31bf4c033cd30888b536567fadc83710fdf15f8d5cfc9e60208083019190915281830188905282518083038401815260608301845280519082012061190160f01b60808401527f0000000000000000000000000000000000000000000000000000000000000000608284015260a2808401919091528351808403909101815260c290920190925280519101206001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661055557600080fd5b60408051600081526020810180835283905260ff871691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156105a8573d6000803e3d6000fd5b505050602060405103516001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146106235760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a590b5c195c9b5a5d60921b60448201526064016102a5565b50506000805460ff1916600217905550505050565b60008060005460ff16600481111561065257610652610c0f565b1461066f5760405162461bcd60e51b81526004016102a590610bb9565b60008054600160ff199091168117918290556040516323f2ebc360e21b81526101009092046001600160a01b031691638fcbaf0c916106de917f00000000000000000000000000000000000000000000000000000000000000009130918f918f918f908f908f90600401610b48565b600060405180830381600087803b1580156106f857600080fd5b505af115801561070c573d6000803e3d6000fd5b505060005460405163f2d5d56b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f00000000000000000000000000000000000000000000000000000000000000006024830152610100909204909116925063f2d5d56b9150604401600060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b505060005461010090046001600160a01b03169150638fcbaf0c90507f0000000000000000000000000000000000000000000000000000000000000000306108008d6001610be9565b8c60008a8a8a6040518963ffffffff1660e01b8152600401610829989796959493929190610b48565b600060405180830381600087803b15801561084357600080fd5b505af1158015610857573d6000803e3d6000fd5b50505050505050505050505050565b6000805460ff16600481111561087e5761087e610c0f565b14806108a05750600360005460ff16600481111561089e5761089e610c0f565b145b6108db5760405162461bcd60e51b815260206004820152600c60248201526b77726f6e672073746174757360a01b60448201526064016102a5565b565b6001600160a01b0381166108f057600080fd5b6001600160a01b038116158015610913576000805460ff19166004179055610921565b6000805460ff191660031790555b80610a09576000546040516370a0823160e01b81523060048201526101009091046001600160a01b03169063b753a98c90849083906370a082319060240160206040518083038186803b15801561097757600080fd5b505afa15801561098b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109af9190610ac2565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156109f557600080fd5b505af1158015610449573d6000803e3d6000fd5b5050565b803560ff81168114610a1e57600080fd5b919050565b600060208284031215610a3557600080fd5b81356001600160a01b0381168114610a4c57600080fd5b9392505050565b60008060008060808587031215610a6957600080fd5b84358015158114610a7957600080fd5b9350610a8760208601610a0d565b93969395505050506040820135916060013590565b60008060008060808587031215610ab257600080fd5b84359350610a8760208601610a0d565b600060208284031215610ad457600080fd5b5051919050565b600080600080600080600080610100898b031215610af857600080fd5b8835975060208901359650610b0f60408a01610a0d565b95506060890135945060808901359350610b2b60a08a01610a0d565b925060c0890135915060e089013590509295985092959890939650565b6001600160a01b039889168152969097166020870152604086019490945260608501929092521515608084015260ff1660a083015260c082015260e08101919091526101000190565b6020810160058310610bb357634e487b7160e01b600052602160045260246000fd5b91905290565b602080825260169082015275119b881b9bdd081c1c995cd95b9d1b1e481d985b1a5960521b604082015260600190565b60008219821115610c0a57634e487b7160e01b600052601160045260246000fd5b500190565b634e487b7160e01b600052602160045260246000fdfea26469706673582212200dfb7d4879f0c54293a2c77d28f59b47457f108afb2639ea88aa8009dbf01f6f64736f6c63430008070033a2646970667358221220565576616b112eaa2077d5cc0db20ded8539f33c3a9997be4d66ddca2c5141eb64736f6c63430008070033"
2
+ "WorkRelationship": "",
3
+ "Scheduler": ""
3
4
  }
package/src/constants.ts CHANGED
@@ -14,14 +14,11 @@ export enum Contracts {
14
14
  CONTROL='Control',
15
15
  DISPUTE='Dispute',
16
16
  DAI='Dai',
17
- WORK_EXCHANGE='WorkExchange',
18
17
  WORK_RELATIONSHIP='WorkRelationship',
19
18
  MARKET='Market',
20
19
  MARKET_FACTORY='MarketFactory',
21
- EVALUATION='Evaluation',
22
- MARKETLIB='MarketLib',
23
- STRINGUTILS='StringUtils',
24
- USER_REGISTRATION='UserRegistration'
20
+ USER_REGISTRATION='UserRegistration',
21
+ SCHEDULER='Scheduler'
25
22
  }
26
23
 
27
24
  export const enum WorkRelationshipState {
@@ -39,6 +36,12 @@ export enum ContractType {
39
36
  FLASH
40
37
  }
41
38
 
39
+ enum DisputeStatus {
40
+ AWAITING_ARBITRATORS,
41
+ PENDING_DECISION,
42
+ RESOLVED
43
+ }
44
+
42
45
 
43
46
  /* Web3 */
44
47
 
@@ -86,6 +89,7 @@ export enum UserEvents {
86
89
 
87
90
  export enum ExchangeEvents {
88
91
  WorkRelationshipCreated='WorkRelationshipCreated',
92
+ DisputeCreated='DisputeCreated'
89
93
  }
90
94
 
91
95
  export enum StorageEvents {
@@ -94,12 +98,6 @@ export enum StorageEvents {
94
98
  DATA_RETRIEVED='DataRetrieved',
95
99
  }
96
100
 
97
- export enum WhisperEvents {
98
- NewPublicWhisperMessage='NewPublicWhisperMessage',
99
- NewPrivateWhisperMessage='NewPrivateWhisperMessage',
100
- ChatError='ChatError'
101
- }
102
-
103
101
  /* Providers */
104
102
 
105
103
  export enum AuthenticationProviders {
@@ -7,6 +7,7 @@ import { ethers, utils } from "ethers";
7
7
  import { hexZeroPad } from "@ethersproject/bytes";
8
8
  import { decode } from "node:punycode";
9
9
  import { processWorkRelationshipCreatedEvent } from "./processWorkRelationshipCreated";
10
+ import { processDisputeCreated } from "./processDisputeCreated";
10
11
  /**
11
12
  * Retrieves topics and process the approppriate log
12
13
  * @param log
@@ -46,8 +47,6 @@ function processLogEvents(log) {
46
47
  }
47
48
  }
48
49
 
49
-
50
-
51
50
  if (event != null) {
52
51
  switch(event['name']) {
53
52
  case "MarketCreated":
@@ -60,6 +59,8 @@ function processLogEvents(log) {
60
59
  case "WorkRelationshipCreated":
61
60
  processWorkRelationshipCreatedEvent(log);
62
61
  break;
62
+ case "DisputeCreated":
63
+ processDisputeCreated(log)
63
64
  default:
64
65
  }
65
66
  } else {
@@ -0,0 +1,42 @@
1
+ import { Contracts, ExchangeEvents, MarketEvents } from '../../constants';
2
+ import * as abiMap from '../../blockchain/abi.json';
3
+ import * as addressMap from '../../blockchain/addresses.json';
4
+ import opportunityService from '../../OpportunityService';
5
+ import { Contract } from '@ethersproject/contracts';
6
+ import { ethers } from 'ethers';
7
+ import { AbiCoder, EventFragment, Interface, LogDescription, Result } from '@ethersproject/abi';
8
+ import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
9
+
10
+
11
+ /**
12
+ * WorkRelationshipCreated(address owner, address relationship, address market)
13
+ * @param log
14
+ * @returns
15
+ */
16
+ function processDisputeCreated(log) {
17
+ try {
18
+ const iface : Interface = new ethers.utils.Interface(abiMap[Contracts.DISPUTE]);
19
+ const decodedLog : LogDescription = iface.parseLog(log);
20
+ const { args, signature } = decodedLog;
21
+
22
+ const employer = args[0]
23
+ const worker = args[1]
24
+ const relationship = args[2]
25
+ const disputeAddress = args[3];
26
+
27
+ const disputeData = {
28
+ employer,
29
+ worker,
30
+ relationship,
31
+ address: disputeAddress
32
+ }
33
+
34
+ console.log("Processing a dispute created event with address: " + disputeData)
35
+
36
+ opportunityEventEmitter.emit(ExchangeEvents.WorkRelationshipCreated, disputeData);
37
+ } catch(error) {
38
+ console.log(error)
39
+ }
40
+ }
41
+
42
+ export { processDisputeCreated };
@@ -6,7 +6,7 @@ import { processLog } from './process/process-log';
6
6
  async function syncMarkets() {
7
7
  //sync Markets
8
8
  await opportunityService.getProviderInterface().getLogs({
9
- address: addressMap[Contracts.MARKET_FACTORY],
9
+ address: addressMap[opportunityService.getEthNetwork()][Contracts.MARKET_FACTORY],
10
10
  fromBlock: 1,
11
11
  toBlock: 'latest'
12
12
  }).then((logs) => {
@@ -0,0 +1,20 @@
1
+
2
+
3
+ import { ethers } from "dvote-js/node_modules/ethers"
4
+ import gwPool, { connectGateways } from "../src/api/voting/connect"
5
+ import { registerEntity } from '../src/api/voting/entity'
6
+
7
+ const ethNetworkId = 'rinkeby'
8
+ const environment = 'dev'
9
+ const bootnodesContentUri = "https://bootnodes.vocdoni.net/gateways.dev.json"
10
+
11
+ describe("Setting up a process", () => {
12
+ it("Should connect gateways", async () => {
13
+ expect(async () => await connectGateways(ethNetworkId, environment, bootnodesContentUri)).not.toThrow()
14
+ const pool = await connectGateways(ethNetworkId, environment, bootnodesContentUri)
15
+ console.log(pool)
16
+ const wallet = ethers.Wallet.createRandom().connect(pool['provider'])
17
+ const address = await wallet.getAddress()
18
+ expect(() => registerEntity(pool, wallet, address)).not.toThrow()
19
+ })
20
+ })
package/tsconfig.json CHANGED
@@ -1,14 +1,16 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "module": "commonjs",
3
+
4
+ "moduleResolution": "node",
5
+ "resolveJsonModule": true,
4
6
  "esModuleInterop": true,
5
7
  "allowSyntheticDefaultImports": true,
6
8
  "target": "es6",
7
9
  "suppressImplicitAnyIndexErrors": true,
8
10
  "noImplicitAny": false,
9
- "resolveJsonModule": true,
10
- "moduleResolution": "node",
11
11
  "sourceMap": true,
12
+ "declaration": false,
13
+ "skipLibCheck": true,
12
14
  "outDir": "./dist/",
13
15
  "baseUrl": ".",
14
16
  "paths": {
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ChatHttpServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatHttpServer.js","sourceRoot":"","sources":["../../../src/modules/whisper/ChatHttpServer.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=ChatSocketServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSocketServer.js","sourceRoot":"","sources":["../../../src/modules/whisper/ChatSocketServer.ts"],"names":[],"mappings":""}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.opportunityChatProvider = void 0;
16
- const OpportunityEventEmitter_1 = __importDefault(require("../../events/OpportunityEventEmitter"));
17
- class OpportunityChatProvider {
18
- init(chatHttpServer, chatSocketServer) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- this.ChatHttpServer = chatHttpServer;
21
- this.ChatSocketServer = chatSocketServer;
22
- try {
23
- console.log('Initiating OpportunityChatProvider');
24
- this.userId = yield this.ChatHttpServer.getUserId();
25
- const response = yield this.ChatHttpServer.userSessionCheck(this.userId);
26
- console.log('User ID received: ' + this.userId);
27
- console.log('Response received: ' + response);
28
- if (response.error) {
29
- return { status: false, username: null };
30
- //this.props.history.push(`/`)
31
- }
32
- else {
33
- /* this.setState({
34
- username: response.username
35
- });*/
36
- console.log('Successfully found username: ' + response.username);
37
- console.log('Successfully found a userID: ' + this.userId);
38
- this.ChatHttpServer.setLS('username', response.username);
39
- this.ChatSocketServer.establishSocketConnection(this.userId);
40
- return { status: true, username: response.username };
41
- }
42
- //this.setRenderLoadingState(false);
43
- }
44
- catch (error) {
45
- return { status: false, username: null };
46
- //this.setRenderLoadingState(false);
47
- //this.props.history.push(`/`)
48
- }
49
- });
50
- }
51
- getChatList() {
52
- return this.ChatSocketServer.getChatList(this.userId);
53
- }
54
- setChatListResponseListener(data) {
55
- OpportunityEventEmitter_1.default.on('chat-list-response', data);
56
- }
57
- removeChatListResponseListener(data) {
58
- OpportunityEventEmitter_1.default.removeListener('chat-list-response', data);
59
- }
60
- }
61
- const opportunityChatProvider = new OpportunityChatProvider();
62
- exports.opportunityChatProvider = opportunityChatProvider;
63
- //# sourceMappingURL=OpportunityChatProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpportunityChatProvider.js","sourceRoot":"","sources":["../../../src/modules/whisper/OpportunityChatProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,mGAA2E;AAK3E,MAAM,uBAAuB;IAKpB,IAAI,CAAC,cAAoB,EAAE,gBAAsB;;YACnD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YAEzC,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAExE,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,QAAQ,CAAC,CAAC;gBAE9C,IAAI,QAAQ,CAAC,KAAK,EAAE;oBAChB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;oBACxC,8BAA8B;iBAC/B;qBAAM;oBACN;;0BAEM;oBACL,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBAChE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACzD,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAA;iBACrD;gBACD,oCAAoC;aACrC;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAC1C,oCAAoC;gBACpC,8BAA8B;aAC/B;QACN,CAAC;KAAA;IAED,WAAW;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,2BAA2B,CAAC,IAAI;QAC9B,iCAAuB,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,8BAA8B,CAAC,IAAI;QAClC,iCAAuB,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;CACH;AAED,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;AACrD,0DAAuB"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/rpc/connection.ts"],"names":[],"mappings":""}
package/dist/rpc/index.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const ethers_1 = require("ethers");
4
- exports.default = ethers_1.ethers;
5
- //# sourceMappingURL=rpc-interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpc-interface.js","sourceRoot":"","sources":["../../../src/rpc/interface/rpc-interface.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAChC,kBAAe,eAAM,CAAC"}
@@ -1,60 +0,0 @@
1
- import EventEmitter from 'node:events';
2
- import opportunityService from '../../OpportunityService';
3
- import opportunityEventEmitter from '../../events/OpportunityEventEmitter';
4
- import { IHashMap } from '../../types';
5
- import { WhisperEvents } from '../..//constants';
6
- import { utils } from 'ethers';
7
-
8
- class OpportunityChatProvider {
9
- userId : string;
10
- ChatHttpServer : any;
11
- ChatSocketServer: any;
12
-
13
- async init(chatHttpServer : any, chatSocketServer : any) : Promise<Object> {
14
- this.ChatHttpServer = chatHttpServer;
15
- this.ChatSocketServer = chatSocketServer;
16
-
17
- try {
18
- console.log('Initiating OpportunityChatProvider');
19
- this.userId = await this.ChatHttpServer.getUserId();
20
- const response = await this.ChatHttpServer.userSessionCheck(this.userId)
21
-
22
- console.log('User ID received: ' + this.userId);
23
- console.log('Response received: ' + response);
24
-
25
- if (response.error) {
26
- return { status: false, username: null }
27
- //this.props.history.push(`/`)
28
- } else {
29
- /* this.setState({
30
- username: response.username
31
- });*/
32
- console.log('Successfully found username: ' + response.username)
33
- console.log('Successfully found a userID: ' + this.userId);
34
- this.ChatHttpServer.setLS('username', response.username);
35
- this.ChatSocketServer.establishSocketConnection(this.userId);
36
- return { status: true, username: response.username }
37
- }
38
- //this.setRenderLoadingState(false);
39
- } catch (error) {
40
- return { status: false, username: null }
41
- //this.setRenderLoadingState(false);
42
- //this.props.history.push(`/`)
43
- }
44
- }
45
-
46
- getChatList() {
47
- return this.ChatSocketServer.getChatList(this.userId);
48
- }
49
-
50
- setChatListResponseListener(data) {
51
- opportunityEventEmitter.on('chat-list-response', data);
52
- }
53
-
54
- removeChatListResponseListener(data) {
55
- opportunityEventEmitter.removeListener('chat-list-response', data);
56
- }
57
- }
58
-
59
- const opportunityChatProvider = new OpportunityChatProvider();
60
- export { opportunityChatProvider };
File without changes
package/src/rpc/index.ts DELETED
File without changes
@@ -1,2 +0,0 @@
1
- import { ethers } from 'ethers';
2
- export default ethers;