@agoric/zoe 0.27.0-upgrade-19-dev-5428c4d.0 → 0.27.0-upgrade-20-dev-ef71cfd.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/bundles/bundle-contractFacet-js-meta.json +270 -275
- package/bundles/bundle-contractFacet.js +1 -1
- package/package.json +29 -29
- package/src/cleanProposal.d.ts +2 -0
- package/src/cleanProposal.d.ts.map +1 -1
- package/src/cleanProposal.js +4 -2
- package/src/contractFacet/exit.d.ts +1 -1
- package/src/contractFacet/exit.d.ts.map +1 -1
- package/src/contractFacet/offerHandlerStorage.d.ts +1 -1
- package/src/contractFacet/rightsConservation.d.ts.map +1 -1
- package/src/contractFacet/rightsConservation.js +0 -1
- package/src/contractFacet/types.d.ts +184 -0
- package/src/contractFacet/types.d.ts.map +1 -0
- package/src/contractFacet/{types-ambient.d.ts → types.ts} +66 -29
- package/src/contractFacet/vatRoot.d.ts +8 -2
- package/src/contractFacet/vatRoot.d.ts.map +1 -1
- package/src/contractFacet/vatRoot.js +5 -4
- package/src/contractFacet/zcfMint.d.ts +3 -2
- package/src/contractFacet/zcfMint.d.ts.map +1 -1
- package/src/contractFacet/zcfMint.js +7 -7
- package/src/contractFacet/zcfSeat.js +2 -2
- package/src/contractFacet/zcfZygote.d.ts +9 -1
- package/src/contractFacet/zcfZygote.d.ts.map +1 -1
- package/src/contractFacet/zcfZygote.js +17 -5
- package/src/contractSupport/atomicTransfer.d.ts +6 -0
- package/src/contractSupport/atomicTransfer.d.ts.map +1 -1
- package/src/contractSupport/atomicTransfer.js +4 -0
- package/src/contractSupport/bondingCurves.js +1 -1
- package/src/contractSupport/index.d.ts +2 -2
- package/src/contractSupport/index.js +2 -19
- package/src/contractSupport/priceAuthorityInitial.d.ts +2 -0
- package/src/contractSupport/priceAuthorityInitial.d.ts.map +1 -1
- package/src/contractSupport/priceAuthorityInitial.js +3 -1
- package/src/contractSupport/types-ambient.d.ts.map +1 -1
- package/src/contractSupport/types-ambient.js +1 -0
- package/src/contractSupport/zoeHelpers.d.ts +6 -1
- package/src/contractSupport/zoeHelpers.d.ts.map +1 -1
- package/src/contractSupport/zoeHelpers.js +1 -0
- package/src/contracts/atomicSwap.d.ts +1 -1
- package/src/contracts/auction/index.d.ts +3 -3
- package/src/contracts/automaticRefund.d.ts +3 -3
- package/src/contracts/autoswap.d.ts +4 -0
- package/src/contracts/autoswap.d.ts.map +1 -1
- package/src/contracts/autoswap.js +4 -0
- package/src/contracts/barterExchange.d.ts +2 -2
- package/src/contracts/callSpread/fundedCallSpread.d.ts +1 -1
- package/src/contracts/callSpread/pricedCallSpread.d.ts +4 -4
- package/src/contracts/coveredCall-durable.d.ts +1 -1
- package/src/contracts/coveredCall.d.ts +1 -1
- package/src/contracts/loan/index.d.ts +1 -1
- package/src/contracts/loan/types-ambient.d.ts +13 -13
- package/src/contracts/loan/types-ambient.d.ts.map +1 -1
- package/src/contracts/loan/types-ambient.js +17 -17
- package/src/contracts/mintPayments.d.ts +2 -2
- package/src/contracts/oracle.d.ts +3 -0
- package/src/contracts/oracle.d.ts.map +1 -1
- package/src/contracts/oracle.js +1 -0
- package/src/contracts/priceAggregator.d.ts +2 -0
- package/src/contracts/priceAggregator.d.ts.map +1 -1
- package/src/contracts/priceAggregator.js +10 -8
- package/src/contracts/scaledPriceAuthority.d.ts +1 -0
- package/src/contracts/scaledPriceAuthority.d.ts.map +1 -1
- package/src/contracts/scaledPriceAuthority.js +1 -0
- package/src/contracts/sellItems.d.ts +1 -1
- package/src/contracts/simpleExchange.d.ts +5 -0
- package/src/contracts/simpleExchange.d.ts.map +1 -1
- package/src/contracts/simpleExchange.js +4 -0
- package/src/contracts/types-ambient.d.ts +7 -7
- package/src/contracts/types-ambient.d.ts.map +1 -1
- package/src/contracts/types-ambient.js +7 -7
- package/src/contracts/valueVow.contract.d.ts +5 -2
- package/src/contracts/valueVow.contract.d.ts.map +1 -1
- package/src/contracts/valueVow.contract.js +1 -0
- package/src/instanceRecordStorage.d.ts.map +1 -1
- package/src/instanceRecordStorage.js +3 -1
- package/src/internal-types.d.ts +15 -5
- package/src/internal-types.d.ts.map +1 -1
- package/src/internal-types.js +9 -4
- package/src/issuerRecord.d.ts +3 -2
- package/src/issuerRecord.d.ts.map +1 -1
- package/src/issuerRecord.js +6 -2
- package/src/issuerStorage.d.ts +3 -2
- package/src/issuerStorage.d.ts.map +1 -1
- package/src/issuerStorage.js +6 -5
- package/src/typeGuards.d.ts +10 -6
- package/src/typeGuards.d.ts.map +1 -1
- package/src/typeGuards.js +7 -5
- package/src/types-ambient.d.ts +0 -40
- package/src/types-ambient.d.ts.map +1 -1
- package/src/types-ambient.js +4 -42
- package/src/types-index.d.ts +4 -0
- package/src/types-index.js +2 -0
- package/src/types.d.ts +29 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.ts +44 -0
- package/src/zoeService/feeMint.d.ts +1 -0
- package/src/zoeService/feeMint.d.ts.map +1 -1
- package/src/zoeService/feeMint.js +4 -0
- package/src/zoeService/installationStorage.d.ts +3 -2
- package/src/zoeService/installationStorage.d.ts.map +1 -1
- package/src/zoeService/installationStorage.js +2 -5
- package/src/zoeService/internal-types.d.ts +11 -3
- package/src/zoeService/internal-types.d.ts.map +1 -1
- package/src/zoeService/internal-types.js +9 -3
- package/src/zoeService/invitationQueries.d.ts +3 -3
- package/src/zoeService/invitationQueries.js +3 -3
- package/src/zoeService/makeInvitation.d.ts +1 -0
- package/src/zoeService/makeInvitation.d.ts.map +1 -1
- package/src/zoeService/makeInvitation.js +3 -0
- package/src/zoeService/offer/offer.d.ts +1 -0
- package/src/zoeService/offer/offer.d.ts.map +1 -1
- package/src/zoeService/offer/offer.js +3 -1
- package/src/zoeService/originalZoeSeat.d.ts.map +1 -1
- package/src/zoeService/originalZoeSeat.js +0 -1
- package/src/zoeService/startInstance.d.ts.map +1 -1
- package/src/zoeService/startInstance.js +0 -2
- package/src/zoeService/types-ambient.d.ts +0 -226
- package/src/zoeService/types-ambient.d.ts.map +1 -1
- package/src/zoeService/types-ambient.js +4 -327
- package/src/zoeService/types.d.ts +238 -0
- package/src/zoeService/types.d.ts.map +1 -0
- package/src/zoeService/types.ts +307 -0
- package/src/zoeService/utils.d.ts +13 -5
- package/src/zoeService/utils.test-d.ts +1 -0
- package/src/zoeService/zoe.d.ts +11 -1
- package/src/zoeService/zoe.d.ts.map +1 -1
- package/src/zoeService/zoe.js +8 -1
- package/src/zoeService/zoeSeat.d.ts.map +1 -1
- package/src/zoeService/zoeSeat.js +1 -2
- package/src/zoeService/zoeStorageManager.d.ts +5 -5
- package/src/zoeService/zoeStorageManager.d.ts.map +1 -1
- package/src/zoeService/zoeStorageManager.js +4 -3
- package/tools/fakeVatAdmin.d.ts +9 -2
- package/tools/fakeVatAdmin.d.ts.map +1 -1
- package/tools/fakeVatAdmin.js +18 -10
- package/tools/manualPriceAuthority.d.ts +4 -1
- package/tools/manualPriceAuthority.d.ts.map +1 -1
- package/tools/manualPriceAuthority.js +1 -0
- package/tools/scriptedOracle.d.ts +6 -2
- package/tools/scriptedOracle.d.ts.map +1 -1
- package/tools/scriptedOracle.js +4 -0
- package/tools/setup-zoe.d.ts +12 -6
- package/tools/setup-zoe.d.ts.map +1 -1
- package/tools/setup-zoe.js +38 -5
- package/tools/test-utils.d.ts +1 -1
- package/tools/test-utils.js +1 -1
- package/tools/types.d.ts +1 -0
- package/tools/types.d.ts.map +1 -1
- package/tools/types.js +1 -0
- package/src/contractFacet/internal-types.d.ts +0 -8
- package/src/contractFacet/internal-types.d.ts.map +0 -1
- package/src/contractFacet/internal-types.js +0 -15
- package/src/contractFacet/types-ambient.js +0 -1
- package/src/contractSupport/ratio.d.ts +0 -37
- package/src/contractSupport/ratio.d.ts.map +0 -1
- package/src/contractSupport/ratio.js +0 -419
- package/src/contractSupport/safeMath.d.ts +0 -11
- package/src/contractSupport/safeMath.d.ts.map +0 -1
- package/src/contractSupport/safeMath.js +0 -49
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/zoe",
|
|
3
|
-
"version": "0.27.0-upgrade-
|
|
3
|
+
"version": "0.27.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
4
4
|
"description": "Zoe: the Smart Contract Framework for Offer Enforcement",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/zoeService/zoe.js",
|
|
@@ -43,35 +43,35 @@
|
|
|
43
43
|
},
|
|
44
44
|
"homepage": "https://github.com/Agoric/agoric-sdk#readme",
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@agoric/base-zone": "0.1.1-upgrade-
|
|
47
|
-
"@agoric/ertp": "0.16.3-upgrade-
|
|
48
|
-
"@agoric/internal": "0.4.0-upgrade-
|
|
49
|
-
"@agoric/notifier": "0.7.0-upgrade-
|
|
50
|
-
"@agoric/store": "0.9.3-upgrade-
|
|
51
|
-
"@agoric/swingset-liveslots": "0.10.3-upgrade-
|
|
52
|
-
"@agoric/swingset-vat": "0.33.0-upgrade-
|
|
53
|
-
"@agoric/time": "0.3.3-upgrade-
|
|
54
|
-
"@agoric/vat-data": "0.5.3-upgrade-
|
|
55
|
-
"@agoric/vow": "0.2.0-upgrade-
|
|
56
|
-
"@agoric/zone": "0.3.0-upgrade-
|
|
57
|
-
"@endo/bundle-source": "^
|
|
58
|
-
"@endo/captp": "^4.4.
|
|
59
|
-
"@endo/common": "^1.2.
|
|
60
|
-
"@endo/errors": "^1.2.
|
|
61
|
-
"@endo/eventual-send": "^1.3.
|
|
62
|
-
"@endo/exo": "^1.5.
|
|
63
|
-
"@endo/far": "^1.1.
|
|
64
|
-
"@endo/import-bundle": "^1.
|
|
65
|
-
"@endo/marshal": "^1.6.
|
|
66
|
-
"@endo/nat": "^5.0
|
|
67
|
-
"@endo/pass-style": "^1.
|
|
68
|
-
"@endo/patterns": "^1.
|
|
69
|
-
"@endo/promise-kit": "^1.1.
|
|
46
|
+
"@agoric/base-zone": "0.1.1-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
47
|
+
"@agoric/ertp": "0.16.3-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
48
|
+
"@agoric/internal": "0.4.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
49
|
+
"@agoric/notifier": "0.7.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
50
|
+
"@agoric/store": "0.9.3-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
51
|
+
"@agoric/swingset-liveslots": "0.10.3-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
52
|
+
"@agoric/swingset-vat": "0.33.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
53
|
+
"@agoric/time": "0.3.3-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
54
|
+
"@agoric/vat-data": "0.5.3-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
55
|
+
"@agoric/vow": "0.2.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
56
|
+
"@agoric/zone": "0.3.0-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
57
|
+
"@endo/bundle-source": "^4.0.0",
|
|
58
|
+
"@endo/captp": "^4.4.5",
|
|
59
|
+
"@endo/common": "^1.2.10",
|
|
60
|
+
"@endo/errors": "^1.2.10",
|
|
61
|
+
"@endo/eventual-send": "^1.3.1",
|
|
62
|
+
"@endo/exo": "^1.5.9",
|
|
63
|
+
"@endo/far": "^1.1.11",
|
|
64
|
+
"@endo/import-bundle": "^1.4.0",
|
|
65
|
+
"@endo/marshal": "^1.6.4",
|
|
66
|
+
"@endo/nat": "^5.1.0",
|
|
67
|
+
"@endo/pass-style": "^1.5.0",
|
|
68
|
+
"@endo/patterns": "^1.5.0",
|
|
69
|
+
"@endo/promise-kit": "^1.1.10",
|
|
70
70
|
"yargs-parser": "^21.1.1"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@agoric/kmarshal": "0.1.1-upgrade-
|
|
74
|
-
"@endo/init": "^1.1.
|
|
73
|
+
"@agoric/kmarshal": "0.1.1-upgrade-20-dev-ef71cfd.0+ef71cfd",
|
|
74
|
+
"@endo/init": "^1.1.9",
|
|
75
75
|
"ava": "^5.3.0",
|
|
76
76
|
"c8": "^10.1.2",
|
|
77
77
|
"import-meta-resolve": "^4.1.0",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"access": "public"
|
|
99
99
|
},
|
|
100
100
|
"typeCoverage": {
|
|
101
|
-
"atLeast": 85.
|
|
101
|
+
"atLeast": 85.15
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "ef71cfdc9e62572cab9a3d2821dc446ce0d700c3"
|
|
104
104
|
}
|
package/src/cleanProposal.d.ts
CHANGED
|
@@ -6,4 +6,6 @@ export function cleanKeywords(uncleanKeywordRecord: {
|
|
|
6
6
|
export function coerceAmountPatternKeywordRecord(allegedAmountKeywordRecord: any, getAssetKindByBrand: any): Record<string | number | symbol, any>;
|
|
7
7
|
export function coerceAmountKeywordRecord(allegedAmountKeywordRecord: unknown, getAssetKindByBrand: any): AmountKeywordRecord;
|
|
8
8
|
export function cleanProposal(proposal: Proposal, getAssetKindByBrand: GetAssetKindByBrand): ProposalRecord;
|
|
9
|
+
import type { Proposal } from '@agoric/zoe';
|
|
10
|
+
import type { ProposalRecord } from '@agoric/zoe';
|
|
9
11
|
//# sourceMappingURL=cleanProposal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleanProposal.d.ts","sourceRoot":"","sources":["cleanProposal.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cleanProposal.d.ts","sourceRoot":"","sources":["cleanProposal.js"],"names":[],"mappings":"AASA,iCAAkC,GAAG,CAAC;AAiB/B,sDAYN;AAMM,oDAHI;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GACnB,MAAM,EAAE,CAcpB;AAEM,mJAsBN;AAQM,sEAJI,OAAO,uBACP,GAAC,GACC,mBAAmB,CAa/B;AA4CM,wCAJI,QAAQ,uBACR,mBAAmB,GACjB,cAAc,CA6B1B;8BA9JoD,aAAa;oCAAb,aAAa"}
|
package/src/cleanProposal.js
CHANGED
|
@@ -5,12 +5,14 @@ import { assertRecord } from '@endo/marshal';
|
|
|
5
5
|
import { assertKey, assertPattern, mustMatch, isKey } from '@agoric/store';
|
|
6
6
|
import { FullProposalShape } from './typeGuards.js';
|
|
7
7
|
|
|
8
|
-
import './internal-types.js';
|
|
9
|
-
|
|
10
8
|
const { ownKeys } = Reflect;
|
|
11
9
|
|
|
12
10
|
export const MAX_KEYWORD_LENGTH = 100;
|
|
13
11
|
|
|
12
|
+
/**
|
|
13
|
+
* @import {ExitRule, Proposal, ProposalRecord} from '@agoric/zoe';
|
|
14
|
+
*/
|
|
15
|
+
|
|
14
16
|
const firstCapASCII = /^[A-Z][a-zA-Z0-9_$]*$/;
|
|
15
17
|
|
|
16
18
|
// We adopt simple requirements on keywords so that they do not accidentally
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function makeMakeExiter(baggage: any): (proposal: ProposalRecord, zcfSeat: ZCFSeat) => ExitObj;
|
|
1
|
+
export function makeMakeExiter(baggage: any): (proposal: globalThis.ProposalRecord, zcfSeat: globalThis.ZCFSeat) => ExitObj;
|
|
2
2
|
//# sourceMappingURL=exit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["exit.js"],"names":[],"mappings":"AAwBO,
|
|
1
|
+
{"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["exit.js"],"names":[],"mappings":"AAwBO,4HAwGN"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function makeOfferHandlerStorage(zcfBaggage: any): {
|
|
2
|
-
storeOfferHandler: (offerHandler: any) => Handle<"Invitation">;
|
|
2
|
+
storeOfferHandler: (offerHandler: any) => globalThis.Handle<"Invitation">;
|
|
3
3
|
takeOfferHandler: (invitationHandle: InvitationHandle, details?: Details) => OfferHandler;
|
|
4
4
|
};
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rightsConservation.d.ts","sourceRoot":"","sources":["rightsConservation.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rightsConservation.d.ts","sourceRoot":"","sources":["rightsConservation.js"],"names":[],"mappings":"AAoFA;;;;;;;;;GASG;AACH,uDANW,MAAM,EAAE,cAER,MAAM,EAAE,GAEN,IAAI,CAMhB"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import type { AdditionalDisplayInfo, Amount, AnyAmount, AssetKind, Brand, DisplayInfo, Issuer, Payment } from '@agoric/ertp';
|
|
2
|
+
import type { Subscriber } from '@agoric/notifier';
|
|
3
|
+
import type { ERef } from '@endo/far';
|
|
4
|
+
import type { Passable } from '@endo/pass-style';
|
|
5
|
+
import type { Key, Pattern } from '@endo/patterns';
|
|
6
|
+
import type { AmountKeywordRecord, ExitRule, FeeMintAccess, Instance, InvitationDetails, Keyword, ProposalRecord, StandardTerms, UserSeat, ZoeService } from '../types-index.js';
|
|
7
|
+
import type { ContractStartFunction } from '../zoeService/utils.js';
|
|
8
|
+
/**
|
|
9
|
+
* Any passable non-thenable. Often an explanatory string.
|
|
10
|
+
*/
|
|
11
|
+
export type Completion = Passable;
|
|
12
|
+
export type ZCFMakeEmptySeatKit = (exit?: ExitRule | undefined) => ZcfSeatKit;
|
|
13
|
+
export type InvitationAmount = Amount<'set', InvitationDetails>;
|
|
14
|
+
export type ZoeIssuerRecord<K extends AssetKind = AssetKind, M extends Key = Key> = {
|
|
15
|
+
brand: Brand<K>;
|
|
16
|
+
issuer: Issuer<K, M>;
|
|
17
|
+
assetKind: K;
|
|
18
|
+
displayInfo?: DisplayInfo<K>;
|
|
19
|
+
};
|
|
20
|
+
export type Allocation = Record<Keyword, AnyAmount>;
|
|
21
|
+
/**
|
|
22
|
+
* Zoe Contract Facet
|
|
23
|
+
*
|
|
24
|
+
* The Zoe interface specific to a contract instance. The Zoe Contract
|
|
25
|
+
* Facet is an API object used by running contract instances to access
|
|
26
|
+
* the Zoe state for that instance. The Zoe Contract Facet is accessed
|
|
27
|
+
* synchronously from within the contract, and usually is referred to
|
|
28
|
+
* in code as zcf.
|
|
29
|
+
*/
|
|
30
|
+
export type ZCF<CT = Record<string, unknown>> = {
|
|
31
|
+
/**
|
|
32
|
+
* - atomically reallocate amounts among seats.
|
|
33
|
+
*/
|
|
34
|
+
atomicRearrange: (transfers: TransferPart[]) => void;
|
|
35
|
+
/**
|
|
36
|
+
* - check
|
|
37
|
+
* whether a keyword is valid and unique and could be added in
|
|
38
|
+
* `saveIssuer`
|
|
39
|
+
*/
|
|
40
|
+
assertUniqueKeyword: (keyword: Keyword) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Informs Zoe about an issuer and returns a promise for acknowledging
|
|
43
|
+
* when the issuer is added and ready.
|
|
44
|
+
*
|
|
45
|
+
* @returns the AmountMath and brand synchronously accessible after
|
|
46
|
+
* saving
|
|
47
|
+
*/
|
|
48
|
+
saveIssuer: <I extends Issuer>(issuerP: ERef<I>, keyword: Keyword) => Promise<I extends Issuer<infer K, infer M> ? ZoeIssuerRecord<K, M> : never>;
|
|
49
|
+
/**
|
|
50
|
+
* Make a credible Zoe invitation for a particular smart contract
|
|
51
|
+
* indicated by the `instance` in the details of the invitation. Zoe
|
|
52
|
+
* also puts the `installation` and a unique `handle` in the details
|
|
53
|
+
* of the invitation. The contract must provide a `description` for
|
|
54
|
+
* the invitation and should include whatever information is necessary
|
|
55
|
+
* for a potential buyer of the invitation to know what they are
|
|
56
|
+
* getting in the `customDetails`. `customDetails` will be
|
|
57
|
+
* placed in the details of the invitation.
|
|
58
|
+
*/
|
|
59
|
+
makeInvitation: <R, A = undefined>(offerHandler: OfferHandler<ERef<R>, A>, description: string, customDetails?: object, proposalShape?: Pattern) => Promise<Invitation<R, A>>;
|
|
60
|
+
shutdown: (completion: Completion) => void;
|
|
61
|
+
shutdownWithFailure: import('@agoric/swingset-vat').ShutdownWithFailure;
|
|
62
|
+
getZoeService: () => ERef<ZoeService>;
|
|
63
|
+
getInvitationIssuer: () => Issuer<'set'>;
|
|
64
|
+
getTerms: () => StandardTerms & CT;
|
|
65
|
+
getBrandForIssuer: <K extends AssetKind>(issuer: Issuer<K>) => Brand<K>;
|
|
66
|
+
getIssuerForBrand: <K_1 extends AssetKind>(brand: Brand<K_1>) => Issuer<K_1>;
|
|
67
|
+
getAssetKind: (brand: Brand) => AssetKind;
|
|
68
|
+
makeZCFMint: <K_2 extends AssetKind = 'nat'>(keyword: Keyword, assetKind?: K_2 | undefined, displayInfo?: AdditionalDisplayInfo, options?: import('@agoric/ertp').IssuerOptionsRecord) => Promise<ZCFMint<K_2>>;
|
|
69
|
+
registerFeeMint: ZCFRegisterFeeMint;
|
|
70
|
+
makeEmptySeatKit: ZCFMakeEmptySeatKit;
|
|
71
|
+
setTestJig: SetTestJig;
|
|
72
|
+
stopAcceptingOffers: () => Promise<void>;
|
|
73
|
+
setOfferFilter: (strings: Array<string>) => Promise<void>;
|
|
74
|
+
getOfferFilter: () => Promise<Array<string>>;
|
|
75
|
+
getInstance: () => Instance;
|
|
76
|
+
};
|
|
77
|
+
export type TransferPart = [
|
|
78
|
+
fromSeat?: ZCFSeat,
|
|
79
|
+
toSeat?: ZCFSeat,
|
|
80
|
+
fromAmounts?: AmountKeywordRecord,
|
|
81
|
+
toAmounts?: AmountKeywordRecord
|
|
82
|
+
];
|
|
83
|
+
export type ZCFRegisterFeeMint = (keyword: Keyword, allegedFeeMintAccess: FeeMintAccess) => Promise<ZCFMint<'nat'>>;
|
|
84
|
+
/**
|
|
85
|
+
* Provide a jig object for testing purposes only.
|
|
86
|
+
*
|
|
87
|
+
* The contract code provides a callback whose return result will
|
|
88
|
+
* be made available to the test that started this contract. The
|
|
89
|
+
* supplied callback will only be called in a testing context,
|
|
90
|
+
* never in production; i.e., it is only called if `testJigSetter`
|
|
91
|
+
* was supplied.
|
|
92
|
+
*
|
|
93
|
+
* If no `testFn` is supplied, then an empty jig will be used.
|
|
94
|
+
* An additional `zcf` property set to the current ContractFacet
|
|
95
|
+
* will be appended to the returned jig object (overriding any
|
|
96
|
+
* provided by the `testFn`).
|
|
97
|
+
*/
|
|
98
|
+
export type SetTestJig = (testFn?: () => Record<string, unknown>) => void;
|
|
99
|
+
export type ZCFMint<K extends AssetKind = AssetKind> = {
|
|
100
|
+
getIssuerRecord: () => ZoeIssuerRecord<K>;
|
|
101
|
+
/**
|
|
102
|
+
* All the amounts in gains must be of this ZCFMint's brand.
|
|
103
|
+
* The gains' keywords are in the namespace of that seat.
|
|
104
|
+
* Add the gains to that seat's allocation.
|
|
105
|
+
* The resulting state must be offer safe. (Currently, increasing assets can
|
|
106
|
+
* never violate offer safety anyway.)
|
|
107
|
+
*
|
|
108
|
+
* Mint that amount of assets into the pooled purse.
|
|
109
|
+
* If a seat is provided, it is returned. Otherwise a new seat is
|
|
110
|
+
* returned.
|
|
111
|
+
*/
|
|
112
|
+
mintGains: (gains: AmountKeywordRecord, zcfSeat?: ZCFSeat) => ZCFSeat;
|
|
113
|
+
/**
|
|
114
|
+
* All the amounts in losses must be of this ZCFMint's brand.
|
|
115
|
+
* The losses' keywords are in the namespace of that seat.
|
|
116
|
+
* Subtract losses from that seat's allocation.
|
|
117
|
+
* The resulting state must be offer safe.
|
|
118
|
+
*
|
|
119
|
+
* Burn that amount of assets from the pooled purse.
|
|
120
|
+
*/
|
|
121
|
+
burnLosses: (losses: AmountKeywordRecord, zcfSeat: ZCFSeat) => void;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* fail called with the reason for this failure, where reason is
|
|
125
|
+
* normally an instanceof Error.
|
|
126
|
+
*/
|
|
127
|
+
export type ZCFSeatFail = (reason: unknown) => Error;
|
|
128
|
+
export type ZCFSeat = import('@endo/pass-style').RemotableObject & {
|
|
129
|
+
exit: (completion?: Completion) => void;
|
|
130
|
+
fail: ZCFSeatFail;
|
|
131
|
+
getSubscriber: () => Promise<Subscriber<Allocation>>;
|
|
132
|
+
hasExited: () => boolean;
|
|
133
|
+
getProposal: () => ProposalRecord;
|
|
134
|
+
/**
|
|
135
|
+
* @param brand used for filling in an empty amount if the `keyword`
|
|
136
|
+
* is not present in the allocation
|
|
137
|
+
*/
|
|
138
|
+
getAmountAllocated: <B extends Brand<any>>(keyword: Keyword, brand?: B) => B extends Brand<infer K> ? Amount<K> : Amount;
|
|
139
|
+
getCurrentAllocation: () => Allocation;
|
|
140
|
+
isOfferSafe: (newAllocation: Allocation) => boolean;
|
|
141
|
+
};
|
|
142
|
+
export type ZcfSeatKit = {
|
|
143
|
+
zcfSeat: ZCFSeat;
|
|
144
|
+
userSeat: Promise<UserSeat>;
|
|
145
|
+
};
|
|
146
|
+
export type HandleOffer<OR, OA> = (seat: ZCFSeat, offerArgs: OA) => OR;
|
|
147
|
+
export type OfferHandler<OR = unknown, OA = never> = HandleOffer<OR, OA> | {
|
|
148
|
+
handle: HandleOffer<OR, OA>;
|
|
149
|
+
};
|
|
150
|
+
export type ContractMeta<SF extends ContractStartFunction = ContractStartFunction> = {
|
|
151
|
+
customTermsShape?: Record<Parameters<SF>[0] extends ZCF<infer CT> ? keyof CT : never, Pattern>;
|
|
152
|
+
privateArgsShape?: {
|
|
153
|
+
[K in keyof Parameters<SF>[1]]: Pattern;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* - `none` means that the contract is not upgradable.
|
|
157
|
+
* - `canUpgrade` means this code can perform an upgrade
|
|
158
|
+
* - `canBeUpgraded` means that the contract stores kinds durably such that the next version can upgrade
|
|
159
|
+
*/
|
|
160
|
+
upgradability?: 'none' | 'canBeUpgraded' | 'canUpgrade' | undefined;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* API for a contract start function.
|
|
164
|
+
*
|
|
165
|
+
* CAVEAT: assumes synchronous
|
|
166
|
+
*/
|
|
167
|
+
export type ContractStartFn<PF = any, CF = any, CT = any, PA = any> = (zcf: ZCF<CT>, privateArgs: PA, baggage: import('@agoric/vat-data').Baggage) => ContractStartFnResult<PF, CF>;
|
|
168
|
+
export type ContractStartFnResult<PF, CF> = {
|
|
169
|
+
publicFacet?: PF;
|
|
170
|
+
creatorFacet?: CF;
|
|
171
|
+
creatorInvitation?: Promise<Invitation<any, any>> | undefined;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* @deprecated use the parameterized version
|
|
175
|
+
*/
|
|
176
|
+
export type AdminFacet = import('../zoeService/utils.js').AdminFacet<any>;
|
|
177
|
+
declare const OfferReturn: unique symbol;
|
|
178
|
+
declare const OfferArgs: unique symbol;
|
|
179
|
+
export type Invitation<R = unknown, A = undefined> = Payment<'set', InvitationDetails> & {
|
|
180
|
+
[OfferReturn]?: R;
|
|
181
|
+
[OfferArgs]?: A;
|
|
182
|
+
};
|
|
183
|
+
export {};
|
|
184
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type {
|
|
2
|
+
AdditionalDisplayInfo,
|
|
3
|
+
Amount,
|
|
4
|
+
AnyAmount,
|
|
5
|
+
AssetKind,
|
|
6
|
+
Brand,
|
|
7
|
+
DisplayInfo,
|
|
8
|
+
Issuer,
|
|
9
|
+
Payment,
|
|
10
|
+
} from '@agoric/ertp';
|
|
11
|
+
import type { Subscriber } from '@agoric/notifier';
|
|
12
|
+
import type { ERef } from '@endo/far';
|
|
13
|
+
import type { Passable } from '@endo/pass-style';
|
|
14
|
+
import type { Key, Pattern } from '@endo/patterns';
|
|
15
|
+
import type {
|
|
16
|
+
AmountKeywordRecord,
|
|
17
|
+
ExitRule,
|
|
18
|
+
FeeMintAccess,
|
|
19
|
+
Instance,
|
|
20
|
+
InvitationDetails,
|
|
21
|
+
Keyword,
|
|
22
|
+
ProposalRecord,
|
|
23
|
+
StandardTerms,
|
|
24
|
+
UserSeat,
|
|
25
|
+
ZoeService,
|
|
26
|
+
} from '../types-index.js';
|
|
27
|
+
import type { ContractStartFunction } from '../zoeService/utils.js';
|
|
4
28
|
|
|
5
29
|
/**
|
|
6
30
|
* Any passable non-thenable. Often an explanatory string.
|
|
7
31
|
*/
|
|
8
|
-
type Completion =
|
|
9
|
-
type ZCFMakeEmptySeatKit = (exit?: ExitRule | undefined) => ZcfSeatKit;
|
|
32
|
+
export type Completion = Passable;
|
|
33
|
+
export type ZCFMakeEmptySeatKit = (exit?: ExitRule | undefined) => ZcfSeatKit;
|
|
10
34
|
|
|
11
|
-
type InvitationAmount = Amount<'set', InvitationDetails>;
|
|
35
|
+
export type InvitationAmount = Amount<'set', InvitationDetails>;
|
|
36
|
+
|
|
37
|
+
export type ZoeIssuerRecord<
|
|
38
|
+
K extends AssetKind = AssetKind,
|
|
39
|
+
M extends Key = Key,
|
|
40
|
+
> = {
|
|
41
|
+
brand: Brand<K>;
|
|
42
|
+
issuer: Issuer<K, M>;
|
|
43
|
+
assetKind: K;
|
|
44
|
+
displayInfo?: DisplayInfo<K>;
|
|
45
|
+
};
|
|
46
|
+
export type Allocation = Record<Keyword, AnyAmount>;
|
|
12
47
|
|
|
13
48
|
/**
|
|
14
49
|
* Zoe Contract Facet
|
|
@@ -19,7 +54,7 @@ type InvitationAmount = Amount<'set', InvitationDetails>;
|
|
|
19
54
|
* synchronously from within the contract, and usually is referred to
|
|
20
55
|
* in code as zcf.
|
|
21
56
|
*/
|
|
22
|
-
type ZCF<CT = Record<string, unknown>> = {
|
|
57
|
+
export type ZCF<CT = Record<string, unknown>> = {
|
|
23
58
|
/**
|
|
24
59
|
* - atomically reallocate amounts among seats.
|
|
25
60
|
*/
|
|
@@ -40,7 +75,9 @@ type ZCF<CT = Record<string, unknown>> = {
|
|
|
40
75
|
saveIssuer: <I extends Issuer>(
|
|
41
76
|
issuerP: ERef<I>,
|
|
42
77
|
keyword: Keyword,
|
|
43
|
-
) => Promise<
|
|
78
|
+
) => Promise<
|
|
79
|
+
I extends Issuer<infer K, infer M> ? ZoeIssuerRecord<K, M> : never
|
|
80
|
+
>;
|
|
44
81
|
|
|
45
82
|
/**
|
|
46
83
|
* Make a credible Zoe invitation for a particular smart contract
|
|
@@ -65,7 +102,7 @@ type ZCF<CT = Record<string, unknown>> = {
|
|
|
65
102
|
getTerms: () => StandardTerms & CT;
|
|
66
103
|
getBrandForIssuer: <K extends AssetKind>(issuer: Issuer<K>) => Brand<K>;
|
|
67
104
|
getIssuerForBrand: <K_1 extends AssetKind>(brand: Brand<K_1>) => Issuer<K_1>;
|
|
68
|
-
getAssetKind:
|
|
105
|
+
getAssetKind: (brand: Brand) => AssetKind;
|
|
69
106
|
makeZCFMint: <K_2 extends AssetKind = 'nat'>(
|
|
70
107
|
keyword: Keyword,
|
|
71
108
|
assetKind?: K_2 | undefined,
|
|
@@ -81,14 +118,14 @@ type ZCF<CT = Record<string, unknown>> = {
|
|
|
81
118
|
getInstance: () => Instance;
|
|
82
119
|
};
|
|
83
120
|
|
|
84
|
-
type TransferPart = [
|
|
121
|
+
export type TransferPart = [
|
|
85
122
|
fromSeat?: ZCFSeat,
|
|
86
123
|
toSeat?: ZCFSeat,
|
|
87
124
|
fromAmounts?: AmountKeywordRecord,
|
|
88
125
|
toAmounts?: AmountKeywordRecord,
|
|
89
126
|
];
|
|
90
127
|
|
|
91
|
-
type ZCFRegisterFeeMint = (
|
|
128
|
+
export type ZCFRegisterFeeMint = (
|
|
92
129
|
keyword: Keyword,
|
|
93
130
|
allegedFeeMintAccess: FeeMintAccess,
|
|
94
131
|
) => Promise<ZCFMint<'nat'>>;
|
|
@@ -106,9 +143,9 @@ type ZCFRegisterFeeMint = (
|
|
|
106
143
|
* will be appended to the returned jig object (overriding any
|
|
107
144
|
* provided by the `testFn`).
|
|
108
145
|
*/
|
|
109
|
-
type SetTestJig = (testFn?: () => Record<string, unknown>) => void;
|
|
110
|
-
type ZCFMint<K extends AssetKind = AssetKind> = {
|
|
111
|
-
getIssuerRecord: () =>
|
|
146
|
+
export type SetTestJig = (testFn?: () => Record<string, unknown>) => void;
|
|
147
|
+
export type ZCFMint<K extends AssetKind = AssetKind> = {
|
|
148
|
+
getIssuerRecord: () => ZoeIssuerRecord<K>;
|
|
112
149
|
/**
|
|
113
150
|
* All the amounts in gains must be of this ZCFMint's brand.
|
|
114
151
|
* The gains' keywords are in the namespace of that seat.
|
|
@@ -135,8 +172,8 @@ type ZCFMint<K extends AssetKind = AssetKind> = {
|
|
|
135
172
|
* fail called with the reason for this failure, where reason is
|
|
136
173
|
* normally an instanceof Error.
|
|
137
174
|
*/
|
|
138
|
-
type ZCFSeatFail = (reason: unknown) => Error;
|
|
139
|
-
type ZCFSeat = import('@endo/pass-style').RemotableObject & {
|
|
175
|
+
export type ZCFSeatFail = (reason: unknown) => Error;
|
|
176
|
+
export type ZCFSeat = import('@endo/pass-style').RemotableObject & {
|
|
140
177
|
exit: (completion?: Completion) => void;
|
|
141
178
|
fail: ZCFSeatFail;
|
|
142
179
|
getSubscriber: () => Promise<Subscriber<Allocation>>;
|
|
@@ -146,26 +183,26 @@ type ZCFSeat = import('@endo/pass-style').RemotableObject & {
|
|
|
146
183
|
* @param brand used for filling in an empty amount if the `keyword`
|
|
147
184
|
* is not present in the allocation
|
|
148
185
|
*/
|
|
149
|
-
getAmountAllocated: <B extends Brand
|
|
186
|
+
getAmountAllocated: <B extends Brand<any>>(
|
|
150
187
|
keyword: Keyword,
|
|
151
188
|
brand?: B,
|
|
152
189
|
) => B extends Brand<infer K> ? Amount<K> : Amount;
|
|
153
190
|
getCurrentAllocation: () => Allocation;
|
|
154
191
|
isOfferSafe: (newAllocation: Allocation) => boolean;
|
|
155
192
|
};
|
|
156
|
-
type ZcfSeatKit = {
|
|
193
|
+
export type ZcfSeatKit = {
|
|
157
194
|
zcfSeat: ZCFSeat;
|
|
158
195
|
userSeat: Promise<UserSeat>;
|
|
159
196
|
};
|
|
160
|
-
type HandleOffer<OR, OA> = (seat: ZCFSeat, offerArgs: OA) => OR;
|
|
161
|
-
type OfferHandler<OR = unknown, OA = never> =
|
|
197
|
+
export type HandleOffer<OR, OA> = (seat: ZCFSeat, offerArgs: OA) => OR;
|
|
198
|
+
export type OfferHandler<OR = unknown, OA = never> =
|
|
162
199
|
| HandleOffer<OR, OA>
|
|
163
200
|
| {
|
|
164
201
|
handle: HandleOffer<OR, OA>;
|
|
165
202
|
};
|
|
166
|
-
type ContractMeta<
|
|
203
|
+
export type ContractMeta<
|
|
167
204
|
SF extends // import inline to maintain ambient mode
|
|
168
|
-
|
|
205
|
+
ContractStartFunction = ContractStartFunction,
|
|
169
206
|
> = {
|
|
170
207
|
customTermsShape?: Record<
|
|
171
208
|
Parameters<SF>[0] extends ZCF<infer CT> ? keyof CT : never,
|
|
@@ -184,25 +221,25 @@ type ContractMeta<
|
|
|
184
221
|
*
|
|
185
222
|
* CAVEAT: assumes synchronous
|
|
186
223
|
*/
|
|
187
|
-
type ContractStartFn<PF = any, CF = any, CT = any, PA = any> = (
|
|
224
|
+
export type ContractStartFn<PF = any, CF = any, CT = any, PA = any> = (
|
|
188
225
|
zcf: ZCF<CT>,
|
|
189
226
|
privateArgs: PA,
|
|
190
227
|
baggage: import('@agoric/vat-data').Baggage,
|
|
191
228
|
) => ContractStartFnResult<PF, CF>;
|
|
192
|
-
type ContractStartFnResult<PF, CF> = {
|
|
229
|
+
export type ContractStartFnResult<PF, CF> = {
|
|
193
230
|
publicFacet?: PF;
|
|
194
231
|
creatorFacet?: CF;
|
|
195
232
|
creatorInvitation?: Promise<Invitation<any, any>> | undefined;
|
|
196
233
|
};
|
|
197
234
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
type AdminFacet = import('../zoeService/utils').AdminFacet<any>;
|
|
235
|
+
/**
|
|
236
|
+
* @deprecated use the parameterized version
|
|
237
|
+
*/
|
|
238
|
+
export type AdminFacet = import('../zoeService/utils.js').AdminFacet<any>;
|
|
202
239
|
|
|
203
240
|
declare const OfferReturn: unique symbol;
|
|
204
241
|
declare const OfferArgs: unique symbol;
|
|
205
|
-
type Invitation<R = unknown, A = undefined> = Payment<
|
|
242
|
+
export type Invitation<R = unknown, A = undefined> = Payment<
|
|
206
243
|
'set',
|
|
207
244
|
InvitationDetails
|
|
208
245
|
> & {
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @import {ZoeService} from '@agoric/zoe';
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @param {VatPowers & { testJigSetter: ( {zcf}: {zcf: ZCF} ) => void }} powers
|
|
3
6
|
* @param {{contractBundleCap: BundleCap, zoeService: ZoeService, invitationIssuer: Issuer<'set'>, privateArgs?: any}} vatParameters
|
|
4
7
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
5
8
|
*/
|
|
6
9
|
export function buildRootObject(powers: VatPowers & {
|
|
7
|
-
testJigSetter:
|
|
10
|
+
testJigSetter: ({ zcf }: {
|
|
11
|
+
zcf: ZCF;
|
|
12
|
+
}) => void;
|
|
8
13
|
}, vatParameters: {
|
|
9
14
|
contractBundleCap: BundleCap;
|
|
10
15
|
zoeService: ZoeService;
|
|
11
16
|
invitationIssuer: Issuer<"set">;
|
|
12
17
|
privateArgs?: any;
|
|
13
18
|
}, baggage: import("@agoric/vat-data").Baggage): Promise<import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {}>>;
|
|
19
|
+
import type { ZoeService } from '@agoric/zoe';
|
|
14
20
|
//# sourceMappingURL=vatRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vatRoot.d.ts","sourceRoot":"","sources":["vatRoot.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vatRoot.d.ts","sourceRoot":"","sources":["vatRoot.js"],"names":[],"mappings":"AAeA;;GAEG;AAEH;;;;GAIG;AACH,wCAJW,SAAS,GAAG;IAAE,aAAa,EAAE,CAAE,EAAC,GAAG,EAAC,EAAE;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,KAAM,IAAI,CAAA;CAAE,iBAC5D;IAAC,iBAAiB,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,GAAG,CAAA;CAAC,WAC1G,OAAO,kBAAkB,EAAE,OAAO,oIA8D5C;gCApE4B,aAAa"}
|
|
@@ -11,12 +11,14 @@ import { Fail } from '@endo/errors';
|
|
|
11
11
|
import { Far } from '@endo/marshal';
|
|
12
12
|
import { E } from '@endo/far';
|
|
13
13
|
|
|
14
|
-
import '../internal-types.js';
|
|
15
|
-
|
|
16
14
|
import { makeZCFZygote } from './zcfZygote.js';
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
|
-
* @
|
|
17
|
+
* @import {ZoeService} from '@agoric/zoe';
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @param {VatPowers & { testJigSetter: ( {zcf}: {zcf: ZCF} ) => void }} powers
|
|
20
22
|
* @param {{contractBundleCap: BundleCap, zoeService: ZoeService, invitationIssuer: Issuer<'set'>, privateArgs?: any}} vatParameters
|
|
21
23
|
* @param {import('@agoric/vat-data').Baggage} baggage
|
|
22
24
|
*/
|
|
@@ -72,7 +74,6 @@ export async function buildRootObject(powers, vatParameters, baggage) {
|
|
|
72
74
|
issuerStorageFromZoe,
|
|
73
75
|
privateArgs = undefined,
|
|
74
76
|
) => {
|
|
75
|
-
/** @type {ZCFZygote} */
|
|
76
77
|
return E(zcfZygote).startContract(
|
|
77
78
|
zoeInstanceAdmin,
|
|
78
79
|
instanceRecordFromZoe,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export function sumAmountKeywordRecord(amr: AmountKeywordRecord, issuerRecord:
|
|
1
|
+
export function sumAmountKeywordRecord(amr: AmountKeywordRecord, issuerRecord: ZoeIssuerRecord): Amount;
|
|
2
2
|
export function prepareZcMint(zcfBaggage: import("@agoric/vat-data").Baggage, recordIssuer: {
|
|
3
|
-
(keyword: string, issuerRecord:
|
|
3
|
+
(keyword: string, issuerRecord: ZoeIssuerRecord): void;
|
|
4
4
|
}, getAssetKindByBrand: GetAssetKindByBrand, makeEmptySeatKit: (exit?: undefined) => {
|
|
5
5
|
zcfSeat: any;
|
|
6
6
|
userSeat: Promise<UserSeat>;
|
|
7
7
|
}, reallocator: ZcfMintReallocator): (keyword: string, zoeMintP: ERef<ZoeMint<K>>) => Promise<ZCFMint<K>>;
|
|
8
|
+
import type { ZCFMint } from '@agoric/zoe';
|
|
8
9
|
//# sourceMappingURL=zcfMint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zcfMint.d.ts","sourceRoot":"","sources":["zcfMint.js"],"names":[],"mappings":"AAmBO,4CAJI,mBAAmB,gBACnB,
|
|
1
|
+
{"version":3,"file":"zcfMint.d.ts","sourceRoot":"","sources":["zcfMint.js"],"names":[],"mappings":"AAmBO,4CAJI,mBAAmB,gBACnB,eAAe,GACb,MAAM,CAYlB;AASM,0CANI,OAAO,kBAAkB,EAAE,OAAO,gBAClC;IAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,uBAC1D,mBAAmB,oBACnB,CAAC,IAAI,CAAC,EAAE,SAAS,KAAK;IAAE,OAAO,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,eACnE,kBAAkB,IA0Gb,SAJH,MAIU,EAAE,UAHZ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAGK,KAFlB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAWjC;6BA5IkC,aAAa"}
|
|
@@ -6,15 +6,15 @@ import { prepareExoClass } from '@agoric/vat-data';
|
|
|
6
6
|
import { coerceAmountKeywordRecord } from '../cleanProposal.js';
|
|
7
7
|
import { assertFullIssuerRecord, makeIssuerRecord } from '../issuerRecord.js';
|
|
8
8
|
import { addToAllocation, subtractFromAllocation } from './allocationMath.js';
|
|
9
|
-
|
|
10
|
-
import '../internal-types.js';
|
|
11
9
|
import { ZcfMintI } from './typeGuards.js';
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @import {ZCFMint, ZCFSeat} from '@agoric/zoe';
|
|
13
|
+
*/
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @param {AmountKeywordRecord} amr
|
|
17
|
-
* @param {
|
|
17
|
+
* @param {ZoeIssuerRecord} issuerRecord
|
|
18
18
|
* @returns {Amount}
|
|
19
19
|
*/
|
|
20
20
|
export const sumAmountKeywordRecord = (amr, issuerRecord) => {
|
|
@@ -31,7 +31,7 @@ export const sumAmountKeywordRecord = (amr, issuerRecord) => {
|
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* @param {import('@agoric/vat-data').Baggage} zcfBaggage
|
|
34
|
-
* @param {{ (keyword: string, issuerRecord:
|
|
34
|
+
* @param {{ (keyword: string, issuerRecord: ZoeIssuerRecord): void }} recordIssuer
|
|
35
35
|
* @param {GetAssetKindByBrand} getAssetKindByBrand
|
|
36
36
|
* @param {(exit?: undefined) => { zcfSeat: any; userSeat: Promise<UserSeat> }} makeEmptySeatKit
|
|
37
37
|
* @param {ZcfMintReallocator} reallocator
|
|
@@ -51,7 +51,7 @@ export const prepareZcMint = (
|
|
|
51
51
|
* @template {AssetKind} [K=AssetKind]
|
|
52
52
|
* @param {string} keyword
|
|
53
53
|
* @param {ZoeMint<K>} zoeMint
|
|
54
|
-
* @param {Required<
|
|
54
|
+
* @param {Required<ZoeIssuerRecord<K>>} issuerRecord
|
|
55
55
|
*/
|
|
56
56
|
(keyword, zoeMint, issuerRecord) => {
|
|
57
57
|
const {
|