@agoric/fast-usdc 0.1.1-dev-db6d589.0 → 0.1.1-dev-47470c7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,101 +1,27 @@
1
1
  # Fast USDC
2
2
 
3
- Development package for the Fast USDC product.
4
- Here in agoric-sdk as a convenience for integration testing and iterating on the SDK affordances required for the product.
3
+ Development package for the Fast USDC product. Here in agoric-sdk as a
4
+ convenience for integration testing and iterating on the SDK affordances
5
+ required for the product.
5
6
 
6
7
  # Factoring
7
8
 
8
- This package is meant to contain all the code for the Fast USDC product. However there are some constraints:
9
+ This package is meant to contain all the code for the Fast USDC product.
10
+ However, there are some constraints:
9
11
 
10
- - a3p integration tests are in the `a3p-integration` top-level package, separate from this workspace
11
- - the proposal builders are in `@agoric/builders` to work with the a3p-integration `build:submissions` script
12
- - the RunUtils tests are in `@aglocal/boot` to test running them atop a fresh bootstrapped environment
12
+ - a3p integration tests are in the `a3p-integration` top-level package, separate
13
+ from this workspace
14
+ - the proposal builders are in `@agoric/builders` to work with the
15
+ a3p-integration `build:submissions` script
16
+ - the RunUtils tests are in `@aglocal/boot` to test running them atop a fresh
17
+ bootstrapped environment
13
18
 
14
19
  Over time we can update our tooling to decouple this more from the `packages` directory.
15
20
 
16
- 1. Make a3p-integration `build:submissions` script work with arbitrary builder paths, allowing this to be above `@agoric/builders` in the package graph
17
- 2. Export bootstrap testing utilities from `@aglocal/boot`, allowing this to be above `@aglocal/boot` in the package graph
18
- 3. Update CI to support packages that aren't under `packages/`, eg. a top-level `dapps` directory
21
+ 1. Make a3p-integration `build:submissions` script work with arbitrary builder
22
+ paths, allowing this to be above `@agoric/builders` in the package graph
23
+ 2. Export bootstrap testing utilities from `@aglocal/boot`, allowing this to be
24
+ above `@aglocal/boot` in the package graph
25
+ 3. Update CI to support packages that aren't under `packages/`, eg. a top-level
26
+ `dapps` directory
19
27
  4. Move this package out of agoric-sdk
20
-
21
- # Transaction feed
22
-
23
- ## Oracles interface
24
-
25
- Oracles run off-chain and interact with the contract via an Agoric smart wallet bridge.
26
- ```mermaid
27
- sequenceDiagram
28
- title Becoming an oracle operator
29
- participant OW as Operator N<br/>Smart Wallet
30
- participant FUC as Fast USDC<br/>Contract Exo
31
- participant CE as Core Eval
32
-
33
- CE->>FUC: makeOperatorInvitation()
34
- FUC-->>CE: operatorInvitation
35
- CE->>+OW: deposit(operatorInvitation)
36
-
37
- Note left of FUC: Off-chain wallet accepts the operator invitation
38
-
39
- OW->>+FUC: offer(operatorInvitation)
40
- FUC-->>OW: operator invitationMakers: {SubmitEvidence}
41
-
42
- Note left of FUC: Off-chain watcher detects evidence
43
- OW->>+FUC: offer(SubmitEvidence, evidence)
44
- ```
45
-
46
- ```mermaid
47
- sequenceDiagram
48
- title Receiving evidence
49
- participant W as Operator N<br/>Smart Wallet
50
- participant A as Operator N<br/>Admin Oexo
51
- participant TF as Transaction<br/>Feed
52
-
53
- W->>A: offer(SubmitEvidence, evidence)
54
-
55
- Note left of A: Once 3 operators push the same…
56
-
57
- A->>TF: notify(evidence)
58
- ```
59
-
60
- # Status Manager
61
-
62
- ### Pending Advance State Diagram
63
-
64
- *Transactions are qualified by the OCW and EventFeed before arriving to the Advancer.*
65
-
66
- ```mermaid
67
- stateDiagram-v2
68
- [*] --> Observed: observe()
69
- [*] --> Advancing: advancing()
70
-
71
- Advancing --> Advanced: advanceOutcome(...true)
72
- Advancing --> AdvanceFailed: advanceOutcome(...false)
73
-
74
- Observed --> [*]: dequeueStatus()
75
- Advanced --> [*]: dequeueStatus()
76
- AdvanceFailed --> [*]: dequeueStatus()
77
-
78
- note right of [*]
79
- After dequeueStatus():
80
- Transaction is removed
81
- from pendingTxs store.
82
- Settler will .disburse()
83
- or .forward()
84
- end note
85
- ```
86
-
87
- ### Complete state diagram (starting from Transaction Feed into Advancer)
88
-
89
- ```mermaid
90
- stateDiagram-v2
91
- Observed --> AdvanceSkipped : Risks identified
92
- Observed --> Advancing : No risks, can advance
93
- Observed --> Forwarding : No risks, Mint deposited before advance
94
- Forwarding --> Forwarded
95
- Advancing --> Advanced
96
- Advanced --> Disbursed
97
- AdvanceSkipped --> Forwarding : Mint deposited
98
- AdvanceFailed --> Forwarding : Mint deposited
99
- Advancing --> AdvanceFailed
100
- Forwarding --> ForwardFailed
101
- ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/fast-usdc",
3
- "version": "0.1.1-dev-db6d589.0+db6d589",
3
+ "version": "0.1.1-dev-47470c7.0+47470c7",
4
4
  "description": "CLI and library for Fast USDC product",
5
5
  "type": "module",
6
6
  "files": [
@@ -29,13 +29,13 @@
29
29
  "ts-blank-space": "^0.4.4"
30
30
  },
31
31
  "dependencies": {
32
- "@agoric/client-utils": "0.1.1-dev-db6d589.0+db6d589",
33
- "@agoric/cosmic-proto": "0.4.1-dev-db6d589.0+db6d589",
34
- "@agoric/ertp": "0.16.3-dev-db6d589.0+db6d589",
35
- "@agoric/internal": "0.3.3-dev-db6d589.0+db6d589",
36
- "@agoric/notifier": "0.6.3-dev-db6d589.0+db6d589",
37
- "@agoric/orchestration": "0.1.1-dev-db6d589.0+db6d589",
38
- "@agoric/zoe": "0.26.3-dev-db6d589.0+db6d589",
32
+ "@agoric/client-utils": "0.1.1-dev-47470c7.0+47470c7",
33
+ "@agoric/cosmic-proto": "0.4.1-dev-47470c7.0+47470c7",
34
+ "@agoric/ertp": "0.16.3-dev-47470c7.0+47470c7",
35
+ "@agoric/internal": "0.3.3-dev-47470c7.0+47470c7",
36
+ "@agoric/notifier": "0.6.3-dev-47470c7.0+47470c7",
37
+ "@agoric/orchestration": "0.1.1-dev-47470c7.0+47470c7",
38
+ "@agoric/zoe": "0.26.3-dev-47470c7.0+47470c7",
39
39
  "@cosmjs/proto-signing": "^0.33.0",
40
40
  "@cosmjs/stargate": "^0.33.0",
41
41
  "@endo/base64": "^1.0.9",
@@ -75,5 +75,5 @@
75
75
  "publishConfig": {
76
76
  "access": "public"
77
77
  },
78
- "gitHead": "db6d58920be363874b45206b746e838043dfe179"
78
+ "gitHead": "47470c7d3999c1222677244ed29ce6fc60c7766f"
79
79
  }
package/src/constants.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Status values for FastUSDC.
2
+ * Status values for FastUSDC. Includes states for advancing and settling.
3
3
  *
4
4
  * @enum {(typeof TxStatus)[keyof typeof TxStatus]}
5
5
  */
@@ -31,7 +31,7 @@ export const TerminalTxStatus = {
31
31
  };
32
32
 
33
33
  /**
34
- * Status values for the StatusManager.
34
+ * Status values for the StatusManager while an advance is being processed.
35
35
  *
36
36
  * @enum {(typeof PendingTxStatus)[keyof typeof PendingTxStatus]}
37
37
  */