Releases: immutability-io/vault-ethereum
Enforce CIDR restrictions for all endpoints
The convert endpoint was not enforcing CIDR restrictions.
Correct bad build for linux
v0.2.1 had a bad build for linux. This was corrected.
Allow signing without sending
A feature was requested that the plugin be able to sign transactions. Since this capability already existed in the context of debit, contract deploy, and erc20 transfer operations, it was thought to extend these features by adding a flag that can inhibit the sending of the transaction. In any case, the signed transaction is returned.
Move contract deployment to a new path
Description
Moved contract deployment to a different path.
- Previous path:
<mount>/accounts/<name>/contracts
- New path:
<mount>/deploy/<name>/contracts
Motivation and Context
We want to allow easy creation of Ethereum accounts (EOA). This means a policy like:
path "ethereum/mainnet/accounts/*" {
capabilities = [ "create", “read" ]
}
This allows anyone to create an account (private key) by name. It does not allow anyone to spend anything. This means that contract deployment can't be under accounts - because the above policy would allow anyone to deploy a contract using anyone else's account. So we move contract deployment to a separate path and permissions are granted on an account-by-account basis.
path "ethereum/mainnet/deploy/bob/contracts/*" {
capabilities = [ "create", “read" ]
}
Add Coinmarketcap API support
- - For balances and amounts debited on the the mainnet we display the estimated exchange value in USD.
- - Add ability to convert ethereum units to and from USD.
Major Refactor
└── <MOUNT>
(install)
├── config
(create, update, read)
├── accounts
(list)
│ ├── <NAME>
(create, update, read, delete)
│ │ ├── debit
(update)
│ │ ├── contracts
(list)
│ │ │ └── <NAME>
(create, read, delete)
│ │ ├── sign
(update)
│ │ ├── transfer
(update)
│ │ └── verify
(update)
├── addresses
(list)
│ └── <ADDRESS>
(read)
│ └── verify
(update)
├── block
│ └── <NUMBER>
(read)
│ └── transactions
(read)
├── convert
(update)
├── export
│ └── <NAME>
(create)
├── import
│ └── <NAME>
(create)
├── names
(list)
│ └── <NAME>
(read)
│ └── verify
(update)
└── transaction
└── <TRANSACTION_HASH>
(read)
Release for Go-Ethereum 1.8.1 (Iceberg)
This release refactors Ethereum client handling a bit - to reuse the calling context. Also, we align with the new GasLimit and GasUsed types - uint64 instead of *big.Int. This was a breaking API change.
We use EstimateGas
and SuggestGasPrice
as defaults for sending ETH.
The El-Segundo Release
Added features include:
- Signature verification
- Whitelists for Sending ETH
- Blacklists for Sending ETH
Path changes to make things a bit simpler and cleaner.
Added BATS tests.
Use ioutil.TempDir
On MacOS the /tmp directory is a link to /private/tmp and owned by root. If vault is not running as root, this causes errors. So we use ioutil.TempDir
This plugin provides services to:
- Create new externally controlled accounts (using a provided passphrase or a generated one.)
- Import JSON keystores (with provided passphrase.)
- Export JSON keystores
- Sign transactions for contract deployment
- Sign arbitrary data
- Send Ethereum
- Deploy contracts
Verify the signature
$ keybase pgp verify -d SHA256SUMS.sig -i SHA256SUMS
Signature verified. Signed by immutability 9 seconds ago (2017-12-22 11:36:57 -0500 EST).
PGP Fingerprint: cf34990c53ef89590b5a3ce9c231201442e3a134.
Initial release of Vault Ethereum plugin
This plugin provides services to:
- Create new externally controlled accounts (using a provided passphrase or a generated one.)
- Import JSON keystores (with provided passphrase.)
- Export JSON keystores
- Sign transactions for contract deployment
- Sign arbitrary data
- Send Ethereum
- Deploy contracts
Verify the signature
$ keybase pgp verify -d SHA256SUMS.sig -i SHA256SUMS
Signature verified. Signed by immutability 23 seconds ago (2017-12-21 19:05:49 -0500 EST).
PGP Fingerprint: cf34990c53ef89590b5a3ce9c231201442e3a134.