mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
used approveWei for approving provider fees
This commit is contained in:
parent
cc2e179d29
commit
888aeeb541
@ -1,13 +1,13 @@
|
|||||||
import {
|
import {
|
||||||
approve,
|
approve,
|
||||||
|
approveWei,
|
||||||
Datatoken,
|
Datatoken,
|
||||||
FreOrderParams,
|
FreOrderParams,
|
||||||
LoggerInstance,
|
LoggerInstance,
|
||||||
OrderParams,
|
OrderParams,
|
||||||
ProviderComputeInitialize,
|
ProviderComputeInitialize,
|
||||||
ProviderFees,
|
ProviderFees,
|
||||||
ProviderInstance,
|
ProviderInstance
|
||||||
unitsToAmount
|
|
||||||
} from '@oceanprotocol/lib'
|
} from '@oceanprotocol/lib'
|
||||||
import { AssetExtended } from 'src/@types/AssetExtended'
|
import { AssetExtended } from 'src/@types/AssetExtended'
|
||||||
import Web3 from 'web3'
|
import Web3 from 'web3'
|
||||||
@ -64,7 +64,6 @@ export async function order(
|
|||||||
}
|
}
|
||||||
} as OrderParams
|
} as OrderParams
|
||||||
|
|
||||||
// TODO: we need to approve provider fee separately using aproveWei
|
|
||||||
switch (asset.accessDetails?.type) {
|
switch (asset.accessDetails?.type) {
|
||||||
case 'fixed': {
|
case 'fixed': {
|
||||||
// this assumes all fees are in ocean
|
// this assumes all fees are in ocean
|
||||||
@ -146,31 +145,6 @@ export async function reuseOrder(
|
|||||||
asset.services[0].serviceEndpoint
|
asset.services[0].serviceEndpoint
|
||||||
))
|
))
|
||||||
|
|
||||||
if (
|
|
||||||
providerFees?.providerFeeAmount ||
|
|
||||||
initializeData?.providerFee?.providerFeeAmount
|
|
||||||
) {
|
|
||||||
// need to use approveWei here
|
|
||||||
const txApprove = await approve(
|
|
||||||
web3,
|
|
||||||
accountId,
|
|
||||||
providerFees.providerFeeToken ||
|
|
||||||
initializeData.providerFee.providerFeeToken,
|
|
||||||
asset.accessDetails.datatoken.address,
|
|
||||||
await unitsToAmount(
|
|
||||||
web3,
|
|
||||||
providerFees.providerFeeToken ||
|
|
||||||
initializeData.providerFee.providerFeeToken,
|
|
||||||
providerFees.providerFeeAmount ||
|
|
||||||
initializeData.providerFee.providerFeeAmount
|
|
||||||
),
|
|
||||||
false
|
|
||||||
)
|
|
||||||
if (!txApprove) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const tx = await datatoken.reuseOrder(
|
const tx = await datatoken.reuseOrder(
|
||||||
asset.accessDetails.datatoken.address,
|
asset.accessDetails.datatoken.address,
|
||||||
accountId,
|
accountId,
|
||||||
@ -207,6 +181,23 @@ export async function handleComputeOrder(
|
|||||||
'[compute] Handle compute order for asset type: ',
|
'[compute] Handle compute order for asset type: ',
|
||||||
asset.metadata.type
|
asset.metadata.type
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (
|
||||||
|
initializeData.providerFee &&
|
||||||
|
initializeData.providerFee.providerFeeAmount !== '0'
|
||||||
|
) {
|
||||||
|
const txApproveWei = await approveWei(
|
||||||
|
web3,
|
||||||
|
accountId,
|
||||||
|
asset.accessDetails.baseToken.address,
|
||||||
|
asset.accessDetails.datatoken.address,
|
||||||
|
initializeData.providerFee.providerFeeAmount
|
||||||
|
)
|
||||||
|
if (!txApproveWei) {
|
||||||
|
toast.error('Failed to approve provider fees!')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
if (initializeData.validOrder && !initializeData.providerFee) {
|
if (initializeData.validOrder && !initializeData.providerFee) {
|
||||||
LoggerInstance.log('[compute] Has valid order: ', initializeData.validOrder)
|
LoggerInstance.log('[compute] Has valid order: ', initializeData.validOrder)
|
||||||
return initializeData.validOrder
|
return initializeData.validOrder
|
||||||
|
Loading…
Reference in New Issue
Block a user