diff --git a/chain-api/src/hardhat/contracts/License.sol b/chain-api/src/hardhat/contracts/License.sol index fa79f80..7e11e62 100644 --- a/chain-api/src/hardhat/contracts/License.sol +++ b/chain-api/src/hardhat/contracts/License.sol @@ -12,6 +12,7 @@ import "@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner.sol"; /** * THIS IS AN EXAMPLE CONTRACT THAT USES UN-AUDITED CODE. */ + contract LinkWellStringBytesConsumerContractExample is ChainlinkClient, ConfirmedOwner { using Chainlink for Chainlink.Request; diff --git a/chain-api/src/hardhat/modules/salaries/salaries-interact.controller.ts b/chain-api/src/hardhat/modules/salaries/salaries-interact.controller.ts index fae89ef..bb7d100 100644 --- a/chain-api/src/hardhat/modules/salaries/salaries-interact.controller.ts +++ b/chain-api/src/hardhat/modules/salaries/salaries-interact.controller.ts @@ -54,4 +54,9 @@ export class SalariesController { async deposit(@Body() dto: DepositContractDto) { return this.salariesService.deposit(dto); } + + @Get('get-license-request') + async getLicenseRequest() { + return this.salariesService.getLicenseRequest(); + } } diff --git a/chain-api/src/hardhat/modules/salaries/salaries.service.ts b/chain-api/src/hardhat/modules/salaries/salaries.service.ts index 04ce55d..f37adc2 100644 --- a/chain-api/src/hardhat/modules/salaries/salaries.service.ts +++ b/chain-api/src/hardhat/modules/salaries/salaries.service.ts @@ -35,6 +35,42 @@ export class SalariesService extends BaseContractService { return await myContract.getAddress(); } + async getLicenseRequest() { + const { abi } = await hre.artifacts.readArtifact( + 'LinkWellStringBytesConsumerContractExample', + ); + const signer = await this.providerService.getSigner(); + + const contract = new ethers.Contract( + '0xbc3c4fed4C3A977b8868b589662270F1aEA6A777', + abi, + signer, + ); + + const answer: string = await contract.request(); + console.log('=>(salaries.service.ts:45) answer', answer); + const licenseres = await this.getLicenseResponse(); + console.log('=>(salaries.service.ts:53) licenseres', licenseres); + return answer; + } + + async getLicenseResponse() { + const { abi } = await hre.artifacts.readArtifact( + 'LinkWellStringBytesConsumerContractExample', + ); + const signer = await this.providerService.getSigner(); + + const contract = new ethers.Contract( + '0xbc3c4fed4C3A977b8868b589662270F1aEA6A777', + abi, + signer, + ); + + const answer: string = await contract.responseBytes(); + console.log('=>(salaries.service.ts:45) answer', answer); + return answer; + } + async getLatestUSDTPrice(contractAddress: string) { const { abi } = await hre.artifacts.readArtifact('Salaries'); const signer = await this.providerService.getSigner();