@agoric/vats 0.15.2-dev-e193e66.0 → 0.15.2-dev-0960242.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/package.json +17 -17
- package/src/transfer.d.ts.map +1 -1
- package/src/transfer.js +44 -41
- package/src/vat-transfer.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/vats",
|
|
3
|
-
"version": "0.15.2-dev-
|
|
3
|
+
"version": "0.15.2-dev-0960242.0+0960242",
|
|
4
4
|
"description": "Agoric's Vat library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -22,20 +22,20 @@
|
|
|
22
22
|
"author": "Agoric",
|
|
23
23
|
"license": "Apache-2.0",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agoric/assert": "0.6.1-dev-
|
|
26
|
-
"@agoric/cosmic-proto": "0.4.1-dev-
|
|
27
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
28
|
-
"@agoric/governance": "0.10.4-dev-
|
|
29
|
-
"@agoric/internal": "0.3.3-dev-
|
|
30
|
-
"@agoric/network": "0.1.1-dev-
|
|
31
|
-
"@agoric/notifier": "0.6.3-dev-
|
|
32
|
-
"@agoric/store": "0.9.3-dev-
|
|
33
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
34
|
-
"@agoric/time": "0.3.3-dev-
|
|
35
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
36
|
-
"@agoric/vow": "0.1.1-dev-
|
|
37
|
-
"@agoric/zoe": "0.26.3-dev-
|
|
38
|
-
"@agoric/zone": "0.2.3-dev-
|
|
25
|
+
"@agoric/assert": "0.6.1-dev-0960242.0+0960242",
|
|
26
|
+
"@agoric/cosmic-proto": "0.4.1-dev-0960242.0+0960242",
|
|
27
|
+
"@agoric/ertp": "0.16.3-dev-0960242.0+0960242",
|
|
28
|
+
"@agoric/governance": "0.10.4-dev-0960242.0+0960242",
|
|
29
|
+
"@agoric/internal": "0.3.3-dev-0960242.0+0960242",
|
|
30
|
+
"@agoric/network": "0.1.1-dev-0960242.0+0960242",
|
|
31
|
+
"@agoric/notifier": "0.6.3-dev-0960242.0+0960242",
|
|
32
|
+
"@agoric/store": "0.9.3-dev-0960242.0+0960242",
|
|
33
|
+
"@agoric/swingset-vat": "0.32.3-dev-0960242.0+0960242",
|
|
34
|
+
"@agoric/time": "0.3.3-dev-0960242.0+0960242",
|
|
35
|
+
"@agoric/vat-data": "0.5.3-dev-0960242.0+0960242",
|
|
36
|
+
"@agoric/vow": "0.1.1-dev-0960242.0+0960242",
|
|
37
|
+
"@agoric/zoe": "0.26.3-dev-0960242.0+0960242",
|
|
38
|
+
"@agoric/zone": "0.2.3-dev-0960242.0+0960242",
|
|
39
39
|
"@endo/far": "^1.1.2",
|
|
40
40
|
"@endo/import-bundle": "^1.1.2",
|
|
41
41
|
"@endo/marshal": "^1.5.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"jessie.js": "^0.3.4"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
49
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-0960242.0+0960242",
|
|
50
50
|
"@endo/bundle-source": "^3.2.3",
|
|
51
51
|
"@endo/init": "^1.1.2",
|
|
52
52
|
"ava": "^5.3.0",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"typeCoverage": {
|
|
79
79
|
"atLeast": 91.21
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "0960242c177d356d2b4c56b589d89ef2b64e2760"
|
|
82
82
|
}
|
package/src/transfer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["transfer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["transfer.js"],"names":[],"mappings":"AAoQO,2CAHI,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;;;YArDjC;;eAEG;kCADQ,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;YAUnD;;;;;;eAMG;gCAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAwD/C;;;;;eAKG;sCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAmE/C;;;;;eAKG;kCAFQ,MAAM;;;;;;;;;;;0CArBhB,SAAQ;4CAuCoC,SACjD;;;;EAWH;mCArGU,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;oCAiFzC,UAAU,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;iCAC3D,qBAAqB,CAAC,oBAAoB,CAAC;+BAlPjB,oBAAoB;gCAApB,oBAAoB;AA6J5D;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACH,oDAHW,OAAO,mBAAmB,EAAE,IAAI,2BAChC,UAAU,CAAC,OAAO,0BAA0B,CAAC;;QAgBhD;;WAEG;8BADQ,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;QAUnD;;;;;;WAMG;4BAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAwD/C;;;;;WAKG;kCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAmE/C;;;;;WAKG;8BAFQ,MAAM;;GAUtB;AArOH;;;GAGG;AACH,kDAHW,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;;GA0HxC"}
|
package/src/transfer.js
CHANGED
|
@@ -31,13 +31,13 @@ const prepareTransferInterceptor = (zone, vowTools) => {
|
|
|
31
31
|
'TransferInterceptorKit',
|
|
32
32
|
{
|
|
33
33
|
public: TargetAppI,
|
|
34
|
-
|
|
34
|
+
ackSender: M.interface('AckSender', {
|
|
35
35
|
onFulfilled: ReactionGuard,
|
|
36
36
|
}),
|
|
37
|
-
|
|
37
|
+
nackSender: M.interface('NackSender', {
|
|
38
38
|
onRejected: ReactionGuard,
|
|
39
39
|
}),
|
|
40
|
-
|
|
40
|
+
errorLogger: M.interface('ErrorLogger', {
|
|
41
41
|
onRejected: ReactionGuard,
|
|
42
42
|
}),
|
|
43
43
|
},
|
|
@@ -55,7 +55,7 @@ const prepareTransferInterceptor = (zone, vowTools) => {
|
|
|
55
55
|
{
|
|
56
56
|
public: {
|
|
57
57
|
async receiveUpcall(obj) {
|
|
58
|
-
const { isActiveTap, tap
|
|
58
|
+
const { isActiveTap, tap } = this.state;
|
|
59
59
|
|
|
60
60
|
obj.type === VTRANSFER_IBC_EVENT ||
|
|
61
61
|
Fail`Invalid upcall argument type ${obj.type}; expected ${bare(VTRANSFER_IBC_EVENT)}`;
|
|
@@ -67,64 +67,67 @@ const prepareTransferInterceptor = (zone, vowTools) => {
|
|
|
67
67
|
|
|
68
68
|
// See if the upcall result needs special handling.
|
|
69
69
|
if (obj.event === 'writeAcknowledgement') {
|
|
70
|
-
|
|
70
|
+
// Respond with the ack (or an active tap's replacement thereof).
|
|
71
|
+
const response = {
|
|
71
72
|
type: 'IBC_METHOD',
|
|
72
73
|
method: 'receiveExecuted',
|
|
73
74
|
packet: obj.packet,
|
|
75
|
+
ack: obj.acknowledgement,
|
|
74
76
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
retP = watch(retP, this.facets.
|
|
77
|
+
const senderContext = { response, isActiveTap };
|
|
78
|
+
// An active tap must wait for the upcall result,
|
|
79
|
+
// but a passive tap can proceed immediately.
|
|
80
|
+
retP = isActiveTap
|
|
81
|
+
? watch(retP, this.facets.ackSender, senderContext)
|
|
82
|
+
: /** @type {any} */ (
|
|
83
|
+
E(this.facets.ackSender).onFulfilled(undefined, senderContext)
|
|
84
|
+
);
|
|
85
|
+
// Upon failure, respond with an error acknowledgement.
|
|
86
|
+
retP = watch(retP, this.facets.nackSender, { response });
|
|
85
87
|
}
|
|
86
88
|
|
|
87
|
-
//
|
|
88
|
-
retP = watch(retP, this.facets.
|
|
89
|
+
// Always log errors.
|
|
90
|
+
retP = watch(retP, this.facets.errorLogger, { obj });
|
|
89
91
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Otherwise, passively return nothing.
|
|
92
|
+
// For an active tap, return a promise/vow to delay middleware
|
|
93
|
+
// until final settlement.
|
|
94
|
+
// For a passive tap, return undefined to skip such delays.
|
|
95
|
+
return isActiveTap ? retP : undefined;
|
|
97
96
|
},
|
|
98
97
|
},
|
|
99
98
|
/**
|
|
100
|
-
*
|
|
101
|
-
* `writeAcknowledgement` tap as base64, then sending down to the
|
|
102
|
-
* targetHost.
|
|
99
|
+
* A watcher for sending acknowledgements down to the host.
|
|
103
100
|
*/
|
|
104
|
-
|
|
105
|
-
onFulfilled(rawAck, {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
101
|
+
ackSender: {
|
|
102
|
+
onFulfilled(rawAck, { response, isActiveTap }) {
|
|
103
|
+
if (isActiveTap) {
|
|
104
|
+
// Incorporate an active tap's replacement ack.
|
|
105
|
+
const ack = byteSourceToBase64(coerceToByteSource(rawAck));
|
|
106
|
+
response = { ...response, ack };
|
|
107
|
+
}
|
|
108
|
+
return E(this.state.targetHost).sendDowncall(response);
|
|
110
109
|
},
|
|
111
110
|
},
|
|
111
|
+
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
114
|
-
* reifying it as an error acknowledgement.
|
|
113
|
+
* A watcher for sending error acknowledgements down to the host.
|
|
115
114
|
*/
|
|
116
|
-
|
|
117
|
-
onRejected(error, {
|
|
115
|
+
nackSender: {
|
|
116
|
+
onRejected(error, { response }) {
|
|
118
117
|
console.error(`Error sending ack:`, error);
|
|
119
118
|
const rawAck = JSON.stringify({ error: error.message });
|
|
120
|
-
|
|
121
|
-
return E(this.state.targetHost).sendDowncall(
|
|
119
|
+
const nack = { ...response, ack: byteSourceToBase64(rawAck) };
|
|
120
|
+
return E(this.state.targetHost).sendDowncall(nack);
|
|
122
121
|
},
|
|
123
122
|
},
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* A watcher for logging errors.
|
|
126
|
+
*/
|
|
127
|
+
errorLogger: {
|
|
126
128
|
onRejected(error, { obj }) {
|
|
127
129
|
console.error(`Error in handling of`, obj, error);
|
|
130
|
+
// Don't propagate the error any further.
|
|
128
131
|
},
|
|
129
132
|
},
|
|
130
133
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat-transfer.d.ts","sourceRoot":"","sources":["vat-transfer.js"],"names":[],"mappings":"AASO;IAyBH;;;;;OAKG;2BAH8C,CAAC,4DAAvC,OAAO,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;;;;;;;;0CA2B05K,SAAS;4CAA66C,SAAS;;;;IAT54N;;;OAGG;;;
|
|
1
|
+
{"version":3,"file":"vat-transfer.d.ts","sourceRoot":"","sources":["vat-transfer.js"],"names":[],"mappings":"AASO;IAyBH;;;;;OAKG;2BAH8C,CAAC,4DAAvC,OAAO,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;;;;;;;;0CA2B05K,SAAS;4CAA66C,SAAS;;;;IAT54N;;;OAGG;;;kCAM08J,OAAO,oBAAiB,EAAE,cAAc;;;;;;;;6CAA97C,KAAK,OAAO,oBAAoB,EAAE,SAAS,CAAC;mDAA5C,KAAK,OAAO,oBAAoB,EAAE,SAAS,CAAC;;;;;IA7BnmH;;;;;OAKG;2BAH8C,CAAC,4DAAvC,OAAO,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;;;;;;;;;;;;;IAkBnD;;;OAGG;;;+DAMo+J,cAAc;;;;;;;;+EAA55C,SAAS;qFAAT,SAAS;;;;GAHrmH;0BAEa,UAAU,CAAC,OAAO,eAAe,CAAC"}
|