@turnkey/ethers
Version:
Turnkey Signer for Ethers
1,006 lines (635 loc) • 19.1 kB
Markdown
# @turnkey/ethers
## 1.1.31
### Patch Changes
- Updated dependencies:
- @turnkey/sdk-browser@5.2.3
## 1.1.30
### Patch Changes
- Updated dependencies:
- @turnkey/sdk-browser@5.2.2
## 1.1.29
### Patch Changes
- [#665](https://github.com/tkhq/sdk/pull/665) [`be0a621`](https://github.com/tkhq/sdk/commit/be0a621fb962bd51d2df1a1e79f5260d7c696772) Author [@amircheikh](https://github.com/amircheikh) - Fix for `no runner registered` error when using mismatched versions of turnkey/http
- Updated dependencies [[`be0a621`](https://github.com/tkhq/sdk/commit/be0a621fb962bd51d2df1a1e79f5260d7c696772)]:
- @turnkey/http@3.4.2
- @turnkey/sdk-browser@5.2.1
- @turnkey/sdk-server@4.1.1
## 1.1.28
### Patch Changes
- Updated dependencies [[`5afbe51`](https://github.com/tkhq/sdk/commit/5afbe51949bdd1997fad083a4c1e4272ff7409dc), [`a38a6e3`](https://github.com/tkhq/sdk/commit/a38a6e36dc2bf9abdea64bc817d1cad95b8a289a), [`40c4035`](https://github.com/tkhq/sdk/commit/40c40359ec7096d0bca39ffc93e89361b3b11a1a), [`593de2d`](https://github.com/tkhq/sdk/commit/593de2d9404ec8cf53426f9cf832c13eefa3fbf2)]:
- @turnkey/sdk-browser@5.2.0
- @turnkey/sdk-server@4.1.0
- @turnkey/http@3.4.1
- @turnkey/api-key-stamper@0.4.6
## 1.1.27
### Patch Changes
- Updated dependencies [[`27fe590`](https://github.com/tkhq/sdk/commit/27fe590cdc3eb6a8cde093eeefda2ee1cdc79412)]:
- @turnkey/sdk-browser@5.1.0
- @turnkey/sdk-server@4.0.1
## 1.1.26
### Patch Changes
- Updated dependencies [[`07dfd33`](https://github.com/tkhq/sdk/commit/07dfd3397472687092e1c73b1d68714f421b9ca0), [`e8a5f1b`](https://github.com/tkhq/sdk/commit/e8a5f1b431623c4ff1cb85c6039464b328cf0e6a)]:
- @turnkey/sdk-browser@5.0.0
- @turnkey/sdk-server@4.0.0
- @turnkey/http@3.4.0
## 1.1.25
### Patch Changes
- Updated dependencies [25ca339]
- @turnkey/sdk-browser@4.3.0
- @turnkey/sdk-server@3.3.0
- @turnkey/http@3.3.0
## 1.1.24
### Patch Changes
- Updated dependencies [3f6e415]
- Updated dependencies [4d1d775]
- @turnkey/sdk-browser@4.2.0
- @turnkey/sdk-server@3.2.0
- @turnkey/http@3.2.0
- @turnkey/api-key-stamper@0.4.5
## 1.1.23
### Patch Changes
- Updated dependencies [3e4a482]
- @turnkey/sdk-browser@4.1.0
- @turnkey/sdk-server@3.1.0
- @turnkey/http@3.1.0
## 1.1.22
### Patch Changes
- Updated dependencies [7b72769]
- @turnkey/sdk-server@3.0.1
## 1.1.21
### Patch Changes
- Updated dependencies [e501690]
- Updated dependencies [d1083bd]
- Updated dependencies [f94d36e]
- @turnkey/sdk-browser@4.0.0
- @turnkey/sdk-server@3.0.0
- @turnkey/http@3.0.0
## 1.1.20
### Patch Changes
- Updated dependencies [bf87774]
- @turnkey/sdk-browser@3.1.0
## 1.1.19
### Patch Changes
- Updated dependencies [5ec5187]
- @turnkey/sdk-browser@3.0.1
- @turnkey/sdk-server@2.6.1
## 1.1.18
### Patch Changes
- Updated dependencies [0e4e959]
- Updated dependencies [856f449]
- Updated dependencies [c9ae537]
- Updated dependencies [d4ce5fa]
- Updated dependencies [ecdb29a]
- Updated dependencies [72890f5]
- @turnkey/sdk-browser@3.0.0
- @turnkey/sdk-server@2.6.0
- @turnkey/http@2.22.0
## 1.1.17
### Patch Changes
- Updated dependencies [93540e7]
- Updated dependencies [fdb8bf0]
- Updated dependencies [9147962]
- @turnkey/sdk-browser@2.0.0
- @turnkey/sdk-server@2.5.0
## 1.1.16
### Patch Changes
- Updated dependencies [233ae71]
- Updated dependencies [9317588]
- @turnkey/sdk-browser@1.16.0
- @turnkey/sdk-server@2.4.0
## 1.1.15
### Patch Changes
- Updated dependencies [56a307e]
- @turnkey/sdk-browser@1.15.0
- @turnkey/sdk-server@2.3.0
- @turnkey/http@2.21.0
## 1.1.14
### Patch Changes
- Updated dependencies [3c44c4a]
- Updated dependencies [bfc833f]
- @turnkey/sdk-browser@1.14.0
- @turnkey/sdk-server@2.2.0
- @turnkey/http@2.20.0
## 1.1.13
### Patch Changes
- Updated dependencies [69d2571]
- Updated dependencies [57f9cb0]
- @turnkey/sdk-browser@1.13.0
- @turnkey/sdk-server@2.1.0
- @turnkey/http@2.19.0
## 1.1.12
### Patch Changes
- Updated dependencies [755833b]
- @turnkey/sdk-browser@1.12.1
- @turnkey/sdk-server@2.0.1
## 1.1.11
### Patch Changes
- Updated dependencies [6695af2]
- Updated dependencies [1ebd4e2]
- @turnkey/sdk-browser@1.12.0
- @turnkey/sdk-server@2.0.0
- @turnkey/http@2.18.0
## 1.1.10
### Patch Changes
- Updated dependencies [053fbfb]
- @turnkey/sdk-browser@1.11.2
- @turnkey/sdk-server@1.7.3
- @turnkey/http@2.17.3
## 1.1.9
### Patch Changes
- Updated dependencies [328d6aa]
- Updated dependencies [b90947e]
- Updated dependencies [2d5977b]
- Updated dependencies [fad7c37]
- @turnkey/sdk-browser@1.11.1
- @turnkey/sdk-server@1.7.2
- @turnkey/api-key-stamper@0.4.4
- @turnkey/http@2.17.2
## 1.1.8
### Patch Changes
- Updated dependencies [7988bc1]
- Updated dependencies [538d4fc]
- Updated dependencies [12d5aaa]
- @turnkey/sdk-browser@1.11.0
- @turnkey/sdk-server@1.7.1
- @turnkey/http@2.17.1
## 1.1.7
### Patch Changes
- @turnkey/sdk-browser@1.10.2
## 1.1.6
### Patch Changes
- Updated dependencies [78bc39c]
- @turnkey/sdk-server@1.7.0
- @turnkey/http@2.17.0
- @turnkey/sdk-browser@1.10.1
## 1.1.5
### Patch Changes
- Updated dependencies [8bea78f]
- @turnkey/sdk-browser@1.10.0
## 1.1.4
### Patch Changes
- Updated dependencies [3dd74ac]
- Updated dependencies [1e36edf]
- Updated dependencies [4df8914]
- Updated dependencies [11a9e2f]
- @turnkey/sdk-browser@1.9.0
- @turnkey/sdk-server@1.6.0
- @turnkey/http@2.16.0
## 1.1.3
### Patch Changes
- Updated dependencies [9ebd062]
- @turnkey/sdk-browser@1.8.0
- @turnkey/sdk-server@1.5.0
- @turnkey/http@2.15.0
## 1.1.2
### Patch Changes
- Updated dependencies [abe7138]
- Updated dependencies [96d7f99]
- @turnkey/sdk-server@1.4.2
- @turnkey/sdk-browser@1.7.1
- @turnkey/http@2.14.2
- @turnkey/api-key-stamper@0.4.3
## 1.1.1
### Patch Changes
- Updated dependencies [ff059d5]
- Updated dependencies [ff059d5]
- @turnkey/sdk-browser@1.7.0
- @turnkey/sdk-server@1.4.1
- @turnkey/http@2.14.1
- @turnkey/api-key-stamper@0.4.2
## 1.1.0
### Minor Changes
- bdded80: Support awaiting consensus
- Add a few new helper functions:
- `serializeSignature` serializes a raw signature
### Patch Changes
- Updated dependencies [c988ed0]
- Updated dependencies [848f8d3]
- @turnkey/sdk-browser@1.6.0
- @turnkey/sdk-server@1.4.0
- @turnkey/http@2.14.0
## 1.0.21
### Patch Changes
- Updated dependencies [1813ed5]
- @turnkey/sdk-browser@1.5.0
## 1.0.20
### Patch Changes
- Updated dependencies [bab5393]
- Updated dependencies [a16073c]
- Updated dependencies [7e7d209]
- @turnkey/sdk-browser@1.4.0
## 1.0.19
### Patch Changes
- Updated dependencies [93dee46]
- @turnkey/http@2.13.0
- @turnkey/sdk-browser@1.3.0
- @turnkey/sdk-server@1.3.0
## 1.0.18
### Patch Changes
- Updated dependencies [e2f2e0b]
- @turnkey/sdk-browser@1.2.4
- @turnkey/sdk-server@1.2.4
- @turnkey/http@2.12.3
## 1.0.17
### Patch Changes
- Updated dependencies
- @turnkey/sdk-browser@1.2.3
- @turnkey/sdk-server@1.2.3
## 1.0.16
### Patch Changes
- Updated dependencies
- @turnkey/api-key-stamper@0.4.1
- @turnkey/http@2.12.2
- @turnkey/sdk-browser@1.2.2
- @turnkey/sdk-server@1.2.2
## 1.0.15
### Patch Changes
- Updated dependencies [f17a229]
- @turnkey/http@2.12.1
- @turnkey/sdk-browser@1.2.1
- @turnkey/sdk-server@1.2.1
## 1.0.14
### Patch Changes
- Updated dependencies
- @turnkey/http@2.12.0
- @turnkey/sdk-browser@1.2.0
- @turnkey/sdk-server@1.2.0
## 1.0.13
### Patch Changes
- Updated dependencies
- @turnkey/http@2.11.0
- @turnkey/sdk-browser@1.1.0
- @turnkey/sdk-server@1.1.0
## 1.0.12
### Patch Changes
- Updated dependencies
- @turnkey/sdk-browser@1.0.0
- @turnkey/sdk-server@1.0.0
## 1.0.11
### Patch Changes
- @turnkey/sdk-browser@0.4.1
## 1.0.10
### Patch Changes
- Updated dependencies [e4b29da]
- @turnkey/sdk-browser@0.4.0
## 1.0.9
### Patch Changes
- Updated dependencies [d409d81]
- @turnkey/sdk-browser@0.3.0
## 1.0.8
### Patch Changes
- @turnkey/sdk-browser@0.2.1
## 1.0.7
### Patch Changes
- Updated dependencies
- Updated dependencies [e4d2a84]
- @turnkey/sdk-browser@0.2.0
- @turnkey/sdk-server@0.2.0
## 1.0.6
### Patch Changes
- Updated dependencies
- @turnkey/sdk-browser@0.1.0
- @turnkey/sdk-server@0.1.0
## 1.0.5
### Patch Changes
- a6502e6: Add support for new Turnkey Client types
## 1.0.4
### Patch Changes
- Updated dependencies [7a9ce7a]
- @turnkey/http@2.10.0
## 1.0.3
### Patch Changes
- Updated dependencies
- @turnkey/http@2.9.1
## 1.0.2
### Patch Changes
- Updated dependencies [83b62b5]
- @turnkey/http@2.9.0
## 1.0.1
### Patch Changes
- Updated dependencies [46a7d90]
- @turnkey/http@2.8.0
## 1.0.0
### Major Changes
Updates @turnkey/ethers package and examples to use ethers v6. Refer to https://docs.ethers.org/v6/migrating for full migration instructions.
✨Summary of Changes✨
`getBalance` is no longer a method on the signer. It must be obtained via the provider instance.
Additionally, it requires an address to be passed in:
```
// before
const balance = await connectedSigner.getBalance();
// after
// first get the address
const address = await connectedSigner.getAddress()
// then pass it in
const balance = await connectedSigner.provider?.getBalance(address)
```
`getChainId` is no longer a method on the signer. It must be obtained via the network object on the provider instance:
```
// before
const chainId = await connectedSigner.getChainId();
// after
const chainId = (await connectedSigner.provider?.getNetwork())?.chainId;
```
`getTransactionCount` is no longer a method on the signer. It must be obtained via the provider instance.
Additionally, it requires an address to be passed in:
```
// before
const transactionCount = await connectedSigner.getTransactionCount();
// after
// first get the address
const address = await connectedSigner.getAddress()
// then pass it in
const transactionCount = await connectedSigner.provider?.getTransactionCount(address);
```
`getFeeData` is no longer a method on the signer. It must be obtained via the provider instance:
```
// before
const feeData = await connectedSigner.getFeeData();
// after
const feeData = await connectedSigner.provider?.getFeeData();
```
BigNumber -> bigint: numerical values such as, chainId, fee data, balance now use new ES6 primitive `bigint` instead of `BigNumber`.
For example, when checking if the balance is `0`, `bigint` must now be used for comparison:
```
// before
if (balance.isZero()) {...}
// after
if (balance === 0n) {...}
```
## 0.19.9
### Patch Changes
- Updated dependencies
- @turnkey/http@2.7.1
## 0.19.8
### Patch Changes
- Updated dependencies ([c3b423b], [d73725b])
- @turnkey/api-key-stamper@0.4.0
- @turnkey/http@2.7.0
## 0.19.7
### Patch Changes
- Updated dependencies [f9d636c]
- @turnkey/http@2.6.2
## 0.19.6
### Patch Changes
- Updated dependencies [52e2389]
- @turnkey/http@2.6.1
## 0.19.5
### Patch Changes
- Updated dependencies [7a3c890]
- @turnkey/http@2.6.0
## 0.19.4
### Patch Changes
- Upgrade to Node v18 (#184)
- Updated dependencies
- @turnkey/api-key-stamper@0.3.1
- @turnkey/http@2.5.1
## 0.19.3
### Patch Changes
- Updated dependencies [464ac0e]
- @turnkey/http@2.5.0
## 0.19.2
### Patch Changes
- @turnkey/http@2.4.2
## 0.19.1
### Patch Changes
- Updated dependencies [f87ced8]
- @turnkey/http@2.4.1
## 0.19.0
### Minor Changes
- Use rollup to build ESM and CommonJS, fix ESM support (#174)
### Patch Changes
- Updated dependencies [fc5b291]
- @turnkey/api-key-stamper@0.3.0
- @turnkey/http@2.4.0
## 0.18.3
### Patch Changes
- Updated dependencies
- @turnkey/api-key-stamper@0.3.0
- @turnkey/http@2.3.1
## 0.18.2
### Patch Changes
- Updated dependencies [f1bd68a]
- @turnkey/http@2.3.0
## 0.18.1
### Patch Changes
- Updated dependencies [ed50a0f]
- Updated dependencies
- @turnkey/http@2.2.0
## 0.18.0
### Minor Changes
- cf8631a: Update interface to support `signWith`
This change supports signing with wallet account addresses, private key addresses, or private key IDs. See below for an example:
```js
const turnkeyClient = new TurnkeyClient(
{
baseUrl: "https://api.turnkey.com",
},
// This uses API key credentials.
// If you're using passkeys, use `@turnkey/webauthn-stamper` to collect webauthn signatures:
// new WebauthnStamper({...options...})
new ApiKeyStamper({
apiPublicKey: "...",
apiPrivateKey: "...",
}),
);
// Initialize a Turnkey Signer
const turnkeySigner = new TurnkeySigner({
client: turnkeyClient,
organizationId: "...",
signWith: "...",
});
```
## 0.17.4
### Patch Changes
- Updated dependencies [bb6ea0b]
- @turnkey/http@2.1.0
## 0.17.3
### Patch Changes
- Updated dependencies
- @turnkey/http@2.0.0
- Updated the shape of signing
## 0.17.2
### Patch Changes
- Updated dependencies
- @turnkey/http@1.3.0
## 0.17.1
### Patch Changes
- Update documentation as follows:
- ebf87a9: This breaking change adds support for stampers (@turnkey/api-key-stamper / @turnkey/webauthn-stamper) to integrate with API keys or passkeys, bringing it to parity with our [Viem](https://github.com/tkhq/sdk/tree/main/packages/viem) package. See the following examples for sample usage:
- [with-ethers](https://github.com/tkhq/sdk/tree/main/examples/with-ethers): updated to use `@turnkey/api-key-stamper`
- [with-ethers-and-passkeys](https://github.com/tkhq/sdk/tree/main/examples/with-ethers-and-passkeys): demonstrates usage of `@turnkey/webauthn-stamper`
## 0.17.0
### Minor Changes
- Add support for stampers (@turnkey/api-key-stamper / @turnkey/webauthn-stamper) to integrate with API keys or passkeys.
## 0.16.8
### Patch Changes
- Updated dependencies
- @turnkey/http@1.2.0
## 0.16.7
### Patch Changes
- @turnkey/http@1.1.1
## 0.16.6
### Patch Changes
- Updated dependencies
- @turnkey/http@1.1.0
## 0.16.5
### Patch Changes
- Updated dependencies [8d1d0e8]
- @turnkey/http@1.0.1
## 0.16.4
### Patch Changes
- 46473ec: This breaking change updates generated code to be shorter and more intuitive to read:
- generated fetchers do not include the HTTP method in their name. For example `useGetGetActivity` is now `useGetActivity`, and `usePostSignTransaction` is `useSignTransaction`.
- input types follow the same convention (no HTTP method in the name): `TPostCreatePrivateKeysInput` is now `TCreatePrivateKeysInput`.
- the "federated" request helpers introduced in `0.18.0` are now named "signed" requests to better reflect what they are. `FederatedRequest` is now `SignedRequest`, and generated types follow. For example: `federatedPostCreatePrivateKeys` is now `signCreatePrivateKeys`, `federatedGetGetActivity` is now `signGetActivity`, and so on.
The name updates should be automatically suggested if you use VSCode since the new names are simply shorter versions of the old one.
- Updated dependencies [46473ec]
- Updated dependencies [38b424f]
- @turnkey/http@1.0.0
## 0.16.3
### Patch Changes
- Updated dependencies
- @turnkey/http@0.18.1
## 0.16.2
### Patch Changes
- Updated dependencies
- @turnkey/http@0.18.0
## 0.16.1
### Patch Changes
- Updated dependencies
- @turnkey/http@0.17.1
## 0.16.0
### Minor Changes
- No public facing changes
### Patch Changes
- Updated dependencies [9317f51]
- @turnkey/http@0.17.0
## 0.15.0
### Minor Changes
- No public facing changes
### Patch Changes
- Updated dependencies
- @turnkey/http@0.16.0
- Fix `.postGetPrivateKey(...)`'s underlying path, while adding `@deprecated` `.postGetPrivateKeyBackwardsCompat(...)` for backward compatibility
## 0.14.1
### Patch Changes
- Updated dependencies
- @turnkey/http@0.15.0
## 0.14.0
### Minor Changes
- `signTransaction(...)` now verifies and drops `tx.from` if present
- This mimics the behavior of ethers' Wallet [implementation](https://github.com/ethers-io/ethers.js/blob/f97b92bbb1bde22fcc44100af78d7f31602863ab/packages/wallet/src.ts/index.ts#L117-L121)
### Patch Changes
- Updated dependencies
- @turnkey/http@0.14.0
## 0.13.2
### Patch Changes
- New `TurnkeyRequestError` error class that contains rich error details
- Updated dependencies
- @turnkey/http@0.13.2
## 0.13.1
### Patch Changes
- Error messages now contain Turnkey-specific error details
- Updated dependencies
- @turnkey/http@0.13.1
## 0.13.0
### Minor Changes
- No public facing changes
### Patch Changes
- Updated dependencies
- @turnkey/http@0.13.0
## 0.12.0
### Minor Changes
- Error messages now contain Turnkey-specific error code and message
### Patch Changes
- Updated dependencies
- @turnkey/http@0.12.0
## 0.11.0
### Minor Changes
- `TurnkeySigner` now conforms to ethers' `TypedDataSigner` interface
### Patch Changes
- Updated dependencies
- @turnkey/http@0.11.0
## 0.10.0
### Minor Changes
- Added EIP-712 support for signing typed data to Ethers.
- Update Gnosis example to make use of new signing functionality.
### Patch Changes
- Updated dependencies
- @turnkey/http@0.10.0
## 0.9.0
### Minor Changes
- Improved support for React Native runtime (https://github.com/tkhq/sdk/pull/37)
### Patch Changes
- Updated dependencies
- @turnkey/http@0.9.0
## 0.8.1
### Patch Changes
- Switched from `undici` to `cross-fetch` to improve bundler compatibility
- Updated dependencies
- @turnkey/http@0.8.1
## 0.8.0
### Minor Changes
- Added browser runtime support — `@turnkey/ethers` is now a universal (isomorphic) package
- Dropped support for Node.js v14; we recommend using Node v18+
### Patch Changes
- Updated dependencies
- @turnkey/http@0.8.0
## 0.7.0
### Minor Changes
- No public facing changes
### Patch Changes
- Updated dependencies
- @turnkey/http@0.7.0
## 0.6.0
### Minor Changes
- `#signMessage(...)`: move encoding and hashing logic to client side, `eth_sign` style
### Patch Changes
- Updated dependencies
- @turnkey/http@0.6.0
## 0.5.0
### Minor Changes
- Arbitrary message signing
### Patch Changes
- Updated dependencies
- @turnkey/http@0.5.0
## 0.4.0
### Minor Changes
- `timestamp` -> `timestampMs`
### Patch Changes
- Updated dependencies
- @turnkey/http@0.4.0
## 0.3.1
### Patch Changes
- Fix outdated artifact
- Updated dependencies
- @turnkey/http@0.3.1
## 0.3.0
### Minor Changes
- `keyId` -> `privateKeyId` everywhere
### Patch Changes
- Updated dependencies
- @turnkey/http@0.3.0
## 0.2.0
### Minor Changes
- Change parameter from `keyId` to `privateKeyId`
- Bump API version to latest Beta
### Patch Changes
- Updated dependencies
- @turnkey/http@0.2.0
## 0.1.3
### Patch Changes
- Support runtime config for credentials
- Updated dependencies
- @turnkey/http@0.1.3
## 0.1.2
### Patch Changes
- Drop internal dev dependency
- Updated dependencies
- @turnkey/http@0.1.2
## 0.1.1
### Patch Changes
- Initial release
- Updated dependencies
- @turnkey/http@0.1.1