* adds definitions and types according to ink v5 changes
* adds toV5 boilerplate code draft
* adds v5 flipper test contract code
* fix license dates
* adds test v5 toLatest test
* implements new scheme to determine event
* apply linter changes
* adds test result outputs
* change `EventRecord['topics'][0]` type to plain `Hash`
* adds testcases for decoding payload data of a ink!v4 and ink!v5 event
* changes `Abi.decodeEvent(data:Bytes)` method interface to `Abi.decodeEvent(record:EventRecord)` which includes the event and the topic for decoding.
* draft implementation with version metadata
* cleaner implementation of versioned Metadata by actually leveraging the `version` field included since v2 contract metadata
* trying to make linter happy
* makes `ContractMetadataSupported` in internal to `Abi` type and not exposing it externally.
* properly types unused parameter for tsc 🤷
* adds `@polkadot/types-support` dev dependency
* Update yarn.lock
* references `types-support` in `api-contract
* resolving change requests
* resolves linter warnings
* changes ContractMetadataV5 field to `u64` from `Text`
* adds contracts and contract metadata compiled with the most recent ink version
* implements decoding of anonymous events if possible
* removes done todo comments
* Update contract' gas to Weight type
* Make Contracts Runtime Calls support WeightV2
* fix gasConsumed & gasConsumed type
* Regenerate contracts types
* Correct ContractCallOutcome
* `gasLimit` are optional
* Apply suggestion
* Add ContractCallRequestV1 and specify old rpc use that
* Add back getGas
* Port jg-ContractsApi-v2 (#5330)
* Run yarn build:metadata
* There is no 'ContractCallRequestV1', only 'ContractCallRequest'
* api.tx.contracts.call.meta no version field, _isOldWeight still work?
* add storage deposit support
* Revert "add storage deposit support"
This reverts commit 10eea6332b2756b23766df316a90ba4f244cb424.
* generate new metadata
* make it build
* add storage deposit in RPCs
* rename endowment to value
* support older nodes
* check the right things
* hide storage_deposit until better supported
* add the right defaults
* hardcode storageDepositLimit to null
* Use Si V1 in contracts (w/ PortableRegistry usage)
* Type id lookups
* Fix build & linting
* Remove extra .toNumber() (VSCode has gone crazy)
* v1 tests
* Cleanup parsing
* Explicit type cast for v1 types
* Unneeded toNumber
* Align events exposure with messages/constructors
* dedupe
* Re-add typedef extraction tests
* with typedefs
* Override for always primitives
* displayName improvements
* Versioned project
* New structure
* Fixes
* Cleanups
* Ensure API registry is the default used
* Adjust arg & return encoding/decoding
* Recursive contract
* DoNotConstruct to Si type
* fix the autoaggregation of contract events
apparently, the system event for contract emitted events has had its name changed
* fix the autoaggregation of contract events
apparently, the system event for contract emitted events has had its name changed
* Update packages/api-contract/src/base/Contract.ts
* Apply suggestions from code review
Co-authored-by: Jaco Greeff <jacogr@gmail.com>