Skip to content
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: client #1372

Merged
merged 55 commits into from
Oct 9, 2024
Merged
Changes from 1 commit
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9ff900c
feat: client lib init
Aug 9, 2024
f83ea5d
refactor: organize
Aug 9, 2024
22fcef7
test: test/lint commands
Aug 28, 2024
9c74649
feat: add curve type, reorganize types
Aug 29, 2024
d6b6955
fix: contract methods
Aug 29, 2024
6a91707
docs: jsdocs
Aug 29, 2024
524d6dd
feat: delete access key method
Aug 29, 2024
26d7a17
feat: remove nonce as parameter
Aug 29, 2024
0934ae7
feat: parse public key strings
Sep 3, 2024
62e3485
feat: deployContract and deleteAccount methods
Sep 3, 2024
c0fcd34
chore: fix linting
Sep 4, 2024
4305783
feat: staking
Sep 5, 2024
3b9e521
feat: return entire response from single action calls
Sep 5, 2024
7b8a290
feat: public key utils
Sep 5, 2024
3646aa3
feat: create account
Sep 6, 2024
0edf382
feat: funded testnet account creator
Sep 6, 2024
36e8b5d
fix: fetch dependency
Sep 11, 2024
6402f7d
feat: group signing/keystore modules under dedicated path
Sep 11, 2024
88f5c92
refactor: consolidate imports
Sep 11, 2024
dde6f86
feat: fixes, interface updates
Sep 12, 2024
27271b7
feat: update cookbook examples
Sep 12, 2024
97bae8e
chore: fix cookbook lint scripts
Sep 12, 2024
4c310a0
fix: simplify scripts
Sep 12, 2024
843de04
feat: more cookbook examples, docs
Sep 12, 2024
53c2d27
feat: provider options and missing types
Sep 14, 2024
c230e9b
feat: cookbook updates
Sep 14, 2024
d326e50
feat: add SignedTransactionComposer
Sep 17, 2024
503de05
feat: meta transaction support
Sep 17, 2024
0d87a82
chore: useless wrapper
Sep 17, 2024
9ee9835
feat: more cookbook updates
Sep 17, 2024
295df17
feat: ledger
Sep 18, 2024
951b46a
feat: toSignedTransaction method
Sep 18, 2024
2fa73c1
chore: update cookbook dependencies
Sep 18, 2024
32d17ae
feat: optional public key cache for ledger
Sep 19, 2024
85cb910
feat: transaction validation
Sep 19, 2024
3dc94de
feat: composer refactor, better meta transaction support
Sep 19, 2024
503bf19
chore: typed responses
Sep 19, 2024
93e6a31
chore: type refactor
Sep 19, 2024
5db9b63
fix: default nonce lookup finality
Sep 23, 2024
7a701da
feat: cached access key lookup
Sep 23, 2024
3abe110
feat: lazy signer initialization
Sep 23, 2024
84e1cb9
feat: remove node keystores dependency
Sep 25, 2024
7933fbe
feat: move keystore functionality to cookbook
Sep 25, 2024
aae2265
chore: lint config
Sep 25, 2024
e0751ae
feat: simpler types for access key
Sep 25, 2024
fc2cbd7
chore: remove ledger functionality
Sep 25, 2024
ff1ec95
feat: view stake function
Sep 28, 2024
71321d4
chore: cleanup unused constants
Sep 28, 2024
3c65503
feat: deserialize bigint primitive return values
Sep 28, 2024
188e38b
feat: clean up account state return value
Sep 28, 2024
026b72b
docs: readme
Sep 28, 2024
f9eb789
fix: add missing StakedAccount export to @near-js/types
mpeterdev Oct 7, 2024
6be05cc
fix: missing cast
Oct 7, 2024
0f35ac6
fix: lil fixes
Oct 7, 2024
773f50d
fix: remove duplicated StakedAccount export
mpeterdev Oct 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 8 additions & 25 deletions packages/client/src/transactions/actions.ts
Original file line number Diff line number Diff line change
@@ -4,29 +4,12 @@ import type {
DeployContractParams,
FunctionCallParams,
ModifyAccessKeyParams,
SignAndSendParams,
StakeParams,
TransferParams,
} from '../interfaces';
import { TransactionComposer } from './composer';
import { signAndSendFromComposer } from './sign_and_send';

/**
* Helper method to compose, sign, and send a transaction from a TransactionComposer instance
* @param composer TransactionComposer instance with (at minimum) sender, receiver, and actions set
* @param blockReference block ID/finality
* @param deps sign-and-send dependencies
*/
async function getComposerResult({ composer, blockReference, deps }: { composer: TransactionComposer } & SignAndSendParams) {
const { result } = await signAndSendFromComposer({
composer,
blockReference,
deps,
});

return result;
}

/**
* Make a function call against a contract
* @param sender transaction signer
@@ -39,7 +22,7 @@ async function getComposerResult({ composer, blockReference, deps }: { composer:
* @param deps sign-and-send dependencies
*/
export async function functionCall({ sender, receiver, method, args, gas, deposit, blockReference, deps }: FunctionCallParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender, receiver })
.functionCall(method, args, gas, deposit),
blockReference,
@@ -56,7 +39,7 @@ export async function functionCall({ sender, receiver, method, args, gas, deposi
* @param deps sign-and-send dependencies
*/
export async function transfer({ sender, receiver, amount, blockReference, deps }: TransferParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender, receiver })
.transfer(amount),
blockReference,
@@ -73,7 +56,7 @@ export async function transfer({ sender, receiver, amount, blockReference, deps
* @param deps sign-and-send dependencies
*/
export async function stake({ account, amount, publicKey, blockReference, deps }: StakeParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.stake(amount, publicKey),
blockReference,
@@ -89,7 +72,7 @@ export async function stake({ account, amount, publicKey, blockReference, deps }
* @param deps sign-and-send dependencies
*/
export async function addFullAccessKey({ account, publicKey, blockReference, deps }: ModifyAccessKeyParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.addFullAccessKey(publicKey),
blockReference,
@@ -108,7 +91,7 @@ export async function addFullAccessKey({ account, publicKey, blockReference, dep
* @param deps sign-and-send dependencies
*/
export async function addFunctionCallAccessKey({ account, publicKey, contract, methodNames, allowance, blockReference, deps }: AddFunctionCallAccessKeyParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.addFunctionCallAccessKey(publicKey, contract, methodNames, allowance),
blockReference,
@@ -124,7 +107,7 @@ export async function addFunctionCallAccessKey({ account, publicKey, contract, m
* @param deps sign-and-send dependencies
*/
export async function deleteAccessKey({ account, publicKey, blockReference, deps }: ModifyAccessKeyParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.deleteKey(publicKey),
blockReference,
@@ -140,7 +123,7 @@ export async function deleteAccessKey({ account, publicKey, blockReference, deps
* @param deps sign-and-send dependencies
*/
export async function deleteAccount({ account, beneficiaryId, blockReference, deps }: DeleteAccountParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.deleteAccount(beneficiaryId),
blockReference,
@@ -156,7 +139,7 @@ export async function deleteAccount({ account, beneficiaryId, blockReference, de
* @param deps sign-and-send dependencies
*/
export async function deployContract({ account, code, blockReference, deps }: DeployContractParams) {
return getComposerResult({
return signAndSendFromComposer({
composer: TransactionComposer.init({ sender: account, receiver: account })
.deployContract(code),
blockReference,