Open
Conversation
all singularity-side wiring for DDO allocations, coded against the DDODealManager interface. path B (ddo-client SDK adapter) plugs in at merge time with no further plumbing changes. - DealTypeDDO constant, DDO fields on Deal model (allocation ID, rail ID, payment token) - DDODealManager + DDOAllocationTracker interfaces and value types - runDDOSchedule executor: SP validation, car batching with dedup, piece submission, payments, allocation creation, deal records - dispatch in runSchedule switched from if/else to explicit switch; removed inferScheduleDealType -- unknown deal types now error instead of silently guessing from provider address shape - WithDDO* options on DealPusher - DDO CLI flags on deal-pusher command (contract, payments, token, batch size, confirmation depth, poll interval, term bounds) - DDO validation on schedule create (requires URL template) - DDO activation tracking in deal tracker via GetAllocationInfo poll - DealTrackerOption pattern for injecting DDOAllocationTracker
## Summary - add a local DDO scheduling/tracking interface and concrete on-chain adapter backed by ddo-client - implement piece-granular payment setup, tx confirmation-depth polling, receipt event parsing, and allocation status reads - add focused adapter tests and record the new ddo-client dependency ## Testing - go test ./service/dealpusher ## Notes - upstream ddo-client still requires a raw private key for write clients, so this adapter currently enforces signer/address matching at runtime until signer-based constructors exist --------- Co-authored-by: Arkadiy Kukarkin <parkan@gmail.com>
Collaborator
Author
|
oops wires got a bit crossed, fixing |
- uncomment Path B wiring: instantiate OnChainDDO when --ddo-contract is set, validate DDO config, require --eth-rpc - move DDOAllocationStatus to model so dealpusher and dealtracker share the type without importing each other - remove dead ddoAllocTracker field and WithDDOAllocationTracker option from dealpusher (only dealtracker uses allocation tracking) - add mock-based tests for DDO schedule executor: happy path with allocation creation, inactive SP error, missing dependencies error, parseProviderActorID unit tests
dec2c16 to
7f90165
Compare
dcf8588 to
cbd64db
Compare
This file contains hidden or 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
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.
all singularity-side wiring for DDO allocations, coded against the
DDODealManager interface. path B (ddo-client SDK adapter) plugs in
at merge time with no further plumbing changes.
rail ID, payment token)
piece submission, payments, allocation creation, deal records
removed inferScheduleDealType -- unknown deal types now error
instead of silently guessing from provider address shape
batch size, confirmation depth, poll interval, term bounds)