@agoric/pegasus 0.7.13-mainnet1B-dev-b0c1f78.0 → 0.7.13-orchestration-dev-096c4e8.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/pegasus",
3
- "version": "0.7.13-mainnet1B-dev-b0c1f78.0+b0c1f78",
3
+ "version": "0.7.13-orchestration-dev-096c4e8.0+096c4e8",
4
4
  "description": "Peg-as-us contract",
5
5
  "type": "module",
6
6
  "main": "./src/pegasus.js",
@@ -8,15 +8,14 @@
8
8
  "node": ">=14.15.0"
9
9
  },
10
10
  "scripts": {
11
- "build": "yarn build:bundles",
12
- "build:bundles": "node scripts/build-bundles.js",
11
+ "build": "exit 0",
13
12
  "test": "ava",
14
13
  "test:c8": "c8 $C8_OPTIONS ava --config=ava-nesm.config.js",
15
14
  "test:xs": "exit 0",
16
15
  "lint-fix": "yarn lint:eslint --fix",
17
16
  "lint": "run-s --continue-on-error lint:*",
18
17
  "lint:eslint": "eslint .",
19
- "lint:types": "tsc -p jsconfig.json"
18
+ "lint:types": "tsc"
20
19
  },
21
20
  "repository": {
22
21
  "type": "git",
@@ -29,24 +28,26 @@
29
28
  },
30
29
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
31
30
  "dependencies": {
32
- "@agoric/assert": "0.6.1-mainnet1B-dev-b0c1f78.0+b0c1f78",
33
- "@agoric/ertp": "0.16.3-mainnet1B-dev-b0c1f78.0+b0c1f78",
34
- "@agoric/internal": "0.4.0-mainnet1B-dev-b0c1f78.0+b0c1f78",
35
- "@agoric/notifier": "0.6.3-mainnet1B-dev-b0c1f78.0+b0c1f78",
36
- "@agoric/store": "0.9.3-mainnet1B-dev-b0c1f78.0+b0c1f78",
37
- "@agoric/swingset-vat": "0.32.3-mainnet1B-dev-b0c1f78.0+b0c1f78",
38
- "@agoric/vats": "0.15.2-mainnet1B-dev-b0c1f78.0+b0c1f78",
39
- "@agoric/zoe": "0.26.3-mainnet1B-dev-b0c1f78.0+b0c1f78",
40
- "@endo/bundle-source": "2.5.2-upstream-rollup",
41
- "@endo/captp": "3.1.1",
42
- "@endo/far": "0.2.18",
43
- "@endo/init": "0.5.56",
44
- "@endo/nat": "4.1.27",
45
- "@endo/promise-kit": "0.2.56"
31
+ "@agoric/assert": "0.6.1-orchestration-dev-096c4e8.0+096c4e8",
32
+ "@agoric/ertp": "0.16.3-orchestration-dev-096c4e8.0+096c4e8",
33
+ "@agoric/internal": "0.3.3-orchestration-dev-096c4e8.0+096c4e8",
34
+ "@agoric/network": "0.1.1-orchestration-dev-096c4e8.0+096c4e8",
35
+ "@agoric/notifier": "0.6.3-orchestration-dev-096c4e8.0+096c4e8",
36
+ "@agoric/store": "0.9.3-orchestration-dev-096c4e8.0+096c4e8",
37
+ "@agoric/swingset-vat": "0.32.3-orchestration-dev-096c4e8.0+096c4e8",
38
+ "@agoric/vat-data": "0.5.3-orchestration-dev-096c4e8.0+096c4e8",
39
+ "@agoric/vats": "0.15.2-orchestration-dev-096c4e8.0+096c4e8",
40
+ "@agoric/zoe": "0.26.3-orchestration-dev-096c4e8.0+096c4e8",
41
+ "@agoric/zone": "0.2.3-orchestration-dev-096c4e8.0+096c4e8",
42
+ "@endo/bundle-source": "^3.1.0",
43
+ "@endo/captp": "^4.0.4",
44
+ "@endo/far": "^1.0.4",
45
+ "@endo/init": "^1.0.4",
46
+ "@endo/nat": "^5.0.4",
47
+ "@endo/promise-kit": "^1.0.4"
46
48
  },
47
49
  "devDependencies": {
48
- "@agoric/deploy-script-support": "0.10.4-mainnet1B-dev-b0c1f78.0+b0c1f78",
49
- "ava": "^5.2.0",
50
+ "ava": "^5.3.0",
50
51
  "c8": "^7.13.0",
51
52
  "import-meta-resolve": "^2.2.1"
52
53
  },
@@ -60,10 +61,16 @@
60
61
  "files": [
61
62
  "test/**/test-*.js"
62
63
  ],
64
+ "require": [
65
+ "@endo/init/debug.js"
66
+ ],
63
67
  "timeout": "10m"
64
68
  },
65
69
  "publishConfig": {
66
70
  "access": "public"
67
71
  },
68
- "gitHead": "b0c1f788a06e8593426319de068acd64a390d349"
72
+ "typeCoverage": {
73
+ "atLeast": 89.97
74
+ },
75
+ "gitHead": "096c4e8fce80e9a509b0e1a30fda11736c4570e1"
69
76
  }
@@ -0,0 +1,34 @@
1
+ import { prepareVowTools } from '@agoric/vat-data/vow.js';
2
+ import { makeDurableZone } from '@agoric/zone/durable.js';
3
+ import { makePegasus } from './pegasus.js';
4
+
5
+ import '@agoric/zoe/exported.js';
6
+
7
+ import '../exported.js';
8
+
9
+ /**
10
+ * @type {ContractStartFn<Pegasus, never, {}, {
11
+ * board: ERef<BoardDepositFacet>,
12
+ * namesByAddress: ERef<import('@agoric/vats').NameHub>
13
+ * }}
14
+ */
15
+ export const start = (zcf, privateArgs, baggage) => {
16
+ const zone = makeDurableZone(baggage);
17
+
18
+ const whenZone = zone.subZone('when');
19
+ const { when } = prepareVowTools(whenZone);
20
+
21
+ const { board, namesByAddress } = privateArgs;
22
+
23
+ // start requires that the object passed in must be durable. Given that we
24
+ // haven't made pegasus durable yet, we'll wrap its non-durable methods within
25
+ // an exo object to workaround this requirement.
26
+ const publicFacet = zone.exo('PublicFacet', undefined, {
27
+ ...makePegasus({ zcf, board, namesByAddress, when }),
28
+ });
29
+
30
+ return harden({
31
+ publicFacet,
32
+ });
33
+ };
34
+ harden(start);
package/src/courier.js CHANGED
@@ -40,6 +40,7 @@ export const getCourierPK = (key, keyToCourierPK) => {
40
40
  * @property {(zcfSeat: ZCFSeat, amounts: AmountKeywordRecord) => void} retain
41
41
  * @property {(zcfSeat: ZCFSeat, amounts: AmountKeywordRecord) => void} redeem
42
42
  * @property {ERef<TransferProtocol>} transferProtocol
43
+ * @property {ReturnType<import('@agoric/vow').prepareVowTools>['when']} when
43
44
  * @param {ERef<Connection>} connection
44
45
  * @returns {(args: CourierArgs) => Courier}
45
46
  */
@@ -54,23 +55,25 @@ export const makeCourierMaker =
54
55
  retain,
55
56
  redeem,
56
57
  transferProtocol,
58
+ when,
57
59
  }) => {
58
60
  /** @type {Sender} */
59
- const send = async (zcfSeat, depositAddress) => {
61
+ const send = async (zcfSeat, depositAddress, memo, opts) => {
60
62
  const tryToSend = async () => {
61
63
  const amount = zcfSeat.getAmountAllocated('Transfer', localBrand);
62
64
  const transferPacket = await E(transferProtocol).makeTransferPacket({
63
65
  value: amount.value,
64
66
  remoteDenom: sendDenom,
65
67
  depositAddress,
68
+ memo,
69
+ opts,
66
70
  });
67
71
 
68
72
  // Retain the payment. We must not proceed on failure.
69
73
  retain(zcfSeat, { Transfer: amount });
70
74
 
71
75
  // The payment is already escrowed, and proposed to retain, so try sending.
72
- return E(connection)
73
- .send(transferPacket)
76
+ return when(E(connection).send(transferPacket))
74
77
  .then(ack => E(transferProtocol).assertTransferPacketAck(ack))
75
78
  .then(
76
79
  _ => zcfSeat.exit(),
package/src/ibc-trace.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Far } from '@endo/far';
3
3
  import { Fail } from '@agoric/assert';
4
4
 
5
- import { parse } from '@agoric/swingset-vat/src/vats/network/multiaddr.js';
5
+ import { parse } from '@agoric/network';
6
6
 
7
7
  /**
8
8
  * Return a source-prefixed version of the denomination, as specified in
package/src/ics20.js CHANGED
@@ -10,15 +10,15 @@ import { assert, details as X, Fail } from '@agoric/assert';
10
10
  * @property {Denom} denom The denomination of the amount
11
11
  * @property {string} sender The sender address
12
12
  * @property {DepositAddress} receiver The receiver deposit address
13
+ * @property {string} memo The packet memo
13
14
  */
14
15
 
15
16
  // As specified in ICS20, the success result is a base64-encoded '\0x1' byte.
16
17
  const ICS20_TRANSFER_SUCCESS_RESULT = 'AQ==';
17
18
 
18
19
  // ibc-go as late as v3 requires the `sender` to be nonempty, but doesn't
19
- // actually use it on the receiving side. We don't need it on the sending side,
20
- // either, so we can just omit it.
21
- export const DUMMY_SENDER_ADDRESS = 'pegasus';
20
+ // actually use it on the receiving side.
21
+ export const DEFAULT_SENDER_ADDRESS = 'pegasus';
22
22
 
23
23
  /**
24
24
  * @param {string} s
@@ -50,10 +50,16 @@ const safeJSONParseObject = s => {
50
50
  */
51
51
  export const parseICS20TransferPacket = async packet => {
52
52
  const ics20Packet = safeJSONParseObject(packet);
53
- const { amount, denom, receiver } = ics20Packet;
53
+ const { amount, denom, receiver, memo, opts } = ics20Packet;
54
54
 
55
55
  assert.typeof(denom, 'string', X`Denom ${denom} must be a string`);
56
56
  assert.typeof(receiver, 'string', X`Receiver ${receiver} must be a string`);
57
+ memo === undefined ||
58
+ assert.typeof(
59
+ memo,
60
+ 'string',
61
+ X`Memo ${memo} must be a string or 'undefined'`,
62
+ );
57
63
 
58
64
  // amount is a string in JSON.
59
65
  assert.typeof(amount, 'string', X`Amount ${amount} must be a string`);
@@ -66,6 +72,8 @@ export const parseICS20TransferPacket = async packet => {
66
72
  depositAddress: receiver,
67
73
  remoteDenom: denom,
68
74
  value,
75
+ memo,
76
+ opts,
69
77
  });
70
78
  };
71
79
 
@@ -80,6 +88,8 @@ export const makeICS20TransferPacket = async ({
80
88
  value,
81
89
  remoteDenom,
82
90
  depositAddress,
91
+ memo,
92
+ opts: { sender = DEFAULT_SENDER_ADDRESS },
83
93
  }) => {
84
94
  // We're using Nat as a dynamic check for overflow.
85
95
  const stringValue = String(Nat(value));
@@ -90,7 +100,8 @@ export const makeICS20TransferPacket = async ({
90
100
  amount: stringValue,
91
101
  denom: remoteDenom,
92
102
  receiver: depositAddress,
93
- sender: DUMMY_SENDER_ADDRESS,
103
+ sender,
104
+ memo,
94
105
  };
95
106
 
96
107
  return JSON.stringify(ics20);
package/src/pegasus.js CHANGED
@@ -9,8 +9,7 @@ import {
9
9
  } from '@agoric/zoe/src/contractSupport/index.js';
10
10
  import { makeSubscriptionKit } from '@agoric/notifier';
11
11
 
12
- import '@agoric/vats/exported.js';
13
- import '@agoric/swingset-vat/src/vats/network/types.js';
12
+ import '@agoric/network/exported.js';
14
13
  import '@agoric/zoe/exported.js';
15
14
 
16
15
  import '../exported.js';
@@ -30,13 +29,15 @@ const TRANSFER_PROPOSAL_SHAPE = {
30
29
  /**
31
30
  * Make a Pegasus public API.
32
31
  *
33
- * @param {ZCF} zcf the Zoe Contract Facet
34
- * @param {ERef<BoardDepositFacet>} board where to find depositFacets by boardID
35
- * @param {ERef<NameHub>} namesByAddress where to find depositFacets by bech32
32
+ * @param {object} powers
33
+ * @param {ZCF} powers.zcf the Zoe Contract Facet
34
+ * @param {ERef<BoardDepositFacet>} powers.board where to find depositFacets by boardID
35
+ * @param {ERef<NameHub>} powers.namesByAddress where to find depositFacets by bech32
36
+ * @param {ReturnType<import('@agoric/vow').prepareVowTools>['when']} powers.when
36
37
  *
37
38
  * @typedef {import('@agoric/vats').NameHub} NameHub
38
39
  */
39
- const makePegasus = (zcf, board, namesByAddress) => {
40
+ export const makePegasus = ({ zcf, board, namesByAddress, when }) => {
40
41
  /**
41
42
  * @typedef {object} LocalDenomState
42
43
  * @property {string} localAddr
@@ -191,6 +192,7 @@ const makePegasus = (zcf, board, namesByAddress) => {
191
192
  zcfMint.mintGains(harden(amounts), zcfSeat);
192
193
  },
193
194
  transferProtocol,
195
+ when,
194
196
  });
195
197
 
196
198
  const courierPK = getCourierPK(receiveDenom, receiveDenomToCourierPK);
@@ -283,6 +285,7 @@ const makePegasus = (zcf, board, namesByAddress) => {
283
285
  transferSeat,
284
286
  ),
285
287
  transferProtocol,
288
+ when,
286
289
  });
287
290
 
288
291
  const { receiveDenomToCourierPK } = localDenomState;
@@ -304,9 +307,9 @@ const makePegasus = (zcf, board, namesByAddress) => {
304
307
  checkAbort = () => {
305
308
  throw reason;
306
309
  };
307
- pegs.forEach(peg => {
310
+ for (const peg of pegs) {
308
311
  pegToDenomState.delete(peg);
309
- });
312
+ }
310
313
  },
311
314
  });
312
315
  return pegasusConnectionActions;
@@ -316,8 +319,8 @@ const makePegasus = (zcf, board, namesByAddress) => {
316
319
  /**
317
320
  * Return a handler that can be used with the Network API.
318
321
  *
319
- * @param {ERef<TransferProtocol>} [transferProtocol=DEFAULT_TRANSFER_PROTOCOL]
320
- * @param {ERef<DenomTransformer>} [denomTransformer=DEFAULT_DENOM_TRANSFORMER]
322
+ * @param {ERef<TransferProtocol>} [transferProtocol]
323
+ * @param {ERef<DenomTransformer>} [denomTransformer]
321
324
  * @returns {PegasusConnectionKit}
322
325
  */
323
326
  makePegasusConnectionKit(
@@ -385,9 +388,8 @@ const makePegasus = (zcf, board, namesByAddress) => {
385
388
  async onReceive(c, packetBytes) {
386
389
  const doReceive = async () => {
387
390
  // Dispatch the packet to the appropriate Peg for this connection.
388
- const parts = await E(transferProtocol).parseTransferPacket(
389
- packetBytes,
390
- );
391
+ const parts =
392
+ await E(transferProtocol).parseTransferPacket(packetBytes);
391
393
 
392
394
  const { remoteDenom: receiveDenom } = parts;
393
395
  assert.typeof(receiveDenom, 'string');
@@ -458,9 +460,11 @@ const makePegasus = (zcf, board, namesByAddress) => {
458
460
  *
459
461
  * @param {ERef<Peg>} pegP the peg over which to transfer
460
462
  * @param {DepositAddress} depositAddress the remote receiver's address
463
+ * @param {string} [memo] the memo to attach to ics transfer packet
464
+ * @param {SenderOptions} [opts] additional sender options
461
465
  * @returns {Promise<Invitation>} to transfer, make an offer of { give: { Transfer: pegAmount } } to this invitation
462
466
  */
463
- async makeInvitationToTransfer(pegP, depositAddress) {
467
+ async makeInvitationToTransfer(pegP, depositAddress, memo = '', opts = {}) {
464
468
  // Verify the peg.
465
469
  const peg = await pegP;
466
470
  const denomState = pegToDenomState.get(peg);
@@ -482,29 +486,15 @@ const makePegasus = (zcf, board, namesByAddress) => {
482
486
  */
483
487
  const offerHandler = zcfSeat => {
484
488
  assertProposalShape(zcfSeat, TRANSFER_PROPOSAL_SHAPE);
485
- send(zcfSeat, depositAddress);
489
+ send(zcfSeat, depositAddress, memo, opts);
486
490
  };
487
491
 
488
492
  return zcf.makeInvitation(offerHandler, `pegasus ${sendDenom} transfer`);
489
493
  },
490
494
  });
491
495
  };
496
+ harden(makePegasus);
492
497
 
493
498
  /**
494
499
  * @typedef {ReturnType<typeof makePegasus>} Pegasus
495
500
  */
496
-
497
- /**
498
- * @param {ZCF<{board: ERef<BoardDepositFacet>, namesByAddress: ERef<import('@agoric/vats').NameHub>}>} zcf
499
- */
500
- const start = zcf => {
501
- const { board, namesByAddress } = zcf.getTerms();
502
-
503
- return {
504
- publicFacet: makePegasus(zcf, board, namesByAddress),
505
- };
506
- };
507
-
508
- harden(start);
509
- harden(makePegasus);
510
- export { start, makePegasus };
@@ -41,12 +41,13 @@ export const startPegasus = async ({
41
41
  },
42
42
  }) => {
43
43
  const [board, namesByAddress] = await Promise.all([boardP, namesByAddressP]);
44
- const terms = { board, namesByAddress };
44
+ const privates = { board, namesByAddress };
45
45
 
46
46
  const { instance } = await E(zoe).startInstance(
47
47
  pegasusInstall,
48
48
  undefined,
49
- terms,
49
+ undefined,
50
+ privates,
50
51
  );
51
52
 
52
53
  produceInstance.resolve(instance);
@@ -69,13 +70,15 @@ export const addPegasusTransferPort = async (
69
70
  const { localAddr, actions } = connectionState;
70
71
  if (actions) {
71
72
  // We're open and ready for business.
72
- pegasusConnectionsAdmin.update(localAddr, connectionState);
73
+ void E(pegasusConnectionsAdmin).update(localAddr, connectionState);
73
74
  } else {
74
75
  // We're closed.
75
- pegasusConnectionsAdmin.delete(localAddr);
76
+ void E(pegasusConnectionsAdmin).delete(localAddr);
76
77
  }
77
78
  },
78
- });
79
+ }).catch(err =>
80
+ console.error('Error observing Pegasus connection kit:', err),
81
+ );
79
82
  return E(port).addListener(
80
83
  Far('listener', {
81
84
  async onAccept(_port, _localAddr, _remoteAddr, _listenHandler) {
package/src/types.js CHANGED
@@ -12,6 +12,8 @@
12
12
  * @property {AmountValue} value
13
13
  * @property {Denom} remoteDenom
14
14
  * @property {DepositAddress} depositAddress
15
+ * @property {string} memo
16
+ * @property {SenderOptions} opts
15
17
  */
16
18
 
17
19
  /**
@@ -46,7 +48,7 @@
46
48
  */
47
49
 
48
50
  /**
49
- * @typedef {(zcfSeat: ZCFSeat, depositAddress: DepositAddress) => Promise<void>} Sender
51
+ * @typedef {(zcfSeat: ZCFSeat, depositAddress: DepositAddress, memo: string, opt: SenderOptions) => Promise<void>} Sender
50
52
  * Successive transfers are not guaranteed to be processed in the order in which they were sent.
51
53
  * @typedef {(parts: PacketParts) => Promise<Bytes>} Receiver
52
54
  * @typedef {object} Courier
@@ -110,3 +112,8 @@
110
112
  * @property {ConnectionHandler} handler
111
113
  * @property {Subscription<PegasusConnection>} subscription
112
114
  */
115
+
116
+ /**
117
+ * @typedef {object} SenderOptions
118
+ * @property {string} [sender] the sender address attached to the packet to receive any refund
119
+ */
package/CHANGELOG.md DELETED
@@ -1,474 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ### [0.7.13-u13.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.13-u12.0...@agoric/pegasus@0.7.13-u13.0) (2023-12-07)
7
-
8
- **Note:** Version bump only for package @agoric/pegasus
9
-
10
-
11
-
12
-
13
-
14
- ### [0.7.13-u12.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.13-u11wf.0...@agoric/pegasus@0.7.13-u12.0) (2023-11-10)
15
-
16
- **Note:** Version bump only for package @agoric/pegasus
17
-
18
-
19
-
20
-
21
-
22
- ### [0.7.13-u11wf.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.13-u11.0...@agoric/pegasus@0.7.13-u11wf.0) (2023-09-23)
23
-
24
- **Note:** Version bump only for package @agoric/pegasus
25
-
26
-
27
-
28
-
29
-
30
- ### [0.7.13-u11.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.12...@agoric/pegasus@0.7.13-u11.0) (2023-08-24)
31
-
32
- **Note:** Version bump only for package @agoric/pegasus
33
-
34
-
35
-
36
-
37
-
38
- ### [0.7.12](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.11...@agoric/pegasus@0.7.12) (2023-06-09)
39
-
40
- **Note:** Version bump only for package @agoric/pegasus
41
-
42
-
43
-
44
-
45
-
46
- ### [0.7.11](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.10...@agoric/pegasus@0.7.11) (2023-06-02)
47
-
48
- **Note:** Version bump only for package @agoric/pegasus
49
-
50
-
51
-
52
-
53
-
54
- ### [0.7.10](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.9...@agoric/pegasus@0.7.10) (2023-05-24)
55
-
56
- **Note:** Version bump only for package @agoric/pegasus
57
-
58
-
59
-
60
-
61
-
62
- ### [0.7.9](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.6...@agoric/pegasus@0.7.9) (2023-05-19)
63
-
64
-
65
- ### Bug Fixes
66
-
67
- * use `subscribeEach` to get reconnect benefits ([fb24132](https://github.com/Agoric/agoric-sdk/commit/fb24132f9b4e117e56bae2803994e57c188344f3))
68
- * use atomicTransfers rather than stagings. ([#6577](https://github.com/Agoric/agoric-sdk/issues/6577)) ([65d3f14](https://github.com/Agoric/agoric-sdk/commit/65d3f14c8102993168d2568eed5e6acbcba0c48a))
69
-
70
-
71
-
72
- ### [0.7.8](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.7...@agoric/pegasus@0.7.8) (2023-02-17)
73
-
74
- **Note:** Version bump only for package @agoric/pegasus
75
-
76
-
77
-
78
-
79
-
80
- ### [0.7.7](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.6...@agoric/pegasus@0.7.7) (2022-12-14)
81
-
82
- **Note:** Version bump only for package @agoric/pegasus
83
-
84
-
85
-
86
-
87
-
88
- ### [0.7.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.5...@agoric/pegasus@0.7.6) (2022-10-18)
89
-
90
- **Note:** Version bump only for package @agoric/pegasus
91
-
92
-
93
-
94
-
95
-
96
- ### [0.7.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.4...@agoric/pegasus@0.7.5) (2022-10-08)
97
-
98
- **Note:** Version bump only for package @agoric/pegasus
99
-
100
-
101
-
102
-
103
-
104
- ### [0.7.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.3...@agoric/pegasus@0.7.4) (2022-10-05)
105
-
106
- **Note:** Version bump only for package @agoric/pegasus
107
-
108
-
109
-
110
-
111
-
112
- ### [0.7.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.2...@agoric/pegasus@0.7.3) (2022-09-20)
113
-
114
-
115
- ### Bug Fixes
116
-
117
- * show more stacks ([#5980](https://github.com/Agoric/agoric-sdk/issues/5980)) ([7e22057](https://github.com/Agoric/agoric-sdk/commit/7e220575af0e5b0607d821675c57a3714f48fd65))
118
-
119
-
120
-
121
- ### [0.7.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.1...@agoric/pegasus@0.7.2) (2022-05-28)
122
-
123
- **Note:** Version bump only for package @agoric/pegasus
124
-
125
-
126
-
127
-
128
-
129
- ### [0.7.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.7.0...@agoric/pegasus@0.7.1) (2022-05-09)
130
-
131
- **Note:** Version bump only for package @agoric/pegasus
132
-
133
-
134
-
135
-
136
-
137
- ## [0.7.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.6.1...@agoric/pegasus@0.7.0) (2022-04-18)
138
-
139
-
140
- ### ⚠ BREAKING CHANGES
141
-
142
- * consistent Node engine requirement (>=14.15.0)
143
-
144
- ### Features
145
-
146
- * **pegasus:** prepare for governance ([4c921b5](https://github.com/Agoric/agoric-sdk/commit/4c921b501e425e861479c9197bc24d1d09f4a2ac))
147
- * **vats:** remove pegasus from bootstrap ([c384a41](https://github.com/Agoric/agoric-sdk/commit/c384a41c6e494059beb28c09a94e5625faa5f87e))
148
- * implement the durable kind API ([56bad98](https://github.com/Agoric/agoric-sdk/commit/56bad985275787d18c34ac14b377a4d0348d699b)), closes [#4495](https://github.com/Agoric/agoric-sdk/issues/4495)
149
-
150
-
151
- ### Miscellaneous Chores
152
-
153
- * consistent Node engine requirement (>=14.15.0) ([ddc40fa](https://github.com/Agoric/agoric-sdk/commit/ddc40fa525f845ed900512c38b99f01458a3d131))
154
-
155
-
156
-
157
- ### [0.6.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.6.0...@agoric/pegasus@0.6.1) (2022-02-24)
158
-
159
-
160
- ### Features
161
-
162
- * overhaul the virtual object API ([e40674b](https://github.com/Agoric/agoric-sdk/commit/e40674b0b19f29adde2f5e6a460bafb7340d42b6)), closes [#4606](https://github.com/Agoric/agoric-sdk/issues/4606)
163
-
164
-
165
-
166
- ## [0.6.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.5.1...@agoric/pegasus@0.6.0) (2022-02-21)
167
-
168
-
169
- ### ⚠ BREAKING CHANGES
170
-
171
- * **pegasus:** make more robust and remove public state
172
-
173
- ### Features
174
-
175
- * **pegasus:** implement correct result and denom trace handling ([aacf1c3](https://github.com/Agoric/agoric-sdk/commit/aacf1c39f840beb31702f3fcd3565771ccaf7817))
176
- * **pegasus:** make more robust and remove public state ([a5413f7](https://github.com/Agoric/agoric-sdk/commit/a5413f781fc694e3e11804b5288740e9319928ee))
177
- * **pegasus:** properly abort on connection close ([1b17f7a](https://github.com/Agoric/agoric-sdk/commit/1b17f7aa4de11ccd5a1ec26fc7b6fff017d70ac1))
178
- * **pegasus:** rejectStuckTransfers, getRemoteDenomSubscription ([54bf0bc](https://github.com/Agoric/agoric-sdk/commit/54bf0bc4e83172396962295ba76b8af3a8846df9))
179
- * implement persistent stores ([e1050b0](https://github.com/Agoric/agoric-sdk/commit/e1050b010e095b23547a38d48a12e5c8841a7466))
180
-
181
-
182
- ### Bug Fixes
183
-
184
- * **pegasus:** more POLA and less global state ([e7ea320](https://github.com/Agoric/agoric-sdk/commit/e7ea32047f5a87a18c5ed4722d4d6e2163f7f2aa))
185
- * **pegasus:** more robust ics20 JSON parsing ([208109f](https://github.com/Agoric/agoric-sdk/commit/208109f2e4df9e4df5c2371c6a299a42349d5c69))
186
- * **pegasus:** only reject transfers waiting for pegRemote ([f1801f6](https://github.com/Agoric/agoric-sdk/commit/f1801f63ad81ec06fc3b86c3a44e98130b310351))
187
- * **pegasus:** use bigints for nonces ([9065d6e](https://github.com/Agoric/agoric-sdk/commit/9065d6ee205082efd2253e6bd06ee08676535b50))
188
- * **pegasus:** use dummy ICS20-1 transfer `sender` ([c4056bc](https://github.com/Agoric/agoric-sdk/commit/c4056bcd48800b6bfadb4de5eaccb66af6446ef4))
189
- * `rejectStuckTransfers` sends a TransferProtocol-level error ([8374f94](https://github.com/Agoric/agoric-sdk/commit/8374f941597e22ac20f40b959381218f03563f65))
190
- * Enhance TypeScript node_modules traversal depth ([000f738](https://github.com/Agoric/agoric-sdk/commit/000f73850d46dc7272b2399c06ad774dd3b8fe6e))
191
-
192
-
193
-
194
- ### [0.5.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.5.0...@agoric/pegasus@0.5.1) (2021-12-22)
195
-
196
- **Note:** Version bump only for package @agoric/pegasus
197
-
198
-
199
-
200
-
201
-
202
- ## [0.5.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.5...@agoric/pegasus@0.5.0) (2021-12-02)
203
-
204
-
205
- ### ⚠ BREAKING CHANGES
206
-
207
- * **zoe:** must harden `amountKeywordRecord` before passing to ZCF objects
208
-
209
- * chore: fix treasury errors, etc.
210
-
211
- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
212
-
213
- ### Bug Fixes
214
-
215
- * **zoe:** assert that amountKeywordRecord is a copyRecord ([#4069](https://github.com/Agoric/agoric-sdk/issues/4069)) ([fe9a9ff](https://github.com/Agoric/agoric-sdk/commit/fe9a9ff3de86608a0b1f8f9547059f89d45b948d))
216
-
217
-
218
-
219
- ### [0.4.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.4...@agoric/pegasus@0.4.5) (2021-10-13)
220
-
221
- **Note:** Version bump only for package @agoric/pegasus
222
-
223
-
224
-
225
-
226
-
227
- ### [0.4.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.3...@agoric/pegasus@0.4.4) (2021-09-23)
228
-
229
- **Note:** Version bump only for package @agoric/pegasus
230
-
231
-
232
-
233
-
234
-
235
- ### [0.4.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.2...@agoric/pegasus@0.4.3) (2021-09-15)
236
-
237
-
238
- ### Bug Fixes
239
-
240
- * more missing Fars. kill "this" ([#3746](https://github.com/Agoric/agoric-sdk/issues/3746)) ([7bd027a](https://github.com/Agoric/agoric-sdk/commit/7bd027a879f98a9a3f30429ee1b54e6057efec42))
241
-
242
-
243
-
244
- ### [0.4.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.1...@agoric/pegasus@0.4.2) (2021-08-21)
245
-
246
- **Note:** Version bump only for package @agoric/pegasus
247
-
248
-
249
-
250
-
251
-
252
- ### [0.4.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.4.0...@agoric/pegasus@0.4.1) (2021-08-18)
253
-
254
- **Note:** Version bump only for package @agoric/pegasus
255
-
256
-
257
-
258
-
259
-
260
- ## [0.4.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.12...@agoric/pegasus@0.4.0) (2021-08-17)
261
-
262
-
263
- ### ⚠ BREAKING CHANGES
264
-
265
- * make the run mint within Zoe, and give only the treasury the ability to create a ZCFMint with it
266
-
267
- * chore: change 'makeZoe' to 'makeZoeKit'
268
-
269
- * chore: add "shutdownZoeVat" argument to Zoe, and pass it to `makeIssuerKit` for invitation issuerKit and fee issuerKit
270
-
271
- * chore: manually lint-fix install-on-chain.js
272
-
273
- See https://github.com/Agoric/agoric-sdk/issues/3672 for the issue to fix the root problem
274
-
275
- * BREAKING CHANGE: create the RUN Mint within Zoe (#3647) ([48762aa](https://github.com/Agoric/agoric-sdk/commit/48762aa83a30eaa0a14b2fd87777456758594262)), closes [#3647](https://github.com/Agoric/agoric-sdk/issues/3647)
276
-
277
-
278
-
279
- ### [0.3.12](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.11...@agoric/pegasus@0.3.12) (2021-08-16)
280
-
281
- **Note:** Version bump only for package @agoric/pegasus
282
-
283
-
284
-
285
-
286
-
287
- ### [0.3.11](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.8...@agoric/pegasus@0.3.11) (2021-08-15)
288
-
289
- ### 0.26.10 (2021-07-28)
290
-
291
-
292
- ### Bug Fixes
293
-
294
- * zoe/spawner/pegasus: use unlimited Meter, not metered: true ([04d4fd9](https://github.com/Agoric/agoric-sdk/commit/04d4fd96982ecd02de50f09fa38c6e2800cca527)), closes [#3308](https://github.com/Agoric/agoric-sdk/issues/3308)
295
-
296
-
297
-
298
- ### [0.3.10](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.8...@agoric/pegasus@0.3.10) (2021-08-14)
299
-
300
- ### 0.26.10 (2021-07-28)
301
-
302
-
303
- ### Bug Fixes
304
-
305
- * zoe/spawner/pegasus: use unlimited Meter, not metered: true ([04d4fd9](https://github.com/Agoric/agoric-sdk/commit/04d4fd96982ecd02de50f09fa38c6e2800cca527)), closes [#3308](https://github.com/Agoric/agoric-sdk/issues/3308)
306
-
307
-
308
-
309
- ### [0.3.9](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.8...@agoric/pegasus@0.3.9) (2021-07-28)
310
-
311
-
312
- ### Bug Fixes
313
-
314
- * zoe/spawner/pegasus: use unlimited Meter, not metered: true ([04d4fd9](https://github.com/Agoric/agoric-sdk/commit/04d4fd96982ecd02de50f09fa38c6e2800cca527)), closes [#3308](https://github.com/Agoric/agoric-sdk/issues/3308)
315
-
316
-
317
-
318
- ### [0.3.8](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.7...@agoric/pegasus@0.3.8) (2021-07-01)
319
-
320
- **Note:** Version bump only for package @agoric/pegasus
321
-
322
-
323
-
324
-
325
-
326
- ### [0.3.7](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.6...@agoric/pegasus@0.3.7) (2021-07-01)
327
-
328
- **Note:** Version bump only for package @agoric/pegasus
329
-
330
-
331
-
332
-
333
-
334
- ### [0.3.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.5...@agoric/pegasus@0.3.6) (2021-06-28)
335
-
336
- **Note:** Version bump only for package @agoric/pegasus
337
-
338
-
339
-
340
-
341
-
342
- ### [0.3.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.4...@agoric/pegasus@0.3.5) (2021-06-25)
343
-
344
- **Note:** Version bump only for package @agoric/pegasus
345
-
346
-
347
-
348
-
349
-
350
- ### [0.3.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.3...@agoric/pegasus@0.3.4) (2021-06-24)
351
-
352
- **Note:** Version bump only for package @agoric/pegasus
353
-
354
-
355
-
356
-
357
-
358
- ### [0.3.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.2...@agoric/pegasus@0.3.3) (2021-06-24)
359
-
360
- **Note:** Version bump only for package @agoric/pegasus
361
-
362
-
363
-
364
-
365
-
366
- ### [0.3.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.1...@agoric/pegasus@0.3.2) (2021-06-23)
367
-
368
- **Note:** Version bump only for package @agoric/pegasus
369
-
370
-
371
-
372
-
373
-
374
- ### [0.3.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.3.0...@agoric/pegasus@0.3.1) (2021-06-16)
375
-
376
- **Note:** Version bump only for package @agoric/pegasus
377
-
378
-
379
-
380
-
381
-
382
- ## [0.3.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.7...@agoric/pegasus@0.3.0) (2021-06-15)
383
-
384
-
385
- ### ⚠ BREAKING CHANGES
386
-
387
- * **zoe:** new reallocate API to assist with reviewing conservation of rights (#3184)
388
-
389
- ### Bug Fixes
390
-
391
- * Pin ESM to forked version ([54dbb55](https://github.com/Agoric/agoric-sdk/commit/54dbb55d64d7ff7adb395bc4bd9d1461dd2d3c17))
392
-
393
-
394
- ### Code Refactoring
395
-
396
- * **zoe:** new reallocate API to assist with reviewing conservation of rights ([#3184](https://github.com/Agoric/agoric-sdk/issues/3184)) ([f34e5ea](https://github.com/Agoric/agoric-sdk/commit/f34e5eae0812a9823d40d2d05ba98522c7846f2a))
397
-
398
-
399
-
400
- ## [0.2.7](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.6...@agoric/pegasus@0.2.7) (2021-05-10)
401
-
402
- **Note:** Version bump only for package @agoric/pegasus
403
-
404
-
405
-
406
-
407
-
408
- ## [0.2.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.5...@agoric/pegasus@0.2.6) (2021-05-05)
409
-
410
- **Note:** Version bump only for package @agoric/pegasus
411
-
412
-
413
-
414
-
415
-
416
- ## [0.2.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.4...@agoric/pegasus@0.2.5) (2021-05-05)
417
-
418
-
419
- ### Bug Fixes
420
-
421
- * **pegasus:** update to new solo package ([cf91a04](https://github.com/Agoric/agoric-sdk/commit/cf91a04fa6ce53dc06de0ccb8c8173050134575a))
422
-
423
-
424
-
425
-
426
-
427
- ## [0.2.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.3...@agoric/pegasus@0.2.4) (2021-04-22)
428
-
429
-
430
- ### Bug Fixes
431
-
432
- * rename cosmos-level tokens uagstake/uag to ubld/urun ([0557983](https://github.com/Agoric/agoric-sdk/commit/0557983210571c9c2ba801d68644d71641a3f790))
433
-
434
-
435
-
436
-
437
-
438
- ## [0.2.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.2...@agoric/pegasus@0.2.3) (2021-04-18)
439
-
440
- **Note:** Version bump only for package @agoric/pegasus
441
-
442
-
443
-
444
-
445
-
446
- ## [0.2.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.1...@agoric/pegasus@0.2.2) (2021-04-16)
447
-
448
- **Note:** Version bump only for package @agoric/pegasus
449
-
450
-
451
-
452
-
453
-
454
- ## [0.2.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/pegasus@0.2.0...@agoric/pegasus@0.2.1) (2021-04-14)
455
-
456
- **Note:** Version bump only for package @agoric/pegasus
457
-
458
-
459
-
460
-
461
-
462
- # 0.2.0 (2021-04-13)
463
-
464
-
465
- ### Bug Fixes
466
-
467
- * adjust Pegasus to actually work correctly with pegRemote ([8cd8c72](https://github.com/Agoric/agoric-sdk/commit/8cd8c72bc5fa207471ac2fdd9ac750dbdda7c39f))
468
-
469
-
470
- ### Features
471
-
472
- * install Pegasus on chain bootstrap ([7615292](https://github.com/Agoric/agoric-sdk/commit/76152926942f9c0610ab3d08a45c464856779643))
473
- * integrate pegasus in chain bootstrap ([5c7ecba](https://github.com/Agoric/agoric-sdk/commit/5c7ecba05d0e6ec7ef9fe127ee89e0c79d3e6511))
474
- * move Pegasus contract to SDK ([d0ca2cc](https://github.com/Agoric/agoric-sdk/commit/d0ca2cc155953c63eef5f56f236fa9280984730a))
@@ -1,9 +0,0 @@
1
- #! /usr/bin/env node
2
- import '@endo/init';
3
- import { extractProposalBundles } from '@agoric/deploy-script-support';
4
- import url from 'url';
5
-
6
- import { defaultProposalBuilder } from './init-core.js';
7
-
8
- const dirname = url.fileURLToPath(new URL('.', import.meta.url));
9
- extractProposalBundles([['.', defaultProposalBuilder]], dirname);
@@ -1,20 +0,0 @@
1
- import { makeHelpers } from '@agoric/deploy-script-support';
2
-
3
- /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').ProposalBuilder} */
4
- export const defaultProposalBuilder = async ({ publishRef, install }) =>
5
- harden({
6
- sourceSpec: '../src/proposals/core-proposal.js',
7
- getManifestCall: [
8
- 'getManifestForPegasus',
9
- {
10
- pegasusRef: publishRef(
11
- install('../src/pegasus.js', '../bundles/bundle-pegasus.js'),
12
- ),
13
- },
14
- ],
15
- });
16
-
17
- export default async (homeP, endowments) => {
18
- const { writeCoreProposal } = await makeHelpers(homeP, endowments);
19
- await writeCoreProposal('gov-pegasus', defaultProposalBuilder);
20
- };