-
Notifications
You must be signed in to change notification settings - Fork 2
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(wip): removed signer from viewMethods by dropping NAJ account.ViewFunction #35
Conversation
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.
Some minor conventions that are not gamechangers. However, the use of Buffer
in the viewFunction
will not work in browsers without a polyfill.
I recommendation would be to use individual packages (base64/utf8) from https://www.stablelib.com/index.html to do all the decoding/encoding.
src/utils/rpcQueries/viewFunction.ts
Outdated
@@ -30,7 +30,7 @@ export default async function viewFunction({ | |||
request_type: 'call_function', | |||
account_id: contractId, | |||
method_name: method, | |||
args_base64: Buffer.from(JSON.stringify(args)).toString('base64'), | |||
args_base64: btoa(JSON.stringify(args)), |
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.
This will fail in Node.js context as btoa
is only in the browser (ahhh JavaScript).
Suggestion: you could wrap it in a try/catch and fallback to Buffer.toString('base64)
.
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.
Approved ✅
@@ -17,6 +17,14 @@ function parseJsonFromRawResponse(response: Uint8Array): ViewFunctionResult { | |||
return JSON.parse(new TextDecoder().decode(response)); | |||
} | |||
|
|||
function base64Encode(str: string): 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.
👍
# [1.1.0-beta.1](v1.0.1...v1.1.0-beta.1) (2024-07-24) ### Features * **wip:** removed signer from viewMethods by dropping NAJ account.ViewFunction ([#35](#35)) ([a57edc4](a57edc4))
🎉 This PR is included in version 1.1.0-beta.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
@jaswinder6991 Thank you for your contribution! Your pull request is now a part of the Race of Sloths! Current status: executed@jaswinder6991 check out your results on the Race of Sloths Leaderboard! and in the profile What is the Race of SlothsRace of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow For contributors:
For maintainers:
Feel free to check our website for additional details! Bot commands
|
🔄 The PR has been merged.Important This pull request is a part of the Race of Sloths and has not been scored yet. Scoring will close in 24 hours! 🕰️ |
✅ PR is finalized!Your contribution is much appreciated with a final score of 0! Another weekly streak completed, well done @jaswinder6991! To keep your weekly streak and get another bonus make pull request next week! Looking forward to see you in race-of-sloths |
* feat(wip): removed signer from viewMethods by dropping NAJ account.ViewFunction (#35) * feat(wip): removed signer from viewMethods by dropping accounts.ViewFunction * chore: fixed docs and removed comments * chore: fixed linting issues * fix: removed the use of Buffer as it won't work in browser environments * fix: put try/catch for btoa * chore(release): 1.1.0-beta.1 # [1.1.0-beta.1](v1.0.1...v1.1.0-beta.1) (2024-07-24) ### Features * **wip:** removed signer from viewMethods by dropping NAJ account.ViewFunction ([#35](#35)) ([a57edc4](a57edc4)) * feat: remove near-api-js account object dependency from change functions (#38) * refactor: remove dependency on near-api-js account and connection objects from change functions * test: update tests to use new network initialization * chore: squash * docs: amend docs to use new initailaization * docs: update docs to use the new signer object and fix broken links * build(lint): fix linting errors * chore: squash * refactor: convert signer to account because signer is icky * chore(release): 1.1.0-beta.2 # [1.1.0-beta.2](v1.1.0-beta.1...v1.1.0-beta.2) (2024-07-25) ### Features * remove near-api-js account object dependency from change functions ([#38](#38)) ([134e463](134e463)) * fix: required deposit fix when available storage is higher than needed (#40) * fix: required deposit fix when available storage is higher than needed * chore: fixed lint error * chore(release): 1.1.0-beta.3 # [1.1.0-beta.3](v1.1.0-beta.2...v1.1.0-beta.3) (2024-07-30) ### Bug Fixes * required deposit fix when available storage is higher than needed ([#40](#40)) ([99f9e8d](99f9e8d)) * feat: adding api server support for read methods (#33) * feat: adding api server support for read methods * feat(wip): added more args to get and introduced keys method * chore: fixed merge issues * feat: added index() function and docs for all api server changes * docs: fix docs build * chore(release): 1.1.0-beta.4 # [1.1.0-beta.4](v1.1.0-beta.3...v1.1.0-beta.4) (2024-08-01) ### Features * adding api server support for read methods ([#33](#33)) ([dc53b30](dc53b30)) * feat: aded transformActions utility and exposed all utils (#42) feat: added transformActions utility and exposed all utils * chore(release): 1.1.0-beta.5 # [1.1.0-beta.5](v1.1.0-beta.4...v1.1.0-beta.5) (2024-08-05) ### Features * aded transformActions utility and exposed all utils ([#42](#42)) ([bfc9072](bfc9072)) --------- Co-authored-by: nearbuilder <tech@nearbuilders.org> Co-authored-by: Kieran O'Neill <hello@kieranoneill.com>
In this PR, I remove account.ViewFunction to drop dependency on using a Signer for view methods. We instead use the providers from near-api-js to write a utility method for viewFunction.
Description
Type of change