TODO
Package detail
@web3api/uts46-plugin-js
Web3API IDNA-UTS #46 Javascript Plugin
readme
changelog
Web3API 0.0.1-prealpha.85
Features
- PR-910
@web3api/cli
:web3api.infra.yaml
manifests now support the concept of "default" modules. - PR-878
@web3api/client-js
:Workflows
can now be run using theclient.run(...)
method. Integration into the Polywrap CLI will be released in the near future.
Bugs
- PR-908
@web3api/asyncify-js
: Improved WebAssembly import sanitization has been added, resolving an ambiguous error that was found when extraneous imports were added to a built module. - PR-902
@web3api/cli
:w3 create plugin ...
&w3 create app ...
now properly parse their expectedlanguage
andname
arguments.
Web3API 0.0.1-prealpha.84
Features
- PR-328
@web3api/infra
: A modular infrastructure pipeline has been added to the CLI, available via thew3 infra ...
command. This command allows for custom infra modules to be defined and combined, able to support any 3rd party services your development requires. This command supersedes the oldw3 test-env ...
command. - PR-898
@web3api/cli
: Thewasm/rust
default build image has been updated to include thewasm-snip
utility, which helps remove dead code from the wasm modules in a post-processing step. This has reduce the average Rust-based wasm module's size by ~85%. - PR-885
@web3api/test-env-js
: AbuildApi
helper function has been added.
Breaking Changes
- PR-328
@web3api/cli
: Thew3 test-env ...
command has been removed and replaced by thew3 infra ...
command.
Web3API 0.0.1-prealpha.83
Features
- PR-870
@web3api/cli
: Theweb3api.deploy.yaml
manifest file now supports the use of environment variables. - PR-866
@web3api/test-env-js
: ThebuildAndDeployApi
test utility now supports recursive ENS subdomain registration.
Bugs
- PR-884
@web3api/client-js
: Plugin registrations are now properly sanitized, and overridden plugins will be removed from the plugins array. - PR-892
@web3api/cli
: Some minor fixes have been made to thewasm/rust
build image's default Dockerfile.
Web3API 0.0.1-prealpha.82
Features
- PR-699
@web3api/cli
: Support for Rust based WebAssembly wrappers has been added.
Breaking Changes
- PR-872
@web3api/schema-bind
: TypeScript bindings for both app & plugin projects now useArrayBuffer
to represent the schema'sBytes
type, instead of the previousUint8Array
.
Web3API 0.0.1-prealpha.81
Features
- PR-864
@web3api/react
:useWeb3ApiInvoke
anduseWeb3ApiQuery
hooks now support configuring the client's environment, along with all other configuration options. - PR-808
@web3api/cli
: Theweb3api.build.yaml
manifest now supports additional docker buildkit configuration options, including:- local docker image layer cache
- custom image output location
- remove image after build
- remove builder instance after build
- PR-827
@web3api/ethereum-plugin-js
: The provider's connection can now be configured via the wrapper's environment. - PR-807
@web3api/cli
: Make the CLI's Docker file-lock project specific, instead of global to the CLI installation.Bugs
- PR-847
@web3api/templates
: The template projects used for thew3 create ...
CLI command now have proper CI setup, and multiple bugs were fixed within them. - PR-861
@web3api/test-env-js
: ThebuildAndDeployApi
function'sensName
no longer assumes the.eth
TLD is ommitted, and requires the user to provide it along with the domain name. This was the original behavior, and was modified in release0.0.1-prealpha.75
.Breaking Changes
- PR-859
@web3api/cli
: The CLI is now built using thecommander
package. The CLI's help text formatting has changed in structure as a result.
Web3API 0.0.1-prealpha.80
Bugs
- PR-855 Pinned
@types/prettier
to version2.6.0
to fix an issue that was created by the latest release.
Web3API 0.0.1-prealpha.79
Bugs
- PR-852
@web3api/client-test-env
: The IPFS node's API endpoint now has CORS enabled via the following configuration properties:- API.HTTPHeaders.Access-Control-Allow-Origin:
["*"]
- API.HTTPHeaders.Access-Control-Allow-Methods:
["GET", "POST", "PUT", "DELETE"]
- API.HTTPHeaders.Access-Control-Allow-Origin:
Web3API 0.0.1-prealpha.78
Bugs
- Pinned
@types/prettier
to version2.6.0
to fix an issue that was created by the latest release.
Web3API 0.0.1-prealpha.77
Features
- PR-846
@web3api/wasm-as
: Add support for automatic JSON serialization via the@serial-as/transform
asc
compiler transformation. - PR-846
@web3api/schema-bind
: Assemblyscript object types now haveType.toJson(type)
andType.fromJson(json)
static helper methods added to all class instances. - PR-840
@web3api/cli
: Allowasync getClientConfig
functions within modules passed into thew3 query
command's--client-config
option.
Web3API 0.0.1-prealpha.76
Bugs
- PR-836
@web3api/cli
: All commands properly handle the--help
option.
Web3API 0.0.1-prealpha.75
Features
- PR-814
@web3api/cli
: A modular deployment pipeline has been added to the CLI. It can be accessed via thew3 deploy
command.
Web3API 0.0.1-prealpha.74
Bugs
@web3api/schema-bind
: Fix incorrect export fromplugin-ts
bindings.
Web3API 0.0.1-prealpha.73
Bugs
- PR-821
@web3api/cli
: Fixed a codegen issue when generating types for plugins with only one module.
Web3API 0.0.1-prealpha.72
Features
- PR-620 Plugin DevExp Improvements: The plugin developer experience has been revised to be very close to the API development experience.
- PR-697
BigNumber
Schema Type: TheBigNumber
type is now available for use as a base type for Web3API schemas. - PR-802
@web3api/cli
:w3 query ...
command now supports the following options:-o, --output-file
: Output file path for the query result.-q, --quiet
: Suppress output.
- PR-790
@web3api/schema-bind
:wasm-as
bindings have been updated to include a helper functionrequireEnv()
, which can be used to check if the environment is null or not. - PR-795
@web3api/templates
: The AssemblyScript & interface templates used for thew3 create api ...
command has been updated to include metadata (descriptions, icons, etc). - PR-794
@web3api/templates
: The AssemblyScript template used for thew3 create api assemblyscript ...
command has been updated to include e2e tests.
Web3API 0.0.1-prealpha.71
Features
- PR-777
@web3api/client-js
: TheWeb3ApiClient
now has a public methodloadUriResolvers()
, which will pre-fetch all URI resolver implementations.
Bugs
- Issue-715 PR-777
@web3api/client-js
: Custom URI resolver implementations now no longer cause an infinite loop during URI resolution.
Breaking Changes
- PR-777
@web3api/client-js
:Web3ApiClient
public methodgetResolvers(...)
renamed togetUriResolvers(...)
. - PR-777
@web3api/client-js
:Web3ApiClientConfig
propertyresolvers
renamed touriResolvers
.
Web3API 0.0.1-prealpha.70
Bugs
@web3api/core-js
: Fixed the manifest migration script forweb3api.meta
from v1 to v3. Thename
property is now migrating properly todisplayName
.
Web3API 0.0.1-prealpha.69
Features
- PR-669
Map<K, V>
schema base-type has been added. - PR-761 Modules now subinvoke interface implementation wrappers through the
__w3_subinvokeImplementation
host import. This now gives us a specific import function for these sort of invocations, which can allow for additional types of verification features to be added by clients. - PR-769
@web3api/schema-bind
: Add support forgetImplementations
capability in TypeScript plugin (plugin-ts
) codegen. - PR-763
@web3api/schema-bind
: Theschema-bind
project is now "module agnostic" and accepts an array of arbitrary modules, which it will pass directly to the different binding projects (wasm-as
,plugin-ts
,app-ts
, etc). - PR-759
@web3api/manifest-schemas
: Added thename: string
property to theweb3api
manifest. - PR-759
@web3api/manifest-schemas
: Renamedweb3api.meta
'sname
property todisplayName
. - PR-772
@web3api/manifest-schemas
: Added thetags: string[]
property to theweb3api.meta
manifest, allowing wrapper to developers to add tag keywords to their package's metadata, helping improve searchability on package indexers like The Polywrap Hub. - PR-747
@web3api/ethereum-plugin-js
: Changed all instances of thechainId
property's type toBigInt
fromUInt32
. - PR-776
@web3api/ethereum-plugin-js
: AddedgetBalance
to theQuery
module, allowing callers to check the native balance of arbitrary addresses.
Breaking Changes
- PR-669 Wrappers that utilize the new
Map<K, V>
schema base-type will break forward compatability of Polywrap clients.- Relevant Downstream Dependencies:
@web3api/client-js
- Relevant Downstream Dependencies:
- PR-761 Modules that use the
getImplementations
capability for interfaces will now require the following host imports:__w3_subinvokeImplementation
,__w3_subinvokeImplementation_result_len
,__w3_subinvokeImplementation_result
,__w3_subinvokeImplementation_error_len
,__w3_subinvokeImplementation_error
- Relevant Upstream Dependencies:
@web3api/wasm-as
,@web3api/schema-bind
,@web3api/cli
,@web3api/client-js
- Relevant Upstream Dependencies:
- PR-763
@web3api/schema-bind
: The entry point function's input & output types have changed. - PR-763
@web3api/cli
: The type of the expected export from user-defined codegen scripts has changed from:
togenerateBinding = ( output: OutputDirectory, typeInfo: TypeInfo, schema: string, config: Record<string, unknown> ) => void;
generateBinding = ( options: BindOptions ) => BindOutput;
Bugs
- PR-766
@web3api/client-js
: User-configured interface implementations now extend the default configuration's, instead of overwritting them.
Web3API 0.0.1-prealpha.68
Bugs
- PR-756
@web3api/schema-bind
: Imported enums are properly included in the schema bindings when there are no objects imported.
Web3API 0.0.1-prealpha.67
Features
- PR-726 Improved the application developer experience by creating a new
w3 app codegen
command, which generated types based on the apps wrapper / plugin integrations. For an example of how this works, see the updated application template projects by runningw3 create app typescript-node my-app
orw3 create app typescript-react my-app
. - PR-726
@web3api/react
: Added theuseWeb3ApiInvoke
hook as a non-graphql alternative touseWeb3ApiQuery
. - PR-726
@web3api/schema-compose
: Importing all dependency types from a schema import schema statement can now be done through the new wild-card syntax:#import * into Namespace from "w3://authority/path"
.
Breaking Changes
- PR-726
@web3api/cli
:w3 build
CLI command now requires the use of the--manifest-file <path>
option in order to specify a custom build manifest file path. - PR-726
@web3api/cli
:w3 codegen
CLI command option renaming:-m, --manifest-path <path>
to-m, --manifest-file <path>
-c, --custom <path>
to-s, --script <path>
-o, --output-dir <path>
to-c, --codegen-dir <path>
- PR-726
@web3api/cli
:w3 plugin
CLI command option renaming:-m, --manifest-path <path>
to-m, --manifest-file <path>
Web3API 0.0.1-prealpha.66
Features
- PR-718
@web3api/cli
:w3 plugin codegen
now outputs the plugin manifest to the build directory. - PR-695
@web3api/ethereum-plugin-js
: Added Query methods:solidityPack
,solidityKeccak256
,soliditySha256
.
Breaking Changes
- PR-718
@web3api/cli
:w3 plugin codegen
option-s, --output-schema-path
changed to-p, --publish-dir
. - PR-718
@web3api/cli
:w3 plugin codegen
option-t, --output-types-dir
changed to-c, --codegen-dir
.
Web3API 0.0.1-prealpha.65
Bugs
- PR-690
@web3api/http-plugin-js
: Better axios response header handling for lists. - PR-692
@web3api/wasm-as
: Properly propogateResult<T, E>
error upon unwrap exception.
Web3API 0.0.1-prealpha.64
Bugs
- PR-685
@web3api/schema-parse
: Properly support recursive object definition properties.
Web3API 0.0.1-prealpha.63
Features
- PR-650
@web3api/cli
: Add YAML support for query recipes. - PR-385
@web3api/cli
,@web3api/client-js
: Use JSON for manifest build artifacts. - PR-678
@web3api/cli
: Build command no longer uses same docker image name by default. The concept of a "build UUID" has been added, and will be appended to the docker image name (if the develoer has not specified their own insideweb3api.build.yaml
). - PR-610
@web3api/client-js
: Support theresolveUri(...)
method onWeb3ApiClient
instances.
Bugs
- PR-665
@web3api/ethereum-plugin-js
: FixTxRequest
property mapping to ethers.js types. - PR-672
@web3api/core-js
,@web3api/schema-bind
,@web3api/schema-parse
: Remove use of the JS string.substr
method. - PR-673
@web3api/cli
: Thew3 query ...
command now property setsexitCode
to 1 if a query fails. - PR-651
@web3api/http-plugin-js
: JSON payloads are now property supported.
Breaking Changes
- PR-674
@web3api/cli
,@web3api/schema-bind
: ReturnResult<T, E>
objects from all AssemblyScript subinvoke methods.
Web3API 0.0.1-prealpha.62
Features
- Use the https://ipfs.wrappers.io IPFS gateway throughout the codebase.
- Rename TypeInfo
queryTypes
&importedQueryTypes
tomoduleTypes
&importedModuleTypes
. @web3api/ipfs-plugin-js
: Improve the IPFS plugin's URI resolver implementation, and add the ability to query from multiple gateways in parallel.
Web3API 0.0.1-prealpha.61
Features
@web3api/cli
: Added the--client-config
/-c
option to thew3 query
CLI command, allowing the user the define their own client configurations within a JavaScript or TypeScript module.@web3api/client-js
: Plugins can now be initialized with the client's environment registered at the plugin's URI.
Bugs
@web3api/schema-bind
: Properly handle reserve words for the bind target's language. Reserved words will be prepended withm_
in order to avoid compiler errors.
Web3API 0.0.1-prealpha.60
Breaking Changes
@web3api/schema-compose
:ComposerOptions
propertyschemas
is now of typeRecord<SchemaKind, SchemaFile>
and notRecord<string, SchemaFile>
.@web3api/schema-bind
:TargetLanguage
type has been renamed toBindLanguage
.@web3api/schema-bind
:BindOptions
propertylanguage
has been renamed tobindLanguage
.
Bugs
@web3api/cli
: Properly resolve NPM dependencycolors
due to it being corrupted.@web3api/cli
: Plugin schema codegen now properly represents imports types from both Query and Mutation modules.@web3api/cli
: Properly defined the separation of theManifestLanguage
andBindLanguage
(ex: wasm/assemblyscript -> wasm-as).@web3api/schema-compose
: Introduce the concept of aSchemaKind
to help determine how schemas should be combined.@web3api/schema-compose
: Allow plugins to import mutations within their schemas.@web3api/schema-bind
: Introduced the concept ofBindTarget
to represent a list of known-good bind targets (wasm-as
,plugin-ts
, etc).
Web3API 0.0.1-prealpha.59
Features
- Web3APIs can now be configured via environment variables. Documentation will be created soon. Initial details on this features specification can be found here.
Web3API 0.0.1-prealpha.58
Features
@web3api/client-js
: AddednoDecode
invocation option.@web3api/client-js
: AddednoDefaults
constructor option.
Bugs
@web3api/ethereum-plugin-js
: TheencodeParams
now properly parses arguments of type Array & Tuple.
Web3API 0.0.1-prealpha.57
Features
@web3api/cli
: CLI command middleware support has been added. The first use-cases implemented are to help ensure Docker is available to the CLI instance, and not in-use by another CLI instance.@web3api/client-js
: Query-time configuration overrides have been added, allowing developers to define new configurations without having to re-create the client instance.
Bugs
@web3api/asyncify-js
: Fixed issue #570 by using a node-version-agnostic way of indexing into the Uint8Array buffer.
Web3API 0.0.1-prealpha.56
Bugs
@web3api/ethereum-plugin-js
: The encodeFunction now support array & object arg types.
Web3API 0.0.1-prealpha.55
Bugs
@web3api/schema-compose
: Properly support empty schema types.@web3api/asyncify-js
: Fixed a low-level inconsistency between Wasm modules when using imported memory. More details here.@web3api/schema-bind
: Fixed issue where imports were inconsistent betweenserialization.ts
assemblyscript files, and some necessary imports were missing.
Web3API 0.0.1-prealpha.54
Features
@web3api/ethereum-plugin-js
: AddedgetNetwork
to the Ethereum plugin'sQuery
module.
Web3API 0.0.1-prealpha.53
Features
as-bigint
upgraded to version0.4.0
. Improvements made found here.
Web3API 0.0.1-prealpha.52
Features
- Querying an interface implementation's modules given its URI is now supported within Wasm.
Web3API 0.0.1-prealpha.51
Features
as-bigint
upgraded to version0.3.2
. Improvements made found here.
Web3API 0.0.1-prealpha.50
Features
- Getting the implementations of an interface is now supported from within Wasm.
@web3api/tracing-js
: Added a class method decorator for tracing.
Web3API 0.0.1-prealpha.49
Features
@web3api/fs-plugin-js
: Added a "File System" plugin, which implements theuri-resolver
interface, enabling users to load Web3API packages from their local filesystem. For example, a user could specify the URI/fs/path/to/package/directory
.- Upgraded the toolchain's Node.JS version to 16.13.0, which solves compatibility issues with Mac computers using the new M1 processor.
Bugs
@web3api/cli
: Fixed thew3 query ...
command's recipe variable parsing logic, better supporting arrays and objects.@web3api/schema-compose
: Improved import parsing, and added support for recursive schema imports.
Web3API 0.0.1-prealpha.48
Bugs
@web3api/test-env-js
: Allow the usage of this package as an npm package outside of the monorepo folder structure.
Web3API 0.0.1-prealpha.47
Features
@web3api/client-js
: Add the Graph Node plugin to the client's default configuration.@web3api/ethereum-plugin-js
: Add theencodeFunction
query method, allowing callers to encode smart contract methods w/ argument values.
Web3API 0.0.1-prealpha.46
Bugs
@web3api/core-js
: Properly check for "undefined" values in query arguments.@web3api/wasm-as
: Improved MsgPack deserialization of integers (signed & unsigned).
Web3API 0.0.1-prealpha.45
Features
@web3api/tracing-js
: Support service name configuration.
Web3API 0.0.1-prealpha.44
Features
@web3api/client-js
: Use Fleek's IPFS gateway.
Web3API 0.0.1-prealpha.43
Features
@web3api/client-js
: Added theclient.subscribe(...)
method, enabling users to easily send queries at a specified frequency.
Bugs
@web3api/tracing-js
: Replaced theutil-inspect
dependency with a browser compatible one.
Web3API 0.0.1-prealpha.42
Bugs
@web3api/schema-parse
: Removed unnecessary sanitization for imported methods without any arguments.
Web3API 0.0.1-prealpha.41
Features
@web3api/schema-parse
: Added support forJSON
as a base type.@web3api/ens-api
: Merged in an initial version of the ENS Wasm based Web3Api.web3api.build.yaml
: Added support for thelinked_packages
property, allowing you to link local packages into the dockerized build-env.
Bugs
@web3api/schema-compose
: Fixed an invalid GraphQL bug that occured when an imported query method did not have any arguments.
Web3API 0.0.1-prealpha.40
Features
@web3api/client-js
: AddedgetManifest(...)
,getFile(...)
, andgetSchema(...)
methods to the client, simply provide a URI.@web3api/cli
: APIs can now define metadata via theweb3api.meta.yaml
manifest file. Upon compiling your project, the CLI will copy all referenced metadata files into the build directory. Applications such as The Polywrap Hub will use this metadata file to display details about your package such as: title, description, icon, example queries, etc.
Bugs
@web3api/schema-parse
: Duplicate fields on object & query types are not detected, and will cause a compiler error.
Breaking Changes
@web3api/client-js
: Removed theloadWeb3Api(...)
method from the client. This is because we do not want to give the user of the client a direct reference to the underlying API class object. Since garbage collection will delete these, having the user able to hang onto references, will result in them staying in memory.
Web3API 0.0.1-prealpha.39
Features
@web3api/client-js
: Addedhttps://polywrap-dev.mypinata.cloud
andhttps://ipfs.infura.io
as default fallback IPFS providers.
Bugs
@web3api/ipfs-plugin-js
: Fallback providers are now used if an error is encountered, not just for timeouts.
Web3API 0.0.1-prealpha.38
Breaking Changes
@web3api/client-js
: Removed the usage of_w3_init
, as it's unnecessary and caused issues with adding Rust-Wasm support.
Web3API 0.0.1-prealpha.37
Bugs
@web3api/asyncify-js
: Fixed problem when Wasm modules are larger than 4 KB. More info here.@web3api/client-js
: Use new asyncify-js package, where instantiation is asynchronous.
Web3API 0.0.1-prealpha.36
Features
- Upgrade all JavaScript plugins to use the new
w3 plugin codegen
command. The command generates typings based on the GraphQL schema of the plugin. This ensures the plugin's resolvers match 1:1 with the GraphQL schema.
Web3API 0.0.1-prealpha.35
Bugs
@web3api/schema-bind
: Fix TypeScript plugin enum bindings.
Web3API 0.0.1-prealpha.34
Bugs
@web3api/schema-bind
: Fix TypeScript enum bindings.@web3api/graph-node-plugin-js
: Fix mismatched schema.
Web3API 0.0.1-prealpha.33
Bugs
@web3api/schema-bind
: Fixed plugin code generation oversight. Should be usingnull
instead ofundefined
.
Web3API 0.0.1-prealpha.32
Features
- Improved the plugin developer experience by creating a new
w3 plugin codegen
command, which generated types based on the plugin's schema. For an example of how this works, see the updated plugin template project by runningw3 create plugin typescript my-plugin
. @web3api/cli
: Refactored thew3 codegen
command, making its default behavior the generation of types for Web3APIs. It's "old" behavior of loading a custom generation script is now usable through the--custom
option.
Bugs
@web3api/cli
: Properly validate all required Wasm exports when compiling Web3APIs.
Web3API 0.0.1-prealpha.31
Features
- Use Binaryen's Asyncify to support async Wasm import calls. Deprecate the Wasm threading model we were using previously. This now means that the client now supports all browsers, as it no longer requires
SharedArrayBuffer
& theatomics
library. @web3api/graph-node-plugin-js
: Finalized the graph-node plugin implementation, added e2e tests. It currently only works with the hosted service.
Bugs
- Removed support for UInt64 & Int64 base types. More info here.
@web3api/cli
: Properly validate all required exports from Web3API Wasm modules at compile-time.@web3api/ethereum-plugin-js
: Properly support smart contract methods with structures as arguments.
Web3API 0.0.1-prealpha.30
Bugs
@web3api/ethereum-plugin-js
: Fix ethers.js inconsistencies.
Web3API 0.0.1-prealpha.29
Feature
- Web3API Interfaces are now fully supported in the tool-chain.
- GraphQL schema comments are now retained, and will show up in the build folder.
@web3api/parse
: Reference types definitions are now differentiated from the root definitions the reference.
Bugs
@web3api/cli
: Fix MacOS specific issue w/ PATH not being retained.- The
config
property inweb3api.build.yaml
is now optional.
Web3API 0.0.1-prealpha.28
Bugs
- Fixed API template project
Web3API 0.0.1-prealpha.27
Bugs
- Fixed API template project
Web3API 0.0.1-prealpha.26
Feature
@web3api/uniswapV2-api
: Completed the Uniswap V2 Web3API implementation.@web3api/ethereum-plugin-js
: Upgraded the Ethereum plugin, added lots of new functionality.@web3api/cli
: Implemented a "reproducible build pipeline", where Web3APIs are now built in an isolated docker container. These builds can be fully configurable by developers. This also paves the way for implementing Web3APIs in any Wasm compatible language. Rust support on the way!@web3api/react
: Added the ability to set queryvariables
within theexecute
function returned by theuseWeb3ApiQuery
hook.@web3api/sha3-plugin-js
: A SHA3 plugin has been implemented, and added to the client as a "default plugin".@web3api/uts46-plugin-js
: A UTS46 plugin has been implemented, and added to the client as a "default plugin".- CI: Windows CI has been implemented using appveyor.
Bugs
@web3api/client-js
: Fixed threading issue causing the "unknown wake status" error.- Fixed Windows specific errors.
Web3API 0.0.1-prealpha.25
Feature
@web3api/client-js
: Added theWEB3API_THREAD_PATH
env variable, allowing integrators to customize where thethread.js
worker thread module is imported from.@web3api/wasm-as
: Improved error logging w/ better error messages and a "context stack" showing exactly what properties of the MsgPack blob the serialization / deserialization is failing at.
Web3API 0.0.1-prealpha.24
Bugs
@web3api/wasm-as
: Movedas-bigint
fromdevDependencies
todependencies
. Fixes issue #347
Web3API 0.0.1-prealpha.23
Feature
@web3api/os-js
: This package contains OS agnostic code for doing things like writing files w/ consistent line endings.- Windows Support: The toolchain now builds and runs properly on the Windows operating system.
BigInt
Schema Type: TheBigInt
type is now available for use as a base type for Web3API GraphQL schemas.@web3api/react
: TheuseWeb3ApiClient
hook was added, allowing users to easily get a reference to the Web3ApiClient used by the Web3ApiProvider.
Web3API 0.0.1-prealpha.22
Feature
@web3api/tracing-js
: Thetracing-js
package uses the OpenTelemetry Standard for logging trace events. This enables things like:- Benchmark Timings
- Input Argument + Output Result Logging
- In-Depth Exception Tracing
@web3api/core-js
: All functions are now traceable.@web3api/client-js
: All functions are now traceable.
Web3API 0.0.1-prealpha.21
Feature
- Sharing code & types between
query
andmutation
modules is now possible.
Bugs
- Common types found in both
query
andmutation
schemas are properly consolidated. If types have the same name, but a different structure, and error is thrown.
Web3API 0.0.1-prealpha.20
Bugs
- Fix the
w3 create app react ...
template project's styling to be responsive.
Web3API 0.0.1-prealpha.19
Features
@web3api/ipfs-plugin-js
: Added options for request timeouts, provider overrides, and fallback providers. Additionally a new method has been added,resolve
, which allows the caller to try and resolve a given IFPS CID to ensure the document exists.
Web3API 0.0.1-prealpha.18
Features
- Updated the
app/react
template project to use the latest "Hello World" Web3API published atens/helloworld.web3api.eth
.
Web3API 0.0.1-prealpha.17
Bugs
@web3api/ethereum-plugin-js
: Network configurations must be nested within a property in order to allow for thedefaultNetwork
property to be set w/o causing a typing error (for not being of theConnectionConfig
type).
Web3API 0.0.1-prealpha.16
Bugs
@web3api/test-env
: Expose the IPFS node's swarm port (4001).
Web3API 0.0.1-prealpha.15
Bugs
- Fix
extractPluginConfigs.ts
output.
Web3API 0.0.1-prealpha.14
Features
- Network Specific ENS Lookup
@web3api/ethereum-plugin-js
: The EthereumPlugin can now be constructed with multiple network connections (mainnet, rinkeby, testnet, etc).- All Query & Mutation methods now accept an optional
connection
property which can be used to configure a specific network to be used for the action.
- All Query & Mutation methods now accept an optional
@web3api/ens-plugin-js
: The EnsPlugin can now handle URIs that address specific networks. For example:w3://ens/testnet/myweb3api.eth
. It will request thetestnet
connection to be used when querying the Ethereum Web3API.
Web3API 0.0.1-prealpha.13
Features
- Improved template projects that are used with the
w3 create ...
CLI command.
Web3API 0.0.1-prealpha.12
Bug Fixes
- Added schemas to plugin manifest modules, removing the need for
import_redirects
. - Fixed the IpfsPlugin's
addFile
method. - Improved the api/assemblyscript template project.
Web3API 0.0.1-prealpha.11
Bug Fixes
@web3api/cli
: Include the internationalization JSON files in the published package.
Web3API 0.0.1-prealpha.10
Bug Fixes
@web3api/ens-plugin-js
: Fix the schema.
Web3API 0.0.1-prealpha.9
Features
@web3api/cli
: CLI Internalized Text Support- Currently English is implemented, and Spanish support is slated to be added next.
@web3api/schema-parse
: GraphQL Infinite Cycle Detection- Bad object relationships within the Web3API's GraphQL schema are now automatically detected, ensuring developers never create objects that can never be instantiated properly.
@web3api/templates
: Auto-Generate Smart Contract ABI & Bytecode Assemblyscript Module- This auto-generated module is being used within the
deployContract
mutation.
- This auto-generated module is being used within the
Bug Fixes
@web3api/core-js
: Theresolve-uri
core algorithm had an "off by one" iteration bug, where it never retried the firstapi-resolver
in the implementations array.@web3api/ethereum-plugin-js
: When using a provider that lacks signing capabilities (ex: Infura RPC endpoint), thegetContract
function was trying to get a signer when one did not exist.@web3api/ipfs-plugin-js
: Fixed this plugin's schema, as it was using unsupported syntax.
Misc
- Upgrade node version to v14.16.0.
- Upgrade TypeScript version to v4.0.7.
Web3API 0.0.1-prealpha.8
Bug Fixes
- Fixed bug in
@web3api/react
package.
Misc
- Removed documentation & demos from the monorepo.
Web3API 0.0.1-prealpha.7
Features
- Console Log Web3API
- Calls log on logger plugin at uri w3://w3/logger. Default logger logs to console, but can be overridden with redirect to custom logger web3api implementation.
- Log levels: Debug, Info, Warn, Error
createWeb3ApiClient(...)
helper for easily setting up a Web3API Client with all needed plugins (ex: ethereum, ipfs, etc) in one function call.- Additional support for plugins can be added in the future, without bloating the
@web3api/client-js
package thanks to dynamic imports!
- Additional support for plugins can be added in the future, without bloating the
- When using the Web3ApiClient, specify Web3API URIs without having to create a new URI class (
new Uri("...")
). Simply provide a string instead. - Improved plugin instantiation interface.
Bug Fixes
- Proper MsgPack numeric overflow assertions (closes: #150)
- Proper usage of GraphQL Aliases when invoking multiple methods in one query.
Web3API 0.0.1-prealpha.6
Features
- Web3API React Integration:
@web3api/react
- Add the
Web3ApiProvider
HOC to the root of your application. - Use the
useWeb3ApiQuery
hook to execute queries.
- Add the
- Web3API CLI e2e tests.
@web3api/test-env-js
package for common testing logic.@web3api/test-cases
for common test cases.
Bug Fixes
- Remove unused
workerize-loader
package & logic.
Web3API 0.0.1-prealpha.5
Features
w3 build --watch
support, enabling the automatic rebuilding of Web3APIs whenever project files have changed.
Web3API 0.0.1-prealpha.4
Features
- Enum Support
Bug Fixes
w3 create ...
CLI Fix (closes: #167)
Web3API 0.0.1-prealpha.2
Bug Fixes
- Fix typescript plugin template's package.json
Web3API 0.0.1-prealpha.1
Pre-Alpha Initial Release