diff --git a/README.md b/README.md index 6914f04..7c8f174 100644 --- a/README.md +++ b/README.md @@ -39,4 +39,5 @@ Run the scripts npm run retrieve npm run create npm run pay +npm run declare ``` diff --git a/package-lock.json b/package-lock.json index 3760fc3..347e361 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@requestnetwork/epk-signature": "^0.7.1-next.2043", - "@requestnetwork/payment-processor": "0.45.1-next.2043", - "@requestnetwork/request-client.js": "0.47.1-next.2043", + "@requestnetwork/epk-signature": "0.8.0", + "@requestnetwork/payment-processor": "0.46.0", + "@requestnetwork/request-client.js": "0.48.0", "dotenv": "16.3.1", "ethers": "5.7.2" }, @@ -739,9 +739,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -946,13 +946,13 @@ "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" }, "node_modules/@requestnetwork/advanced-logic": { - "version": "0.42.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/advanced-logic/-/advanced-logic-0.42.1-next.2043.tgz", - "integrity": "sha512-la2w27NMwxBql3VEFMjJDvIcwZ6ssWcKNOPuC0ZQWWL5tso5UCQ2/RsyagzYxg45dVGf4kPDJOfZ9SzrnqeGQw==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/advanced-logic/-/advanced-logic-0.43.0.tgz", + "integrity": "sha512-bSMTtZR+nEVsbJzluj4AN1qlJ6hmS4nyNq7wwp9xpcaT5kRAEHMgqJconhV5s/SvpKog/HjtjxrLK0/kKWb+zw==", "dependencies": { - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" }, "engines": { @@ -960,13 +960,13 @@ } }, "node_modules/@requestnetwork/currency": { - "version": "0.16.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/currency/-/currency-0.16.1-next.2043.tgz", - "integrity": "sha512-y9ATzr5t7YVZUWU7w+aAO0bErc0V0ddSuHcVkCZAILepXzWAx5PcChCxf7tivFkRawug9q5bv73o7lRFKLgV+Q==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/currency/-/currency-0.17.0.tgz", + "integrity": "sha512-ob83CYw9Zuq1TaZMUf/57qjiOlkpd3Dco0jC7hq0eWTLatJnrYbQl2bNhQYnS+lfBxnmgHthMu+aUFbd6sKtFA==", "dependencies": { "@metamask/contract-metadata": "1.31.0", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "multicoin-address-validator": "0.5.15", "node-dijkstra": "2.5.0", "tslib": "2.5.0" @@ -976,13 +976,13 @@ } }, "node_modules/@requestnetwork/data-access": { - "version": "0.34.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/data-access/-/data-access-0.34.1-next.2043.tgz", - "integrity": "sha512-R9lh30ayKiru9FQh91QFV2cJoRp+kqFdaG2Vfv5bJ9a5bHNbjYzqnEoNMjFhEN2NKnlnw6hCFaEG7klb/nKJfg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/data-access/-/data-access-0.35.0.tgz", + "integrity": "sha512-OhpLU+SsTgA7yteBy+j2jQltRITXcBxrsE/u8UNsj2z5ms+uLJq95R74QzLUsaMk5f4wt5d7h212ox7CnyQRqw==", "dependencies": { - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" }, "engines": { @@ -990,9 +990,9 @@ } }, "node_modules/@requestnetwork/data-format": { - "version": "0.17.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/data-format/-/data-format-0.17.1-next.2043.tgz", - "integrity": "sha512-y0KfAQL6Zk8Q5ii1/KuDt92jmSZzrYDTY7skBi+t19LflU0xWrbfnySYycVYV4P/L1e8Qbn3VgfDeMR7etW0Iw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/data-format/-/data-format-0.18.0.tgz", + "integrity": "sha512-Hfqs8ceF39xmBJldbwxyEVFk1iAfkHKngREqK5Glk0V2PJQcqG03tW0hELJA8a5VP0QHDKN3p5Hhe7WEvJHzBg==", "dependencies": { "ajv": "6.12.4", "ethers": "5.5.1", @@ -1724,12 +1724,12 @@ } }, "node_modules/@requestnetwork/epk-signature": { - "version": "0.7.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/epk-signature/-/epk-signature-0.7.1-next.2043.tgz", - "integrity": "sha512-wAF3axqWvYI9CwZr1URpmis+dwaTerHotpqeOfGExcy6rTzu6S4sJ1TDxDnk4I8Adpw9ZnqTq18xP/3b/ouXBw==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/epk-signature/-/epk-signature-0.8.0.tgz", + "integrity": "sha512-KbcDoPTP1uyr4eVlNsxwDwRiDFAVkODyPq4ypn25GVry6uw5dKXRMzvUifsP1RiGb0T1aIYgY+frYE4Emg5qTg==", "dependencies": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" }, "engines": { @@ -1737,11 +1737,11 @@ } }, "node_modules/@requestnetwork/multi-format": { - "version": "0.17.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/multi-format/-/multi-format-0.17.1-next.2043.tgz", - "integrity": "sha512-GHs6oM5oMcNzQnTTdngqiyfourMAChp/UUjG2AQT+PAw34L3euHFXER7GudvMjgj6YudiFBNcHvPUyLKnQwpFA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/multi-format/-/multi-format-0.18.0.tgz", + "integrity": "sha512-F2NgMhjqUH/JLFEggN/IKRCG933CR7M4bxBMSYIryV8/2wBVhzW91Y1HHrG/gZlE2QLklXokWcID95moWFbwVw==", "dependencies": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", "tslib": "2.5.0" }, "engines": { @@ -1749,14 +1749,14 @@ } }, "node_modules/@requestnetwork/payment-detection": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/payment-detection/-/payment-detection-0.43.1-next.2043.tgz", - "integrity": "sha512-T1lf0DpUzuP2IpUc6Ih1Lk3UGR0dRQaGTK7QznVUK6YnnIsireNY3wtJGeCX8SCqSfIQ9QXaw8rJyCmHf0wJNg==", - "dependencies": { - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/payment-detection/-/payment-detection-0.44.0.tgz", + "integrity": "sha512-4upeNm1xmG7W4Vt+uUP1K5a7JriTbBOauDgprQAlXjHuDVBtSaStsFzSP+1Yn6F8EFc8e0rNr3IdQ+7hmuBm5A==", + "dependencies": { + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "ethers": "5.5.1", "graphql": "16.8.1", "graphql-request": "6.1.0", @@ -2490,16 +2490,16 @@ } }, "node_modules/@requestnetwork/payment-processor": { - "version": "0.45.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/payment-processor/-/payment-processor-0.45.1-next.2043.tgz", - "integrity": "sha512-nis7GIzjT7heBybFmMXwuT6Xci9o3Xj+60seaWfaMEE1yUr6d2p00AsWWe8Nj9NSJNypEChj+KMjUmOsqFYB4A==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/payment-processor/-/payment-processor-0.46.0.tgz", + "integrity": "sha512-DOLzKPYKa0BA1AYrp1gvyvdZ3pcTh/q+/OR1dW30nCxiptd5MDDK+fACshmuixrSSE7EY3gZKEnY7/s19kGIeQ==", "dependencies": { "@openzeppelin/contracts": "4.9.6", - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/payment-detection": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/payment-detection": "0.44.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "@superfluid-finance/sdk-core": "0.5.0", "ethers": "5.5.1", "near-api-js": "4.0.2", @@ -3276,22 +3276,22 @@ } }, "node_modules/@requestnetwork/request-client.js": { - "version": "0.47.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/request-client.js/-/request-client.js-0.47.1-next.2043.tgz", - "integrity": "sha512-bRQMf33etXVULCYi/fvcdtfjvaX1iZ7KgzhBx7nRXHc8kYiYTc9gVj2sLB28erMisAIhvBn7pFXbuuhYWUQ9ng==", - "dependencies": { - "@requestnetwork/advanced-logic": "0.42.1-next.2043+d9feda6f", - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/data-access": "0.34.1-next.2043+d9feda6f", - "@requestnetwork/data-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/epk-signature": "0.7.1-next.2043+d9feda6f", - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/payment-detection": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/request-logic": "0.33.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/transaction-manager": "0.34.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/request-client.js/-/request-client.js-0.48.0.tgz", + "integrity": "sha512-1obrgujFCYW20cfdlS5/nFOaZGsnMwKlzY+H9DyccA8Jm9n8eUR72GhzkPfN91BqwUc33EMn6Bt7MGn5vjUGtg==", + "dependencies": { + "@requestnetwork/advanced-logic": "0.43.0", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/data-access": "0.35.0", + "@requestnetwork/data-format": "0.18.0", + "@requestnetwork/epk-signature": "0.8.0", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/payment-detection": "0.44.0", + "@requestnetwork/request-logic": "0.34.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/transaction-manager": "0.35.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "ethers": "5.5.1", "qs": "6.11.2", "tslib": "2.5.0" @@ -4022,14 +4022,14 @@ } }, "node_modules/@requestnetwork/request-logic": { - "version": "0.33.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/request-logic/-/request-logic-0.33.1-next.2043.tgz", - "integrity": "sha512-0hN3YRcLAaNkyuxQjNbaZ5Cpu9kPmCFo3ET+vpzCk3aaQe7ydyc7H8l/d5golFQVMq3rTy+ia7UYj00H+EEKPw==", - "dependencies": { - "@requestnetwork/advanced-logic": "0.42.1-next.2043+d9feda6f", - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/request-logic/-/request-logic-0.34.0.tgz", + "integrity": "sha512-o8FVo31vQD9r9y/JHJsruVs5IAFrUHHxGTJ9wt7qWdt06+K+PDugMJDI7BE+tqcuh8Frl06zNqNFZi1NViAy/Q==", + "dependencies": { + "@requestnetwork/advanced-logic": "0.43.0", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "semver": "7.5.4", "tslib": "2.5.0" }, @@ -4038,9 +4038,9 @@ } }, "node_modules/@requestnetwork/smart-contracts": { - "version": "0.36.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/smart-contracts/-/smart-contracts-0.36.1-next.2043.tgz", - "integrity": "sha512-i2HIyB80rXP5PuWsgglqvpfWOpkTixG2aI4+JUwdR68YZIgy2/1u48pq4FeQ0XKC536yLLGZcfcEeICdfjILJg==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/smart-contracts/-/smart-contracts-0.37.0.tgz", + "integrity": "sha512-/Aw+h/vqF94Vde6/84JIWnl5r5z+bT+EFqfPbnTmbgMWkidpvaJfJwPAiWWyIl8XMH6dk64wRrq7ltVEbuGEMw==", "dependencies": { "tslib": "2.5.0" }, @@ -4049,13 +4049,13 @@ } }, "node_modules/@requestnetwork/transaction-manager": { - "version": "0.34.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/transaction-manager/-/transaction-manager-0.34.1-next.2043.tgz", - "integrity": "sha512-GUtroshZKAnr/Hd+ce7nYSibLtsA8+JlbG1UjvDRg5L5sHLlROfZIULwJ7IdWQi0NdSplAFvO6HW3My3jR5QlQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/transaction-manager/-/transaction-manager-0.35.0.tgz", + "integrity": "sha512-oL1/tmDC+2iSdaDRcasnIarsyQx/tA9zyNmgSE2aVCNGyak8BlUImS6dttQj/ByNzPvSCzzGfmwEzlAdytBeEA==", "dependencies": { - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" }, "engines": { @@ -4063,9 +4063,9 @@ } }, "node_modules/@requestnetwork/types": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/types/-/types-0.43.1-next.2043.tgz", - "integrity": "sha512-JAaONnLOYdhtXLed9zlzWgGs5FNRezQbhzHIQhne3SDmjOxWpEicjdTrjdRAIeUgB+05owVDdR0o7b7UJ9knOQ==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/types/-/types-0.44.0.tgz", + "integrity": "sha512-2FFApNYNF7/FGrCUAkOkMIgNRL7eDgKJ5V1wuyCz+o4B5EboqwNV3xbnrGah65oDvBbbFAcJ5T0kqUniKNuSKw==", "dependencies": { "ethers": "5.5.1" }, @@ -4795,11 +4795,11 @@ } }, "node_modules/@requestnetwork/utils": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/utils/-/utils-0.43.1-next.2043.tgz", - "integrity": "sha512-jYDowF2HaagLK4ZlcgViwILjAb4IzYk04IG+Xzvjl5ZdcAwf3GGh5c6bU+/kf+ud5fTuEDjX/4zfT1Mc6fx/nw==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/utils/-/utils-0.44.0.tgz", + "integrity": "sha512-69yp0GhMYfSJPiR0eH5sKEXulTCQR8KGfwlen7gZX4VZA0BIBvfG9gjyCGSgjPnKBmBR+lbCIqzCV/DwOIMb+Q==", "dependencies": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", "@toruslabs/eccrypto": "4.0.0", "ethers": "5.5.1", "secp256k1": "4.0.2", @@ -5712,9 +5712,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "dependencies": { "safe-buffer": "^5.0.1" } @@ -8568,9 +8568,9 @@ } }, "node_modules/terser": { - "version": "5.31.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", - "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -8585,9 +8585,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -9350,9 +9350,9 @@ } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "@jridgewell/trace-mapping": { "version": "0.3.25", @@ -9530,44 +9530,44 @@ "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==" }, "@requestnetwork/advanced-logic": { - "version": "0.42.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/advanced-logic/-/advanced-logic-0.42.1-next.2043.tgz", - "integrity": "sha512-la2w27NMwxBql3VEFMjJDvIcwZ6ssWcKNOPuC0ZQWWL5tso5UCQ2/RsyagzYxg45dVGf4kPDJOfZ9SzrnqeGQw==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/advanced-logic/-/advanced-logic-0.43.0.tgz", + "integrity": "sha512-bSMTtZR+nEVsbJzluj4AN1qlJ6hmS4nyNq7wwp9xpcaT5kRAEHMgqJconhV5s/SvpKog/HjtjxrLK0/kKWb+zw==", "requires": { - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" } }, "@requestnetwork/currency": { - "version": "0.16.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/currency/-/currency-0.16.1-next.2043.tgz", - "integrity": "sha512-y9ATzr5t7YVZUWU7w+aAO0bErc0V0ddSuHcVkCZAILepXzWAx5PcChCxf7tivFkRawug9q5bv73o7lRFKLgV+Q==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/currency/-/currency-0.17.0.tgz", + "integrity": "sha512-ob83CYw9Zuq1TaZMUf/57qjiOlkpd3Dco0jC7hq0eWTLatJnrYbQl2bNhQYnS+lfBxnmgHthMu+aUFbd6sKtFA==", "requires": { "@metamask/contract-metadata": "1.31.0", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "multicoin-address-validator": "0.5.15", "node-dijkstra": "2.5.0", "tslib": "2.5.0" } }, "@requestnetwork/data-access": { - "version": "0.34.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/data-access/-/data-access-0.34.1-next.2043.tgz", - "integrity": "sha512-R9lh30ayKiru9FQh91QFV2cJoRp+kqFdaG2Vfv5bJ9a5bHNbjYzqnEoNMjFhEN2NKnlnw6hCFaEG7klb/nKJfg==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/data-access/-/data-access-0.35.0.tgz", + "integrity": "sha512-OhpLU+SsTgA7yteBy+j2jQltRITXcBxrsE/u8UNsj2z5ms+uLJq95R74QzLUsaMk5f4wt5d7h212ox7CnyQRqw==", "requires": { - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" } }, "@requestnetwork/data-format": { - "version": "0.17.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/data-format/-/data-format-0.17.1-next.2043.tgz", - "integrity": "sha512-y0KfAQL6Zk8Q5ii1/KuDt92jmSZzrYDTY7skBi+t19LflU0xWrbfnySYycVYV4P/L1e8Qbn3VgfDeMR7etW0Iw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/data-format/-/data-format-0.18.0.tgz", + "integrity": "sha512-Hfqs8ceF39xmBJldbwxyEVFk1iAfkHKngREqK5Glk0V2PJQcqG03tW0hELJA8a5VP0QHDKN3p5Hhe7WEvJHzBg==", "requires": { "ajv": "6.12.4", "ethers": "5.5.1", @@ -9988,33 +9988,33 @@ } }, "@requestnetwork/epk-signature": { - "version": "0.7.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/epk-signature/-/epk-signature-0.7.1-next.2043.tgz", - "integrity": "sha512-wAF3axqWvYI9CwZr1URpmis+dwaTerHotpqeOfGExcy6rTzu6S4sJ1TDxDnk4I8Adpw9ZnqTq18xP/3b/ouXBw==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/epk-signature/-/epk-signature-0.8.0.tgz", + "integrity": "sha512-KbcDoPTP1uyr4eVlNsxwDwRiDFAVkODyPq4ypn25GVry6uw5dKXRMzvUifsP1RiGb0T1aIYgY+frYE4Emg5qTg==", "requires": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" } }, "@requestnetwork/multi-format": { - "version": "0.17.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/multi-format/-/multi-format-0.17.1-next.2043.tgz", - "integrity": "sha512-GHs6oM5oMcNzQnTTdngqiyfourMAChp/UUjG2AQT+PAw34L3euHFXER7GudvMjgj6YudiFBNcHvPUyLKnQwpFA==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/multi-format/-/multi-format-0.18.0.tgz", + "integrity": "sha512-F2NgMhjqUH/JLFEggN/IKRCG933CR7M4bxBMSYIryV8/2wBVhzW91Y1HHrG/gZlE2QLklXokWcID95moWFbwVw==", "requires": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", "tslib": "2.5.0" } }, "@requestnetwork/payment-detection": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/payment-detection/-/payment-detection-0.43.1-next.2043.tgz", - "integrity": "sha512-T1lf0DpUzuP2IpUc6Ih1Lk3UGR0dRQaGTK7QznVUK6YnnIsireNY3wtJGeCX8SCqSfIQ9QXaw8rJyCmHf0wJNg==", - "requires": { - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/payment-detection/-/payment-detection-0.44.0.tgz", + "integrity": "sha512-4upeNm1xmG7W4Vt+uUP1K5a7JriTbBOauDgprQAlXjHuDVBtSaStsFzSP+1Yn6F8EFc8e0rNr3IdQ+7hmuBm5A==", + "requires": { + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "ethers": "5.5.1", "graphql": "16.8.1", "graphql-request": "6.1.0", @@ -10437,16 +10437,16 @@ } }, "@requestnetwork/payment-processor": { - "version": "0.45.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/payment-processor/-/payment-processor-0.45.1-next.2043.tgz", - "integrity": "sha512-nis7GIzjT7heBybFmMXwuT6Xci9o3Xj+60seaWfaMEE1yUr6d2p00AsWWe8Nj9NSJNypEChj+KMjUmOsqFYB4A==", + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/payment-processor/-/payment-processor-0.46.0.tgz", + "integrity": "sha512-DOLzKPYKa0BA1AYrp1gvyvdZ3pcTh/q+/OR1dW30nCxiptd5MDDK+fACshmuixrSSE7EY3gZKEnY7/s19kGIeQ==", "requires": { "@openzeppelin/contracts": "4.9.6", - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/payment-detection": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/payment-detection": "0.44.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "@superfluid-finance/sdk-core": "0.5.0", "ethers": "5.5.1", "near-api-js": "4.0.2", @@ -10899,22 +10899,22 @@ } }, "@requestnetwork/request-client.js": { - "version": "0.47.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/request-client.js/-/request-client.js-0.47.1-next.2043.tgz", - "integrity": "sha512-bRQMf33etXVULCYi/fvcdtfjvaX1iZ7KgzhBx7nRXHc8kYiYTc9gVj2sLB28erMisAIhvBn7pFXbuuhYWUQ9ng==", - "requires": { - "@requestnetwork/advanced-logic": "0.42.1-next.2043+d9feda6f", - "@requestnetwork/currency": "0.16.1-next.2043+d9feda6f", - "@requestnetwork/data-access": "0.34.1-next.2043+d9feda6f", - "@requestnetwork/data-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/epk-signature": "0.7.1-next.2043+d9feda6f", - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/payment-detection": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/request-logic": "0.33.1-next.2043+d9feda6f", - "@requestnetwork/smart-contracts": "0.36.1-next.2043+d9feda6f", - "@requestnetwork/transaction-manager": "0.34.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/request-client.js/-/request-client.js-0.48.0.tgz", + "integrity": "sha512-1obrgujFCYW20cfdlS5/nFOaZGsnMwKlzY+H9DyccA8Jm9n8eUR72GhzkPfN91BqwUc33EMn6Bt7MGn5vjUGtg==", + "requires": { + "@requestnetwork/advanced-logic": "0.43.0", + "@requestnetwork/currency": "0.17.0", + "@requestnetwork/data-access": "0.35.0", + "@requestnetwork/data-format": "0.18.0", + "@requestnetwork/epk-signature": "0.8.0", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/payment-detection": "0.44.0", + "@requestnetwork/request-logic": "0.34.0", + "@requestnetwork/smart-contracts": "0.37.0", + "@requestnetwork/transaction-manager": "0.35.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "ethers": "5.5.1", "qs": "6.11.2", "tslib": "2.5.0" @@ -11334,41 +11334,41 @@ } }, "@requestnetwork/request-logic": { - "version": "0.33.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/request-logic/-/request-logic-0.33.1-next.2043.tgz", - "integrity": "sha512-0hN3YRcLAaNkyuxQjNbaZ5Cpu9kPmCFo3ET+vpzCk3aaQe7ydyc7H8l/d5golFQVMq3rTy+ia7UYj00H+EEKPw==", - "requires": { - "@requestnetwork/advanced-logic": "0.42.1-next.2043+d9feda6f", - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/request-logic/-/request-logic-0.34.0.tgz", + "integrity": "sha512-o8FVo31vQD9r9y/JHJsruVs5IAFrUHHxGTJ9wt7qWdt06+K+PDugMJDI7BE+tqcuh8Frl06zNqNFZi1NViAy/Q==", + "requires": { + "@requestnetwork/advanced-logic": "0.43.0", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "semver": "7.5.4", "tslib": "2.5.0" } }, "@requestnetwork/smart-contracts": { - "version": "0.36.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/smart-contracts/-/smart-contracts-0.36.1-next.2043.tgz", - "integrity": "sha512-i2HIyB80rXP5PuWsgglqvpfWOpkTixG2aI4+JUwdR68YZIgy2/1u48pq4FeQ0XKC536yLLGZcfcEeICdfjILJg==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/smart-contracts/-/smart-contracts-0.37.0.tgz", + "integrity": "sha512-/Aw+h/vqF94Vde6/84JIWnl5r5z+bT+EFqfPbnTmbgMWkidpvaJfJwPAiWWyIl8XMH6dk64wRrq7ltVEbuGEMw==", "requires": { "tslib": "2.5.0" } }, "@requestnetwork/transaction-manager": { - "version": "0.34.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/transaction-manager/-/transaction-manager-0.34.1-next.2043.tgz", - "integrity": "sha512-GUtroshZKAnr/Hd+ce7nYSibLtsA8+JlbG1UjvDRg5L5sHLlROfZIULwJ7IdWQi0NdSplAFvO6HW3My3jR5QlQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/transaction-manager/-/transaction-manager-0.35.0.tgz", + "integrity": "sha512-oL1/tmDC+2iSdaDRcasnIarsyQx/tA9zyNmgSE2aVCNGyak8BlUImS6dttQj/ByNzPvSCzzGfmwEzlAdytBeEA==", "requires": { - "@requestnetwork/multi-format": "0.17.1-next.2043+d9feda6f", - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", - "@requestnetwork/utils": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/multi-format": "0.18.0", + "@requestnetwork/types": "0.44.0", + "@requestnetwork/utils": "0.44.0", "tslib": "2.5.0" } }, "@requestnetwork/types": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/types/-/types-0.43.1-next.2043.tgz", - "integrity": "sha512-JAaONnLOYdhtXLed9zlzWgGs5FNRezQbhzHIQhne3SDmjOxWpEicjdTrjdRAIeUgB+05owVDdR0o7b7UJ9knOQ==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/types/-/types-0.44.0.tgz", + "integrity": "sha512-2FFApNYNF7/FGrCUAkOkMIgNRL7eDgKJ5V1wuyCz+o4B5EboqwNV3xbnrGah65oDvBbbFAcJ5T0kqUniKNuSKw==", "requires": { "ethers": "5.5.1" }, @@ -11787,11 +11787,11 @@ } }, "@requestnetwork/utils": { - "version": "0.43.1-next.2043", - "resolved": "https://registry.npmjs.org/@requestnetwork/utils/-/utils-0.43.1-next.2043.tgz", - "integrity": "sha512-jYDowF2HaagLK4ZlcgViwILjAb4IzYk04IG+Xzvjl5ZdcAwf3GGh5c6bU+/kf+ud5fTuEDjX/4zfT1Mc6fx/nw==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@requestnetwork/utils/-/utils-0.44.0.tgz", + "integrity": "sha512-69yp0GhMYfSJPiR0eH5sKEXulTCQR8KGfwlen7gZX4VZA0BIBvfG9gjyCGSgjPnKBmBR+lbCIqzCV/DwOIMb+Q==", "requires": { - "@requestnetwork/types": "0.43.1-next.2043+d9feda6f", + "@requestnetwork/types": "0.44.0", "@toruslabs/eccrypto": "4.0.0", "ethers": "5.5.1", "secp256k1": "4.0.2", @@ -12352,9 +12352,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", + "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", "requires": { "safe-buffer": "^5.0.1" } @@ -14609,9 +14609,9 @@ } }, "terser": { - "version": "5.31.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", - "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "requires": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -14620,9 +14620,9 @@ }, "dependencies": { "acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==" + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==" }, "commander": { "version": "2.20.3", diff --git a/package.json b/package.json index 53570c3..86b4cf6 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,15 @@ "prepare": "husky install", "retrieve": "node src/retrieveRequest.js", "create": "node src/createRequest.js", - "pay": "node src/payRequest.js" + "pay": "node src/payRequest.js", + "declare": "node src/declarePaymentSentAndReceived.js" }, "author": "", "license": "ISC", "dependencies": { - "@requestnetwork/epk-signature": "0.7.1-next.2043", - "@requestnetwork/payment-processor": "0.45.1-next.2043", - "@requestnetwork/request-client.js": "0.47.1-next.2043", + "@requestnetwork/epk-signature": "0.8.0", + "@requestnetwork/payment-processor": "0.46.0", + "@requestnetwork/request-client.js": "0.48.0", "dotenv": "16.3.1", "ethers": "5.7.2" }, diff --git a/src/declarePaymentSentAndReceived.js b/src/declarePaymentSentAndReceived.js new file mode 100644 index 0000000..c77f4ed --- /dev/null +++ b/src/declarePaymentSentAndReceived.js @@ -0,0 +1,161 @@ +const waitForConfirmation = async (dataOrPromise) => { + const data = await dataOrPromise; + return new Promise((resolve, reject) => { + data.on("confirmed", resolve); + data.on("error", reject); + }); +}; + +(async () => { + const { + RequestNetwork, + Types, + Utils, + } = require("@requestnetwork/request-client.js"); + const { + EthereumPrivateKeySignatureProvider, + } = require("@requestnetwork/epk-signature"); + const { config } = require("dotenv"); + const { Wallet } = require("ethers"); + + // Load environment variables from .env file + config(); + + const payeeEpkSignatureProvider = new EthereumPrivateKeySignatureProvider({ + method: Types.Signature.METHOD.ECDSA, + privateKey: process.env.PAYEE_PRIVATE_KEY, // Must include 0x prefix + }); + + const payerEpkSignatureProvider = new EthereumPrivateKeySignatureProvider({ + method: Types.Signature.METHOD.ECDSA, + privateKey: process.env.PAYER_PRIVATE_KEY, // Must include 0x prefix + }); + + const payeeRequestClient = new RequestNetwork({ + nodeConnectionConfig: { + baseURL: "https://sepolia.gateway.request.network/", + }, + signatureProvider: payeeEpkSignatureProvider, + }); + + const payerRequestClient = new RequestNetwork({ + nodeConnectionConfig: { + baseURL: "https://sepolia.gateway.request.network/", + }, + signatureProvider: payerEpkSignatureProvider, + }); + + const payeeIdentityAddress = new Wallet(process.env.PAYEE_PRIVATE_KEY) + .address; + const payerIdentityAddress = new Wallet(process.env.PAYER_PRIVATE_KEY) + .address; + + const payeeIdentity = { + type: Types.Identity.TYPE.ETHEREUM_ADDRESS, + value: payeeIdentityAddress, + }; + + const payerIdentity = { + type: Types.Identity.TYPE.ETHEREUM_ADDRESS, + value: payerIdentityAddress, + }; + + // In this example, the payee is also the payment recipient. + const paymentRecipient = payeeIdentityAddress; + const feeRecipient = "0x0000000000000000000000000000000000000000"; + + const requestCreateParameters = { + requestInfo: { + currency: { + type: Types.RequestLogic.CURRENCY.ERC20, + value: "0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C", // FAU token address + network: "sepolia", + }, + expectedAmount: "1000000000000000000", // 1.0 + payee: payeeIdentity, + payer: payerIdentity, + timestamp: Utils.getCurrentTimestampInSecond(), + }, + paymentNetwork: { + // We can declare payments because ERC20 fee proxy payment network inherits from declarative payment network + id: Types.Extension.PAYMENT_NETWORK_ID.ERC20_FEE_PROXY_CONTRACT, + parameters: { + paymentNetworkName: "sepolia", + paymentAddress: paymentRecipient, + feeAddress: feeRecipient, + feeAmount: "0", + }, + }, + contentData: { + reason: "🍕", + dueDate: "2023.06.16", + builderId: "request-network", + createdWith: "quickstart", + }, + signer: payeeIdentity, + }; + + const payeeRequest = await payeeRequestClient.createRequest( + requestCreateParameters, + ); + const payeeRequestData = await payeeRequest.waitForConfirmation(); + + const payerRequest = await payerRequestClient.fromRequestId( + payeeRequestData.requestId, + ); + const payerRequestData = payerRequest.getData(); + + const payerRequestDataAfterSent = await payerRequest.declareSentPayment( + payerRequestData.expectedAmount, + "payment initiated from the bank", + payerIdentity, + ); + console.log( + "payerRequestDataAfterSent: " + + JSON.stringify(payerRequestDataAfterSent, null, 2), + ); + + const payerRequestDataAfterSentConfirmed = await waitForConfirmation( + payerRequestDataAfterSent, + ); + console.log( + "payerRequestDataAfterSentConfirmed: " + + JSON.stringify(payerRequestDataAfterSentConfirmed, null, 2), + ); + console.log( + "Observe extensionsData contains 3 events: paymentNetwork 'create', contentData 'create', and paymentNetwork 'declareSentPayment'", + ); + + const payeeRequestDataRefreshed = await payeeRequest.refresh(); + + const payeeRequestDataAfterReceived = + await payeeRequest.declareReceivedPayment( + payeeRequestDataRefreshed.expectedAmount, + "payment received from the bank", + payeeIdentity, + ); + + const payeeRequestDataAfterReceivedConfirmed = await waitForConfirmation( + payeeRequestDataAfterReceived, + ); + console.log( + "payeeRequestDataAfterReceivedConfirmed: " + + JSON.stringify(payeeRequestDataAfterReceivedConfirmed, null, 2), + ); + console.log( + "Observe extensionsData contains 4 events: paymentNetwork 'create', contentData 'create', paymentNetwork 'declareSentPayment', and paymentNetwork 'declareReceivedPayment'", + ); + + console.log( + "Request balance: " + + payeeRequestDataAfterReceivedConfirmed.balance.balance, + ); + console.log( + "Request balance events: " + + JSON.stringify( + payeeRequestDataAfterReceivedConfirmed.balance.events, + null, + 2, + ), + ); +})(); diff --git a/src/payRequest.js b/src/payRequest.js index 67b2606..84d3905 100644 --- a/src/payRequest.js +++ b/src/payRequest.js @@ -15,7 +15,6 @@ } = require("@requestnetwork/payment-processor"); const { providers, Wallet } = require("ethers"); const { config } = require("dotenv"); - const { Wallet } = require("ethers"); // Load environment variables from .env file config(); @@ -89,13 +88,11 @@ console.log( `Checking if payer ${payerWallet.address} has sufficient funds...`, ); - const _hasSufficientFunds = await hasSufficientFunds( - requestData, - payerWallet.address, - { - provider: provider, - }, - ); + const _hasSufficientFunds = await hasSufficientFunds({ + request: requestData, + address: payerWallet.address, + providerOptions: { provider: provider }, + }); console.log(`_hasSufficientFunds = ${_hasSufficientFunds}`); if (!_hasSufficientFunds) { throw new Error(`Insufficient Funds: ${payerWallet.address}`);