-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: expand structured data hashing in line with SNIP-12 #920
Conversation
✅ Deploy Preview for starknetjs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good from my perspective! Only thing we could discuss is it better to split some tests into couple of smaller ones, but it's not that important
src/utils/typedData.ts
Outdated
const isStructArray = Object.keys(types) | ||
.map((x) => `${x}*`) | ||
.includes(type); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure but looks like it's not taking presets into account
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presets should be taken into account through the mapped encodeValue calls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you double check that?
I tried TokenAmount*
and isStructArray
was set to false instead of true
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was getting taken into account by the recursive encodeValue
call. I noticed the code could be simplified so that both custom and preset types rely on it so it should be clearer now.
} | ||
|
||
return [type, getHex(data as string)]; | ||
}; | ||
switch (type) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
basic types like felt should no be overridden by the provided types
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plan is to have it checked when the validation is reworked.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO its easy to accomplish now, we just reorder to:
- check if preset
- check if array
- check other basic types
- check user defined types
and we can later add the extra validation with nice error message, but at least the priorities will be correct from the beginning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be a change for the existing behaviour, it could be split by revision but I want to avoid adding too many of those conditionals. Idea is to get the correct hash in this version and enforce rules in the following version.
c8306b6
to
d9de436
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Modified the PR partially in line with the suggestions from the comments to reduce the revision overlap.
The idea is for this PR that targets v5 to expand the available types and switch to the Poseidon hash, for v6 the validation will be overhauled to make it more comprehensive which would cover all the suggestions from the comments.
src/utils/typedData.ts
Outdated
const isStructArray = Object.keys(types) | ||
.map((x) => `${x}*`) | ||
.includes(type); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presets should be taken into account through the mapped encodeValue calls.
} | ||
|
||
return [type, getHex(data as string)]; | ||
}; | ||
switch (type) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Plan is to have it checked when the validation is reworked.
expect(encoded).toMatchInlineSnapshot( | ||
`"\\"Mail\\"(\\"from\\":\\"Person\\",\\"to\\":\\"Person\\",\\"posts_len\\":\\"felt\\",\\"posts\\":\\"Post*\\")\\"Person\\"(\\"name\\":\\"felt\\",\\"wallet\\":\\"felt\\")\\"Post\\"(\\"title\\":\\"felt\\",\\"content\\":\\"felt\\")"` | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
expect(encoded).toMatchInlineSnapshot( | |
`"\\"Mail\\"(\\"from\\":\\"Person\\",\\"to\\":\\"Person\\",\\"posts_len\\":\\"felt\\",\\"posts\\":\\"Post*\\")\\"Person\\"(\\"name\\":\\"felt\\",\\"wallet\\":\\"felt\\")\\"Post\\"(\\"title\\":\\"felt\\",\\"content\\":\\"felt\\")"` | |
); | |
expect(encoded).toMatchInlineSnapshot( | |
`"Mail"("from":"Person","to":"Person","posts_len":"felt","posts":"Post*")"Person"("name":"felt","wallet":"felt")"Post"("title":"felt","content":"felt")` | |
); |
this would be easier to read
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Snapshots are autogenerated.
return [type, getHex(data as string)]; | ||
} | ||
case 'felt': | ||
case 'bool': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could have some check for booleans to avoid passing things like "3" here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will be added for v6 along with boundary checks for the other base types.
src/utils/typedData.ts
Outdated
? `(${targetType | ||
.slice(1, -1) | ||
.split(',') | ||
.map((e) => (e ? esc(e.trim()) : e)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i wouldn't trim trim it, regarding the spec Thing
and Thing
are two separate types.
We could choose to reject request that are not trimmed but automatically trimming might be dangerous
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, I added the trim so the (u128, u128*)
example from the SNIP could pass.
I removed the trimming for this PR, it would probably be best to re-add it after updating the SNIP so whitespace characters are excluded from string borders like the parenthesis rule. It would also make sense to exclude commas from the allowed characters for custom type names since they are used as enum delimiters.
d9de436
to
d59d369
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -50,16 +50,30 @@ export function getVersionsByType(versionType?: 'fee' | 'transaction') { | |||
: { v1: transactionVersion, v2: transactionVersion_2 }; | |||
} | |||
|
|||
export function computePedersenHash(a: BigNumberish, b: BigNumberish): string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add some method descriptions
# [5.28.0](v5.27.0...v5.28.0) (2024-02-01) ### Features * expand structured data hashing in line with SNIP-12 ([#920](#920)) ([cb20590](cb20590))
🎉 This PR is included in version 5.28.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [6.0.0-beta.14](v6.0.0-beta.13...v6.0.0-beta.14) (2024-02-02) ### Bug Fixes * move abiwan from dev dependencies to regular dependencies ([#925](#925)) ([6b7ee49](6b7ee49)) ### Features * abi-wan trigger ([c10150a](c10150a)) * add provider.decodeParameters ([39595f3](39595f3)) * expand structured data hashing in line with SNIP-12 ([#920](#920)) ([cb20590](cb20590)) * trigger release ([fbf983f](fbf983f))
🎉 This PR is included in version 6.0.0-beta.14 🎉 The release is available on: Your semantic-release bot 📦🚀 |
* refactor(update): toTransactionVersion, getUniversalSuggestedFee * feat: default account UniversalDetails, rpc spec update, update interface * feat: def rpc 0_6, sepolia nodes * chore(release): 6.0.0-beta.6 [skip ci] # [6.0.0-beta.6](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.5...v6.0.0-beta.6) (2023-12-11) ### Features * def rpc 0_6, sepolia nodes ([4f59a8f](https://github.com/starknet-io/starknet.js/commit/4f59a8f01439662ae7eb785cafcf781c68b2cb04)) * default account UniversalDetails, rpc spec update, update interface ([8dc9b8a](https://github.com/starknet-io/starknet.js/commit/8dc9b8ab28a82a9a0eaa47e0271c12b79e8cff39)) * sepolia constants, rpc open change ([6de46b5](https://github.com/starknet-io/starknet.js/commit/6de46b59d22bfda959c083b3ac5570cb8d4c6d0a)) * feat: add string types of cairo v2.4.0 * test: rectify waitForTransaction spies * ci: bump devnet and remove sequencer * fix: provider rpc 0.5-0.6 getTransactionReceipt response standardization * refactor(provider): provider response type EstimateFeeResponse extended with maxfee and bound props * refactor(provider): removed code, fixed getBlock types * Update noble and scure deps - update noble-hashes to [1.3.3](https://github.com/paulmillr/noble-hashes/releases/tag/1.3.3) - update noble-curves to [1.3.0](https://github.com/paulmillr/noble-curves/releases/tag/1.3.0) * feat(provider): fix and clean provider response and response parser, removed seqeuncer api * refactor(provider): removed event as non response type from response types * feat(provider): pending response discrimination, pending type guards * fix: solve wrong response for account.verifyMessage * Update src/utils/responseParser/rpc.ts Co-authored-by: Petar Penović <penovicp@gmail.com> * chore: reolved comments * feat: curves * chore: lock * chore(release): 6.0.0-beta.7 [skip ci] # [6.0.0-beta.7](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.6...v6.0.0-beta.7) (2023-12-14) ### Bug Fixes * provider rpc 0.5-0.6 getTransactionReceipt response standardization ([76b6ab4](https://github.com/starknet-io/starknet.js/commit/76b6ab49f6721d1f76c3f30d3d88d6dbc8b80bda)) ### Features * curves ([405de46](https://github.com/starknet-io/starknet.js/commit/405de462032579ef0e8e434c62976dcb84ee1af8)) * **provider:** fix and clean provider response and response parser, removed seqeuncer api ([7ecb069](https://github.com/starknet-io/starknet.js/commit/7ecb069e3d2c37653cedc44dfbb635c5bc8eec7f)) * **provider:** pending response discrimination, pending type guards ([013a22b](https://github.com/starknet-io/starknet.js/commit/013a22bf4dd8cb6df817ccf6ff2d82837fe91693)) * chore: lock * test: adjust latest block state conditional * feat: ethereum signer * feat: ethereum-signer * feat: sepolia * chore(release): 5.25.0 [skip ci] # [5.25.0](https://github.com/starknet-io/starknet.js/compare/v5.24.5...v5.25.0) (2023-12-18) ### Features * sepolia ([26d7044](https://github.com/starknet-io/starknet.js/commit/26d70446edd7c098b7f257d9242cc9d9d220b11e)) * fix: estimateFeeBulk provided version * chore(release): 6.0.0-beta.8 [skip ci] # [6.0.0-beta.8](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.7...v6.0.0-beta.8) (2023-12-19) ### Bug Fixes * estimateFeeBulk provided version ([da717be](https://github.com/starknet-io/starknet.js/commit/da717be8e656087eaba21c865a6dd0b648664491)) * fix: acc deploy_acc * chore(release): 6.0.0-beta.9 [skip ci] # [6.0.0-beta.9](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.8...v6.0.0-beta.9) (2023-12-19) ### Bug Fixes * acc deploy_acc ([732cd94](https://github.com/starknet-io/starknet.js/commit/732cd946f26c2b0fe893067f25c1fe712d72d49b)) * feat: req id counter * chore: make id public * chore(release): 6.0.0-beta.10 [skip ci] # [6.0.0-beta.10](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.9...v6.0.0-beta.10) (2023-12-20) ### Features * req id counter ([cedd1ea](https://github.com/starknet-io/starknet.js/commit/cedd1ea32cd58107c504d357a3dd5e9a40010a80)) * docs: update getEvents guide (#907) * test: enable abiwan integration tests They were disabled for some reason, we have to execute them to make sure the integration is working as expected at runtime and not only at compile time (type inference) * feat: abiwan v2 intergation * test: abiwan v2 integration * docs: include version fragment for v5 Juno example * chore: skip abiwan integration v1 failing tests Those will be addressed later * fix: utilize provided resourceBounds value * chore(release): 6.0.0-beta.11 [skip ci] # [6.0.0-beta.11](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.10...v6.0.0-beta.11) (2024-01-04) ### Bug Fixes * utilize provided resourceBounds value ([65bea53](https://github.com/starknet-io/starknet.js/commit/65bea53ab03a04fdd4c122ba2fecbb1010100e18)) * chore: use abi-wan-kanabi version 2.1.0-rc.1 * feat: make Abi and CONTRACT_ABI types compatible with abiwan * chore: use abi-wan-kanabi version 2.1.0 * [Feat]: Abiwan V2 Integration (#912) * test: enable abiwan integration tests They were disabled for some reason, we have to execute them to make sure the integration is working as expected at runtime and not only at compile time (type inference) * feat: abiwan v2 intergation * test: abiwan v2 integration * chore: skip abiwan integration v1 failing tests Those will be addressed later * chore: use abi-wan-kanabi version 2.1.0-rc.1 * feat: make Abi and CONTRACT_ABI types compatible with abiwan * chore: use abi-wan-kanabi version 2.1.0 * feat: abi-wan trigger * chore(release): 5.26.0 [skip ci] # [5.26.0](https://github.com/starknet-io/starknet.js/compare/v5.25.0...v5.26.0) (2024-01-15) ### Features * abi-wan trigger ([c10150a](https://github.com/starknet-io/starknet.js/commit/c10150a328051054a7bba1260296c0c92fdd2051)) * feat: replace in verifyMessage : response by Error * docs: update abiwan guides (#922) * docs: update abiwan guide * docs: add a section about abiwan in the connect contract guide * Update www/docs/guides/connect_contract.md --------- Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * fix: move abiwan from dev dependencies to regular dependencies (#925) Otherwise abiwan is not installed when starknet.js is installed and nothing works as reported here: https://discord.com/channels/793094838509764618/927918707613786162/1197169770731147316 * chore(release): 5.26.1 [skip ci] ## [5.26.1](https://github.com/starknet-io/starknet.js/compare/v5.26.0...v5.26.1) (2024-01-18) ### Bug Fixes * move abiwan from dev dependencies to regular dependencies ([#925](https://github.com/starknet-io/starknet.js/issues/925)) ([6b7ee49](https://github.com/starknet-io/starknet.js/commit/6b7ee49918d704f8143f51ab7a0360446ea4cf5e)) * chore: update abi-wan-kanabi-v2 vo v2.1.1 (#928) * docs: removed v4 docs (#931) * test: update with some of the special chars * feat: add provider.decodeParameters * chore(release): 6.0.0-beta.12 [skip ci] # [6.0.0-beta.12](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.11...v6.0.0-beta.12) (2024-01-23) ### Features * add provider.decodeParameters ([be6eec9](https://github.com/starknet-io/starknet.js/commit/be6eec94c8ae5d92df631502c9a1d61663d80101)) * ethereum signer ([8473adb](https://github.com/starknet-io/starknet.js/commit/8473adbcfa5ef642297b8a7f448a0d789703037f)) * ethereum-signer ([f37bfb2](https://github.com/starknet-io/starknet.js/commit/f37bfb2788b7c6befc10efca8b102ee2a975ee55)) * Merge branch 'docs-add-search' * chore: rename abi-wan-kanabi to abi-wan-kanabi-v1 (#933) This avoid `npx abi-wan-kanabi` to use the installed version and forces it to get the latest version from npm * Merge branch 'docs-add-search' * feat: trigger release * chore(release): 5.27.0 [skip ci] # [5.27.0](https://github.com/starknet-io/starknet.js/compare/v5.26.1...v5.27.0) (2024-01-23) ### Features * trigger release ([fbf983f](https://github.com/starknet-io/starknet.js/commit/fbf983f7820768f919cddb2c5806178a20e38bdd)) * chore(release): 6.0.0-beta.13 [skip ci] # [6.0.0-beta.13](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.12...v6.0.0-beta.13) (2024-01-23) ### Bug Fixes * solve wrong response for account.verifyMessage ([05f4095](https://github.com/starknet-io/starknet.js/commit/05f4095599f89dd508fac9316e1c24fc0dceaa8a)) ### Features * abiwan v2 intergation ([87d15d3](https://github.com/starknet-io/starknet.js/commit/87d15d3d4ada1138ed5b66620a4de56189195f4c)) * add string types of cairo v2.4.0 ([a8a73c1](https://github.com/starknet-io/starknet.js/commit/a8a73c1f5b0bc72bc42460f3735eeec6f95edcbe)) * make Abi and CONTRACT_ABI types compatible with abiwan ([9007816](https://github.com/starknet-io/starknet.js/commit/9007816689528a79bd8bb4267e0098be2e6d71d2)) * replace in verifyMessage : response by Error ([1abf91f](https://github.com/starknet-io/starknet.js/commit/1abf91f170c46d4f4cf5f493dc3d6717c6d3c1e7)) * sepolia ([26d7044](https://github.com/starknet-io/starknet.js/commit/26d70446edd7c098b7f257d9242cc9d9d220b11e)) * test: typed cairo 2.4: bytes31 and ByteArray * fix: throw on negative param cairo.uint256 and bnToUint256 * chore: test notation * chore: rename abi-wan-kanabi to abi-wan-kanabi-v1 (#942) This avoid `npx abi-wan-kanabi` to use the installed version and forces it to get the latest version from npm * docs: add migration to V6 * Create FUNDING.json * chore: aggregate typo changes (#870) --------- Co-authored-by: CI <noreply@github.com> Co-authored-by: BorkBorked <107079055+BorkBorked@users.noreply.github.com> Co-authored-by: script-money <74860630+script-money@users.noreply.github.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> Co-authored-by: kongtaoxing <xyf8658@163.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> * feat: expand structured data hashing in line with SNIP-12 (#920) * feat: expand structured data hashing in line with SNIP-12 * chore: reduce revision overlap * chore: allow hash method override for the Merkle tree class * chore: simplify enum and array handling * chore(release): 5.28.0 [skip ci] # [5.28.0](https://github.com/starknet-io/starknet.js/compare/v5.27.0...v5.28.0) (2024-02-01) ### Features * expand structured data hashing in line with SNIP-12 ([#920](https://github.com/starknet-io/starknet.js/issues/920)) ([cb20590](https://github.com/starknet-io/starknet.js/commit/cb2059039e3b42501cdfefec7802da83eb73645b)) * chore: bump TypeScript to 5.3 * feat: add provider.decodeParameters * chore(release): 5.29.0 [skip ci] # [5.29.0](https://github.com/starknet-io/starknet.js/compare/v5.28.0...v5.29.0) (2024-02-02) ### Features * add provider.decodeParameters ([39595f3](https://github.com/starknet-io/starknet.js/commit/39595f3303204b273fadd53764c59767ce6c5b36)) * docs: update remaining StarkNet casing to Starknet * ci: bump marketplace actions * chore(release): 6.0.0-beta.14 [skip ci] # [6.0.0-beta.14](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.13...v6.0.0-beta.14) (2024-02-02) ### Bug Fixes * move abiwan from dev dependencies to regular dependencies ([#925](https://github.com/starknet-io/starknet.js/issues/925)) ([6b7ee49](https://github.com/starknet-io/starknet.js/commit/6b7ee49918d704f8143f51ab7a0360446ea4cf5e)) ### Features * abi-wan trigger ([c10150a](https://github.com/starknet-io/starknet.js/commit/c10150a328051054a7bba1260296c0c92fdd2051)) * add provider.decodeParameters ([39595f3](https://github.com/starknet-io/starknet.js/commit/39595f3303204b273fadd53764c59767ce6c5b36)) * expand structured data hashing in line with SNIP-12 ([#920](https://github.com/starknet-io/starknet.js/issues/920)) ([cb20590](https://github.com/starknet-io/starknet.js/commit/cb2059039e3b42501cdfefec7802da83eb73645b)) * trigger release ([fbf983f](https://github.com/starknet-io/starknet.js/commit/fbf983f7820768f919cddb2c5806178a20e38bdd)) * chore: refactor Signer for convenient overwriting (#941) Co-authored-by: lin.fan <lin.fan@flashdot.com> * feat: new CairoUint256 cairo datatype model * chore: cleanup r1 * Update src/utils/cairoDataTypes/uint256.ts Co-authored-by: Petar Penović <pp@spaceshard.io> * chore: cleanup * chore: improve tests, fix constructor * chore(release): 6.0.0-beta.15 [skip ci] # [6.0.0-beta.15](https://github.com/starknet-io/starknet.js/compare/v6.0.0-beta.14...v6.0.0-beta.15) (2024-02-05) ### Bug Fixes * throw on negative param cairo.uint256 and bnToUint256 ([e1ead14](https://github.com/starknet-io/starknet.js/commit/e1ead1466984f26ff91d7fe6174fc87be8c3aede)) ### Features * new CairoUint256 cairo datatype model ([b64abcc](https://github.com/starknet-io/starknet.js/commit/b64abccf3888eba49460124a4d7aabbdca1592d1)) * chore(release): 6.0.0 [skip ci] # [6.0.0](https://github.com/starknet-io/starknet.js/compare/v5.29.0...v6.0.0) (2024-02-05) ### Bug Fixes * acc deploy_acc ([732cd94](https://github.com/starknet-io/starknet.js/commit/732cd946f26c2b0fe893067f25c1fe712d72d49b)) * **beta:** deploy account ([#880](https://github.com/starknet-io/starknet.js/issues/880)) ([00c58e3](https://github.com/starknet-io/starknet.js/commit/00c58e3c6d03b716b68c1b96b5a4adc1cff87dd0)) * estimateFeeBulk provided version ([da717be](https://github.com/starknet-io/starknet.js/commit/da717be8e656087eaba21c865a6dd0b648664491)) * provider rpc 0.5-0.6 getTransactionReceipt response standardization ([76b6ab4](https://github.com/starknet-io/starknet.js/commit/76b6ab49f6721d1f76c3f30d3d88d6dbc8b80bda)) * remove account_deployment_data from deploy Account ([ede83bf](https://github.com/starknet-io/starknet.js/commit/ede83bfda3c6fcfa9dd397c92bd709293c8dda9b)) * solve wrong response for account.verifyMessage ([05f4095](https://github.com/starknet-io/starknet.js/commit/05f4095599f89dd508fac9316e1c24fc0dceaa8a)) * throw on negative param cairo.uint256 and bnToUint256 ([e1ead14](https://github.com/starknet-io/starknet.js/commit/e1ead1466984f26ff91d7fe6174fc87be8c3aede)) * utilize provided resourceBounds value ([65bea53](https://github.com/starknet-io/starknet.js/commit/65bea53ab03a04fdd4c122ba2fecbb1010100e18)) ### Features * abiwan v2 intergation ([87d15d3](https://github.com/starknet-io/starknet.js/commit/87d15d3d4ada1138ed5b66620a4de56189195f4c)) * account preferred transaction version, setup v3 ([5652eb2](https://github.com/starknet-io/starknet.js/commit/5652eb211e1accaefbb2f24bcb756ccf9170c07a)) * add provider.decodeParameters ([be6eec9](https://github.com/starknet-io/starknet.js/commit/be6eec94c8ae5d92df631502c9a1d61663d80101)) * add string types of cairo v2.4.0 ([a8a73c1](https://github.com/starknet-io/starknet.js/commit/a8a73c1f5b0bc72bc42460f3735eeec6f95edcbe)) * curves ([405de46](https://github.com/starknet-io/starknet.js/commit/405de462032579ef0e8e434c62976dcb84ee1af8)) * def rpc 0_6, sepolia nodes ([4f59a8f](https://github.com/starknet-io/starknet.js/commit/4f59a8f01439662ae7eb785cafcf781c68b2cb04)) * default account UniversalDetails, rpc spec update, update interface ([8dc9b8a](https://github.com/starknet-io/starknet.js/commit/8dc9b8ab28a82a9a0eaa47e0271c12b79e8cff39)) * dual specification with 0.6 implementation, not yet integrated ([ac8c763](https://github.com/starknet-io/starknet.js/commit/ac8c76383bb3f566164bc4f38c477e3e3dc45f31)) * ethereum signer ([8473adb](https://github.com/starknet-io/starknet.js/commit/8473adbcfa5ef642297b8a7f448a0d789703037f)) * ethereum-signer ([f37bfb2](https://github.com/starknet-io/starknet.js/commit/f37bfb2788b7c6befc10efca8b102ee2a975ee55)) * hashes, signer, vip account, types, versions as string enum ([6ceb9e3](https://github.com/starknet-io/starknet.js/commit/6ceb9e31e51d51a6ce374144fd3ddb82a6ea01b3)) * make Abi and CONTRACT_ABI types compatible with abiwan ([9007816](https://github.com/starknet-io/starknet.js/commit/9007816689528a79bd8bb4267e0098be2e6d71d2)) * new CairoUint256 cairo datatype model ([b64abcc](https://github.com/starknet-io/starknet.js/commit/b64abccf3888eba49460124a4d7aabbdca1592d1)) * pretty print rpc LibraryError params, make env.DEBUG usefull ([cca723f](https://github.com/starknet-io/starknet.js/commit/cca723f13009ce7048c7be6b8a6f466aca0d5e19)) * **provider:** fix and clean provider response and response parser, removed seqeuncer api ([7ecb069](https://github.com/starknet-io/starknet.js/commit/7ecb069e3d2c37653cedc44dfbb635c5bc8eec7f)) * **provider:** pending response discrimination, pending type guards ([013a22b](https://github.com/starknet-io/starknet.js/commit/013a22bf4dd8cb6df817ccf6ff2d82837fe91693)) * remove old version constants, default types api rpc ([ed9cb08](https://github.com/starknet-io/starknet.js/commit/ed9cb089460640af96a73eca66e9971ca5832041)) * replace in verifyMessage : response by Error ([1abf91f](https://github.com/starknet-io/starknet.js/commit/1abf91f170c46d4f4cf5f493dc3d6717c6d3c1e7)) * req id counter ([cedd1ea](https://github.com/starknet-io/starknet.js/commit/cedd1ea32cd58107c504d357a3dd5e9a40010a80)) * rpc 0.6 implementation as superset of 0.5 tx ([5b2b299](https://github.com/starknet-io/starknet.js/commit/5b2b2997ee7e54144864315ed20175017e4218b4)) * rpc 0.6.0-rc3 implementation ([c2607ed](https://github.com/starknet-io/starknet.js/commit/c2607ed64f26d18ea66f2184acf34d3ca9ee4766)) * rpc provider ([0d9c2e5](https://github.com/starknet-io/starknet.js/commit/0d9c2e5ba0298af7b608ccbd9dd2eff3dc0bb69a)) * rpcChannel ([181eea3](https://github.com/starknet-io/starknet.js/commit/181eea3e4eabc52cdf46b796f0861e2641d59668)) * sepolia constants, rpc open change ([6de46b5](https://github.com/starknet-io/starknet.js/commit/6de46b59d22bfda959c083b3ac5570cb8d4c6d0a)) * simulate skip validate by default, spec deploy acc fix ([1b3e7ae](https://github.com/starknet-io/starknet.js/commit/1b3e7aeadaba5b7d59377e249b535f6a8cb8862e)) * update default rpc nodes and version ([9b9fe0e](https://github.com/starknet-io/starknet.js/commit/9b9fe0e4c5d8d54323bb82ab7ceed3a78d6fc1bc)) * update verson ([5dfe445](https://github.com/starknet-io/starknet.js/commit/5dfe445a5ed09dd531d91156633321fdae4b70cd)) * v3 transaction hashes ([4fe40a1](https://github.com/starknet-io/starknet.js/commit/4fe40a1419031cd6328509e2439744d0ff98c8e7)) * v3 tx hashes calculation ([f0e760d](https://github.com/starknet-io/starknet.js/commit/f0e760d109e488b70b16eed24e94b889d708d257)) * v3 wip with est ([b95c462](https://github.com/starknet-io/starknet.js/commit/b95c462df0bd59293b7b42b5474311a3bbbfab1d)) ### BREAKING CHANGES * v3 transactions * build(deps): bump typescript-eslint to "6.21.0", eslint to "8.56.0" * docs: repair and modify migration guide * feat: use fetch-cookie package for cookie based sticky sessions * chore(release): 6.1.0 [skip ci] # [6.1.0](https://github.com/starknet-io/starknet.js/compare/v6.0.0...v6.1.0) (2024-02-13) ### Features * use fetch-cookie package for cookie based sticky sessions ([5a56485](https://github.com/starknet-io/starknet.js/commit/5a56485052e773c8b0a3f9dbdc2f4ba3626362fb)) * chore: post develop merge package fix * chore: cick * docs: update docs for v6 (#949) * docs: update docs for v6 * docs: implement comments of Pave * fix: rpc event * chore(release): 6.1.1 [skip ci] ## [6.1.1](https://github.com/starknet-io/starknet.js/compare/v6.1.0...v6.1.1) (2024-02-19) ### Bug Fixes * rpc event ([ae3e265](https://github.com/starknet-io/starknet.js/commit/ae3e265f6617bd79c8435483916b0f24be036fa6)) * chore: bump abi-wan v2 (#970) * fix: drop abi-wan-kanabi-v1 support * chore(release): 6.1.2 [skip ci] ## [6.1.2](https://github.com/starknet-io/starknet.js/compare/v6.1.1...v6.1.2) (2024-02-20) ### Bug Fixes * drop abi-wan-kanabi-v1 support ([30a4681](https://github.com/starknet-io/starknet.js/commit/30a46815fa9fb88bbcb98df2f4a8dafc5a32b4ab)) * docs: solve visual display of the tables for snjs versions * ci: bump devnet * chore: bump dependencies * fix: update fetch-cookie dependency * chore(release): 6.1.3 [skip ci] ## [6.1.3](https://github.com/starknet-io/starknet.js/compare/v6.1.2...v6.1.3) (2024-02-23) ### Bug Fixes * update fetch-cookie dependency ([518330c](https://github.com/starknet-io/starknet.js/commit/518330c4ee00e671e716b018220f767e8118c431)) * chore: update package * chore(release): 6.1.4 [skip ci] ## [6.1.4](https://github.com/starknet-io/starknet.js/compare/v6.1.3...v6.1.4) (2024-02-26) ### Bug Fixes * **Calldata.compile:** do not split long `entrypoint` names before calling `getSelectorFromName` ([9434bcd](https://github.com/starknet-io/starknet.js/commit/9434bcddf74069c7e5bdecbac94017ae23cd2a45)) * fix(RpcChannel): allow client to provide `specVersion` this saves an extra call on RPC for optionally-known information (like the `chainId` case). also fixed speck -> spec typo * chore(release): 6.1.5 [skip ci] ## [6.1.5](https://github.com/starknet-io/starknet.js/compare/v6.1.4...v6.1.5) (2024-03-02) ### Bug Fixes * **RpcChannel:** allow client to provide `specVersion` ([ae8cf8e](https://github.com/starknet-io/starknet.js/commit/ae8cf8e19d8ba73c52376d83d2e084da008daba1)) * ci: bump devnet * feat: implement RPC v0.7.0-rc2 specification * chore: apply RPC v0.7.0-rc1 updates * test: update tests for RPC upgrade * chore: rectify intersection types * chore: apply RPC v0.7.0-rc2 updates * chore(release): 6.2.0 [skip ci] # [6.2.0](https://github.com/starknet-io/starknet.js/compare/v6.1.5...v6.2.0) (2024-03-07) ### Features * implement RPC v0.7.0-rc2 specification ([de32936](https://github.com/starknet-io/starknet.js/commit/de329361d838157b4fbe2b37bb043c3235b97a14)) * fix: repair Cairo 1 nested and enum tuple handling * fix: tuples response parser, for nested tuples, or tuple including Result enum * refactor: shorten tuple utility code --------- Co-authored-by: Petar Penovic <pp@spaceshard.io> * chore(release): 6.2.1 [skip ci] ## [6.2.1](https://github.com/starknet-io/starknet.js/compare/v6.2.0...v6.2.1) (2024-03-11) ### Bug Fixes * repair Cairo 1 nested and enum tuple handling ([ce2e541](https://github.com/starknet-io/starknet.js/commit/ce2e5417e6c42af17418408dc1ca6aab4c570473)) * feat: update starknetId class and add getStarkProfile function * chore(release): 6.3.0 [skip ci] # [6.3.0](https://github.com/starknet-io/starknet.js/compare/v6.2.1...v6.3.0) (2024-03-11) ### Features * update starknetId class and add getStarkProfile function ([ae71c97](https://github.com/starknet-io/starknet.js/commit/ae71c97b38974d4d7b3392532388957e1ea499bb)) * chore: package lock local update * fix: expand encoding type for preset types * feat: enable cairo 2.6.0 contract declaration * feat: declare cairo2.6.0 contracts * docs: add comment for rpc compatibility * test: resolve cairo1v2 test file parsing error * Update src/utils/hash/classHash.ts --------- Co-authored-by: Petar Penovic <pp@spaceshard.io> * feat: skip signatures when skipValidate is true * feat: don't sign when skipValidate is true * test: adjust tests for skipValidate change --------- Co-authored-by: Petar Penovic <pp@spaceshard.io> * chore: resolve lint issues * chore(release): 6.4.0 [skip ci] # [6.4.0](https://github.com/starknet-io/starknet.js/compare/v6.3.0...v6.4.0) (2024-03-12) ### Bug Fixes * expand encoding type for preset types ([b992446](https://github.com/starknet-io/starknet.js/commit/b9924465a1f01ac4273638f3fa258b36192d2101)) ### Features * enable cairo 2.6.0 contract declaration ([0104c59](https://github.com/starknet-io/starknet.js/commit/0104c59739a9dbe70091e14372a73ca84550f639)) * skip signatures when skipValidate is true ([6f784ea](https://github.com/starknet-io/starknet.js/commit/6f784ea4e4edd298f1950dac956fd1c81b953497)) * fix: byteArray encoding for less than 31 chars (#1011) * fix: byteArray encoding for less than 31 chars * refactor: reuse byteArray utility for typed data hashing --------- Co-authored-by: Petar Penovic <pp@spaceshard.io> * chore(release): 6.4.1 [skip ci] ## [6.4.1](https://github.com/starknet-io/starknet.js/compare/v6.4.0...v6.4.1) (2024-03-14) ### Bug Fixes * byteArray encoding for less than 31 chars ([#1011](https://github.com/starknet-io/starknet.js/issues/1011)) ([653acc4](https://github.com/starknet-io/starknet.js/commit/653acc44c841540214dd6f6b8956b354d7c27644)) * fix: update starknetid sepolia contract addresses (#1016) * chore(release): 6.4.2 [skip ci] ## [6.4.2](https://github.com/starknet-io/starknet.js/compare/v6.4.1...v6.4.2) (2024-03-14) ### Bug Fixes * update starknetid sepolia contract addresses ([#1016](https://github.com/starknet-io/starknet.js/issues/1016)) ([b50a3bd](https://github.com/starknet-io/starknet.js/commit/b50a3bdada4345a9d601734762bc7a600766ec25)) * fix: wallet circular dependency fix * fix: adjust max amount bound calculation for RPC v0.7.0 * feat: make fee margins configurable * chore(release): 6.5.0 [skip ci] # [6.5.0](https://github.com/starknet-io/starknet.js/compare/v6.4.2...v6.5.0) (2024-03-14) ### Bug Fixes * adjust max amount bound calculation for RPC v0.7.0 ([dd34cdb](https://github.com/starknet-io/starknet.js/commit/dd34cdb8b9817a55a16a97d960b1544d75c0059a)) ### Features * make fee margins configurable ([cedd984](https://github.com/starknet-io/starknet.js/commit/cedd984e1106db5b73d17630e282eb956d344a97)) * ci: default rpc spec is 0_7 (#1017) * docs: Add docker approach guide for dev setup (#1010) * docs: Add docker approach guide for dev setup * docs: Add more detailed guide steps * docs: add specific docker command via guide * chore: extract devnet detector & env helper * chore: throw an error if devnet is not set * docs: remove devnet py detection logging * docs: writing style improvement --------- Co-authored-by: Luka Saric <luka.saric@scayle.com> * feat: walletAccount extract methods and update new ones * feat: the WalletAccount handle changed channel * Update src/wallet/connect.ts Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * chore: cleanups * fix: update to latest get-starknet dev * chore: clenup * fix: test ci fix * fix: second option bump semantic release to 0.5 * chore(release): 6.6.0 [skip ci] # [6.6.0](https://github.com/starknet-io/starknet.js/compare/v6.5.0...v6.6.0) (2024-03-19) ### Bug Fixes * second option bump semantic release to 0.5 ([c90f9b2](https://github.com/starknet-io/starknet.js/commit/c90f9b285afb455d2404bff67137d5e6ae44cd5f)) * test ci fix ([3a6c924](https://github.com/starknet-io/starknet.js/commit/3a6c9247717cb979842d9b37905ae423267959a5)) * update to latest get-starknet dev ([017702f](https://github.com/starknet-io/starknet.js/commit/017702fd8c579ab62c98bc78fd6e8dd3022ef9ec)) * wallet circular dependency fix ([621ae2d](https://github.com/starknet-io/starknet.js/commit/621ae2d4a015f3bb3b2e63ddbaeb5fa843509a88)) ### Features * get-starknet-core repacked for mjs, and initial implementation ([ab7fa19](https://github.com/starknet-io/starknet.js/commit/ab7fa19f44ad1fc27292313589247b74943fe3d0)) * the WalletAccount handle changed channel ([73603e1](https://github.com/starknet-io/starknet.js/commit/73603e175bcc7925aa896be81fb666ffb225890d)) * wallet deploy contract and patches ([dbf53b6](https://github.com/starknet-io/starknet.js/commit/dbf53b6e57948e433186cae6209998dece04fe4a)) * walletAccount extract methods and update new ones ([0dfb5db](https://github.com/starknet-io/starknet.js/commit/0dfb5db1032dd7c946ee514647e8abb3eda87996)) * chore: refactor various typeof comparisons with util methods (#1007) * chore: refactor various typeof comparisons with util methods * chore: removed docker compose, replaced more occurences of typeOf in project, docker compose file will be added in separate PR * fix: next version (#1024) * test: eth signer * test: move secp256k1Point tests in a dedicated test file * feat: helper for transaction receipt * simplify extends for account class * feat: handling of cairo u512 type * refactor: change name of variable : GetTxReceiptResponseWithoutHelper * fix: double lines for same imports * fix: solve an error in validate.ts initiated by pr 1007 * fix: correction of a word in guide * docs: validateChecksumAddress * fix: jsdoc correction * docs: add tsdoc in utils/address.ts * test: add extra fees * fix: estimateFeeBulk include skipValidate in accountInvocationsFactory * feat: add type guard to receipt response status methods * fix: repair i128 typed data encoding and add typed data range checks * chore: update left over StarkNet casing --------- Co-authored-by: PhilippeR26 <philippe.rostan@yahoo.fr> Co-authored-by: Philippe ROSTAN <81040730+PhilippeR26@users.noreply.github.com> Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: ivpavici <ivan.pavicic@live.com> Co-authored-by: Petar Penovic <pp@spaceshard.io> * chore(release): 6.6.6 [skip ci] ## [6.6.6](https://github.com/starknet-io/starknet.js/compare/v6.6.5...v6.6.6) (2024-03-25) ### Bug Fixes * next version ([#1024](https://github.com/starknet-io/starknet.js/issues/1024)) ([07d4a26](https://github.com/starknet-io/starknet.js/commit/07d4a26c8b93413fcf1b8b54549e11555df86ca9)) * docs: fix nodeUrl code typo (#1046) * Next version (#1043) * test: eth signer * test: move secp256k1Point tests in a dedicated test file * feat: helper for transaction receipt * simplify extends for account class * feat: handling of cairo u512 type * refactor: change name of variable : GetTxReceiptResponseWithoutHelper * fix: double lines for same imports * fix: solve an error in validate.ts initiated by pr 1007 * fix: correction of a word in guide * docs: validateChecksumAddress * fix: jsdoc correction * docs: add tsdoc in utils/address.ts * test: add extra fees * fix: estimateFeeBulk include skipValidate in accountInvocationsFactory * feat: add type guard to receipt response status methods * fix: repair i128 typed data encoding and add typed data range checks * chore: update left over StarkNet casing * feat: bundle resolution, module, type import for walletacc * feat: bundle resolution, module, type import for walletaccount * chore: fix connect import * chore: add get-starknet-core next as dependencie * chore: import fix * fix: estimateMessageFee - eth address format (#1040) * fix: estimatemessagefee eth address format * fix: implement requests * docs: small guides cleanup (#1048) * docs: fix nodeUrl code typo (#1046) * docs: small guides cleanup --------- Co-authored-by: Joel Mun <hj923@hotmail.com> * fix(RpcProvider): allow client to provide `specVersion` in 0.7 provider this saves an extra call on RPC for optionally-known information (like the `chainId` case). also fixed speck -> spec typo * fix: remove abis parameter from signer and account execute * feat: configure u512 and Secp256k1Point for abiwan * chore: bump dependencies * chore: expose data gas consumed and data gas price for 0.7 rpc * refactor: create wallet namespace * refactor: create wallet namespace * fix: change name to connect.ts --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> --------- Co-authored-by: PhilippeR26 <philippe.rostan@yahoo.fr> Co-authored-by: Philippe ROSTAN <81040730+PhilippeR26@users.noreply.github.com> Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: ivpavici <ivan.pavicic@live.com> Co-authored-by: Petar Penovic <pp@spaceshard.io> Co-authored-by: Joel Mun <hj923@hotmail.com> Co-authored-by: Abraham Makovetsky <avimak@gmail.com> Co-authored-by: Haroune Mohammedi <haroune.mohammedi@quadratic-labs.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> * feat: readme & trigger release * chore(release): 6.7.0 [skip ci] # [6.7.0](https://github.com/starknet-io/starknet.js/compare/v6.6.6...v6.7.0) (2024-04-03) ### Features * readme & trigger release ([5341c42](https://github.com/starknet-io/starknet.js/commit/5341c42da8bf5d2f82e4446a60b5e4fdc9c4e2fe)) * ci: bump devnet * docs: goerli testnet deprecated (#1059) * test: CairoFelt tests (#1035) * test: CairoFelt tests * Update __tests__/utils/CairoTypes/CairoFelt.test.ts * Update __tests__/utils/CairoTypes/CairoFelt.test.ts --------- Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * fix: tslib (#1068) * feat: add getGasPrice rpc provider method (#1056) * feat: add getGasPrice rpc provider method * fix: rpc method name and test function * fix: change rpc provide method helper - change the helper method of `getL1GasPrice()` from `getBlockWithTxs()` to `getBlockWithTxHashes()` * fix: change test name to getL1GasPrice * test: Test setup refactor & remove RPC sequencer (#1044) * test: test setup refactor & remove rpc sequencer * fix: enable sequencer tests to run on goerli * chore: format markdowns * fix: remove unnecessary goerli describeIf comment * chore: remove setup verifier & simplify envs check logic * test: naming improvements * test: update test setup data log for testnet * test: change from goerli to sepolia * test: rename from rpc testnet to testnet * test: remove `TEST_PROVIDER_BASE_URL` --------- Co-authored-by: Luka Saric <luka.saric@scayle.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * docs: types format fix for generated docs (#1075) * docs: types format fix for generated docs * docs: Update index.ts * feat: rpc 0.7.1 (#1071) * fix(utils): fix block identifier (#1076) * fix(utils): fix block identifier * docs: class Block docs * feat: Export function parseCalldataField() * feat: export parseCalldataField() * Update src/utils/calldata/index.ts Co-authored-by: Toni Tabak <tabaktoni@gmail.com> --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> * docs: repair dark theme search styling (#1080) * docs: word <any> not authorized in jsdoc (#1082) * docs: adding missing jsdocs on methods (#1036) * docs: adding missing jsdocs on methods * removed override, and non exported method comments * Modified comment param * removed invalid comment * Update src/utils/address.ts * Update src/utils/address.ts * Update src/utils/calldata/cairo.ts * Update src/utils/calldata/cairo.ts --------- Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * chore: added discord link to all relavant places (#1086) * chore: added discord link to all relavant places * chore: updated discord link * Update CONTRIBUTING.md * Update README.md --------- Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * refactor: getStarkName & getStarkProfile for latest version of contract * fix: starkne types 0.7 (#1087) * refactor(spec): extract and import rpc spec types from starknet-types * chore: add starknet types 0.7.2 * chore(release): 6.8.0 [skip ci] # [6.8.0](https://github.com/starknet-io/starknet.js/compare/v6.7.0...v6.8.0) (2024-04-23) ### Bug Fixes * starkne types 0.7 ([#1087](https://github.com/starknet-io/starknet.js/issues/1087)) ([b038c76](https://github.com/starknet-io/starknet.js/commit/b038c76fe204746f1d1023c2ad3b46c022f6edbd)) * tslib ([#1068](https://github.com/starknet-io/starknet.js/issues/1068)) ([dd7dc10](https://github.com/starknet-io/starknet.js/commit/dd7dc10c57fc3cc35298c0d584a178666e9cfed1)) * **utils:** fix block identifier ([#1076](https://github.com/starknet-io/starknet.js/issues/1076)) ([0a3499d](https://github.com/starknet-io/starknet.js/commit/0a3499d49751061ceae1a4d6023b34f402376efc)) ### Features * add getGasPrice rpc provider method ([#1056](https://github.com/starknet-io/starknet.js/issues/1056)) ([d396275](https://github.com/starknet-io/starknet.js/commit/d396275348aff9c932d2bb7466b2a55f96214e4e)) * Export function parseCalldataField() ([4d59658](https://github.com/starknet-io/starknet.js/commit/4d596582023f24522c25a1a515ee0246d2eca90a)) * rpc 0.7.1 ([#1071](https://github.com/starknet-io/starknet.js/issues/1071)) ([11dc600](https://github.com/starknet-io/starknet.js/commit/11dc6003c74b6b6d0408b3f5894b5b6739d4bfba)) * Snjs enc dec doc (#1101) * chore(release): 6.8.0 [skip ci] # [6.8.0](https://github.com/starknet-io/starknet.js/compare/v6.7.0...v6.8.0) (2024-04-23) ### Bug Fixes * starkne types 0.7 ([#1087](https://github.com/starknet-io/starknet.js/issues/1087)) ([b038c76](https://github.com/starknet-io/starknet.js/commit/b038c76fe204746f1d1023c2ad3b46c022f6edbd)) * tslib ([#1068](https://github.com/starknet-io/starknet.js/issues/1068)) ([dd7dc10](https://github.com/starknet-io/starknet.js/commit/dd7dc10c57fc3cc35298c0d584a178666e9cfed1)) * **utils:** fix block identifier ([#1076](https://github.com/starknet-io/starknet.js/issues/1076)) ([0a3499d](https://github.com/starknet-io/starknet.js/commit/0a3499d49751061ceae1a4d6023b34f402376efc)) ### Features * add getGasPrice rpc provider method ([#1056](https://github.com/starknet-io/starknet.js/issues/1056)) ([d396275](https://github.com/starknet-io/starknet.js/commit/d396275348aff9c932d2bb7466b2a55f96214e4e)) * Export function parseCalldataField() ([4d59658](https://github.com/starknet-io/starknet.js/commit/4d596582023f24522c25a1a515ee0246d2eca90a)) * rpc 0.7.1 ([#1071](https://github.com/starknet-io/starknet.js/issues/1071)) ([11dc600](https://github.com/starknet-io/starknet.js/commit/11dc6003c74b6b6d0408b3f5894b5b6739d4bfba)) * docs: add paragrapher for encode decode tool * Update CHANGELOG.md --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * chore: add examples to JsDoc for num.ts file (#1100) * chore: add examples to JsDoc for num.ts file * chores: implement requested update changes examples to JsDoc for num.ts file * chore: change @return to @returns for JsDoc examples in num.ts file --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> * chore: Add JsDoc comments and examples for merkle.ts file (#1107) * chore: Add JsDoc comments and examples for selector.ts file (#1106) * chore: add examples to JsDoc for transaction.ts file (#1105) * Revert "chore: add examples to JsDoc for transaction.ts file (#1105)" (#1108) This reverts commit 0ab0de70142b07186502c6457933858ccec6e23e. * Update CONTRIBUTING.md (#1117) * chore/add JsDoc for address.ts file (#1096) * chore(release): 6.8.0 [skip ci] # [6.8.0](https://github.com/starknet-io/starknet.js/compare/v6.7.0...v6.8.0) (2024-04-23) ### Bug Fixes * starkne types 0.7 ([#1087](https://github.com/starknet-io/starknet.js/issues/1087)) ([b038c76](https://github.com/starknet-io/starknet.js/commit/b038c76fe204746f1d1023c2ad3b46c022f6edbd)) * tslib ([#1068](https://github.com/starknet-io/starknet.js/issues/1068)) ([dd7dc10](https://github.com/starknet-io/starknet.js/commit/dd7dc10c57fc3cc35298c0d584a178666e9cfed1)) * **utils:** fix block identifier ([#1076](https://github.com/starknet-io/starknet.js/issues/1076)) ([0a3499d](https://github.com/starknet-io/starknet.js/commit/0a3499d49751061ceae1a4d6023b34f402376efc)) ### Features * add getGasPrice rpc provider method ([#1056](https://github.com/starknet-io/starknet.js/issues/1056)) ([d396275](https://github.com/starknet-io/starknet.js/commit/d396275348aff9c932d2bb7466b2a55f96214e4e)) * Export function parseCalldataField() ([4d59658](https://github.com/starknet-io/starknet.js/commit/4d596582023f24522c25a1a515ee0246d2eca90a)) * rpc 0.7.1 ([#1071](https://github.com/starknet-io/starknet.js/issues/1071)) ([11dc600](https://github.com/starknet-io/starknet.js/commit/11dc6003c74b6b6d0408b3f5894b5b6739d4bfba)) * chore/add JsDoc for address.ts file * update/ change address jsDoc - Add quotes to address string - Change address to get more zeros * feat/ Add JSDoc for encode.ts * update/ fix comments of encode.ts * update/ Fix last comment --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> * docs: add example to url.ts (#1112) * docs: add example to url.ts * test: reomve leftover * Revert "chore: Add JsDoc comments and examples for merkle.ts file (#1107)" This reverts commit f77bae58aea45850a1d95247d29d71500eba3b68. * Revert "chore: Add JsDoc comments and examples for selector.ts file (#1106)" This reverts commit 0b25abae10381b2bfb4d784d5d19445a7c6e8511. * Revert "chore: add examples to JsDoc for num.ts file (#1100)" This reverts commit ae5dcf90cba070fed57d5d649088d5435806b3f3. * test: Improve tests performance (#1121) * test: fix transaction retry interval fallback for devnet tests * test: remove test.only * feat: add type coverage (#1120) * Update _test.yml (#1126) * fix: cannot infer ts2742 types from starknet-types@0.7 (#1098) the externalization of types in starknet-types prevent typescript from inferring a type that are not available in the project. To workaround this issue, this commit imports the SPEC type so that the inference can happen * Verify message fix (#1128) * fix: verification signature with new braavos account * refactor: change ContractSpecifies name * fix: change to getContractVersion name * fix: change method name in test * fix: implement most of Penovicq comments * fix: handling when cairoversion is known and signatureveriffunctionname is unknown * fix: verifyMessageBraavos PR polution fix * chore: cleanup * chore: cleanup unrelated to the pr but next-version --------- Co-authored-by: PhilippeR26 <philippe.rostan@yahoo.fr> * Remove all code for Goerli testnet (#1122) * test: eth signer * test: move secp256k1Point tests in a dedicated test file * feat: helper for transaction receipt * simplify extends for account class * feat: handling of cairo u512 type * refactor: change name of variable : GetTxReceiptResponseWithoutHelper * fix: double lines for same imports * fix: solve an error in validate.ts initiated by pr 1007 * fix: correction of a word in guide * docs: validateChecksumAddress * fix: jsdoc correction * docs: add tsdoc in utils/address.ts * test: add extra fees * fix: estimateFeeBulk include skipValidate in accountInvocationsFactory * feat: add type guard to receipt response status methods * fix: repair i128 typed data encoding and add typed data range checks * chore: update left over StarkNet casing * feat: bundle resolution, module, type import for walletacc * feat: bundle resolution, module, type import for walletaccount * chore: fix connect import * chore: add get-starknet-core next as dependencie * chore: import fix * fix: estimateMessageFee - eth address format (#1040) * fix: estimatemessagefee eth address format * fix: implement requests * docs: small guides cleanup (#1048) * docs: fix nodeUrl code typo (#1046) * docs: small guides cleanup --------- Co-authored-by: Joel Mun <hj923@hotmail.com> * fix(RpcProvider): allow client to provide `specVersion` in 0.7 provider this saves an extra call on RPC for optionally-known information (like the `chainId` case). also fixed speck -> spec typo * fix: remove abis parameter from signer and account execute * feat: configure u512 and Secp256k1Point for abiwan * chore: bump dependencies * chore: expose data gas consumed and data gas price for 0.7 rpc * refactor: remove all code for Goerli testnet * feat: add provider.waitForBlock * test: bump ci tests to devnet-rs v0.0.5 * fix: solve conflict --------- Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: ivpavici <ivan.pavicic@live.com> Co-authored-by: Petar Penovic <pp@spaceshard.io> Co-authored-by: Joel Mun <hj923@hotmail.com> Co-authored-by: Abraham Makovetsky <avimak@gmail.com> Co-authored-by: Haroune Mohammedi <haroune.mohammedi@quadratic-labs.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> * feat: provider.getL1MessageHash (#1123) * feat: provider.getL1MessageHash * docs: add JSDOC example * fix: remaining conflicts * fix: remove [warning] from typedoc for external usage (#1095) * test: Improve tests performance (#1121) * test: fix transaction retry interval fallback for devnet tests * test: remove test.only * Update _test.yml (#1126) * fix: rename the @param to match the definitions this commit changes the typedoc that do not match the function declaration * fix: add a space before typedoc <br/> so that it catches the name when a @param contains an html tag, it should not be attached to the parameter name otherwise it does consider the tag is part of the name. This commit detaches the name from the tag * fix: improve function declaration so that typedoc matches it this is a specific case when a function has several declarations and the first one does not match the typedoc because the parameter is optional. This commit simplifies the declaration by making the comment optional with a ?. * fix: reintroduce the parameter name change the declaration of a function so that the parameter name appears. To do so it moves the assignement in the function. * fix: remove unused type declaration and export removes a declaration from account that is not used in the code and redundant with the exact same one in the provider file. export the declaration that is the one really used. --------- Co-authored-by: Luka Saric <32763694+lukasaric@users.noreply.github.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * docs: relocate documentation of eth randomness (#1130) * chore(release): 6.9.0 [skip ci] # [6.9.0](https://github.com/starknet-io/starknet.js/compare/v6.8.0...v6.9.0) (2024-05-21) ### Bug Fixes * cannot infer ts2742 types from starknet-types@0.7 ([#1098](https://github.com/starknet-io/starknet.js/issues/1098)) ([f1c3b8e](https://github.com/starknet-io/starknet.js/commit/f1c3b8e3aeb96f6efb7e512ac3ba689253004c9d)) * remove [warning] from typedoc for external usage ([#1095](https://github.com/starknet-io/starknet.js/issues/1095)) ([195186f](https://github.com/starknet-io/starknet.js/commit/195186fc2974ab0d164b1a48c68f7bf026329df5)), closes [#1121](https://github.com/starknet-io/starknet.js/issues/1121) [#1126](https://github.com/starknet-io/starknet.js/issues/1126) ### Features * add type coverage ([#1120](https://github.com/starknet-io/starknet.js/issues/1120)) ([eceda5d](https://github.com/starknet-io/starknet.js/commit/eceda5dc1c39e472e1105e07797e76aaac3c1531)) * provider.getL1MessageHash ([#1123](https://github.com/starknet-io/starknet.js/issues/1123)) ([1489cf2](https://github.com/starknet-io/starknet.js/commit/1489cf25e7e8598ab161cecc62c82495f64daa33)) ### Reverts * Revert "chore: add examples to JsDoc for transaction.ts file (#1105)" (#1108) ([59eb01e](https://github.com/starknet-io/starknet.js/commit/59eb01e451cf64dfdacd6d34b2a709e0a1029f15)), closes [#1105](https://github.com/starknet-io/starknet.js/issues/1105) [#1108](https://github.com/starknet-io/starknet.js/issues/1108) * Next version (#1143) * test: add coverage option (#1131) * test: add coverage option * docs: add coverage of a single file * feat: add coverage in automatic test suite * fix: add 'run' to npm test coverage script * docs: jsdoc adds (#1133) * docs: jsdoc for utils-provider and utils-classHash * docs: add jsdoc in utils- stark and starknetid * docs: add jsdoc to utils-shortstring, transaction, uint256 * docs: add jsdoc for signer interface * docs: add @return for class getters * Chore/replace enums with companion pattern approach (#1083) * test: test setup refactor & remove rpc sequencer * fix: enable sequencer tests to run on goerli * chore: format markdowns * fix: remove unnecessary goerli describeIf comment * chore: remove setup verifier & simplify envs check logic * test: naming improvements * test: update test setup data log for testnet * test: change from goerli to sepolia * test: rename from rpc testnet to testnet * test: remove `TEST_PROVIDER_BASE_URL` * chore: replace enums with companion pattern * chore: convert caior option & result enums to consts * chore: add `ValuesType<T>` type helper * test: Improve tests performance (#1121) * test: fix transaction retry interval fallback for devnet tests * test: remove test.only * chore: revert from describeIfNot to describeIf * Update _test.yml (#1126) * chore(release): 6.9.0 [skip ci] # [6.9.0](https://github.com/starknet-io/starknet.js/compare/v6.8.0...v6.9.0) (2024-05-21) ### Bug Fixes * cannot infer ts2742 types from starknet-types@0.7 ([#1098](https://github.com/starknet-io/starknet.js/issues/1098)) ([f1c3b8e](https://github.com/starknet-io/starknet.js/commit/f1c3b8e3aeb96f6efb7e512ac3ba689253004c9d)) * remove [warning] from typedoc for external usage ([#1095](https://github.com/starknet-io/starknet.js/issues/1095)) ([195186f](https://github.com/starknet-io/starknet.js/commit/195186fc2974ab0d164b1a48c68f7bf026329df5)), closes [#1121](https://github.com/starknet-io/starknet.js/issues/1121) [#1126](https://github.com/starknet-io/starknet.js/issues/1126) ### Features * add type coverage ([#1120](https://github.com/starknet-io/starknet.js/issues/1120)) ([eceda5d](https://github.com/starknet-io/starknet.js/commit/eceda5dc1c39e472e1105e07797e76aaac3c1531)) * provider.getL1MessageHash ([#1123](https://github.com/starknet-io/starknet.js/issues/1123)) ([1489cf2](https://github.com/starknet-io/starknet.js/commit/1489cf25e7e8598ab161cecc62c82495f64daa33)) ### Reverts * Revert "chore: add examples to JsDoc for transaction.ts file (#1105)" (#1108) ([59eb01e](https://github.com/starknet-io/starknet.js/commit/59eb01e451cf64dfdacd6d34b2a709e0a1029f15)), closes [#1105](https://github.com/starknet-io/starknet.js/issues/1105) [#1108](https://github.com/starknet-io/starknet.js/issues/1108) * fix: use proper constants --------- Co-authored-by: Luka Saric <luka.saric@scayle.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> * refactor: remove functions useful for deprecated sequencer * refactor: starknetid contracts on sepolia & remove old code (#1139) * test: update starknetid naming mock contract * fix: update starknetId contract addresses on sepolia * refactor: remove unused code from getStarkName & getStarkProfile * docs: update starknetId utils example results * test: fix getStarknetIdContract test on sepolia * fix: remove default from computeHintedClassHash to be able to export (#1142) * fix: remove default from classhash/computeHintedClassHash to be able to export * test: add test for computeHintedClassHash * docs: utils/num docs (#1132) * docs: added jsdocs to utils/num functions * docs: extracted existing util/num tests to a separate file, added tests * chore: num docs small fixes and refactoring * Update src/utils/num.ts --------- Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> * docs: updated verious util function docs, added tests, refactoring (#1129) * docs: updated verious util function docs, added tests, refactoring * docs: json util jsdocs improvements * chore: typo quickfix * chore: added missing results to jsdoc examples * chore: removed jsdoc from non-exported helper function * chore: utils/json docs fixes and refactoring * fix: export abi types * clanup * fix: types-js (#1147) * fix: types-js * chore: fix upp * Dep/types js (#1153) * fix: types-js * chore: fix upp * fix: types 0.0.7 * docs: merkle and selector docs/tests (#1152) * docs: added docs for merkle and selector utils, moved selector to hash, added happy path tests * chore: added example tag to jsdoc * chore: remove obsolete folder (#1149) * test: Improve tests performance (#1121) * test: fix transaction retry interval fallback for devnet tests * test: remove test.only * Update _test.yml (#1126) * chore(release): 6.9.0 [skip ci] # [6.9.0](https://github.com/starknet-io/starknet.js/compare/v6.8.0...v6.9.0) (2024-05-21) ### Bug Fixes * cannot infer ts2742 types from starknet-types@0.7 ([#1098](https://github.com/starknet-io/starknet.js/issues/1098)) ([f1c3b8e](https://github.com/starknet-io/starknet.js/commit/f1c3b8e3aeb96f6efb7e512ac3ba689253004c9d)) * remove [warning] from typedoc for external usage ([#1095](https://github.com/starknet-io/starknet.js/issues/1095)) ([195186f](https://github.com/starknet-io/starknet.js/commit/195186fc2974ab0d164b1a48c68f7bf026329df5)), closes [#1121](https://github.com/starknet-io/starknet.js/issues/1121) [#1126](https://github.com/starknet-io/starknet.js/issues/1126) ### Features * add type coverage ([#1120](https://github.com/starknet-io/starknet.js/issues/1120)) ([eceda5d](https://github.com/starknet-io/starknet.js/commit/eceda5dc1c39e472e1105e07797e76aaac3c1531)) * provider.getL1MessageHash ([#1123](https://github.com/starknet-io/starknet.js/issues/1123)) ([1489cf2](https://github.com/starknet-io/starknet.js/commit/1489cf25e7e8598ab161cecc62c82495f64daa33)) ### Reverts * Revert "chore: add examples to JsDoc for transaction.ts file (#1105)" (#1108) ([59eb01e](https://github.com/starknet-io/starknet.js/commit/59eb01e451cf64dfdacd6d34b2a709e0a1029f15)), closes [#1105](https://github.com/starknet-io/starknet.js/issues/1105) [#1108](https://github.com/starknet-io/starknet.js/issues/1108) * Update amm.js * chore: remove obsolete folder --------- Co-authored-by: Luka Saric <32763694+lukasaric@users.noreply.github.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> * Fix: public responseParser (#1154) * fix: enable instance parser change * Update __tests__/rpcProvider.test.ts Co-authored-by: Petar Penović <pp@spaceshard.io> * fix: export ResponseParser and RPCResponseParser * chore: noob --------- Co-authored-by: Petar Penović <pp@spaceshard.io> * BUG: Nested events not handled (#1140) * test: eth signer * test: move secp256k1Point tests in a dedicated test file * feat: helper for transaction receipt * simplify extends for account class * feat: handling of cairo u512 type * refactor: change name of variable : GetTxReceiptResponseWithoutHelper * fix: double lines for same imports * fix: solve an error in validate.ts initiated by pr 1007 * fix: correction of a word in guide * docs: validateChecksumAddress * fix: jsdoc correction * docs: add tsdoc in utils/address.ts * test: add extra fees * fix: estimateFeeBulk include skipValidate in accountInvocationsFactory * feat: add type guard to receipt response status methods * fix: repair i128 typed data encoding and add typed data range checks * chore: update left over StarkNet casing * feat: bundle resolution, module, type import for walletacc * feat: bundle resolution, module, type import for walletaccount * chore: fix connect import * chore: add get-starknet-core next as dependencie * chore: import fix * fix: estimateMessageFee - eth address format (#1040) * fix: estimatemessagefee eth address format * fix: implement requests * docs: small guides cleanup (#1048) * docs: fix nodeUrl code typo (#1046) * docs: small guides cleanup --------- Co-authored-by: Joel Mun <hj923@hotmail.com> * fix(RpcProvider): allow client to provide `specVersion` in 0.7 provider this saves an extra call on RPC for optionally-known information (like the `chainId` case). also fixed speck -> spec typo * fix: remove abis parameter from signer and account execute * feat: configure u512 and Secp256k1Point for abiwan * chore: bump dependencies * chore: expose data gas consumed and data gas price for 0.7 rpc * test: Improve tests performance (#1121) * test: fix transaction retry interval fallback for devnet tests * test: remove test.only * Update _test.yml (#1126) * chore(release): 6.9.0 [skip ci] # [6.9.0](https://github.com/starknet-io/starknet.js/compare/v6.8.0...v6.9.0) (2024-05-21) ### Bug Fixes * cannot infer ts2742 types from starknet-types@0.7 ([#1098](https://github.com/starknet-io/starknet.js/issues/1098)) ([f1c3b8e](https://github.com/starknet-io/starknet.js/commit/f1c3b8e3aeb96f6efb7e512ac3ba689253004c9d)) * remove [warning] from typedoc for external usage ([#1095](https://github.com/starknet-io/starknet.js/issues/1095)) ([195186f](https://github.com/starknet-io/starknet.js/commit/195186fc2974ab0d164b1a48c68f7bf026329df5)), closes [#1121](https://github.com/starknet-io/starknet.js/issues/1121) [#1126](https://github.com/starknet-io/starknet.js/issues/1126) ### Features * add type coverage ([#1120](https://github.com/starknet-io/starknet.js/issues/1120)) ([eceda5d](https://github.com/starknet-io/starknet.js/commit/eceda5dc1c39e472e1105e07797e76aaac3c1531)) * provider.getL1MessageHash ([#1123](https://github.com/starknet-io/starknet.js/issues/1123)) ([1489cf2](https://github.com/starknet-io/starknet.js/commit/1489cf25e7e8598ab161cecc62c82495f64daa33)) ### Reverts * Revert "chore: add examples to JsDoc for transaction.ts file (#1105)" (#1108) ([59eb01e](https://github.com/starknet-io/starknet.js/commit/59eb01e451cf64dfdacd6d34b2a709e0a1029f15)), closes [#1105](https://github.com/starknet-io/starknet.js/issues/1105) [#1108](https://github.com/starknet-io/starknet.js/issues/1108) * fix: handling of events nested in Cairo components * fix: change names of events in tests * refactor: change type names * test: adapt parseUDCEvent to events namespace * refactor: implement reviewer requests * refactor: add spec6 types * Revert "Merge branch 'next-version' into nested-events" This reverts commit 4c65e9b7d63a68dc8630a53d8d240daeac861145, reversing changes made to 7702d9c4b51a44098ae5adc3bea87b9022b8f7aa. * fix: remove events.ts that came back after merge * refactor: use of external types-js lib for events types --------- Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: Toni Tabak <tabaktoni@gmail.com> Co-authored-by: ivpavici <ivan.pavicic@live.com> Co-authored-by: Petar Penovic <pp@spaceshard.io> Co-authored-by: Joel Mun <hj923@hotmail.com> Co-authored-by: Abraham Makovetsky <avimak@gmail.com> Co-authored-by: Haroune Mohammedi <haroune.mohammedi@quadratic-labs.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> Co-authored-by: Luka Saric <32763694+lukasaric@users.noreply.github.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> * feat: add handling of nonZero type (#1150) * Guide for wallet account (#1156) * docs: walletAccount guide * fix: add all Ivan's proposals, except one --------- Co-authored-by: Philippe ROSTAN <81040730+PhilippeR26@users.noreply.github.com> Co-authored-by: Luka Saric <32763694+lukasaric@users.noreply.github.com> Co-authored-by: Luka Saric <luka.saric@scayle.com> Co-authored-by: Ivan Pavičić <ivan.pavicic@live.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: PhilippeR26 <philippe.rostan@yahoo.fr> Co-authored-by: Iris <iris.devillars@gmail.com> Co-authored-by: dsperac <dsperac@gmail.com> Co-authored-by: alex <152680487+bodhi-crypo@users.noreply.github.com> Co-authored-by: Petar Penović <pp@spaceshard.io> Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: Joel Mun <hj923@hotmail.com> Co-authored-by: Abraham Makovetsky <avimak@gmail.com> Co-authored-by: Haroune Mohammedi <haroune.mohammedi@quadratic-labs.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> * feat: next-version * chore(release): 6.10.0 [skip ci] # [6.10.0](https://github.com/starknet-io/starknet.js/compare/v6.9.0...v6.10.0) (2024-06-18) ### Features * next-version ([1687dd2](https://github.com/starknet-io/starknet.js/commit/1687dd28f3390e770f66ac5dad52860a1dd92289)) * docs: update licence, package, readme (#1157) * test: add starknet rpc spec json schemas * test: import starknet schemas as dependency * ci: bump devnet * docs: fix format pb in create account guide (#1161) * Fix invalid reference in create_contract.md (#1162) * fix: change build cjs and mjs to unbuild (#1163) * feat: install unbuild * chore: update tsup config * chore: update eslint config * feat: add build.config.ts * fix: new lock --------- Co-authored-by: Toni Tabak <tabaktoni@gmail.com> * chore(release): 6.10.1 [skip ci] ## [6.10.1](https://github.com/starknet-io/starknet.js/compare/v6.10.0...v6.10.1) (2024-06-28) ### Bug Fixes * change build cjs and mjs to unbuild ([#1163](https://github.com/starknet-io/starknet.js/issues/1163)) ([bb4a93d](https://github.com/starknet-io/starknet.js/commit/bb4a93d6639cf90298e0b1003fb31a79f11691f0)) * chore: bump dependencies * chore: replace type coverage dependency with simpler variant * fix: revert enums partially & tsup build (#1165) * chore(release): 6.10.2 [skip ci] ## [6.10.2](https://github.com/starknet-io/starknet.js/compare/v6.10.1...v6.10.2) (2024-07-02) ### Bug Fixes * revert enums partially & tsup build ([#1165](https://github.com/starknet-io/starknet.js/issues/1165)) ([57b2c72](https://github.com/starknet-io/starknet.js/commit/57b2c7210147f3ff33ebffa844351b50bee6534e)) --------- Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: PhilippeR26 <philippe.rostan@yahoo.fr> Co-authored-by: Petar Penovic <penovicp@gmail.com> Co-authored-by: Paul Miller <paul@paulmillr.com> Co-authored-by: Philippe ROSTAN <81040730+PhilippeR26@users.noreply.github.com> Co-authored-by: Haroune Mohammedi <haroune.mohammedi@quadratic-labs.com> Co-authored-by: mettete <58823555+mettete@users.noreply.github.com> Co-authored-by: Haroune | Quadratic <118889688+haroune-mohammedi@users.noreply.github.com> Co-authored-by: ivpavici <ivan.pavicic@live.com> Co-authored-by: Ryan Gilbert <ryangilbert7926@gmail.com> Co-authored-by: Petar Penović <pp@spaceshard.io> Co-authored-by: CI <noreply@github.com> Co-authored-by: BorkBorked <107079055+BorkBorked@users.noreply.github.com> Co-authored-by: script-money <74860630+script-money@users.noreply.github.com> Co-authored-by: kongtaoxing <xyf8658@163.com> Co-authored-by: Dhruv Kelawala <dhruvrk2000@gmail.com> Co-authored-by: RolandoDrRobot <rolando.arguello.email@gmail.com> Co-authored-by: 0xdorifto <gastaosousafaria@tecnico.ulisboa.pt> Co-authored-by: marjaho <firmianavan@gmail.com> Co-authored-by: lin.fan <lin.fan@flashdot.com> Co-authored-by: Piotr Piwoński <piwonskp@gmail.com> Co-authored-by: Piotr Piwoński <piwonskp> Co-authored-by: Abraham Makovetsky <avimak@gmail.com> Co-authored-by: Iris <iris.devillars@gmail.com> Co-authored-by: Luka Saric <32763694+lukasaric@users.noreply.github.com> Co-authored-by: Luka Saric <luka.saric@scayle.com> Co-authored-by: ikrcatov <ikrcatovic@gmail.com> Co-authored-by: gregory <10611760+gregoryguillou@users.noreply.github.com> Co-authored-by: Joel Mun <hj923@hotmail.com> Co-authored-by: princeibs <64266194+princeibs@users.noreply.github.com> Co-authored-by: Bhavya Gosai <bhavyagosai4@gmail.com> Co-authored-by: Hemant <hrsmart2150@gmail.com> Co-authored-by: Emmanuel A Akalo <124416278+NueloSE@users.noreply.github.com> Co-authored-by: Peterson_dt <168048103+petersdt@users.noreply.github.com> Co-authored-by: BlackStarkGoku <165695008+BlackStarkGoku@users.noreply.github.com> Co-authored-by: CollinsC1O <101604886+CollinsC1O@users.noreply.github.com> Co-authored-by: saimeunt <saimeunt@gmail.com> Co-authored-by: 0xknwn <145777008+0xknwn@users.noreply.github.com> Co-authored-by: dsperac <dsperac@gmail.com> Co-authored-by: alex <152680487+bodhi-crypo@users.noreply.github.com> Co-authored-by: Fabián Valverde <fabianvalverde@Fabians-MacBook-Pro.local> Co-authored-by: FabijanC <fabijan.corak@gmail.com> Co-authored-by: Ante Borzić <b0rza@users.noreply.github.com>
# [7.0.0](v6.11.0...v7.0.0) (2024-07-03) ### Bug Fixes * acc deploy_acc ([732cd94](732cd94)) * adjust max amount bound calculation for RPC v0.7.0 ([dd34cdb](dd34cdb)) * apply bound for contract address from hash calculation ([6d8c291](6d8c291)) * **beta:** deploy account ([#880](#880)) ([00c58e3](00c58e3)) * byteArray encoding for less than 31 chars ([#1011](#1011)) ([653acc4](653acc4)) * **Calldata.compile:** do not split long `entrypoint` names before calling `getSelectorFromName` ([89715da](89715da)) * **Calldata.compile:** do not split long `entrypoint` names before calling `getSelectorFromName` ([9434bcd](9434bcd)) * cannot infer ts2742 types from starknet-types@0.7 ([#1098](#1098)) ([f1c3b8e](f1c3b8e)) * change build cjs and mjs to unbuild ([#1163](#1163)) ([bb4a93d](bb4a93d)) * drop abi-wan-kanabi-v1 support ([30a4681](30a4681)) * estimateFeeBulk provided version ([da717be](da717be)) * expand encoding type for preset types ([b992446](b992446)) * move abiwan from dev dependencies to regular dependencies ([#925](#925)) ([6b7ee49](6b7ee49)) * next version ([#1024](#1024)) ([07d4a26](07d4a26)) * prioritize error states in waitForTransaction evaluation ([ac54404](ac54404)) * provider rpc 0.5-0.6 getTransactionReceipt response standardization ([76b6ab4](76b6ab4)) * remove [warning] from typedoc for external usage ([#1095](#1095)) ([195186f](195186f)), closes [#1121](#1121) [#1126](#1126) * remove account_deployment_data from deploy Account ([ede83bf](ede83bf)) * repair Cairo 1 nested and enum tuple handling ([ce2e541](ce2e541)) * revert enums partially & tsup build ([#1165](#1165)) ([57b2c72](57b2c72)) * rpc event ([ae3e265](ae3e265)) * **RpcChannel:** allow client to provide `specVersion` ([ae8cf8e](ae8cf8e)) * second option bump semantic release to 0.5 ([c90f9b2](c90f9b2)) * solve wrong response for account.verifyMessage ([05f4095](05f4095)) * starkne types 0.7 ([#1087](#1087)) ([b038c76](b038c76)) * test ci fix ([3a6c924](3a6c924)) * throw on negative param cairo.uint256 and bnToUint256 ([e1ead14](e1ead14)) * tslib ([#1068](#1068)) ([dd7dc10](dd7dc10)) * typos ([#862](#862)) ([b2431d3](b2431d3)) * update fetch-cookie dependency ([518330c](518330c)) * update starknetid sepolia contract addresses ([#1016](#1016)) ([b50a3bd](b50a3bd)) * update to latest get-starknet dev ([017702f](017702f)) * utilize provided resourceBounds value ([65bea53](65bea53)) * **utils:** fix block identifier ([#1076](#1076)) ([0a3499d](0a3499d)) * wallet circular dependency fix ([621ae2d](621ae2d)) ### Features * abi-wan trigger ([c10150a](c10150a)) * abiwan v2 intergation ([87d15d3](87d15d3)) * account preferred transaction version, setup v3 ([5652eb2](5652eb2)) * add getGasPrice rpc provider method ([#1056](#1056)) ([d396275](d396275)) * add provider.decodeParameters ([39595f3](39595f3)) * add provider.decodeParameters ([be6eec9](be6eec9)) * add string types of cairo v2.4.0 ([a8a73c1](a8a73c1)) * add type coverage ([#1120](#1120)) ([eceda5d](eceda5d)) * curves ([405de46](405de46)) * def rpc 0_6, sepolia nodes ([4f59a8f](4f59a8f)) * default account UniversalDetails, rpc spec update, update interface ([8dc9b8a](8dc9b8a)) * dual specification with 0.6 implementation, not yet integrated ([ac8c763](ac8c763)) * enable cairo 2.6.0 contract declaration ([0104c59](0104c59)) * ethereum signer ([8473adb](8473adb)) * ethereum-signer ([f37bfb2](f37bfb2)) * expand structured data hashing in line with SNIP-12 ([#920](#920)) ([cb20590](cb20590)) * Export function parseCalldataField() ([4d59658](4d59658)) * get-starknet-core repacked for mjs, and initial implementation ([ab7fa19](ab7fa19)) * hashes, signer, vip account, types, versions as string enum ([6ceb9e3](6ceb9e3)) * implement RPC v0.7.0-rc2 specification ([de32936](de32936)) * make Abi and CONTRACT_ABI types compatible with abiwan ([9007816](9007816)) * make fee margins configurable ([cedd984](cedd984)) * new CairoUint256 cairo datatype model ([b64abcc](b64abcc)) * next-version ([1687dd2](1687dd2)) * pretty print rpc LibraryError params, make env.DEBUG usefull ([cca723f](cca723f)) * provider.getL1MessageHash ([#1123](#1123)) ([1489cf2](1489cf2)) * **provider:** fix and clean provider response and response parser, removed seqeuncer api ([7ecb069](7ecb069)) * **provider:** pending response discrimination, pending type guards ([013a22b](013a22b)) * readme & trigger release ([5341c42](5341c42)) * remove old version constants, default types api rpc ([ed9cb08](ed9cb08)) * replace in verifyMessage : response by Error ([1abf91f](1abf91f)) * req id counter ([cedd1ea](cedd1ea)) * rpc 0.6 implementation as superset of 0.5 tx ([5b2b299](5b2b299)) * rpc 0.6.0-rc3 implementation ([c2607ed](c2607ed)) * rpc 0.7.1 ([#1071](#1071)) ([11dc600](11dc600)) * rpc provider ([0d9c2e5](0d9c2e5)) * rpcChannel ([181eea3](181eea3)) * sepolia ([26d7044](26d7044)) * sepolia constants, rpc open change ([6de46b5](6de46b5)) * simulate skip validate by default, spec deploy acc fix ([1b3e7ae](1b3e7ae)) * skip signatures when skipValidate is true ([6f784ea](6f784ea)) * the WalletAccount handle changed channel ([73603e1](73603e1)) * trigger release ([fbf983f](fbf983f)) * update default rpc nodes and version ([9b9fe0e](9b9fe0e)) * update starknetId class and add getStarkProfile function ([ae71c97](ae71c97)) * update verson ([5dfe445](5dfe445)) * use fetch-cookie package for cookie based sticky sessions ([5a56485](5a56485)) * v3 transaction hashes ([4fe40a1](4fe40a1)) * v3 tx hashes calculation ([f0e760d](f0e760d)) * v3 wip with est ([b95c462](b95c462)) * wallet deploy contract and patches ([dbf53b6](dbf53b6)) * walletAccount extract methods and update new ones ([0dfb5db](0dfb5db)) ### Reverts * Revert "chore: add examples to JsDoc for transaction.ts file ([#1105](#1105))" ([#1108](#1108)) ([59eb01e](59eb01e)) ### BREAKING CHANGES * v3 transactions
🎉 This issue has been resolved in version 7.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Motivation and Resolution
Implementation for SNIP-12.
The idea is for this PR that targets v5 to expand the available types and switch to the Poseidon hash, for v6 the validation will be overhauled to make it more comprehensive.
Usage related changes
The changes should be backward compatible.
Checklist: