I hereby claim:
- I am erights on github.
- I am erights (https://keybase.io/erights) on keybase.
- I have a public key ASCODEpcW0xkfFhbDrzWvcFouU6icOqlfAPKb0rhgo_4lgo
To claim this, I am signing this object:
/* | |
* Horton in JavaScript: delegation with blame attribution in an object-capability language | |
* | |
* See http://erights.org/elib/capability/horton/index.html for idea and paper. | |
* | |
* Implementation based on: http://erights.org/elib/capability/horton | |
* (with N-ary message support, lexical nesting and rights amplification) | |
* | |
* To run: | |
* |
(({ imports: $h_imports, liveVar: $h_live, onceVar: $h_once, importMeta: $h____meta, }) => { let M,mustMatch,prepareExoClass,prepareExo,swapExact,InvitationShape,isAfterDeadlineExitRule,OfferHandlerI;$h_imports([["@agoric/store", [["M", [$h_a => (M = $h_a)]],["mustMatch", [$h_a => (mustMatch = $h_a)]]]],["../../../exported.js", []],["@agoric/vat-data", [["prepareExoClass", [$h_a => (prepareExoClass = $h_a)]],["prepareExo", [$h_a => (prepareExo = $h_a)]]]],["../../../src/contractSupport/index.js", [["swapExact", [$h_a => (swapExact = $h_a)]]]],["../../../src/typeGuards.js", [["InvitationShape", [$h_a => (InvitationShape = $h_a)]],["isAfterDeadlineExitRule", [$h_a => (isAfterDeadlineExitRule = $h_a)]],["OfferHandlerI", [$h_a => (OfferHandlerI = $h_a)]]]]]); | |
const ModuleLanguagesSet = makeConstSet([ | |
'cjs', | |
'mjs', | |
'json', | |
'pre-mjs-json', | |
'pre-cjs-json', | |
]); | |
// TODO M.elementOf doesn't yet exist. We should add it. | |
const ModuleLanguageShape = M.elementOf(ModuleLanguagesSet), |
Output of https://github.com/Agoric/agoric-sdk/pull/3105 | |
``` | |
(1):xsnap(test-harden-perf)$ yarn test -sv test/test-harden-perf.js | |
yarn run v1.22.5 | |
$ ava -sv test/test-harden-perf.js | |
time, BOTH, 10, nothing { | |
meterType: 'xs-meter-6', | |
compute: 12257, |
Output of https://github.com/Agoric/agoric-sdk/pull/3105 | |
A better order at https://gist.github.com/erights/0686e4c7c975bd9320834290f7bd3022 | |
``` | |
(1):xsnap(test-harden-perf)$ yarn test -sv test/test-harden-perf.js | |
yarn run v1.22.5 | |
$ ava -sv test/test-harden-perf.js | |
time, BOTH, 10, nothing { | |
meterType: 'xs-meter-6', |
I hereby claim:
To claim this, I am signing this object:
const makeAddr = (x => (y => x + y)); | |
const wm = makeWeakMap(); | |
const makeAddr = (x => { | |
const fn = (y => x + y); | |
wm.set(fn, {get x() { return x; }); | |
return fn; | |
}); |