- Updated API calls to locksmith to add chain
- removed erc1820 to remove scrypt so we ccan support newer node versions
- Support v9
- better inheritance pattern
- removed dev dependencies
- Removed limitation in node version
- Adding way to get the contract in web3Service (
lockContract(lockAddress, network)
) - Adding
ownerOf(lockAddress, tokenId, network)
to retrieve the owner of a token
Fixed grantKey when timestamp was not supplied.
Now using Ethers 5!
- Adding ability to grant key granter status
- Adding ability to check if address is key granter
- Adding ability to cancel key by key owner
- Adding ability to cancel key by lock owner
- Adding ability to share key by key owner
- Adding ability to retrieve key manager for key
- Fixing unlockAddress in walletService
- WalletService sets the unlock contract address based on connected network
- Breaking change: support for multichains.
- Typescript definition fix
- Breaking change: support for multichains.
- Typescript definition fix
- Typescript definition fix
- various API changes
- fixing approvals for ERC20 key purchases
- Updating types for key purchase function
- Bumping default gas prices for key purchases
- Adding referrer for v6, v7 and v8
- Adding data for v6, v7 and v8
- Introduced support for v8
- Removed v0, v1, v2, v3, v5.
- Small fix to make sure inputs are defined
- Awaiting for transaction input to be parsed for richer object
- Refactored getTransaction to yield a promise of transaction object and does not emit events anymore
- Better implementation of unformattedSignTypedData
- Removed getKeysForLockOnPage (breaking change)
- Removed getPastLockTransactions (breaking change)
- Removed getPastLockCreationsTransactionsForUser (breaking if you're using it!)
- Fixing unlock provider handling inside of WalletService
- Support Ether providers and signers in WalletService
- adding support for grantKey function
- adding ability to pass signer
- Exporting type definition for isLockManager
- Adding isLockManager function to web3Service
- Replaced owner with beneficiary for locks
- Adding support for v7 of PublicLock and Unlock smart contracts
- Updated typescript definitions
- Callback on transaction yields the transaction object as 3rd argument
- Corrected type definition so that callback is optional on purchaseKey
- Updated WalletService type to include callback for purchaseKey
- Updated Web3ServiceParams to include the network id, which is required
- Hardcoding the symbol for SAI
- Addition of setUserMetadata, which follows the same argument pattern as the other metadata methods
- BREAKING: getKeyMetadata now takes an object for non-callback params, now including an optional signature to retrieve protected metadata
- BREAKING: setKeyMetadata takes an object for non-callback params to keep calling conventions consistent for the setter and the getter
- bumped gas limits
- Adding script to initialize a template
- Code cleaned witth automated linting fixes
- Adjusted lint config to ignore violations that could not be fixed auttomatically
- Added setKeyMetadata and getKeyMetadata methods to WalletService
- Update gas prices
- Adding support for ABI version 1.3
- Added typed data templates for key-related metadata upload requests
- removed unlockProvider as it has moved back to unlock-app
- generateLockAddress on inputHandler as well
- Supports create2 in generateLockAddress
- Lets the user pass a network id when intantiating services
- Changed auto-gen files to reflect latest abi
- Support for smart contract v5 (version 5)
- Deprecated the deploy script in favor of using walletService
- Adding support for configureUnlock to support version 12
- Adding support for deployTemplate to support version 12 which reduces gas costs when deploying new locks
- Added type definitions for currently exported members
- Fixing issue with generateSignedEjectionRequest which did not yield the actual user address
- Adding a "latest" export which returns the latest supported lock version
- Loosening the required node version to anything compatible with v10
- Only approving if the approved amount is lower than the required price
- WalletService method which change state take a callback as argument which yields the transaction hash.
- Not catching errors on transaction emitted. These should be caught by the applications
- withdrawFromLock now returns a Promise of the withdrawn amount
- purchaseKey now returns a Promise of the token id
- createLock now returns a Promise of the deployed lock address
- updateKeyPrice now uses the right decimals for erc20 contracts
- getting erc20Address and decimals from the contract when purchasing a key
- Removed the 'owner' param on createLock since it is not really used (just emitted back)
- Refactored signature to accept objects to be more flexible (this is a breaking change)
- unlock-provider can generate a signed ejection request
- unlock-provider has a more consistent personal_sign output
- walletService dispatches personal_sign to unlock-provider
- unlock-provider can personal_sign data
- Using the right decimals number for ERC20 balances
- TODO cleanup in web3Service tests
- Randomizing retries on error 419 (rate limiting)
- Hanlding missing ERC20 methods
- Adding retries on error 419 (rate limiting)
- Returning the token symbol when retrieving an ERC20 lock.
- fixed a difference between pending transactions (node knows about them) and submitted transactions (which may be transactions that have been cancelled and will never succeed)
- add
getTokenSymbol
method to web3Service to identify arbitrary ERC20 tokens (#4481) - add
getTokenBalance
method to web3Service to get the user's balance of arbitrary ERC20 tokens (#4431)
- Add "for" field for pending/submitted key purchase transactions (#4190)
- ignore events from other contracts (erc20 for instance) (#4187)
- If a transaction is unknown poll immediately for it (#4149)
- Moved scrypt/N back to the default from Web3 for speed of account interaction
- Add "for" field for key purchase transactions to describe who the key was purchased for
- Bugfix: using the right default amount on withdraw when no amount has been provided
- Bugfix: key purchase request signatures are no longer always expired
- Bugfix: using correctly formatted structured data for key purchase requests
- UnlockProvider gains the capability to sign key purchase requests
- UnlockProvider gains a
signPaymentData
method that will allow it to sign payment details in a way that locksmith can verify and associate with the user
- walletService now emits an
account.updated
event with an account's email address if available
- erc20 transfer approval returns immediately
- UnlockProvider now stores user email address and encrypted private key
- UnlockProvider gains new methods for signing typed data, replacing the old strategy of intercepting JSON-RPC calls
- Fixing approvals
- Approving the right amount when using an ERC20 lock
- Removed
partialWithdraw
since it is unused and, starting from v4,withdraw
implements the required logic getLock
yields the lock name from the on chain data.
UnlockProvider
now inherits fromethers.providers.JsonRpcProvider
instead of storing one as a property.
- Allow
walletService
to properly connect toUnlockProvider
- Provides pre-purchase approval for the purchase of ERC20 keys
- Increased gas limit to deploy Unlock contract
- Adding support for v4 of the smart contracts.
unlock-provider
gains a propertyisUnlock
that will allow Unlock-specific provider configuration.
- getLock now returns the erc20 balance for erc20 locks
unlock-provider
gains a method allowing handling ofeth_signTypedData
- Introducing unlock-provider to enable use of user accounts
- Yielding the Lock version on getLock, as publicLockVersion
- Yielding the ERC20 contract if the lock is an ERC20 lock
- Changing the createLock API to remain consistent
- Updated gas amounts to fix deploying new locks
- Version bump after publishing older code inside 0.1.0
- Adds support for v1.0 of Unlock.sol and PublicLock.sol. Lock names can now be passed when creating them
- Introduce a constant that sets the
N
property ofscrypt
in theCrypto
section of theWallet.encrypt
options parameter to1 << 16
-- this value being a compromise between theweb3.js
default (very fast) and theethers
default (very secure). - Update
createAccountAndPasswordEncryptKey
to use this new constant
- Actually export the function that re-encrypts a private key.
getTransaction
no longer crashes if the user refreshes while a key purchase transaction is pending- moved
recoverAccountFromSignedData
toweb3Service
web3
-only version for tickets app- move signature verification from
walletService
toweb3Service
getAccountFromPrivateKey
now returns the entireWallet
, not just theSigningKey
- implemented
reEncryptPrivateKey
, which can be used to change the password an account is encrypted with. - Updates lock creation interface to support other backing contracts
- Modified recoverAccountFromSignedData to include callback API
- web3 branch for use with tickets app - do not use for other projects
- fix "submitted" state for transaction-based methods like
purchaseKey
inwalletService
- implement signature verification with
recoverAccountFromSignedData
inwalletService
(etherrs)
(legacy web3 release, for tickets app only)
- implement signature verification with
recoverAccountFromSignedData
inwalletService
- Add an esm build
getKeyByLockForOwner
returns the value as well as emitting- heavy dependencies on
unlock-abi-0*
are removed in favor of a compressed build of the contract abi and bytecode - unlock-js no longer has references to
XMLHttpRequest
and usesfetch
instead so that it can run in any context. It falls back toXMLHttpRequest
or nodehttp
iffetch
does not exist deploy
can now accept a contract version like'v02'
instead of the whole contract
- migrated from
web3
toethers
These are legacy and should not be installed.