Releases: warp-contracts/warp
Wasm-bindgen glue code improvements
make glue code independent on warp-contracts crate version
Wasm-bindgen glue code improvements
add vector support in state object of rust contract
Full Changelog: 1.3.1...v1.3.2
createSource missing param fix
What's Changed
- fix: unable to createSource with JWKInterface wallet #376 by @ppedziwiatr in #377
Full Changelog: 1.3.0...1.3.1
Technical release
A technical release to fix dependencies issues within warp plugins.
Remote state sync fix
In case of syncing the state with a remote source - the SDK now updates (if necessary) the contract's definition - in case of the contract's source has been updated via Evolve.
What's Changed
- fix: update contract definition after syncing with DRE by @ppedziwiatr in #375
Full Changelog: 1.2.57...1.2.58
New interactions loader
This release adds a dedicated implementation of the InteractionLoader
interface - that allows to load Warp Sequencer based transactions directly from the Arweave gateway.
More details here.
What's Changed
- Add optional getAddress method to CustomSignature by @koonopek in #367
- fix: smartweave global in constructor by @koonopek in #370
- feat: remove contract tx usage from constructor by @koonopek in #374
- fix: make arweave interaction loader great again 🗽 by @koonopek in #368
Full Changelog: 1.2.56...1.2.57
1.2.56
This release adds a feature of constructor functions for the JS contracts.
More details here.
What's Changed
Full Changelog: 1.2.55...1.2.56
Auto sync contracts state with D.R.E. nodes
This release adds an option to auto-sync the contracts' state with D.R.E. nodes. More details here.
What's Changed
Full Changelog: v1.2.54...1.2.55
Deploy Plugin
- All the deployment classes within dedicated deployment methods have been moved to a dedicated plugin -
Warp Contracts Plugin Deploy
. Full documentation for the plugin and nested bundles concept which is used underneath can be found in Warp Academy. In order to useDeployPlugin
one must install warp-contracts-plugin-deploy and attach it to the Warp instance:
import { DeployPlugin } from 'warp-contracts-plugin-deploy';
import { WarpFactory } from 'warp-contracts';
const warp = WarpFactory.forMainnet().use(new DeployPlugin());
Just like before, all the deployment methods are available from the Warp instance, e.g.:
const { contractTxId, srcTxId } = await warp.deploy({
wallet: new ArweaveSigner(wallet),
initState: JSON.stringify(initialState),
src: jsContractSrc,
});
As seen above, wallet passed as wallet
argument needs to be wrapped in one of the Signer
instance implementations available in Warp Contracts Deploy Plugin.
-
createContract
field has been removed permanently from the Warp instance. -
ESLint has been configured to not allow any eslint warnings.
-
crypto
lib has been moved towarp-isomorphic
.
What's Changed
- chore: no eslint warnings policy by @rpiszczatowski in #358
- feat: use wasm-isomorphic crypto lib by @koonopek in #359
- feat: deploy plugin by @asiaziola in #321
Full Changelog: 1.2.53...v1.2.54
Uncommitted state fix
This release fixes a bug in storing the contract's state in cache - in certain situation, a state from previously evaluated interaction could be stored for the current interaction's sortKey.
This release also changes the way how exceptions are being handled in Rust.
From now on, SmartWeave::read_contract_state
, SmartWeave::view_contract_state
and SmartWeave::write
will all return Result<JsValue, JsValue>
instead of JsValue
.
NOTE: This is a breaking change.