All notable changes to the Aptos TypeScript SDK will be captured in this file. This changelog is written by hand for now. It adheres to the format set out by Keep a Changelog.
- Respect
API_KEY
option inclientConfig
when making indexer and/or fullnode queries - [
Added
] AddedwaitForIndexer
function to wait for indexer to sync up with full node. All indexer query functions now accepts a new optional paramminimumLedgerVersion
to wait for indexer to sync up with the target processor. - Add
getSigningMessage
to allow users to sign transactions with external signers and other use cases - [
Breaking
] Changes ANS date usage to consistently use epoch timestamps represented in milliseconds.getExpiration
: Previously returned seconds, now returns millisecondsregisterName
: Argumentexpiration.expirationDate
was previously aDate
object, now it is an epoch timestamp represented in milliseconds- All query functions return epoch milliseconds instead of ISO date strings.
- [
Breaking
] Flatten options for all functions to be a single level - Cleanup internal usage of casting
- Export
AnyPublicKey
andAnySignature
types - Add
transferFungibleAsset
function to easily generate a transaction to transfer a fungible asset from sender's primary store to recipient's primary store - [
Breaking
]AccountAddress.fromRelaxed
is nowAccountAddress.from
, and a newAccountAddress.fromStrict
has the old functionality. - Implement transaction management worker layer to manage transaction submission for a single account with a high throughput
- [
Fixed
] Allow for Uint8Array to be passed as avector<u8>
argument on entry functions - [
Fixed
] Allow for raw vectors to be passed as arguments with encoded types within them for Remote ABI on entry functions e.g. [AccountAddress]
-
Adds additional ANS APIs
- Transactions
- setPrimaryName
- setTargetAddress
- registerName
- renew_domain
- Queries
- getPrimaryName
- getOwnerAddress
- getExpiration
- getTargetAddress
- getName
- getAccountNames
- getAccountDomains
- getAccountSubdomains
- getDomainSubdomains
- Transactions
-
[
Breaking
] Refactor transaction builder flow- Each builder step is under a dedicated namespace -
aptos.build.transaction
,aptos.sign.transaction
,aptos.submit.transaction
- Supports and implements 2 types of transactions - single signer as
aptos.*.transaction
and multi agent asaptos.*.multiAgentTransaction
- A boolean
withFeePayer
argument can be passed to any transactionbuild
function to make it a Sponsor transaction - Different functions
aptos.sign.transaction
to sign a transaction as a single signer andaptos.sign.transactionAsFeePayer
to sign a transaction as a sponsor - Return
InputSingleSignerTransaction
type changed toSingleSignerTransaction
type - Return
InputMultiAgentTransaction
type changed toMultiAgentTransaction
type
- Each builder step is under a dedicated namespace -
- [
Breaking
] ChangedViewRequestData
toInputViewRequestData
- Respect max gas amount value when generating a transaction
- Added a clearer error message for when the typeTagParser encounters a possible generic TypeTag but generics are disallowed
- Update all dependencies to the latest version
- Added ability for providing own output types for view functions
- [
Breaking
] Update and changed the flow of Fee payer transaction to be "Optional Fee Payer". A fee payer is now required to sign the transactionasFeePayer
getAccountEventsByEventType
query uses newindexed_type
indexed field to avoid rate limit- [
Breaking
] RenameTOKEN
toAUTH_TOKEN
for better visibility - Set the
AUTH_TOKEN
only for faucet queries
- [
Breaking
] Changed all instances ofAccountAddress.fromHexInput
toAccountAddress.from
to accept AccountAddress as well - [
Fixed
] Fixed a bug where an entry function with only signers would fail due to type tag parsing - [
Fixed
] REST API errors now properly give error messages in JSON rather than justBadRequest
- All address inputs now also accept AccountAddress
- Support derive account from private key
Account.fromPrivateKey()
- Derive account from derivation path secp256k1 support
- Default Account generation to Legacy Ed25519
- Remove unnecessary pre-emptive serialization of the field
rawTransaction: Uint8Array
by replacing it with the unserializedrawTransaction: RawTransaction
class - ANS (Aptos Names Service) SDK initial support for creation and lookup of names
- Initial Auth key rotation support
- Remove MoveObject in favor of AccountAddress, use AccountAddress for Object inputs
- Use revamped parseTypeTag function instead of StructTag.fromString()
- Allow use of generics in parseTypeTag
- Rename publishModuleTransaction to publishPackageTransaction and fix functionality accordingly
- Added toString() for type tags, and reference placeholder type
- Add ability to generate transactions with known ABI and remote ABI
- Fix verify signature logic
- Implement
MultiKey
support for multi authentication key
- Build package before publishing\
- Add
AccountAddress.ZERO
to support the frequent future use of an optional fee payer address
- [
Breaking
] Changed all instances ofarguments
tofunctionArguments
to avoid the reserved keyword instrict
mode. - Support publish move module API function
- Fix client config not being added to the request
- Support to config a custom client instance
- Changed all Regex based inputs requiring a
0x
to be optional. This is to allow for easier copy/pasting of addresses and keys. - Change GetAccountResource to take in a generic output type that matches the struct
- Add support for Single Sender
- Fetch data from chain
- Fund account with APT coins
- Proper formatting and parsing of account addresses as defined by AIP-40
- Submit transactions
- Single signer
- Fee payer
- Multi agent
- With payloads
- Entry function
- Script
- Multisig
- Simulate a transaction
- Single signer
- Fee payer
- Multi agent
- Built in transaction generation
- Transfer coins
- Mint collection
- Mint nft
- Keys management
- ED25519
- Secp256k1 - to go in next devnet release
- Generate new keys
- Derive from existing private key
- Derive from mnemonics path
- Derive from private key and address (for account that has it's key rotated)
- Sign
- Verify signature
- BCS support
- Move sub-classes to easily serialize and deserialize Move types
- Unified Argument class for entry function and script payload argument types
- Full nested serialization/deserialization support
- Examples (both typescript and javascript)
- Simple transfer transaction example
- Transfer transaction example using built in transferCoinTransaction
- Fee payer (aka sponsored) transaction example
- Multi agent transaction example
- Mint collection and nft
- Local custom types (instead of generating types)
- In depths type checking on compile time
- Typescript can infer the return type based on the argument being passed into
generateTransaction
function (singlesigner,multiagent,feepayer) - Support for orderBy keys type checking for indexer queries
- Typescript can infer the return type based on the argument being passed into