-
Notifications
You must be signed in to change notification settings - Fork 51
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
Blockfrost Implementation #1260
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…y of multiple backends. Remove dead code
…mSpec into Ctl.Internal.Wallet.Spec
… contract to implement fetching erasummaries
jy14898
changed the title
WIP: Make
Make Dec 7, 2022
Contract
query backend configurableContract
query backend configurable
jy14898
requested review from
klntsky,
amirmrad,
bradley-heather,
kirill-havryliuk,
pb99u069,
rynoV,
uhbif19,
zmrocze and
Luis-omega
December 7, 2022 15:05
…t-runner-interface Add Blockfrost test runner interface
- Made getPoolParameters explictly Ogmios-only - Added ability to provide Blockfrost API key via localStorage in the browser - Reorganized UtxoDistribution-related modules (finally untied everything from Plutip
confirmation by UTxOs in Blockfrost
- exit early if no funds left - suggest skipping wallet funds redistribution if possible Improve docs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1119
Closes #734
Closes #1234
Includes #1364: Some tests for
getTxMetadata
,getScriptByHash
, andgetScriptsByHashes
Includes #1371: Framework for implementing Blockfrost queries
Includes #1385: Foundation for generating Blockfrost fixtures
Includes #1368:
getTxMetadata
andisTxConfirmed
queriesIncludes #1378:
getDatumByHash
andgetScriptByHash
queriesIncludes #1366:
utxosAt
andgetUtxoByOref
queriesIncludes #1372:
getProtocolParameters
andgetCurrentEpoch
queriesIncludes #1376:
submitTx
andevaluateTx
queriesIncludes #1377:
getChainTip
,getEraSummaries
, andgetSystemStart
queriesIncludes #1389: Revised Contract testing utilities
Includes #1401: Various fixes, bring back
submitE
, trace log blockfrost requestsincludes #1412: Introduce
confirmTxDelay
to smooth over issues with Blockfrost APINotable changes:
getTxByHash is currently CTLBackend only. Will be removed when Kupo replaces ODC fully.Actually this PR uses kupo for isTxConfirmed, so we can do so now. But I'm not sure I trust the implementation at the moment (tracked in Can't use Kupo to confirm Txs with no outputs #1293)getTxByHash
has been removed, andgetTxMetadata
has been added. This, as well as utxo, datum and script lookup, should cover all cases needed for getting a full transaction.KeyWallet now receives a networkId on construction (for Contract based construction, this is asked)It makes no sense to re-use a wallet for multiple networks, and this simplifies implementationmkKeyWalletFromFiles/PrivateKeys is now in Contract and returns a KeyWallet instead of WalletRemovedReaddedsubmitE
- submission is only in maybe internally.ProtocolParameters
,EraSummaries
,Epoch
, andSystemStart
toCtl.Internal.Types
ClientError
toCtl.Internal.Service.Error
Remaining issues:
ContractEnv/QueryHandle mention Ogmios types.Not a huge issue, but conceptually a bit odd.ProtocolParameters (and EraSummaries) should ideally be placed in Cardano.Types. One issue is the Epoch type, which already exists in Cardano.Types.Transaction. The underlying representations are different however.One problem with ProtocolParameters and EraSummaries, is the responses are different between Ogmios and Blockfrost, but I think only by camel case vs snake case. I don't think this is the case for tx evaluation though, which is explicitly implemented via ogmios by all backends.Similar to other types, ClientError is defined by QueryM yet is used in ContractThere's an issue with log supression in the Plutip testsPre-review checklist
make format
)## Unreleased
header, using the appropriate sub-headings (### Added
,### Removed
,### Fixed
), and the links to the appropriate issues/PRs have been included