All notable changes to this project will be documented in this file.
8.16.1 (2025-07-03)
- added experimental networks
- updated
iexec app init --teetemplate to Scone v5.9
- added support for aes-256-cbc encrypted result decryption
- fixed
BNtype export issue
- migrated subgraphs default base URL (https://thegraph.iex.ec)
- added
voucherAddressoption for using a non-owned voucher contract inmatchOrders
- migrated SMS default URL (https://sms.iex.ec)
- migrated from SMS deprecated apps secrets endpoint
- added key
isUserRejectioninWeb3ProviderErrorset totruewhen the error is detected as a user rejection task.fetchOffchainInfo(taskid)to get off-chain status information about the task from the workerpooltask.fetchLogs(taskid)to fetch app logs from the workers
iexec_result_storage_proxydefault value is no more set in request params- removed deprecated request param
iexec_developer_logger - change information exposed by
iexec task debugfor better readability
- IExec
enterpriseflavour is removed, althoughenterpriseflavour support was dropped for a while the "enterprise" specific methods and keys were still present iniexecSDK. These are now removed, although the changes impact some parts of the API, these changes should not impact developers using theiexecpackage.- [BREAKING]
IExecModule- removed optional constructor param
flavour
- removed optional constructor param
- [BREAKING]
IExecConfig- removed
resolveStandardContractsClientandresolveEnterpriseContractsClientmethods - removed optional constructor param
flavourandenterpriseSwapConf
- removed
- [BREAKING]
IExecWalletModule- removed
wrapEnterpriseRLCandunwrapEnterpriseRLCmethods
- removed
- [BREAKING]
IExecContractsClient- removed optional constructor param
flavour - removed
flavourkey
- removed optional constructor param
- [BREAKING] CLI
chain.jsonconfiguration file- removed
flavourkey - removed
[chainName].enterprisekey
- removed
- [BREAKING] CLI
iexec walletcommand- removed
swap-RLC-for-eRLCandswap-eRLC-for-RLC
- removed
- [BREAKING]
- added account methods for staked RLC allowance management
- allowance
- approve
- revoke
- added support for iExec voucher
- show
- authorize
- revoke
- added support for using a voucher to pay for a deal
- Upgrade PoCo to v5.5.0
- Typescript fixes
- fix an issue occurring when network 134 is already registered on ethers
- doc fixes
- added support for ethers
AbstractProvider,AbstractSignerandBrowserProviderto instantiate modules
- reduced default polling interval for faster tx confirmation
- more permissive url validation for
iexec_input_files
- removed
ensRegistryAddressoption (use ethersNetwork.register()to configure custom networks supporting ENS) - CLI removed
iexec registrycommands
- fixed exposed version
- a generic
ApiCallErroris thrown when a network error occurs while connecting to a service or when the service returns a HTTP 5xx status code, each service has a dedicated inherited error classSmsCallErrorfor SMS call errorsResultProxyCallErrorfor Result Proxy call errorsMarketCallErrorfor Market API call errorsIpfsGatewayCallErrorfor IPFS gateway call errorsWorkerpoolCallErrorfor workerpool API call errors
- Error
causeis now set in errors everywhereoriginalErrorwas used
- [DEPRECATED]
originalErroris deprecated in favor of Errorcause
- Typescript fixes
- accept
CryptoKeyinutils.decryptResult(encrypted, key)
account.approve(spenderAddress, amount)to approve a spender to spend staked RLC from the user accountaccount.checkAllowance(ownerAddress, spenderAddress)to check the amount of allowance approved for the specified spender to use the account of the owneraccount.revokeApproval(spenderAddress)to revoke the approval for the spender to use the account
- fix
--gas-priceoption not being enforced on every command - provider options for ethers provider are loosely type-checked to allow better control
- Typescript fixes
- move tests to the local fork of bellecour
- cache secrets' existence when confirmed by the SMS
- fix bundling issue occurring in webpack due to conditional import of node builtin in node context
- strict mode
isRequesterStrict,isAppStrict,isDatasetStrict,isWorkerpoolStrictin corresponding orderbook methodsfetchRequestOrderbook(),fetchAppOrderbook(),fetchDatasetOrderbook(),fetchWorkerpoolOrderbook(), defaults to false
- remove ipfs initialization preflight checks on request orders
- Typescript fixes
- expose package
versioninIExecModule - accept
CryptoKeyiniexec.result.pushResultEncryptionKey(key)
- fix encryption key formatting issue in
iexec.result.pushResultEncryptionKey(key)
- fix regression causing browser providers (metamask) to prompt unlock screen on IExec instantiation
- fix
iexec task show --downloadissue with node 18 and above
- upgraded to
ethers@6, this upgrade is internal and should not change the way developers interact withiexec - updated dependencies
- [BREAKING] drop support for node 16
- add pagination options (
pageandpageSize) toorderbookanddealfetch methods
- fix
iexec order fillcommand when no dataset is provided - fix error message in
iexec app show - fix ambiguous error message when trying to transfer an asset not deployed
- add transfer methods allowing to transfer the ownership of apps, datasets and workerpools
- fix missing import causing
decryptResult()to crash in browser
- use
node-forgefor crypto operations to remove dependencies on nodejs built-in modules
- fix windows install
- Typescript fixes
- Typescript fixes
- Typescript fixes
- Typescript fixes
- Typescript fixes
- app orderbook accept
"any"for the app address to fetch orderbook without filtering on app - dataset orderbook accept
"any"for the dataset address to fetch orderbook without filtering on dataset
defaultTeeFrameworkoption forIExecConfigandchain.jsonfor choosing the default TEE framework to useiexec app initoption--tee-framework <'scone'|'gramine'>to specify the TEE framework to use for the app- tee framework tags 'scone' & 'gramine'
- app orderbook accept
"any"fordataset,workerpool,requesterto fetch orderbook without filtering - dataset orderbook accept
"any"forapp,workerpool,requesterto fetch orderbook without filtering - workerpool orderbook accept
"any"forapp,dataset,requesterto fetch orderbook without filtering - requester orderbook accept
"any"forworkerpoolto fetch orderbook without filtering
- SMS URL resolution depends on TEE framework (default
scone) - SMS URL override in
IExecConfigorchain.jsonacceptsRecord<TeeFramework,Url> | string iexec app push-secretandapp.pushAppSecretExists(appAddress)use a TEE framework inferred from app if not specifiediexec app check-secretandapp.checkAppSecret(appAddress, secret)use a TEE framework inferred from app if not specifiediexec storage initandstorage.pushStorageToken(appAddress)use the default TEE framework if not specifiediexec storage checkandapp.checkStorageTokenExists(appAddress, secret)use the default TEE framework if not specifiediexec requester check-secret <name>andsecrets.checkRequesterSecretExists(name)use the default TEE framework if not specifiediexec requester push-secret <name>andsecrets.pushRequesterSecret(name, value)use the default TEE framework if not specifiediexec result check-encryption-keyandresult.checkResultEncryptionKeyExists(address)use the default TEE framework if not specifiediexec result push-encryption-keyandresult.pushResultEncryptionKey(value)use the default TEE framework if not specifiediexec dataset check-secretanddataset.checkDatasetSecretExists(datasetAddress)use the default TEE framework if not specifiediexec dataset push-secretanddataset.pushDatasetSecret(datasetAddress, encryptionKey)use the default TEE framework if not specified- TEE app
mrenclave.providerhas been renamedmrenclave.framework - [BREAKING] drop support for node 12
- [BREAKING] exports ES modules only, since all NodeJS LTS now supports ES modules natively, commonjs modules are no longer exported.
- if you use commonjs module
requireconsider moving to ES module to use static import (ie:import iexecSdk from 'iexec') - if moving your project to ES module is not an option, you must use dynamic import to load iExec SDK (ie:
import('iexec').then((iexecSdk) => { ... }))
- if you use commonjs module
- [BREAKING] 'tee' tag must be combined with a tee framework tag ('scone' or 'gramine')
- [BREAKING]
checkRequestoption is replaced bypreflightCheck, usepreflightCheck: falseto disable checks - [BREAKING]
--skip-request-checkoption is replaced by--skip-preflight-check - [BREAKING] bellecour is now the default chain initialized in
chain.jsonwhen runningiexec init - [BREAKING] iExec stack is no longer deployed on mainnet, stack configuration for mainnet is no longer provided
- [BREAKING] iExec enterprise stack is no longer deployed, stack configuration for enterprise is no longer provided
- [BREAKING] viviani is no longer available in the default configuration
- [BREAKING] goerli is no longer available in the default configuration
- [BREAKING] removed now useless faucet commands
iexec wallet get-RLCandiexec wallet get-ether
- changed IPFS default gateway to v7 stack specific gateway
- fix API providers configuration
- fix
iexec orderbookraw pagination
- TypeScript fixes
- TypeScript fixes
- [DEPRECATED] request param
iexec_developer_loggerwas removed from iExec worker, using this param no longer have an effect.iexec_developer_loggerwill be removed in a next version.
- TypeScript fixes
- workerpool API url configuration
iexec task debug <taskid> [--logs]to show off-chain informationens.getDefaultDomain(address)to get the default free to use ENS domain given an address- support for requester secrets
- check dataset secret exists on requestorder check
- check requester secret exists on requestorder check
- app/dataset/workerpool predict address methods
- app/dataset/workerpool check deployed methods
showcommands display ENS when configurediexec ens register <label> --for <address>default domain is selected given the nature of--foraddress- [DEPRECATED] Node 12 support will be dropped
- fix unhandled promise rejection when sdk is incorrectly initialized
- fix typo in
iexec storage init --rawoutput - fix typo in
iexec storage check --rawoutput
- TypeScript interfaces
providerOptionscan be passed to the constructor to configure ethers default provider on bridged chainethProvidernow accepts network name, network chainId and RPC url, using one of those option will setup an IExecConfig with provider allowing read-only operations (operations requiring a Signer will fail)
- split lib into
IExecConfigand independentIExecModules to allow modular imports - reintegrated
iexec-contracts-js-client - fix a bug transforming an Array into a plain object
- documentation refactoring
- fix ENS configure resolution removed useless transaction for EOA
- observable ENS configuration with
ens.obsConfigureResolution(label, address) - observable bridge to mainchain with
wallet.obsBridgeToMainchain(amount) - observable bridge to sidechain with
wallet.obsBridgeToSidechain(amount)
- update deps
- fix
colorsto uncorrupted version
- ENS resolution on iExec sidechains and custom networks
- ENS methods in CLI and lib:
iexec ens resolve <name>andiexec.ens.resolveName(name)iexec ens lookup <address>andiexec.ens.lookupAddress(address)iexec ens get-owner <name>andiexec.ens.getOwner(name)iexec ens register <label>iexec.ens.claimName(label, domain)iexec.ens.configureResolution(label, address)
- fix
iexec registry validate appto support new mrenclave format
- client-side (in browser) dataset encryption is now possible.
- confirms option allows to set the number of block to wait for transaction confirmation.
iexec app init --teeinit the TEE app template
- [BREAKING]
iexec initset default chainviviani(iExec sidechain testnet) inchain.json, previously wasgoerli(using--chainoption still overrides thechain.jsonconfiguration). - [BREAKING] SCONE file system encryption is dropped in favor of AES-256-CBC for dataset encryption. Existing datasets will stop working, these datasets original files MUST be re-encrypted using
iexec dataset encryptand republished. - [BREAKING] changed generated dataset keys and encrypted datasets files naming pattern.
- [BREAKING] a dataset is now a single file. in order to pass a tree structure, the dataset owner must package all the files in a single archive file, applications that previously used multiple files from a single dataset must handle unwrapping files from an archive file.
- [BREAKING] app
mrenclaveformat changed from string to object previously deployed TEE apps must be rebuilt and redeployed with v6 workflow - [BREAKING]
iexec.task.obsTask()now returnsPromise<Observable>previously it returnedObservable - [BREAKING]
iexec.deal.obsDeal()now returnsPromise<Observable>previously it returnedObservable - [DEPRECATED]
iexec wallet getETHis now an alias toiexec wallet get-etherand will be removed in a next version - [DEPRECATED]
iexec wallet getRLCis now an alias toiexec wallet get-RLCand will be removed in a next version - [DEPRECATED]
iexec wallet sendETHis now an alias toiexec wallet send-etherand will be removed in a next version - [DEPRECATED]
iexec wallet sendRLCwill be removed in a next version, useiexec wallet send-RLCBEWARE default unit is RLC! chainIdis no longer required to callIExecconstructor, the chainId is lazily fetched from the provider- fix
iexec wallet send-etherreturn sentamountin wei - fix
fetchWorkerpoolOrderbook()to includerequesterrestricted workerpoolorders (fixapp runusing requester restricted workerpoolorder) - fix
iexec app run--gas-priceoption - removed
mrenclavefrom app default template iexec run --watchandiexec deal show --watchadded tasks status details
- [BREAKING]
--algorithmoption is removed fromiexec dataset encrypt - [BREAKING] removed
iexec.network.idandiexec.network.isSidechain, useiexec.network.getNetwork() => Promise<{chainId: String, isSidechain: Boolean}> - [BREAKING] tee post-compute configuration responsibility has been transferred to the SMS and is no longer supported by requestorder. any custom
iexec_tee_post_compute_imageandiexec_tee_post_compute_fingerprintwill be silently removed fromrequestorder.params. - [BREAKING] drop previously deprecated
iexec wallet show --rawreturned json keybalance.ETH, usebalance.etherinstead - [BREAKING] drop previously deprecated
bridge.bridgedChainIdinchain.jsonusebridge.bridgedChainNameinstead - [BREAKING] drop previously deprecated
iexec.orderbook.fetchWorkerpoolOrderbook(category, options)usecategoryas an option ofiexec.orderbook.fetchWorkerpoolOrderbook(options) - [BREAKING] drop previously deprecated
iexec.orderbook.fetchRequestOrderbook(category, options)usecategoryas an option ofiexec.orderbook.fetchRequestOrderbook(options) - [BREAKING] drop previously deprecated
iexec.orderbook.fetchAppOrderbook()returned valueappOrdersuseorders - [BREAKING] drop previously deprecated
iexec.orderbook.fetchDatasetOrderbook()returned valuedatasetOrdersuseorders - [BREAKING] drop previously deprecated
iexec.orderbook.fetchWorkerpoolOrderbook()returned valueworkerpoolOrdersuseorders - [BREAKING] drop previously deprecated
iexec.orderbook.fetchRequestOrderbook()returned valuerequestOrdersuseorders - [BREAKING] drop previously deprecated
task.waitForTaskStatusChange(taskid, initialStatus)usetask.obsTask(taskid)
- set ethers version to ~5.3.1 for pre berlin fork compatibility (iExec sidechains)
- fixed
iexec registry validate app
- [BREAKING] drop support for Node 10
- iExec enterprise flavour support
iexec wallet swap-eRLC-for-RLCandwallet.wrapEnterpriseRLC()enables to wrap RLC to eRLC (requires an authorized wallet)iexec wallet swap-eRLC-for-RLCandwallet.unwrapEnterpriseRLC()enables to unwrap eRLC to RLC (requires an authorized wallet)enterprisevalue added to--chain [chainName]option enable connecting iExec enterprise- optional named argument
flavouradded to IExec constructor enables connecting iExec enterprise by passingflavour: 'enterprise'
idis no longer required inchain.json- passing
chainIdto--chain [chainName]will support only the following values:1formainnet,5forgoerli,134forbellecour,133forviviani - CLI
nativechain key no longer set default gasPrice to 0, use key"useGas": falseto force default gasPrice to 0 - lib
isNativeoption no longer set default gasPrice to 0, use optionuseGas: falseto force default gasPrice to 0 - migrate EIP712 hash and sign to ethers implementation
- fixed
iexec deal claimfail due to missing signer - [DEPRECATED]
bridge.bridgedChainIdinchain.jsonis deprecated and must me replaced bybridge.bridgedChainName
iexec orderbookmore filter optionsiexec orderbookpaginationiexec app request-execution <appAddress>publish a requestorder to run an app at limit price
- migrated to new market API
- fixed amount validation error
- fixed multiaddr format machine to human
- fixed requester stake too low error message for matching orders
- update
Web3ProviderErrormessages iexec orderbook workerpool [address]--category <catid>is now optionaliexec orderbook requester [address]--category <catid>is now optional- [DEPRECATED]
iexec.orderbook.fetchWorkerpoolOrderbook(category, options)is deprecated, usecategoryas an option ofiexec.orderbook.fetchWorkerpoolOrderbook(options) - [DEPRECATED]
iexec.orderbook.fetchRequestOrderbook(category, options)is deprecated, usecategoryas an option ofiexec.orderbook.fetchRequestOrderbook(options) - [DEPRECATED]
iexec.orderbook.fetchAppOrderbook()returned valueappOrdersis deprecated, useorders - [DEPRECATED]
iexec.orderbook.fetchDatasetOrderbook()returned valuedatasetOrdersis deprecated, useorders - [DEPRECATED]
iexec.orderbook.fetchWorkerpoolOrderbook()returned valueworkerpoolOrdersis deprecated, useorders - [DEPRECATED]
iexec.orderbook.fetchRequestOrderbook()returned valuerequestOrdersis deprecated, useorders
- undocumented option
beforeTimestampremoved fromiexec.deal.fetchRequesterDeals() - undocumented output value
openVolumeremoved fromiexec.orderbook.fetchWorkerpoolOrderbook()andiexec orderbook workerpool
- support for unit in amounts
- ether units:
ether(eth),finney,szabo,gwei,mwei,kwei,wei - RLC units:
RLC,nRLC
- ether units:
- fixed result encryption v5 workflow
- messages amount use main units (RLC and ether)
- [DEPRECATED]
iexec wallet show --rawreturned json keybalance.ETHis deprecated, usebalance.etherinstead
- ENS resolution
- support for INFURA, Etherscan and Alchemy providers configuration
- simplified order management for deployed resources in cli
iexec app/dataset/workerpool publishiexec app/dataset/workerpool unpublish
- remote storage management
- support for
dropboxstorage iexec storage init [provider]initialize the remote storageiexec storage check [provider]check if the remote storage is initializediexec.storage.defaultStorageLogin()get an authorization token for default remote storageiexec.storage.pushStorageToken()push a storage token to the SMS
- support for
- dataset secret management in js lib
iexec.dataset.pushDatasetSecret(datasetAddress, secret)push the dataset key to the SMSiexec.dataset.checkDatasetSecretExists(datasetAddress)check if the dataset key exists in the SMS
- result encryption key management in js lib
iexec.result.pushResultEncryptionKey(rsaPubKey)push the beneficiary result encryption key to the SMSiexec.result.updateResultEncryptionKey(rsaPubKey)update the beneficiary result encryption key in the SMSiexec.result.checkResultEncryptionKeyExists(address)check if the beneficiary result encryption key exists in the SMSutils.decryptResult(encryptedResultFile, beneficiaryKey)decrypt encrypted result with RSA beneficiary key
- requestorder check to prevent runtime errors
iexec order sign,iexec order publish,iexec order fillandiexec app runperform advanced check on request (use option--skip-request-checkto disable)iexec.order.signRequestorder(),iexec.order.publishRequestorder()andiexec.order.matchOrder()perform advanced check on request (use option{ checkRequest: false }to disable)
--decryptoption addediexec task show <taskid> --download --decryptallow to decrypt downloaded result--watchoption added toiexec deal show <dealid>allow to watch execution status changes- default values for
order.createApporder(),order.createDatasetorder(),order.createWorkerpoolorder()andorder.createRequestorder(). - support for units in
parseEth()andparseRLC()methods
- [BREAKING]
iexec app show <index>andapp.showUserApp(index)first index is0previously was1 - [BREAKING]
iexec dataset show <index>anddataset.showUserDataset(index)first index is0previously was1 - [BREAKING]
iexec workerpool show <index>anddataset.showUserWorkerpool(index)first index is0previously was1 - [BREAKING]
iexec dataset check-secretreturned json key is nowisSecretSetpreviously wasisKnownAddress - [BREAKING]
iexec task showandtask.show(taskid)returnedtask.resultsis an object previously was url or hexString - [BREAKING]
iexec app runoption--dataset <address|"deployed">using last deployed dataset is no more implicit - [BREAKING]
iexec app runoption--workerpool <address|"deployed">using last deployed workerpool is no more implicit - [BREAKING]
bridge.bridgedChainIdis now used to override bridged chain chainId iniexec.jsonpreviouslybridge.bridgedNetworkIdwas used - [BREAKING]
iexec result generate-keysis deprecated, useiexec result generate-encryption-keypair - [BREAKING]
iexec result push-secretis deprecated, useiexec result push-encryption-key - [BREAKING]
iexec result check-secretis deprecated, useiexec result check-encryption-keyreturned json key is nowisEncryptionKeySetpreviously wasisKnownAddress - [BREAKING] standardized Error messages format, capitalized first letter.
- access to the blockchain through ethers default provider
- standardized CLI messages format
- fixed mutation in order sign methods
- fixed
iexec wallet sweepandwallet.sweep() - fixed method name
iexec.order.publishWorkerpoolorder() - fixed method name
iexec.order.unpublishWorkerpoolorder()
- [BREAKING]
aes-256-cbcdataset encryption is removed, onlysconeencryption is supported (useiexec dataset encrypt --algorithm scone)
orderbook.fetchAppOrderbookandiexec orderbook app <address>optional filters (dataset, workerpool, requester)orderbook.fetchDatasetOrderbookandiexec orderbook dataset <address>optional filters (app, workerpool, requester)utils.sumTags([...Bytes32])added to JS libtask.obsTask(taskid, { dealid })observable for task statusdeal.obsDeal(dealid)observable for deal status
- fix
iexec order show --rawoutput task.waitForTaskStatusChange(taskid, initialStatus)is deprecated prefertask.obsTask(taskid)
iexec app run [address]allow to run an app on iExec at the market pricedeal.show(dealid)andiexec deal showreturns extra keysfinalTime: BNanddeadlineReached: Booleantask.show(taskid)andiexec task showreturns extra keystaskTimedOut: Booleanrequestorder.paramsnow accepts object iniexec.jsonand JS lib
- fix SMS url in
chain.json - fix
task.show(taskid)andiexec task showreturnedstatusNameis now set to"TIMEOUT"when task timed out
gputag is now supportedgetTransactionCountoption for custom nonce management- Goerli testnet added to
chain.jsonruniexec init --skip-walletto updatechain.json
- updated yup integer validation
iexec wallet showno longer requires password to show wallet content (issue #87)iexec account showno longer requires password to show account content- fix
iexec.app.showApp(address)andiexec app shownow returns decodedappMREnclave
iexec wallet bridge-to-sidechain <nRlcAmount>sending RLC from a mainchain to the bridged sidechain.iexec wallet bridge-to-mainchain <nRlcAmount>sending RLC from a sidechain to the bridged mainchain.- optional bridge configuration in
chain.json - bridging RLC between mainchain an sidechain may throw
BridgeError deal.claim(dealid)andiexec deal claimto claim all failed of a dealutils.getSignerFromPrivateKey()creates a signer provider for server side applications
- [BREAKING]
iexec order init --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec order sign --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec order cancel --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec order fill --rawvolume in output is now formatted as decimal string, previously was hexadecimal string. - [BREAKING]
iexec order publish --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec order unpublish --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec order show --rawoutput is now a single json{ok, apporder, datasetorder, workerpoolorder, requestorder, fail: [...errors]}. - [BREAKING]
iexec registry validate <object> --rawoutput is now a single json{ok, validated: [...fileNames], fail: [...errors]}. - [BREAKING] Ethereum public key representation changed, first byte
04is no longer skipped. - [BREAKING]
app.deploy()promise now resolves as{address, txHash}, previously wasaddress. - [BREAKING]
dataset.deploy()promise now resolves as{address, txHash}, previously wasaddress. - [BREAKING]
workerpool.deploy()promise now resolves as{address, txHash}, previously wasaddress. - [BREAKING]
account.deposit()promise now resolves as{amount, txHash}, previously wasamount. - [BREAKING]
account.withdraw()promise now resolves as{amount, txHash}, previously wasamount. - [BREAKING]
wallet.sweep()promise now resolves as{sendNativeTxHash, sendERC20TxHash, errors}on mainchains or{sendNativeTxHash, errors}on sidechains, previously was{sendETHTxHash, sendRLCTxHash}. - [BREAKING]
order.cancel()promise now resolves as{order, txHash}, previously wastrue.
- [BREAKING] curated utils
- [BREAKING] imports of
wallet,account,order,orderbook,deal,task,hubare removed.
iexec orderbook workerpooladded option--require-tag <...tags>- Support for tag array of string representation (ex: tee tag
0x0000000000000000000000000000000000000000000000000000000000000001can be replaced by['tee']), available in:iexec.jsonorderbookcommand- js lib
- Filtering options for orderbook in js lib
IExecsdk constructor simplify integration see documentationwallet.getAddress()gives the current wallet addressdeal.show()added keytasks: { [idx]: [taskid] }to the resolved value- dynamic cast and validation of inputs, invalid inputs throw
ValidationError. - introduced TypedErrors
ValidationError,Web3ProviderError,Web3ProviderCallError,Web3ProviderSendError,Web3ProviderSignMessageError,ObjectNotFoundError.
- [BREAKING] dropped support for nodejs v8 added support for nodejs v14
- [BREAKING]
iexec teesubcommands removed and replacediexec tee initis replaced byiexec dataset init --encryptediexec tee encrypt-datasetis replaced byiexec dataset encryptiexec tee generate-beneficiary-keysis replaced byiexec result generate-keyiexec tee decrypt-resultis replaced byiexec result decryptiexec tee push-secretis replaced byiexec dataset push-secretandiexec result push-secretiexec tee check-secretis replaced byiexec dataset check-secretandiexec result check-secret
- [BREAKING]
.tee-secrets/folder moved to.secrets - [BREAKING] default original dataset folder
tee/original-dataset/folder moved todatasets/original/ - [BREAKING] default encrypted dataset folder
tee/original-encrypted/folder moved todatasets/encrypted/ - [BREAKING]
iexec deal showends with error when the deal doesn't exists - [BREAKING]
deal.show()throw when the deal doesn't exists - [BREAKING]
deal.computeTaskIdsArray()is no longer exposed (deal.show()resolves now as{..., tasks: { [idx]: [taskid] }}) - [BREAKING]
deal.computeTaskId()returns a promise - [BREAKING] errors handling with
--rawoption now returns{ command, error: { name, message } }previously was{ command, error: message } - [DEPRECATED] imports of
wallet,account,order,orderbook,deal,task,hubis deprecated, useIExecconstructor. - [DEPRECATED]
order.signOrder()is replaced by dedicated methods ofIExec:order.signApporder(),order.signDatasetorder(),order.signWorkerpoolorder(),order.signRequestorder() - [DEPRECATED]
order.cancelOrder()is replaced by dedicated methods ofIExec:order.cancelApporder(),order.cancelDatasetorder(),order.cancelWorkerpoolorder(),order.cancelRequestorder() - [DEPRECATED]
order.publishOrder()is replaced by dedicated methods ofIExec:order.publishApporder(),order.publishDatasetorder(),order.publishWorkerpoolorder(),order.publishRequestorder() - [DEPRECATED]
order.unpublishOrder()is replaced by dedicated methods ofIExec:order.unpublishApporder(),order.unpublishDatasetorder(),order.unpublishWorkerpoolorder(),order.unpublishRequestorder() - [DEPRECATED]
hub.createObj()is replaced by dedicated methods ofIExec:app.deployApp(),dataset.deployDataset(),workerpool.deployWorkerpool() - [DEPRECATED]
hub.countObj()is replaced by dedicated methods ofIExec:app.countUserApps(),dataset.countUserDatasets(),workerpool.countUserWorkerpools() - [DEPRECATED]
hub.showObj()is replaced by dedicated methods ofIExec:hub.countUserApps(),hub.countUserDatasets(),hub.countUserWorkerpools() - [DEPRECATED]
hub.showApp(contracts, objAddressOrIndex, userAddress)will stop support paramsindexanduserAddressuseIExecmethodsapp.showUserApp(index, userAddress)orapp.showApp(appAddress) - [DEPRECATED]
hub.showDataset(contracts, objAddressOrIndex, userAddress)will stop support paramsindexanduserAddressplease useIExecmethoddataset.showUserDataset(index, userAddress)ordataset.showDataset(contracts, datasetAddress) - [DEPRECATED]
hub.showWorkerpool(contracts, objAddressOrIndex, userAddress)will stop support paramsindexanduserAddressplease useIExecmethodworkerpool.showUserWorkerpool(index, userAddress)orworkerpool.showWorkerpool(workerpoolAddress) - [DEPRECATED]
task.claim(contracts, taskid, userAddress)userAddressis no longer required, please useIExecmethodtask.claim(taskid) - [DEPRECATED]
task.fetchResults(contracts, taskid, userAddress, options)userAddressis no longer required, please useIExecmethodtask.fetchResults(taskid, options) - Update
multiaddr@6.1.0tomultiaddr@7.1.0:/ipfsprotocol 421 is now displayed/p2p - fix everyone can claim a task
- fix
iexec task showoracle results hexadecimal display (#88) - fix
iexec task show --downloadoracle results error message
- [BREAKING]
iexec deal show <dealid> --tasks <...index>--tasksoption is removed, as deal's tasks are added to the output. - [BREAKING]
iexec teesubcommands removed and replaced (see changed)
- update params format for iexec core v3.2 compatibility
- global option
--quietdisable update notification
- global option
--rawdisable update notification - fix
iexec wallet create --rawandiexec wallet import --rawJSON output on fail - fix numbers format in templates
- update api url
iexec registry validate <'app'|'dataset'|'workerpool'>update schema validation for buyConf- dependencies update
iexec order fill --params <string>allow to generate request order on the fly with specified params
- request orders are no longer initialized with formatted params
iexec tee encrypt-dataset --algorithm <'aes-256-cbc'|'scone'>allow to choose encryption method, default is aes-256-cbc.--algorithm sconeallow an encrypted dataset to be processed into a SGX enclave by a Scone compatible dapp.
iexec tee encrypt-datasetnow supports dataset folders.- CLI fix typo
- option
--gas-price <wei>allow to use custom gas price.
- fix display task contributors.
- limit methods exported from
utilsmodule.
iexec tee encrypt-datasetnow use nodejs implementation (previously dockerized Openssl 1.1.1b).
- Dataset encryption
iexec tee encrypt-dataset.
- beneficiary keys generated by
iexec tee generate-beneficiary-keysnow use AES 256 (previously AES 128).
This is the initial release of iExec v3.