Skip to content

Commit

Permalink
Merge branch 'dfinity:main' into check-subnet-canister-ranges
Browse files Browse the repository at this point in the history
  • Loading branch information
oggy-dfin committed Jun 7, 2022
2 parents d452ce7 + 03515b4 commit dc6229e
Show file tree
Hide file tree
Showing 13 changed files with 88 additions and 45 deletions.
12 changes: 6 additions & 6 deletions demos/ledgerhq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"name": "ic-agent-ledgerhq-app",
"private": true,
"dependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/authentication": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/identity-ledgerhq": "^0.11.2",
"@dfinity/principal": "^0.11.2",
"@dfinity/agent": "^0.11.3",
"@dfinity/authentication": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/identity-ledgerhq": "^0.11.3",
"@dfinity/principal": "^0.11.3",
"assert": "^2.0.0",
"buffer": "^6.0.3",
"events": "^3.2.0",
Expand All @@ -27,5 +27,5 @@
"test:coverage": "",
"test": ""
},
"version": "0.11.2"
"version": "0.11.3"
}
10 changes: 5 additions & 5 deletions demos/sample-javascript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"name": "ic-agent-sample-javascript-app",
"private": true,
"dependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/authentication": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/principal": "^0.11.2",
"@dfinity/agent": "^0.11.3",
"@dfinity/authentication": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/principal": "^0.11.3",
"assert": "^2.0.0",
"events": "^3.2.0",
"html-webpack-plugin": "^5.1.0",
Expand All @@ -24,5 +24,5 @@
"test:coverage": "",
"test": ""
},
"version": "0.11.2"
"version": "0.11.3"
}
10 changes: 5 additions & 5 deletions e2e/node/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"private": true,
"name": "@do-not-publish/ic-node-e2e-tests",
"version": "0.11.2",
"version": "0.11.3",
"scripts": {
"ci": "npm run e2e",
"e2e": "jest --verbose",
Expand All @@ -16,10 +16,10 @@
"test": ""
},
"dependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/authentication": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/principal": "^0.11.2",
"@dfinity/agent": "^0.11.3",
"@dfinity/authentication": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/principal": "^0.11.3",
"@trust/webcrypto": "^0.9.2",
"@types/base64-js": "^1.2.5",
"@types/jest": "^26.0.23",
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/agent-monorepo",
"version": "0.11.2",
"version": "0.11.3",
"private": true,
"description": "Use an Agent to interact with the Internet Computer from your JavaScript program.",
"dependencies": {
Expand Down
6 changes: 3 additions & 3 deletions packages/agent/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/agent",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to interact with the Internet Computer",
Expand Down Expand Up @@ -49,8 +49,8 @@
"tslint": "tslint --project tsconfig.json --config tslint.json"
},
"peerDependencies": {
"@dfinity/candid": "^0.11.2",
"@dfinity/principal": "^0.11.2"
"@dfinity/candid": "^0.11.3",
"@dfinity/principal": "^0.11.3"
},
"dependencies": {
"base64-arraybuffer": "^0.2.0",
Expand Down
48 changes: 42 additions & 6 deletions packages/agent/src/agent/http/http.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -362,10 +362,46 @@ describe('replace identity', () => {
expect(mockFetch).toBeCalledTimes(1);
});
});
describe('makeNonce should create unique values', () => {
const nonces = new Set();
for (let i = 0; i < 100; i++) {
nonces.add(toHexString(makeNonce()));
}
expect(nonces.size).toBe(100);

describe('makeNonce', () => {
it('should create unique values', () => {
const nonces = new Set();
for (let i = 0; i < 100; i++) {
nonces.add(toHexString(makeNonce()));
}
expect(nonces.size).toBe(100);
});

describe('setBigUint64 polyfill', () => {
const DataViewConstructor = DataView;
let spyOnSetUint32: jest.SpyInstance;
let usePolyfill = false;

beforeAll(() => {
jest.spyOn(Math, 'random').mockImplementation(() => 0.5);
jest.spyOn(globalThis, 'DataView').mockImplementation(buffer => {
const view: DataView = new DataViewConstructor(buffer);
view.setBigUint64 = usePolyfill ? undefined : view.setBigUint64;
spyOnSetUint32 = jest.spyOn(view, 'setUint32');
return view;
});
});

afterAll(() => {
jest.clearAllMocks();
jest.restoreAllMocks();
});

it('should create same value using polyfill', () => {
const originalNonce = toHexString(makeNonce());
expect(spyOnSetUint32).toBeCalledTimes(2);

usePolyfill = true;

const nonce = toHexString(makeNonce());
expect(spyOnSetUint32).toBeCalledTimes(4);

expect(nonce).toBe(originalNonce);
});
});
});
9 changes: 8 additions & 1 deletion packages/agent/src/agent/http/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,14 @@ export function makeNonce(): Nonce {
const now = BigInt(+Date.now());
const randHi = Math.floor(Math.random() * 0xffffffff);
const randLo = Math.floor(Math.random() * 0xffffffff);
view.setBigUint64(0, now);
// Fix for IOS < 14.8 setBigUint64 absence
if (typeof view.setBigUint64 === 'function') {
view.setBigUint64(0, now);
} else {
const TWO_TO_THE_32 = BigInt(1) << BigInt(32);
view.setUint32(0, Number(now >> BigInt(32)));
view.setUint32(4, Number(now % TWO_TO_THE_32));
}
view.setUint32(8, randHi);
view.setUint32(12, randLo);

Expand Down
10 changes: 5 additions & 5 deletions packages/auth-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/auth-client",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to provide a simple integration with an IC Internet Identity",
Expand Down Expand Up @@ -45,10 +45,10 @@
"test:coverage": "jest --verbose --collectCoverage"
},
"peerDependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/authentication": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/principal": "^0.11.2"
"@dfinity/agent": "^0.11.3",
"@dfinity/authentication": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/principal": "^0.11.3"
},
"devDependencies": {
"@trust/webcrypto": "^0.9.2",
Expand Down
8 changes: 4 additions & 4 deletions packages/authentication/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/authentication",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to manage identity and authentication with the Internet Computer",
Expand Down Expand Up @@ -45,9 +45,9 @@
"test:coverage": "jest --verbose --collectCoverage"
},
"peerDependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/principal": "^0.11.2"
"@dfinity/agent": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/principal": "^0.11.3"
},
"devDependencies": {
"@trust/webcrypto": "^0.9.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/candid/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/candid",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to work with candid interfaces",
Expand Down
8 changes: 4 additions & 4 deletions packages/identity-ledgerhq/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/identity-ledgerhq",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to manage identity and authentication with the Internet Computer",
Expand Down Expand Up @@ -47,9 +47,9 @@
"test:coverage": "jest --verbose --collectCoverage"
},
"peerDependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/identity": "^0.11.2",
"@dfinity/principal": "^0.11.2"
"@dfinity/agent": "^0.11.3",
"@dfinity/identity": "^0.11.3",
"@dfinity/principal": "^0.11.3"
},
"dependencies": {
"@ledgerhq/hw-transport": "^5.49.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/identity/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/identity",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to manage identity with the Internet Computer",
Expand Down Expand Up @@ -44,8 +44,8 @@
"test:coverage": "jest --verbose --collectCoverage"
},
"peerDependencies": {
"@dfinity/agent": "^0.11.2",
"@dfinity/principal": "^0.11.2"
"@dfinity/agent": "^0.11.3",
"@dfinity/principal": "^0.11.3"
},
"dependencies": {
"@types/webappsec-credential-management": "^0.6.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/principal/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@dfinity/principal",
"version": "0.11.2",
"version": "0.11.3",
"author": "DFINITY Stiftung <sdk@dfinity.org>",
"license": "Apache-2.0",
"description": "JavaScript and TypeScript library to work with Internet Computer principals",
Expand Down

0 comments on commit dc6229e

Please sign in to comment.