Skip to content

Releases: warp-contracts/warp

Wasm-bindgen glue code improvements

27 Mar 07:06
Compare
Choose a tag to compare

make glue code independent on warp-contracts crate version

Wasm-bindgen glue code improvements

24 Mar 09:27
Compare
Choose a tag to compare

add vector support in state object of rust contract

Full Changelog: 1.3.1...v1.3.2

createSource missing param fix

24 Mar 08:31
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.3.0...1.3.1

Technical release

24 Mar 08:30
Compare
Choose a tag to compare

A technical release to fix dependencies issues within warp plugins.

Remote state sync fix

20 Mar 17:43
Compare
Choose a tag to compare

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

20 Mar 10:26
Compare
Choose a tag to compare

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

06 Mar 13:48
Compare
Choose a tag to compare

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

03 Mar 12:46
Compare
Choose a tag to compare

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

27 Feb 11:35
Compare
Choose a tag to compare
  1. 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 use DeployPlugin 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.

  1. createContract field has been removed permanently from the Warp instance.

  2. ESLint has been configured to not allow any eslint warnings.

  3. crypto lib has been moved to warp-isomorphic.

What's Changed

Full Changelog: 1.2.53...v1.2.54

Uncommitted state fix

23 Feb 09:38
Compare
Choose a tag to compare

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.