From f102bcd9cb0d4f9cfa61d290c18bbd3855b283bd Mon Sep 17 00:00:00 2001 From: zajck Date: Wed, 6 Sep 2023 07:35:44 +0200 Subject: [PATCH 1/5] add twinId to TokenRange --- contracts/domain/BosonTypes.sol | 1 + contracts/protocol/bases/TwinBase.sol | 1 + contracts/protocol/facets/ExchangeHandlerFacet.sol | 5 ++--- contracts/protocol/facets/TwinHandlerFacet.sol | 4 +++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/contracts/domain/BosonTypes.sol b/contracts/domain/BosonTypes.sol index ecf853f9f..c0e222f2d 100644 --- a/contracts/domain/BosonTypes.sol +++ b/contracts/domain/BosonTypes.sol @@ -238,6 +238,7 @@ contract BosonTypes { struct TokenRange { uint256 start; uint256 end; + uint256 twinId; } struct Twin { diff --git a/contracts/protocol/bases/TwinBase.sol b/contracts/protocol/bases/TwinBase.sol index cd1d3a7be..3f803ef06 100644 --- a/contracts/protocol/bases/TwinBase.sol +++ b/contracts/protocol/bases/TwinBase.sol @@ -92,6 +92,7 @@ contract TwinBase is ProtocolBase, IBosonTwinEvents { TokenRange storage tokenRange = twinRanges.push(); tokenRange.start = tokenId; tokenRange.end = lastTokenId; + tokenRange.twinId = twinId; lookups.rangeIdByTwin[twinId] = ++twinRangesLength; } else if (_twin.tokenType == TokenType.MultiToken) { diff --git a/contracts/protocol/facets/ExchangeHandlerFacet.sol b/contracts/protocol/facets/ExchangeHandlerFacet.sol index 7d3e2408b..0c734ac63 100644 --- a/contracts/protocol/facets/ExchangeHandlerFacet.sol +++ b/contracts/protocol/facets/ExchangeHandlerFacet.sol @@ -1256,7 +1256,6 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { ) internal { // Get all ranges of twins that belong to the seller and to the same token address. TokenRange[] storage twinRanges = _lookups.twinRangesBySeller[_sellerId][_twin.tokenAddress]; - bool unlimitedSupply = _twin.supplyAvailable == type(uint256).max; uint256 rangeIndex = _lookups.rangeIdByTwin[_twin.id] - 1; @@ -1264,10 +1263,10 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { if (unlimitedSupply ? range.end == _twin.tokenId : range.start == _twin.tokenId) { uint256 lastIndex = twinRanges.length - 1; - if (rangeIndex != lastIndex) { // Replace range with last range - twinRanges[rangeIndex] = twinRanges[lastIndex]; + range = twinRanges[lastIndex]; + _lookups.rangeIdByTwin[range.twinId] = rangeIndex; } // Remove from ranges mapping diff --git a/contracts/protocol/facets/TwinHandlerFacet.sol b/contracts/protocol/facets/TwinHandlerFacet.sol index c887b882f..cd39520fd 100644 --- a/contracts/protocol/facets/TwinHandlerFacet.sol +++ b/contracts/protocol/facets/TwinHandlerFacet.sol @@ -87,7 +87,9 @@ contract TwinHandlerFacet is IBosonTwinHandler, TwinBase { uint256 rangeIndex = lookups.rangeIdByTwin[_twinId] - 1; if (rangeIndex != lastIndex) { - twinRanges[rangeIndex] = twinRanges[lastIndex]; + TokenRange storage range = twinRanges[rangeIndex]; + range = twinRanges[lastIndex]; + lookups.rangeIdByTwin[range.twinId] = rangeIndex; } // Remove last element From 65e171d2f6b659b43b5452834ca936431f69d5fd Mon Sep 17 00:00:00 2001 From: zajck Date: Wed, 6 Sep 2023 08:21:50 +0200 Subject: [PATCH 2/5] unit tests --- .../protocol/facets/ExchangeHandlerFacet.sol | 4 +- .../protocol/facets/TwinHandlerFacet.sol | 5 +-- test/protocol/ExchangeHandlerTest.js | 38 +++++++++++++--- test/protocol/TwinHandlerTest.js | 43 +++++++++++++++++-- 4 files changed, 76 insertions(+), 14 deletions(-) diff --git a/contracts/protocol/facets/ExchangeHandlerFacet.sol b/contracts/protocol/facets/ExchangeHandlerFacet.sol index 0c734ac63..3348db98d 100644 --- a/contracts/protocol/facets/ExchangeHandlerFacet.sol +++ b/contracts/protocol/facets/ExchangeHandlerFacet.sol @@ -1265,8 +1265,8 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { uint256 lastIndex = twinRanges.length - 1; if (rangeIndex != lastIndex) { // Replace range with last range - range = twinRanges[lastIndex]; - _lookups.rangeIdByTwin[range.twinId] = rangeIndex; + twinRanges[rangeIndex] = twinRanges[lastIndex]; + _lookups.rangeIdByTwin[range.twinId] = rangeIndex + 1; } // Remove from ranges mapping diff --git a/contracts/protocol/facets/TwinHandlerFacet.sol b/contracts/protocol/facets/TwinHandlerFacet.sol index cd39520fd..37cd2ecbc 100644 --- a/contracts/protocol/facets/TwinHandlerFacet.sol +++ b/contracts/protocol/facets/TwinHandlerFacet.sol @@ -87,9 +87,8 @@ contract TwinHandlerFacet is IBosonTwinHandler, TwinBase { uint256 rangeIndex = lookups.rangeIdByTwin[_twinId] - 1; if (rangeIndex != lastIndex) { - TokenRange storage range = twinRanges[rangeIndex]; - range = twinRanges[lastIndex]; - lookups.rangeIdByTwin[range.twinId] = rangeIndex; + twinRanges[rangeIndex] = twinRanges[lastIndex]; + lookups.rangeIdByTwin[twinRanges[rangeIndex].twinId] = rangeIndex + 1; } // Remove last element diff --git a/test/protocol/ExchangeHandlerTest.js b/test/protocol/ExchangeHandlerTest.js index a9943f710..429536b26 100644 --- a/test/protocol/ExchangeHandlerTest.js +++ b/test/protocol/ExchangeHandlerTest.js @@ -4040,7 +4040,7 @@ describe("IBosonExchangeHandler", function () { } }); - it("Should remove rangeIdByTwin when transfering last token from range", async () => { + it("Should remove rangeIdByTwin when transferring last token from range", async () => { const rangeIdByTwinMappingSlot = BigInt( getMappingStoragePosition(protocolLookupsSlotNumber + 32n, Number(twin721.id), paddingType.START) ); @@ -4095,15 +4095,31 @@ describe("IBosonExchangeHandler", function () { let expectedRange1End = zeroPadValue(toHexString(BigInt("10")), 32); expect(range1End).to.equal(expectedRange1End); + let range1twinId = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 2n); + let expectedRange1twinId = zeroPadValue(toHexString(BigInt("2")), 32); // first 721 twin has id 2 + expect(range1twinId).to.equal(expectedRange1twinId); + + let rangeIdByTwin1Slot = getMappingStoragePosition(protocolLookupsSlotNumber + 32n, "2", paddingType.START); + let rangeIdByTwin1 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin1Slot); + expect(rangeIdByTwin1).to.equal(1n); // rangeIdByTwin maps to index + 1 + // Second range - let range2Start = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 2n); + let range2Start = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 3n); let expectedRange2Start = zeroPadValue(toHexString(BigInt("11")), 32); expect(range2Start).to.equal(expectedRange2Start); - let range2End = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 3n); + let range2End = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 4n); let expectedRange2End = zeroPadValue(toHexString(BigInt("20")), 32); expect(range2End).to.equal(expectedRange2End); + let range2twinId = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 5n); + let expectedRange2twinId = zeroPadValue(toHexString(BigInt("4")), 32); // second 721 twin has id 4 + expect(range2twinId).to.equal(expectedRange2twinId); + + let rangeIdByTwin2Slot = getMappingStoragePosition(protocolLookupsSlotNumber + 32n, "4", paddingType.START); + let rangeIdByTwin2 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin2Slot); + expect(rangeIdByTwin2).to.equal(2n); + // Set time forward to the offer's voucherRedeemableFrom voucherRedeemableFrom = offerDates.voucherRedeemableFrom; await setNextBlockTimestamp(Number(voucherRedeemableFrom)); @@ -4128,13 +4144,25 @@ describe("IBosonExchangeHandler", function () { expect(range1Start).to.equal(expectedRange2Start); range1End = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 1n); expect(range1End).to.equal(expectedRange2End); + range1twinId = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 2n); + expect(range1twinId).to.equal(expectedRange2twinId); // Second range should be empty const slotEmpty = zeroPadBytes(toHexString(BigInt("0")), 32); - range2Start = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 2n); + range2Start = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 3n); expect(range2Start).to.equal(slotEmpty); - range2End = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 3n); + range2End = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 4n); expect(range2End).to.equal(slotEmpty); + range2twinId = await getStorageAt(protocolDiamondAddress, sellerTwinRangesSlot + 5n); + expect(range2twinId).to.equal(slotEmpty); + + // First twin should map to zero index + rangeIdByTwin1 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin1Slot); + expect(rangeIdByTwin1).to.equal(0n); // zero indicates no range + + // Second twin should map to first range + rangeIdByTwin2 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin2Slot); + expect(rangeIdByTwin2).to.equal(1n); }); }); diff --git a/test/protocol/TwinHandlerTest.js b/test/protocol/TwinHandlerTest.js index 3c1c04183..8ae5c61c0 100644 --- a/test/protocol/TwinHandlerTest.js +++ b/test/protocol/TwinHandlerTest.js @@ -1,5 +1,5 @@ const { ethers } = require("hardhat"); -const { ZeroAddress, MaxUint256 } = ethers; +const { ZeroAddress, MaxUint256, id: ethersId } = ethers; const { expect, assert } = require("chai"); const Twin = require("../../scripts/domain/Twin"); const Bundle = require("../../scripts/domain/Bundle"); @@ -7,9 +7,17 @@ const PausableRegion = require("../../scripts/domain/PausableRegion.js"); const TokenType = require("../../scripts/domain/TokenType.js"); const { getInterfaceIds } = require("../../scripts/config/supported-interfaces.js"); const { RevertReasons } = require("../../scripts/config/revert-reasons.js"); -const { getEvent, setupTestEnvironment, getSnapshot, revertToSnapshot } = require("../util/utils.js"); +const { + getEvent, + setupTestEnvironment, + getSnapshot, + revertToSnapshot, + getMappingStoragePosition, + paddingType, +} = require("../util/utils.js"); const { deployMockTokens } = require("../../scripts/util/deploy-mock-tokens"); const { mockOffer, mockSeller, mockTwin, mockAuthToken, mockVoucherInitValues, accountId } = require("../util/mock"); +const { getStorageAt } = require("@nomicfoundation/hardhat-network-helpers"); /** * Test the Boson Twin Handler interface @@ -653,14 +661,31 @@ describe("IBosonTwinHandler", function () { // Create a twin with range: [5000,6499] let twin3 = twin1.clone(); twin3.tokenId = "5000"; - twin3.id = "3"; + twin3.id = "4"; - await foreign721.connect(assistant).setApprovalForAll(await twinHandler.getAddress(), true); + const protocolDiamondAddress = await twinHandler.getAddress(); + await foreign721.connect(assistant).setApprovalForAll(protocolDiamondAddress, true); await twinHandler.connect(assistant).createTwin(twin1); await twinHandler.connect(assistant).createTwin(twin2); await twinHandler.connect(assistant).createTwin(twin3); + // Check range by id mappings + const protocolLookupsSlot = ethersId("boson.protocol.lookups"); + const protocolLookupsSlotNumber = BigInt(protocolLookupsSlot); + + let rangeIdByTwin1Slot = getMappingStoragePosition(protocolLookupsSlotNumber + 32n, "2", paddingType.START); + let rangeIdByTwin1 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin1Slot); + expect(rangeIdByTwin1).to.equal(1n); + + let rangeIdByTwin2Slot = getMappingStoragePosition(protocolLookupsSlotNumber + 32n, "3", paddingType.START); + let rangeIdByTwin2 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin2Slot); + expect(rangeIdByTwin2).to.equal(2n); + + let rangeIdByTwin3Slot = getMappingStoragePosition(protocolLookupsSlotNumber + 32n, "4", paddingType.START); + let rangeIdByTwin3 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin3Slot); + expect(rangeIdByTwin3).to.equal(3n); + // Remove twin await twinHandler.connect(assistant).removeTwin(twin2.id); @@ -674,6 +699,16 @@ describe("IBosonTwinHandler", function () { ); // Twin2 was removed, therefore it should be possible to be added again await expect(twinHandler.connect(assistant).createTwin(twin2)).to.not.reverted; + + // Check range by id mappings + rangeIdByTwin1 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin1Slot); + expect(rangeIdByTwin1).to.equal(1n); + + rangeIdByTwin2 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin2Slot); + expect(rangeIdByTwin2).to.equal(0n); + + rangeIdByTwin3 = await getStorageAt(protocolDiamondAddress, rangeIdByTwin3Slot); + expect(rangeIdByTwin3).to.equal(2n); }); context("πŸ’” Revert Reasons", async function () { From 33f06a0304cfd410bcae0791d23b25cf6cdbee07 Mon Sep 17 00:00:00 2001 From: Klemen <64400885+zajck@users.noreply.github.com> Date: Mon, 11 Sep 2023 09:59:34 +0200 Subject: [PATCH 3/5] Release v2.3.0-rc.3 (#791) * Update configs * update package.json version * fix manage roles script * comment out custom block in forking * temp disable version check * reset to HEAD at the end * mumbai test addresses * fix verification script * enable back version check * goerli setup * Goerli addresses * handle auth token ethereum * goerli references in package.json and hardhat config --------- Co-authored-by: Mischa --- .env.example | 5 + addresses/5-goerli-test.json | 199 + addresses/80001-mumbai-test.json | 140 +- .../interfaces/DAIAliases.sol/DAIAliases.json | 70 + .../IAccessControl.sol/IAccessControl.json | 183 + .../interfaces/IERC1155.sol/IERC1155.json | 304 + .../interfaces/IERC165.sol/IERC165.json | 30 + .../goerli/interfaces/IERC20.sol/IERC20.json | 194 + .../IERC20Metadata.sol/IERC20Metadata.json | 233 + .../interfaces/IERC2981.sol/IERC2981.json | 59 + .../interfaces/IERC721.sol/IERC721.json | 296 + .../IInitializableVoucherClone.json | 69 + .../interfaces/ITwinToken.sol/ITwinToken.json | 78 + .../IBosonVoucher.sol/IBosonVoucher.json | 819 +++ .../IClientExternalAddresses.json | 114 + .../diamond/IDiamondCut.sol/IDiamondCut.json | 93 + .../IDiamondLoupe.sol/IDiamondLoupe.json | 87 + .../IERC165Extended.sol/IERC165Extended.json | 37 + .../IBosonAccountEvents.json | 928 +++ .../IBosonBundleEvents.json | 64 + .../IBosonConfigEvents.json | 321 + .../IBosonDisputeEvents.json | 218 + .../IBosonExchangeEvents.json | 339 ++ .../IBosonFundsEvents.json | 42 + .../IBosonFundsLibEvents.json | 147 + .../IBosonGroupEvents.json | 203 + .../IBosonMetaTransactionsEvents.json | 67 + .../IBosonOfferEvents.json | 301 + .../IBosonPauseEvents.json | 49 + .../IBosonProtocolInitializationEvents.json | 24 + .../IBosonTwinEvents.json | 190 + .../IClientExternalAddressesEvents.json | 49 + .../IBosonAccountHandler.json | 2174 +++++++ .../IBosonBundleHandler.json | 206 + .../IBosonConfigHandler.json | 722 +++ .../IBosonDisputeHandler.json | 654 +++ .../IBosonExchangeHandler.json | 1212 ++++ .../IBosonFundsHandler.json | 367 ++ .../IBosonGroupHandler.json | 477 ++ .../IBosonMetaTransactionsHandler.json | 196 + .../IBosonOfferHandler.json | 879 +++ .../IBosonOrchestrationHandler.json | 5169 +++++++++++++++++ .../IBosonPauseHandler.json | 88 + .../IBosonProtocolInitializationHandler.json | 347 ++ .../IBosonTwinHandler.json | 327 ++ .../IInitializableVoucherClone.json | 10 + .../IBosonVoucher.sol/IBosonVoucher.json | 15 +- .../IBosonAccountEvents.json | 57 + .../IBosonConfigEvents.json | 164 +- .../IBosonExchangeEvents.json | 43 + .../IBosonGroupEvents.json | 24 +- .../IBosonOfferEvents.json | 5 + .../IBosonPauseEvents.json | 6 + .../IBosonAccountHandler.json | 229 + .../IBosonConfigHandler.json | 418 +- .../IBosonExchangeHandler.json | 117 +- .../IBosonFundsHandler.json | 89 + .../IBosonGroupHandler.json | 60 +- .../IBosonOfferHandler.json | 20 + .../IBosonOrchestrationHandler.json | 342 +- .../IBosonPauseHandler.json | 27 +- .../IBosonProtocolInitializationHandler.json | 164 +- environments.js | 7 + hardhat.config.js | 6 + logs/goerli.deploy.contracts.txt | 134 + package-lock.json | 4 +- package.json | 5 +- scripts/config/auth-token-addresses.js | 5 +- scripts/config/client-upgrade.js | 3 +- scripts/config/protocol-parameters.js | 12 +- scripts/config/role-assignments.js | 15 +- scripts/deploy-suite.js | 15 +- scripts/manage-roles.js | 14 +- scripts/migrations/dry-run.js | 4 +- scripts/migrations/migrate_2.3.0.js | 20 +- scripts/util/report-verify-deployments.js | 4 +- 76 files changed, 19961 insertions(+), 847 deletions(-) create mode 100644 addresses/5-goerli-test.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/DAIAliases.sol/DAIAliases.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IAccessControl.sol/IAccessControl.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC1155.sol/IERC1155.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC165.sol/IERC165.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC20.sol/IERC20.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC20Metadata.sol/IERC20Metadata.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC2981.sol/IERC2981.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IERC721.sol/IERC721.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/ITwinToken.sol/ITwinToken.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/clients/IClientExternalAddresses.sol/IClientExternalAddresses.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondCut.sol/IDiamondCut.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondLoupe.sol/IDiamondLoupe.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/diamond/IERC165Extended.sol/IERC165Extended.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonBundleEvents.sol/IBosonBundleEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonDisputeEvents.sol/IBosonDisputeEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsLibEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonMetaTransactionsEvents.sol/IBosonMetaTransactionsEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonProtocolInitializationEvents.sol/IBosonProtocolInitializationEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IBosonTwinEvents.sol/IBosonTwinEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/events/IClientExternalAddressesEvents.sol/IClientExternalAddressesEvents.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonBundleHandler.sol/IBosonBundleHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonDisputeHandler.sol/IBosonDisputeHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonMetaTransactionsHandler.sol/IBosonMetaTransactionsHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json create mode 100644 addresses/abis/ethereum/goerli/interfaces/handlers/IBosonTwinHandler.sol/IBosonTwinHandler.json create mode 100644 logs/goerli.deploy.contracts.txt diff --git a/.env.example b/.env.example index 9262c47a4..28d83b6b4 100644 --- a/.env.example +++ b/.env.example @@ -33,6 +33,11 @@ DEPLOYER_MAINNET_TXNODE=http://mainnet.node.example:666 DEPLOYER_MAINNET_KEY=123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234 ADMIN_ADDRESS_MAINNET=0x0000000000000000000000000000000000000000 +# Goerli specific +DEPLOYER_GOERLI_TXNODE=http://goerli.node.example:666 +DEPLOYER_GOERLI_KEY=123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234 +ADMIN_ADDRESS_MAINNET=0x0000000000000000000000000000000000000000 + # Mumbai specific DEPLOYER_MUMBAI_TXNODE=http://mumbai.node.example:666 DEPLOYER_MUMBAI_KEY=123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234 diff --git a/addresses/5-goerli-test.json b/addresses/5-goerli-test.json new file mode 100644 index 000000000..d8959acfe --- /dev/null +++ b/addresses/5-goerli-test.json @@ -0,0 +1,199 @@ +{ + "chainId": 5, + "network": "goerli", + "env": "test", + "protocolVersion": "2.3.0-rc.3", + "contracts": [ + { + "name": "AccessController", + "address": "0x5CB319455264139ab1DdEc1019acCB63efBE85F6", + "args": [], + "interfaceId": "" + }, + { + "name": "DiamondLoupeFacet", + "address": "0x522AFC30aD0D0865e13F08a8a8f64Ae050bC6494", + "args": [], + "interfaceId": "0x48e2b093" + }, + { + "name": "DiamondCutFacet", + "address": "0xd12EeE1D9C16fC989550cce58a572093581515d9", + "args": [], + "interfaceId": "0x1f931c1c" + }, + { + "name": "ERC165Facet", + "address": "0x1B151f3c384dcB29Ecd30E47c9e5351D0D6B4d16", + "args": [], + "interfaceId": "0x2ae6ea10" + }, + { + "name": "ProtocolDiamond", + "address": "0xDA01E28EA66B4294EeE21013bC45a0114E976Da4", + "args": [ + "0x5CB319455264139ab1DdEc1019acCB63efBE85F6", + [ + [ + "0x522AFC30aD0D0865e13F08a8a8f64Ae050bC6494", + 0, + [ + "0xcdffacc6", + "0x52ef6b2c", + "0xadfca15e", + "0x7a0ed627" + ] + ], + [ + "0xd12EeE1D9C16fC989550cce58a572093581515d9", + 0, + [ + "0x1f931c1c" + ] + ], + [ + "0x1B151f3c384dcB29Ecd30E47c9e5351D0D6B4d16", + 0, + [ + "0x92552b4a", + "0xb8b3c15a", + "0x01ffc9a7" + ] + ] + ], + [ + "0x48e2b093", + "0x1f931c1c", + "0x01ffc9a7", + "0x2ae6ea10" + ] + ], + "interfaceId": "" + }, + { + "name": "AccountHandlerFacet", + "address": "0x0b5C2082Ba720C70bCC01F16A0993B3C045ade74", + "args": [], + "interfaceId": "0xbc1d7461" + }, + { + "name": "SellerHandlerFacet", + "address": "0x47fC326d98aB6b3033A8F321911356E9afB057dE", + "args": [], + "interfaceId": "0xbc1d7461" + }, + { + "name": "BuyerHandlerFacet", + "address": "0xf16521a00137F3ca220a80038f2a4A65606ef23c", + "args": [], + "interfaceId": "0xbc1d7461" + }, + { + "name": "DisputeResolverHandlerFacet", + "address": "0x6f2ED6747cEa24f969216aBDAA89d8F0473Cf5Cc", + "args": [], + "interfaceId": "0xbc1d7461" + }, + { + "name": "AgentHandlerFacet", + "address": "0x706F1F44d4D8b7Ca737e0AA6AC0EC3833E78f89b", + "args": [], + "interfaceId": "0xbc1d7461" + }, + { + "name": "BundleHandlerFacet", + "address": "0x6ca830E8A7a0d90d0edfB49463a86c115229a4cf", + "args": [], + "interfaceId": "0x7b53dece" + }, + { + "name": "DisputeHandlerFacet", + "address": "0x7bDF3f49319207dE7395d4F5317f5755C31b262C", + "args": [], + "interfaceId": "0xd9ea8317" + }, + { + "name": "FundsHandlerFacet", + "address": "0x5Bdf7254b3CFDEbe2EEc127e7f24A3eCCf2C4A42", + "args": [], + "interfaceId": "0x2f4a64d7" + }, + { + "name": "GroupHandlerFacet", + "address": "0xEB683c4295109Fa0b1ce8f59e1652DbE248dC757", + "args": [], + "interfaceId": "0x08ccdf47" + }, + { + "name": "OfferHandlerFacet", + "address": "0x8557fEa09B61042678Fc5C48c64c0b70f353ED89", + "args": [], + "interfaceId": "0xa1e3b91c" + }, + { + "name": "OrchestrationHandlerFacet1", + "address": "0x594913903551b5737Cb9dEA5eEfbbD47b7F95Be3", + "args": [], + "interfaceId": "0x7e216084" + }, + { + "name": "OrchestrationHandlerFacet2", + "address": "0x4d987D0013b64A03370210b3fA709Fba33bC0267", + "args": [], + "interfaceId": "0x7e216084" + }, + { + "name": "TwinHandlerFacet", + "address": "0x48BA1cd83d784811321e395fA8c63D215434B0C9", + "args": [], + "interfaceId": "0x60b30e70" + }, + { + "name": "PauseHandlerFacet", + "address": "0x4f6CF8B15AfB80DEd9EE292c0445DC6F22c5cE18", + "args": [], + "interfaceId": "0x770b96d0" + }, + { + "name": "ProtocolInitializationHandlerFacet", + "address": "0xcFb45D8E8631773c9d7aC130296F900110f9D61B", + "args": [], + "interfaceId": "0x0d8e6e2c" + }, + { + "name": "ConfigHandlerFacet", + "address": "0x0a5DCE0736F188879227e37D40c37327Beb6F0b6", + "args": [], + "interfaceId": "0xbc28d3e6" + }, + { + "name": "ExchangeHandlerFacet", + "address": "0x40Aa9d2eEB1462A3BAb7f359121560ED1d0c4a0A", + "args": [ + 1 + ], + "interfaceId": "0xf34a48fa" + }, + { + "name": "MetaTransactionsHandlerFacet", + "address": "0x13b5988c3a021AC147DE30E6e446c3bA21c96151", + "args": [], + "interfaceId": "0xb3e4e803" + }, + { + "name": "BosonVoucher Logic", + "address": "0xFc1875D5f59B2D21633Fe31B0a1B37Df4479a231", + "args": [], + "interfaceId": "" + }, + { + "name": "BosonVoucher Beacon", + "address": "0xD182FfDC04765a60F0753b00741AB0CB7aeC1b53", + "args": [ + "0xDA01E28EA66B4294EeE21013bC45a0114E976Da4", + "0xFc1875D5f59B2D21633Fe31B0a1B37Df4479a231" + ], + "interfaceId": "" + } + ] +} \ No newline at end of file diff --git a/addresses/80001-mumbai-test.json b/addresses/80001-mumbai-test.json index 01bc4e664..5a1e47be7 100644 --- a/addresses/80001-mumbai-test.json +++ b/addresses/80001-mumbai-test.json @@ -2,7 +2,7 @@ "chainId": 80001, "network": "mumbai", "env": "test", - "protocolVersion": "2.2.1-rc.3", + "protocolVersion": "2.3.0", "contracts": [ { "name": "AccessController", @@ -70,136 +70,138 @@ ], "interfaceId": "" }, - { - "name": "AccountHandlerFacet", - "address": "0x03e583A035aFFF33ec0918a4c690BC9883C423a0", - "args": [], - "interfaceId": "0x15335ed7" - }, { "name": "BuyerHandlerFacet", "address": "0x720a33545DbdcCe84666997eF7C4AfB6CC53E87e", "args": [], - "interfaceId": "0x15335ed7" - }, - { - "name": "DisputeResolverHandlerFacet", - "address": "0xE75dB950E786808d7606090e72E9770fA97Bd9D2", - "args": [], - "interfaceId": "0x15335ed7" + "interfaceId": "0xbc1d7461" }, { "name": "AgentHandlerFacet", "address": "0xcde27501927cFa468aAc6e41b468c25755189566", "args": [], - "interfaceId": "0x15335ed7" - }, - { - "name": "BundleHandlerFacet", - "address": "0xf45f4F696B2F330d41e43B1322E7CaFB1DEDDe7b", - "args": [], - "interfaceId": "0x7b53dece" + "interfaceId": "0xbc1d7461" }, { - "name": "DisputeHandlerFacet", - "address": "0xD16606Ae160e348EEB50e71F1b8a2D891B14e7d3", + "name": "OrchestrationHandlerFacet2", + "address": "0x2C0FF1e6795BbbdBA6a2C5AEBa954467aa8d32af", "args": [], - "interfaceId": "0xd9ea8317" + "interfaceId": "0x7e216084" }, { - "name": "ExchangeHandlerFacet", - "address": "0x9AE3F5C157656C4e86b5F8340F399Ee33C62792e", + "name": "BosonVoucher Beacon", + "address": "0xe2eb717F7dE7FeF8E52E657f4D3bdB4e35cd8C12", "args": [ - 1 + "0x76051FC05Ab42D912a737d59a8711f1446712630", + "0x96538811A0395915C8CF524370D8EE0DDC858097" ], - "interfaceId": "0xe300dfc1" + "interfaceId": "" }, { - "name": "FundsHandlerFacet", - "address": "0x84e101c2bc51cfE2C4b0c99E46C2B6733Cdc45F7", + "name": "BosonVoucher Proxy", + "address": "0x6AB7615f663c60E144D8C109547A2A38Fa0bB9F4", "args": [], - "interfaceId": "0x18834247" + "interfaceId": "" }, { - "name": "GroupHandlerFacet", - "address": "0x48b6a6d412F8D5e6990dC1579B83677fFCE64096", + "name": "AccountHandlerFacet", + "address": "0x3dB93Af53e31D17C2715B31835bCd0175179cD0f", "args": [], - "interfaceId": "0xe2bf2256" + "interfaceId": "0xbc1d7461" }, { - "name": "OfferHandlerFacet", - "address": "0xFbAa8b8a5723B7DEeB1F3B342b23ae3bC2996D2c", + "name": "BundleHandlerFacet", + "address": "0xaCbaf088C1D7E14aF68E739c5cc2039F20911889", "args": [], - "interfaceId": "0xa1598d02" + "interfaceId": "0x7b53dece" }, { - "name": "OrchestrationHandlerFacet1", - "address": "0x60bac84255430aF167873B401afA7dE111056979", + "name": "ConfigHandlerFacet", + "address": "0x98Eb77D8b2037FD1878B3eC3004AA663e852D740", "args": [], - "interfaceId": "0x0c62d8e3" + "interfaceId": "0xbc28d3e6" }, { - "name": "OrchestrationHandlerFacet2", - "address": "0x2C0FF1e6795BbbdBA6a2C5AEBa954467aa8d32af", + "name": "DisputeHandlerFacet", + "address": "0x59BC00faa19B44D85df7EBF92B87Ac247C4fE262", "args": [], - "interfaceId": "0x0c62d8e3" + "interfaceId": "0xd9ea8317" }, { - "name": "TwinHandlerFacet", - "address": "0x47D55Ed7e2202C51f10Bf278A342195d11cD6718", + "name": "DisputeResolverHandlerFacet", + "address": "0x45f3a0f6a65fc63f6a630ecc7937f34365878a51", "args": [], - "interfaceId": "0x60b30e70" + "interfaceId": "0xbc1d7461" }, { - "name": "PauseHandlerFacet", - "address": "0xf5F07De28FB26aa4B378a5A9315075B509C69EE5", + "name": "ExchangeHandlerFacet", + "address": "0x5A3fdE5831862dA58CC8909C00f9C48126a658bD", + "args": [ + 1 + ], + "interfaceId": "0xf34a48fa" + }, + { + "name": "FundsHandlerFacet", + "address": "0xe3CA6f621160140A4dDF641Dd4B80dABFd9c640D", "args": [], - "interfaceId": "0x9ddb8ca6" + "interfaceId": "0x2f4a64d7" }, { - "name": "ConfigHandlerFacet", - "address": "0x11663F45bb38d374F0bcE4f8A5CeEaa34AeF4aC0", + "name": "GroupHandlerFacet", + "address": "0x5Edf55880be0d400cB70988f985aC9eb7cE24F82", "args": [], - "interfaceId": "0xe393ad01" + "interfaceId": "0x08ccdf47" }, { "name": "MetaTransactionsHandlerFacet", - "address": "0x19afAA4187E9327F4f0D377a03A607Dd9c14B00B", + "address": "0xC7F37f79E3dABFC55a445267C39F7C5fF2Ab70fB", "args": [], "interfaceId": "0xb3e4e803" }, { - "name": "BosonVoucher Logic", - "address": "0x96538811A0395915C8CF524370D8EE0DDC858097", + "name": "OfferHandlerFacet", + "address": "0xf8Eaf433db3a17002856dC220caA31EB21b32b82", "args": [], - "interfaceId": "" + "interfaceId": "0xa1e3b91c" }, { - "name": "BosonVoucher Beacon", - "address": "0xe2eb717F7dE7FeF8E52E657f4D3bdB4e35cd8C12", - "args": [ - "0x76051FC05Ab42D912a737d59a8711f1446712630", - "0x96538811A0395915C8CF524370D8EE0DDC858097" - ], - "interfaceId": "" + "name": "OrchestrationHandlerFacet1", + "address": "0x3bc09a5f6C6E2e6c823EAc00A223C4844cfa42A3", + "args": [], + "interfaceId": "0x7e216084" }, { - "name": "BosonVoucher Proxy", - "address": "0x6AB7615f663c60E144D8C109547A2A38Fa0bB9F4", + "name": "PauseHandlerFacet", + "address": "0xDf114Af7A1626B320A70F1Ec9A2C1914FdF91DcA", "args": [], - "interfaceId": "" + "interfaceId": "0x770b96d0" }, { "name": "ProtocolInitializationHandlerFacet", - "address": "0x849e1Cd5Ca803D28b9C1D8a247325c99033f0ad1", + "address": "0x9F3dAAA2D7B39C7ad4f375e095357012296e69B8", "args": [], "interfaceId": "0x0d8e6e2c" }, { "name": "SellerHandlerFacet", - "address": "0xCe7aCDE5460Ac3683AC0D67c0524c15509f2678C", + "address": "0xBc0531d17c7576d20C4D7eE65A6A0671e9b2491B", "args": [], - "interfaceId": "0x15335ed7" + "interfaceId": "0xbc1d7461" + }, + { + "name": "TwinHandlerFacet", + "address": "0x9dBc8CdFb547eA09DcC811090D43afD4225aFBE7", + "args": [], + "interfaceId": "0x60b30e70" + }, + { + "name": "BosonVoucher Logic", + "address": "0x1a68A423485F965B92a724b525082c7968aac2fD", + "args": [ + "0x69015912AA33720b842dCD6aC059Ed623F28d9f7" + ], + "interfaceId": "" } ] } \ No newline at end of file diff --git a/addresses/abis/ethereum/goerli/interfaces/DAIAliases.sol/DAIAliases.json b/addresses/abis/ethereum/goerli/interfaces/DAIAliases.sol/DAIAliases.json new file mode 100644 index 000000000..1dbcf1350 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/DAIAliases.sol/DAIAliases.json @@ -0,0 +1,70 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DAIAliases", + "sourceName": "contracts/interfaces/DAIAliases.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "src", + "type": "address" + }, + { + "internalType": "address", + "name": "dst", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "move", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "usr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "pull", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "usr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "wad", + "type": "uint256" + } + ], + "name": "push", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IAccessControl.sol/IAccessControl.json b/addresses/abis/ethereum/goerli/interfaces/IAccessControl.sol/IAccessControl.json new file mode 100644 index 000000000..e5d21a65b --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IAccessControl.sol/IAccessControl.json @@ -0,0 +1,183 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IAccessControl", + "sourceName": "contracts/interfaces/IAccessControl.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC1155.sol/IERC1155.json b/addresses/abis/ethereum/goerli/interfaces/IERC1155.sol/IERC1155.json new file mode 100644 index 000000000..8d8ae4bb6 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC1155.sol/IERC1155.json @@ -0,0 +1,304 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC1155", + "sourceName": "contracts/interfaces/IERC1155.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "values", + "type": "uint256[]" + } + ], + "name": "TransferBatch", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "TransferSingle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "value", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "URI", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + } + ], + "name": "balanceOfBatch", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "ids", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeBatchTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC165.sol/IERC165.json b/addresses/abis/ethereum/goerli/interfaces/IERC165.sol/IERC165.json new file mode 100644 index 000000000..8ba19d7bd --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC165.sol/IERC165.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC165", + "sourceName": "contracts/interfaces/IERC165.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC20.sol/IERC20.json b/addresses/abis/ethereum/goerli/interfaces/IERC20.sol/IERC20.json new file mode 100644 index 000000000..ee813a18d --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC20.sol/IERC20.json @@ -0,0 +1,194 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "contracts/interfaces/IERC20.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC20Metadata.sol/IERC20Metadata.json b/addresses/abis/ethereum/goerli/interfaces/IERC20Metadata.sol/IERC20Metadata.json new file mode 100644 index 000000000..060b8d959 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC20Metadata.sol/IERC20Metadata.json @@ -0,0 +1,233 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20Metadata", + "sourceName": "contracts/interfaces/IERC20Metadata.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC2981.sol/IERC2981.json b/addresses/abis/ethereum/goerli/interfaces/IERC2981.sol/IERC2981.json new file mode 100644 index 000000000..d4dc531f2 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC2981.sol/IERC2981.json @@ -0,0 +1,59 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC2981", + "sourceName": "contracts/interfaces/IERC2981.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IERC721.sol/IERC721.json b/addresses/abis/ethereum/goerli/interfaces/IERC721.sol/IERC721.json new file mode 100644 index 000000000..51d8e70af --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IERC721.sol/IERC721.json @@ -0,0 +1,296 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC721", + "sourceName": "contracts/interfaces/IERC721.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json b/addresses/abis/ethereum/goerli/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json new file mode 100644 index 000000000..03c36d466 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json @@ -0,0 +1,69 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IInitializableVoucherClone", + "sourceName": "contracts/interfaces/IInitializableVoucherClone.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_beaconAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_collectionIndex", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + } + ], + "name": "initializeVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/ITwinToken.sol/ITwinToken.json b/addresses/abis/ethereum/goerli/interfaces/ITwinToken.sol/ITwinToken.json new file mode 100644 index 000000000..b737b59f0 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/ITwinToken.sol/ITwinToken.json @@ -0,0 +1,78 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ITwinToken", + "sourceName": "contracts/interfaces/ITwinToken.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "_isApproved", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json b/addresses/abis/ethereum/goerli/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json new file mode 100644 index 000000000..7b0f5053c --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json @@ -0,0 +1,819 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonVoucher", + "sourceName": "contracts/interfaces/clients/IBosonVoucher.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "contractURI", + "type": "string" + } + ], + "name": "ContractURIChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastBurnedTokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct IBosonVoucher.Range", + "name": "range", + "type": "tuple" + } + ], + "name": "RangeReserved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + } + ], + "name": "RoyaltyPercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "string", + "name": "contractURI", + "type": "string" + } + ], + "name": "VoucherInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endId", + "type": "uint256" + } + ], + "name": "VouchersPreMinted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnPremintedVouchers", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "burnVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "callExternalContract", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "contractURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "getAvailablePreMints", + "outputs": [ + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "getRangeByOfferId", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "length", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minted", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastBurnedTokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "internalType": "struct IBosonVoucher.Range", + "name": "range", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRoyaltyPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getSellerId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_buyer", + "type": "address" + } + ], + "name": "issueVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "preMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_start", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_length", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "reserveRange", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_salePrice", + "type": "uint256" + } + ], + "name": "royaltyInfo", + "outputs": [ + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "royaltyAmount", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAllToContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_newContractURI", + "type": "string" + } + ], + "name": "setContractURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newRoyaltyPercentage", + "type": "uint256" + } + ], + "name": "setRoyaltyPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_tokenList", + "type": "address[]" + } + ], + "name": "withdrawToProtocol", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/clients/IClientExternalAddresses.sol/IClientExternalAddresses.json b/addresses/abis/ethereum/goerli/interfaces/clients/IClientExternalAddresses.sol/IClientExternalAddresses.json new file mode 100644 index 000000000..3c648b95f --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/clients/IClientExternalAddresses.sol/IClientExternalAddresses.json @@ -0,0 +1,114 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IClientExternalAddresses", + "sourceName": "contracts/interfaces/clients/IClientExternalAddresses.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "protocol", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "getAccessController", + "outputs": [ + { + "internalType": "contract IAccessControl", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProtocolAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "name": "setImplementation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_protocolAddress", + "type": "address" + } + ], + "name": "setProtocolAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondCut.sol/IDiamondCut.json b/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondCut.sol/IDiamondCut.json new file mode 100644 index 000000000..1149df598 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondCut.sol/IDiamondCut.json @@ -0,0 +1,93 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IDiamondCut", + "sourceName": "contracts/interfaces/diamond/IDiamondCut.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "facetAddress", + "type": "address" + }, + { + "internalType": "enum IDiamondCut.FacetCutAction", + "name": "action", + "type": "uint8" + }, + { + "internalType": "bytes4[]", + "name": "functionSelectors", + "type": "bytes4[]" + } + ], + "indexed": false, + "internalType": "struct IDiamondCut.FacetCut[]", + "name": "_diamondCut", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "_init", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_calldata", + "type": "bytes" + } + ], + "name": "DiamondCut", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "facetAddress", + "type": "address" + }, + { + "internalType": "enum IDiamondCut.FacetCutAction", + "name": "action", + "type": "uint8" + }, + { + "internalType": "bytes4[]", + "name": "functionSelectors", + "type": "bytes4[]" + } + ], + "internalType": "struct IDiamondCut.FacetCut[]", + "name": "_facetCuts", + "type": "tuple[]" + }, + { + "internalType": "address", + "name": "_init", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_calldata", + "type": "bytes" + } + ], + "name": "diamondCut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondLoupe.sol/IDiamondLoupe.json b/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondLoupe.sol/IDiamondLoupe.json new file mode 100644 index 000000000..aef3169eb --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/diamond/IDiamondLoupe.sol/IDiamondLoupe.json @@ -0,0 +1,87 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IDiamondLoupe", + "sourceName": "contracts/interfaces/diamond/IDiamondLoupe.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_functionSelector", + "type": "bytes4" + } + ], + "name": "facetAddress", + "outputs": [ + { + "internalType": "address", + "name": "facetAddress_", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "facetAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "facetAddresses_", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_facet", + "type": "address" + } + ], + "name": "facetFunctionSelectors", + "outputs": [ + { + "internalType": "bytes4[]", + "name": "facetFunctionSelectors_", + "type": "bytes4[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "facets", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "facetAddress", + "type": "address" + }, + { + "internalType": "bytes4[]", + "name": "functionSelectors", + "type": "bytes4[]" + } + ], + "internalType": "struct IDiamondLoupe.Facet[]", + "name": "facets_", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/diamond/IERC165Extended.sol/IERC165Extended.json b/addresses/abis/ethereum/goerli/interfaces/diamond/IERC165Extended.sol/IERC165Extended.json new file mode 100644 index 000000000..5cf6a7657 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/diamond/IERC165Extended.sol/IERC165Extended.json @@ -0,0 +1,37 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC165Extended", + "sourceName": "contracts/interfaces/diamond/IERC165Extended.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "addSupportedInterface", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "_interfaceId", + "type": "bytes4" + } + ], + "name": "removeSupportedInterface", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json new file mode 100644 index 000000000..f92294bfe --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json @@ -0,0 +1,928 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonAccountEvents", + "sourceName": "contracts/interfaces/events/IBosonAccountEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "addedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "removedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "sellerAllowList", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "feeTokensRemoved", + "type": "address[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdatePending", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "voucherCloneAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdatePending", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonBundleEvents.sol/IBosonBundleEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonBundleEvents.sol/IBosonBundleEvents.json new file mode 100644 index 000000000..c3b82ab4a --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonBundleEvents.sol/IBosonBundleEvents.json @@ -0,0 +1,64 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonBundleEvents", + "sourceName": "contracts/interfaces/events/IBosonBundleEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bundleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "twinIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Bundle", + "name": "bundle", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BundleCreated", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json new file mode 100644 index 000000000..b50d87dd5 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json @@ -0,0 +1,321 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonConfigEvents", + "sourceName": "contracts/interfaces/events/IBosonConfigEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accessControllerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AccessControllerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "enum BosonTypes.AuthTokenType", + "name": "authTokenType", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "authTokenContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AuthTokenContractChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beaconProxyAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BeaconProxyAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "buyerEscalationFeePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerEscalationFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxEscalationResponsePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxEscalationResponsePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxPremintedVouchers", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxPremintedVouchersChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxRoyaltyPecentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxRoyaltyPercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxTotalOfferFeePercentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxTotalOfferFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinDisputePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feeFlatBoson", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeFlatBosonChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "treasuryAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TreasuryAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "voucherBeaconAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherBeaconAddressChanged", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonDisputeEvents.sol/IBosonDisputeEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonDisputeEvents.sol/IBosonDisputeEvents.json new file mode 100644 index 000000000..e521d1b52 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonDisputeEvents.sol/IBosonDisputeEvents.json @@ -0,0 +1,218 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonDisputeEvents", + "sourceName": "contracts/interfaces/events/IBosonDisputeEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeDecided", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeEscalated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeRaised", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeRetracted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newDisputeTimeout", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeTimeoutExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "EscalatedDisputeExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "EscalatedDisputeRefused", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json new file mode 100644 index 000000000..334f74bd3 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json @@ -0,0 +1,339 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonExchangeEvents", + "sourceName": "contracts/interfaces/events/IBosonExchangeEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalizedDate", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.ExchangeState", + "name": "state", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Exchange", + "name": "exchange", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "committedDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemedDate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "expired", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Voucher", + "name": "voucher", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "name": "ConditionalCommitAuthorized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ExchangeCompleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherRedeemed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "newBuyerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherTransferred", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsEvents.json new file mode 100644 index 000000000..9bf9053ce --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsEvents.json @@ -0,0 +1,42 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonFundsEvents", + "sourceName": "contracts/interfaces/events/IBosonFundsEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "FundsDeposited", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsLibEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsLibEvents.json new file mode 100644 index 000000000..f32aa3284 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonFundsEvents.sol/IBosonFundsLibEvents.json @@ -0,0 +1,147 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonFundsLibEvents", + "sourceName": "contracts/interfaces/events/IBosonFundsEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsEncumbered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "withdrawnTo", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeCollected", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json new file mode 100644 index 000000000..e6a77febe --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json @@ -0,0 +1,203 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonGroupEvents", + "sourceName": "contracts/interfaces/events/IBosonGroupEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupUpdated", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonMetaTransactionsEvents.sol/IBosonMetaTransactionsEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonMetaTransactionsEvents.sol/IBosonMetaTransactionsEvents.json new file mode 100644 index 000000000..642ec7709 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonMetaTransactionsEvents.sol/IBosonMetaTransactionsEvents.json @@ -0,0 +1,67 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonMetaTransactionsEvents", + "sourceName": "contracts/interfaces/events/IBosonMetaTransactionsEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32[]", + "name": "functionNameHashes", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isAllowlisted", + "type": "bool" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FunctionsAllowlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "functionName", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "MetaTransactionExecuted", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json new file mode 100644 index 000000000..ae7018dc3 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json @@ -0,0 +1,301 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonOfferEvents", + "sourceName": "contracts/interfaces/events/IBosonOfferEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Offer", + "name": "offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDates", + "name": "offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDurations", + "name": "offerDurations", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerEscalationDeposit", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolutionTerms", + "name": "disputeResolutionTerms", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "protocolFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "agentFee", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferFees", + "name": "offerFees", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferVoided", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "RangeReserved", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json new file mode 100644 index 000000000..c89fa0c9b --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json @@ -0,0 +1,49 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonPauseEvents", + "sourceName": "contracts/interfaces/events/IBosonPauseEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolUnpaused", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonProtocolInitializationEvents.sol/IBosonProtocolInitializationEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonProtocolInitializationEvents.sol/IBosonProtocolInitializationEvents.json new file mode 100644 index 000000000..c99da8329 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonProtocolInitializationEvents.sol/IBosonProtocolInitializationEvents.json @@ -0,0 +1,24 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonProtocolInitializationEvents", + "sourceName": "contracts/interfaces/events/IBosonProtocolInitializationEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "version", + "type": "string" + } + ], + "name": "ProtocolInitialized", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IBosonTwinEvents.sol/IBosonTwinEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IBosonTwinEvents.sol/IBosonTwinEvents.json new file mode 100644 index 000000000..71fe03f49 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IBosonTwinEvents.sol/IBosonTwinEvents.json @@ -0,0 +1,190 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonTwinEvents", + "sourceName": "contracts/interfaces/events/IBosonTwinEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Twin", + "name": "twin", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferred", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/events/IClientExternalAddressesEvents.sol/IClientExternalAddressesEvents.json b/addresses/abis/ethereum/goerli/interfaces/events/IClientExternalAddressesEvents.sol/IClientExternalAddressesEvents.json new file mode 100644 index 000000000..c498d5ff2 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/events/IClientExternalAddressesEvents.sol/IClientExternalAddressesEvents.json @@ -0,0 +1,49 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IClientExternalAddressesEvents", + "sourceName": "contracts/interfaces/events/IClientExternalAddressesEvents.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "protocol", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json new file mode 100644 index 000000000..834afd00a --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json @@ -0,0 +1,2174 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonAccountHandler", + "sourceName": "contracts/interfaces/handlers/IBosonAccountHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "addedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "removedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "sellerAllowList", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "feeTokensRemoved", + "type": "address[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdatePending", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "voucherCloneAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdatePending", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "_disputeResolverFees", + "type": "tuple[]" + } + ], + "name": "addFeesToDisputeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_sellerAllowList", + "type": "uint256[]" + } + ], + "name": "addSellersToAllowList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_sellerIds", + "type": "uint256[]" + } + ], + "name": "areSellersAllowed", + "outputs": [ + { + "internalType": "bool[]", + "name": "sellerAllowed", + "type": "bool[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_collectionSalt", + "type": "bytes32" + } + ], + "name": "calculateCollectionAddress", + "outputs": [ + { + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "isAvailable", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Agent", + "name": "_agent", + "type": "tuple" + } + ], + "name": "createAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Buyer", + "name": "_buyer", + "type": "tuple" + } + ], + "name": "createBuyer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.DisputeResolver", + "name": "_disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "_disputeResolverFees", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "_sellerAllowList", + "type": "uint256[]" + } + ], + "name": "createDisputeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_externalId", + "type": "string" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + } + ], + "name": "createNewCollection", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + } + ], + "name": "createSeller", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "getAgent", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_buyerId", + "type": "uint256" + } + ], + "name": "getBuyer", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + } + ], + "name": "getDisputeResolver", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "sellerAllowList", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_associatedAddress", + "type": "address" + } + ], + "name": "getDisputeResolverByAddress", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "sellerAllowList", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextAccountId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextAccountId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + } + ], + "name": "getSeller", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_associatedAddress", + "type": "address" + } + ], + "name": "getSellerByAddress", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_associatedAuthToken", + "type": "tuple" + } + ], + "name": "getSellerByAuthToken", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + } + ], + "name": "getSellersCollections", + "outputs": [ + { + "internalType": "address", + "name": "defaultVoucherAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "externalId", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Collection[]", + "name": "additionalCollections", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_adminAddres", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "isSellerSaltAvailable", + "outputs": [ + { + "internalType": "bool", + "name": "isAvailable", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.DisputeResolverUpdateFields[]", + "name": "_fieldsToUpdate", + "type": "uint8[]" + } + ], + "name": "optInToDisputeResolverUpdate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.SellerUpdateFields[]", + "name": "_fieldsToUpdate", + "type": "uint8[]" + } + ], + "name": "optInToSellerUpdate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "_feeTokenAddresses", + "type": "address[]" + } + ], + "name": "removeFeesFromDisputeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_sellerAllowList", + "type": "uint256[]" + } + ], + "name": "removeSellersFromAllowList", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Agent", + "name": "_agent", + "type": "tuple" + } + ], + "name": "updateAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Buyer", + "name": "_buyer", + "type": "tuple" + } + ], + "name": "updateBuyer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.DisputeResolver", + "name": "_disputeResolver", + "type": "tuple" + } + ], + "name": "updateDisputeResolver", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + } + ], + "name": "updateSeller", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_newSalt", + "type": "bytes32" + } + ], + "name": "updateSellerSalt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonBundleHandler.sol/IBosonBundleHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonBundleHandler.sol/IBosonBundleHandler.json new file mode 100644 index 000000000..a1ae2051d --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonBundleHandler.sol/IBosonBundleHandler.json @@ -0,0 +1,206 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonBundleHandler", + "sourceName": "contracts/interfaces/handlers/IBosonBundleHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bundleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "twinIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Bundle", + "name": "bundle", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BundleCreated", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "twinIds", + "type": "uint256[]" + } + ], + "internalType": "struct BosonTypes.Bundle", + "name": "_bundle", + "type": "tuple" + } + ], + "name": "createBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bundleId", + "type": "uint256" + } + ], + "name": "getBundle", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "twinIds", + "type": "uint256[]" + } + ], + "internalType": "struct BosonTypes.Bundle", + "name": "bundle", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "getBundleIdByOffer", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "bundleId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_twinId", + "type": "uint256" + } + ], + "name": "getBundleIdByTwin", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "bundleId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextBundleId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextBundleId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json new file mode 100644 index 000000000..69a195ba6 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json @@ -0,0 +1,722 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonConfigHandler", + "sourceName": "contracts/interfaces/handlers/IBosonConfigHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accessControllerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AccessControllerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "enum BosonTypes.AuthTokenType", + "name": "authTokenType", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "authTokenContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AuthTokenContractChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beaconProxyAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BeaconProxyAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "buyerEscalationFeePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerEscalationFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxEscalationResponsePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxEscalationResponsePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxPremintedVouchers", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxPremintedVouchersChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxRoyaltyPecentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxRoyaltyPercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxTotalOfferFeePercentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxTotalOfferFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinDisputePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feeFlatBoson", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeFlatBosonChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "treasuryAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TreasuryAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "voucherBeaconAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherBeaconAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "getAccessControllerAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "_authTokenType", + "type": "uint8" + } + ], + "name": "getAuthTokenContract", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBeaconProxyAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBuyerEscalationDepositPercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxEscalationResponsePeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxResolutionPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxRoyaltyPecentage", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMaxTotalOfferFeePercentage", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinDisputePeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getMinResolutionPeriod", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProtocolFeeFlatBoson", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getProtocolFeePercentage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTokenAddress", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTreasuryAddress", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getVoucherBeaconAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_accessControllerAddress", + "type": "address" + } + ], + "name": "setAccessControllerAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "_authTokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "_authTokenContract", + "type": "address" + } + ], + "name": "setAuthTokenContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_beaconProxyAddress", + "type": "address" + } + ], + "name": "setBeaconProxyAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_buyerEscalationDepositPercentage", + "type": "uint256" + } + ], + "name": "setBuyerEscalationDepositPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxEscalationResponsePeriod", + "type": "uint256" + } + ], + "name": "setMaxEscalationResponsePeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxResolutionPeriod", + "type": "uint256" + } + ], + "name": "setMaxResolutionPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_maxRoyaltyPecentage", + "type": "uint16" + } + ], + "name": "setMaxRoyaltyPecentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "_maxTotalOfferFeePercentage", + "type": "uint16" + } + ], + "name": "setMaxTotalOfferFeePercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minDisputePeriod", + "type": "uint256" + } + ], + "name": "setMinDisputePeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minResolutionPeriod", + "type": "uint256" + } + ], + "name": "setMinResolutionPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_protocolFeeFlatBoson", + "type": "uint256" + } + ], + "name": "setProtocolFeeFlatBoson", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_protocolFeePercentage", + "type": "uint256" + } + ], + "name": "setProtocolFeePercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_tokenAddress", + "type": "address" + } + ], + "name": "setTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_treasuryAddress", + "type": "address" + } + ], + "name": "setTreasuryAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_voucherBeaconAddress", + "type": "address" + } + ], + "name": "setVoucherBeaconAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonDisputeHandler.sol/IBosonDisputeHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonDisputeHandler.sol/IBosonDisputeHandler.json new file mode 100644 index 000000000..6b13832c7 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonDisputeHandler.sol/IBosonDisputeHandler.json @@ -0,0 +1,654 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonDisputeHandler", + "sourceName": "contracts/interfaces/handlers/IBosonDisputeHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeDecided", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeEscalated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeRaised", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeRetracted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newDisputeTimeout", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeTimeoutExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "EscalatedDisputeExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "EscalatedDisputeRefused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsEncumbered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "withdrawnTo", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeCollected", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + } + ], + "name": "decideDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "escalateDispute", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "expireDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_exchangeIds", + "type": "uint256[]" + } + ], + "name": "expireDisputeBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "expireEscalatedDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_newDisputeTimeout", + "type": "uint256" + } + ], + "name": "extendDisputeTimeout", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getDispute", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerPercent", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.DisputeState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Dispute", + "name": "dispute", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalized", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timeout", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeDates", + "name": "disputeDates", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getDisputeState", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "enum BosonTypes.DisputeState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getDisputeTimeout", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "timeout", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "isDisputeFinalized", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isFinalized", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "raiseDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "refuseEscalatedDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_buyerPercent", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_sigS", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "_sigV", + "type": "uint8" + } + ], + "name": "resolveDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "retractDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json new file mode 100644 index 000000000..33fad4d93 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json @@ -0,0 +1,1212 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonExchangeHandler", + "sourceName": "contracts/interfaces/handlers/IBosonExchangeHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalizedDate", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.ExchangeState", + "name": "state", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Exchange", + "name": "exchange", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "committedDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemedDate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "expired", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Voucher", + "name": "voucher", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerCommitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "name": "ConditionalCommitAuthorized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ExchangeCompleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsEncumbered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "withdrawnTo", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Twin", + "name": "twin", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherExpired", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherRedeemed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "newBuyerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherTransferred", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "cancelVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "commitToConditionalOffer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "commitToOffer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "commitToPreMintedOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "completeExchange", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_exchangeIds", + "type": "uint256[]" + } + ], + "name": "completeExchangeBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "expireVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_validUntilDate", + "type": "uint256" + } + ], + "name": "extendVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getExchange", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "finalizedDate", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.ExchangeState", + "name": "state", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Exchange", + "name": "exchange", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "committedDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemedDate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "expired", + "type": "bool" + } + ], + "internalType": "struct BosonTypes.Voucher", + "name": "voucher", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getExchangeState", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "enum BosonTypes.ExchangeState", + "name": "state", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextExchangeId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextExchangeId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "getReceipt", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "protocolFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "agentFee", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferFees", + "name": "offerFees", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "finalizedDate", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "committedDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "redeemedDate", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "voucherExpired", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "disputedDate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalatedDate", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.DisputeState", + "name": "disputeState", + "type": "uint8" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.TwinReceipt[]", + "name": "twinReceipts", + "type": "tuple[]" + } + ], + "internalType": "struct BosonTypes.Receipt", + "name": "receipt", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isEligibleToCommit", + "outputs": [ + { + "internalType": "bool", + "name": "isEligible", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "isExchangeFinalized", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isFinalized", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "_newBuyer", + "type": "address" + } + ], + "name": "onVoucherTransferred", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "redeemVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "revokeVoucher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json new file mode 100644 index 000000000..1b0d349c3 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json @@ -0,0 +1,367 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonFundsHandler", + "sourceName": "contracts/interfaces/handlers/IBosonFundsHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "FundsDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsEncumbered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "entityId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsReleased", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "withdrawnTo", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FundsWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeCollected", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "depositFunds", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + } + ], + "name": "getAllAvailableFunds", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Funds[]", + "name": "availableFunds", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "_tokenList", + "type": "address[]" + } + ], + "name": "getAvailableFunds", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Funds[]", + "name": "availableFunds", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + } + ], + "name": "getTokenList", + "outputs": [ + { + "internalType": "address[]", + "name": "tokenList", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_limit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_offset", + "type": "uint256" + } + ], + "name": "getTokenListPaginated", + "outputs": [ + { + "internalType": "address[]", + "name": "tokenList", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "_tokenList", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_tokenAmounts", + "type": "uint256[]" + } + ], + "name": "withdrawFunds", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_tokenList", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_tokenAmounts", + "type": "uint256[]" + } + ], + "name": "withdrawProtocolFees", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json new file mode 100644 index 000000000..d19a00458 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json @@ -0,0 +1,477 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonGroupHandler", + "sourceName": "contracts/interfaces/handlers/IBosonGroupHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_offerIds", + "type": "uint256[]" + } + ], + "name": "addOffersToGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "internalType": "struct BosonTypes.Group", + "name": "_group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + } + ], + "name": "createGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + } + ], + "name": "getGroup", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextGroupId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextGroupId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_offerIds", + "type": "uint256[]" + } + ], + "name": "removeOffersFromGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + } + ], + "name": "setGroupCondition", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonMetaTransactionsHandler.sol/IBosonMetaTransactionsHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonMetaTransactionsHandler.sol/IBosonMetaTransactionsHandler.json new file mode 100644 index 000000000..b658328ee --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonMetaTransactionsHandler.sol/IBosonMetaTransactionsHandler.json @@ -0,0 +1,196 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonMetaTransactionsHandler", + "sourceName": "contracts/interfaces/handlers/IBosonMetaTransactionsHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32[]", + "name": "functionNameHashes", + "type": "bytes32[]" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isAllowlisted", + "type": "bool" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "FunctionsAllowlisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "relayerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "functionName", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "name": "MetaTransactionExecuted", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_userAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "_functionName", + "type": "string" + }, + { + "internalType": "bytes", + "name": "_functionSignature", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_nonce", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_sigS", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "_sigV", + "type": "uint8" + } + ], + "name": "executeMetaTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_functionName", + "type": "string" + } + ], + "name": "isFunctionAllowlisted", + "outputs": [ + { + "internalType": "bool", + "name": "isAllowlisted", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_functionNameHash", + "type": "bytes32" + } + ], + "name": "isFunctionAllowlisted", + "outputs": [ + { + "internalType": "bool", + "name": "isAllowlisted", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_associatedAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_nonce", + "type": "uint256" + } + ], + "name": "isUsedNonce", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_functionNameHashes", + "type": "bytes32[]" + }, + { + "internalType": "bool", + "name": "_isAllowlisted", + "type": "bool" + } + ], + "name": "setAllowlistedFunctions", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json new file mode 100644 index 000000000..b4dadecbf --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json @@ -0,0 +1,879 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonOfferHandler", + "sourceName": "contracts/interfaces/handlers/IBosonOfferHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Offer", + "name": "offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDates", + "name": "offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDurations", + "name": "offerDurations", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerEscalationDeposit", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolutionTerms", + "name": "disputeResolutionTerms", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "protocolFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "agentFee", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferFees", + "name": "offerFees", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferVoided", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "RangeReserved", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer[]", + "name": "_offers", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates[]", + "name": "_offerDates", + "type": "tuple[]" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations[]", + "name": "_offerDurations", + "type": "tuple[]" + }, + { + "internalType": "uint256[]", + "name": "_disputeResolverIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_agentIds", + "type": "uint256[]" + } + ], + "name": "createOfferBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_validUntilDate", + "type": "uint256" + } + ], + "name": "extendOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "_validUntilDate", + "type": "uint256" + } + ], + "name": "extendOfferBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "getAgentIdByOffer", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNextOfferId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextOfferId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "getOffer", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "offerDurations", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerEscalationDeposit", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.DisputeResolutionTerms", + "name": "disputeResolutionTerms", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "protocolFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "agentFee", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferFees", + "name": "offerFees", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "isOfferVoided", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "bool", + "name": "offerVoided", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_length", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + } + ], + "name": "reserveRange", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + } + ], + "name": "voidOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_offerIds", + "type": "uint256[]" + } + ], + "name": "voidOfferBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json new file mode 100644 index 000000000..cbeec8e07 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json @@ -0,0 +1,5169 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonOrchestrationHandler", + "sourceName": "contracts/interfaces/handlers/IBosonOrchestrationHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Agent", + "name": "agent", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AgentUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "addedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "removedSellers", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AllowedSellersRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "bundleId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "twinIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Bundle", + "name": "bundle", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BundleCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "buyerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address payable", + "name": "wallet", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Buyer", + "name": "buyer", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "sellerAllowList", + "type": "uint256[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolverFee[]", + "name": "disputeResolverFees", + "type": "tuple[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "feeTokensRemoved", + "type": "address[]" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverFeesRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "disputeResolver", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolver", + "name": "pendingDisputeResolver", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "DisputeResolverUpdatePending", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "groupId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "offerIds", + "type": "uint256[]" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Group", + "name": "group", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Condition", + "name": "condition", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "GroupUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Offer", + "name": "offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDates", + "name": "offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferDurations", + "name": "offerDurations", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "escalationResponsePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerEscalationDeposit", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.DisputeResolutionTerms", + "name": "disputeResolutionTerms", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "protocolFee", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "agentFee", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.OfferFees", + "name": "offerFees", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "agentId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validUntilDate", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferExtended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "OfferVoided", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "endExchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "RangeReserved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "indexed": false, + "internalType": "address", + "name": "voucherCloneAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdateApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Seller", + "name": "pendingSeller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.AuthToken", + "name": "pendingAuthToken", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "SellerUpdatePending", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Twin", + "name": "twin", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferred", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createOfferAddToGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createOfferAndTwinWithBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createOfferWithCondition", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createOfferWithConditionAndTwinAndBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_groupId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createPremintedOfferAddToGroup", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createPremintedOfferAndTwinWithBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createPremintedOfferWithCondition", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createPremintedOfferWithConditionAndTwinAndBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndOfferAndTwinWithBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndOfferWithCondition", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndOfferWithConditionAndTwinAndBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndPremintedOffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndPremintedOfferAndTwinWithBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndPremintedOfferWithCondition", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "assistant", + "type": "address" + }, + { + "internalType": "address", + "name": "admin", + "type": "address" + }, + { + "internalType": "address", + "name": "clerk", + "type": "address" + }, + { + "internalType": "address payable", + "name": "treasury", + "type": "address" + }, + { + "internalType": "bool", + "name": "active", + "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Seller", + "name": "_seller", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerDeposit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "buyerCancelPenalty", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "quantityAvailable", + "type": "uint256" + }, + { + "internalType": "address", + "name": "exchangeToken", + "type": "address" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" + }, + { + "internalType": "string", + "name": "metadataHash", + "type": "string" + }, + { + "internalType": "bool", + "name": "voided", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Offer", + "name": "_offer", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "validFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validUntil", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableFrom", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherRedeemableUntil", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDates", + "name": "_offerDates", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "disputePeriod", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "voucherValid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "resolutionPeriod", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.OfferDurations", + "name": "_offerDurations", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_disputeResolverId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reservedRangeLength", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "enum BosonTypes.EvaluationMethod", + "name": "method", + "type": "uint8" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "minTokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "threshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Condition", + "name": "_condition", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "enum BosonTypes.AuthTokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.AuthToken", + "name": "_authToken", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + }, + { + "internalType": "uint256", + "name": "_agentId", + "type": "uint256" + } + ], + "name": "createSellerAndPremintedOfferWithConditionAndTwinAndBundle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_exchangeId", + "type": "uint256" + } + ], + "name": "raiseAndEscalateDispute", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json new file mode 100644 index 000000000..a03918abd --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json @@ -0,0 +1,88 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonPauseHandler", + "sourceName": "contracts/interfaces/handlers/IBosonPauseHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolUnpaused", + "type": "event" + }, + { + "inputs": [], + "name": "getPausedRegions", + "outputs": [ + { + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "_regions", + "type": "uint8[]" + } + ], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "_regions", + "type": "uint8[]" + } + ], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json new file mode 100644 index 000000000..8f232da20 --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json @@ -0,0 +1,347 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonProtocolInitializationHandler", + "sourceName": "contracts/interfaces/handlers/IBosonProtocolInitializationHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "accessControllerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AccessControllerAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "enum BosonTypes.AuthTokenType", + "name": "authTokenType", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "authTokenContract", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "AuthTokenContractChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beaconProxyAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BeaconProxyAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "buyerEscalationFeePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "BuyerEscalationFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxEscalationResponsePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxEscalationResponsePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxPremintedVouchers", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxPremintedVouchersChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxRoyaltyPecentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxRoyaltyPercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "maxTotalOfferFeePercentage", + "type": "uint16" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MaxTotalOfferFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinDisputePeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "minResolutionPeriod", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "MinResolutionPeriodChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feeFlatBoson", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeeFlatBosonChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "feePercentage", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "ProtocolFeePercentageChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "version", + "type": "string" + } + ], + "name": "ProtocolInitialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TokenAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "treasuryAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TreasuryAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "voucherBeaconAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "VoucherBeaconAddressChanged", + "type": "event" + }, + { + "inputs": [], + "name": "getVersion", + "outputs": [ + { + "internalType": "string", + "name": "version", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonTwinHandler.sol/IBosonTwinHandler.json b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonTwinHandler.sol/IBosonTwinHandler.json new file mode 100644 index 000000000..a3e32a79b --- /dev/null +++ b/addresses/abis/ethereum/goerli/interfaces/handlers/IBosonTwinHandler.sol/IBosonTwinHandler.json @@ -0,0 +1,327 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBosonTwinHandler", + "sourceName": "contracts/interfaces/handlers/IBosonTwinHandler.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "indexed": false, + "internalType": "struct BosonTypes.Twin", + "name": "twin", + "type": "tuple" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferFailed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "twinId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exchangeId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "TwinTransferred", + "type": "event" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "_twin", + "type": "tuple" + } + ], + "name": "createTwin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getNextTwinId", + "outputs": [ + { + "internalType": "uint256", + "name": "nextTwinId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_twinId", + "type": "uint256" + } + ], + "name": "getTwin", + "outputs": [ + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "supplyAvailable", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "enum BosonTypes.TokenType", + "name": "tokenType", + "type": "uint8" + } + ], + "internalType": "struct BosonTypes.Twin", + "name": "twin", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_twinId", + "type": "uint256" + } + ], + "name": "removeTwin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/addresses/abis/mumbai/test/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json b/addresses/abis/mumbai/test/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json index 3592748de..03c36d466 100644 --- a/addresses/abis/mumbai/test/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json +++ b/addresses/abis/mumbai/test/interfaces/IInitializableVoucherClone.sol/IInitializableVoucherClone.json @@ -23,6 +23,11 @@ "name": "_sellerId", "type": "uint256" }, + { + "internalType": "uint256", + "name": "_collectionIndex", + "type": "uint256" + }, { "internalType": "address", "name": "_newOwner", @@ -39,6 +44,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", diff --git a/addresses/abis/mumbai/test/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json b/addresses/abis/mumbai/test/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json index 81a0cb3cb..7b0f5053c 100644 --- a/addresses/abis/mumbai/test/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json +++ b/addresses/abis/mumbai/test/interfaces/clients/IBosonVoucher.sol/IBosonVoucher.json @@ -243,6 +243,11 @@ "internalType": "uint256", "name": "_offerId", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" } ], "name": "burnPremintedVouchers", @@ -277,7 +282,13 @@ } ], "name": "callExternalContract", - "outputs": [], + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], "stateMutability": "payable", "type": "function" }, @@ -647,7 +658,7 @@ }, { "internalType": "bool", - "name": "_approved", + "name": "approved", "type": "bool" } ], diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json index 6f8177275..f92294bfe 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonAccountEvents.sol/IBosonAccountEvents.json @@ -231,6 +231,43 @@ "name": "BuyerUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -616,6 +653,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -697,6 +739,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -735,6 +782,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -828,6 +880,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json index c0dfa9848..b50d87dd5 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonConfigEvents.sol/IBosonConfigEvents.json @@ -85,44 +85,6 @@ "name": "BuyerEscalationFeePercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxAllowedSellers", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxAllowedSellersChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxDisputesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxDisputesPerBatchChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -142,101 +104,6 @@ "name": "MaxEscalationResponsePeriodChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxExchangesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxExchangesPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxFeesPerDisputeResolver", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxFeesPerDisputeResolverChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBundle", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBundleChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerGroup", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerGroupChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -294,25 +161,6 @@ "name": "MaxRoyaltyPercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxTokensPerWithdrawal", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxTokensPerWithdrawalChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -337,9 +185,9 @@ "inputs": [ { "indexed": false, - "internalType": "uint16", - "name": "maxTwinsPerBundle", - "type": "uint16" + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" }, { "indexed": true, @@ -348,7 +196,7 @@ "type": "address" } ], - "name": "MaxTwinsPerBundleChanged", + "name": "MinDisputePeriodChanged", "type": "event" }, { @@ -357,7 +205,7 @@ { "indexed": false, "internalType": "uint256", - "name": "minDisputePeriod", + "name": "minResolutionPeriod", "type": "uint256" }, { @@ -367,7 +215,7 @@ "type": "address" } ], - "name": "MinDisputePeriodChanged", + "name": "MinResolutionPeriodChanged", "type": "event" }, { diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json index 863d4be37..334f74bd3 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonExchangeEvents.sol/IBosonExchangeEvents.json @@ -95,6 +95,49 @@ "name": "BuyerCommitted", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "name": "ConditionalCommitAuthorized", + "type": "event" + }, { "anonymous": false, "inputs": [ diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json index a837b67bc..e6a77febe 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonGroupEvents.sol/IBosonGroupEvents.json @@ -58,9 +58,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -72,6 +77,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, @@ -144,9 +154,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -158,6 +173,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json index 6ebafcc0f..ae7018dc3 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonOfferEvents.sol/IBosonOfferEvents.json @@ -69,6 +69,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "indexed": false, diff --git a/addresses/abis/mumbai/test/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json b/addresses/abis/mumbai/test/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json index 5be929adb..c89fa0c9b 100644 --- a/addresses/abis/mumbai/test/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json +++ b/addresses/abis/mumbai/test/interfaces/events/IBosonPauseEvents.sol/IBosonPauseEvents.json @@ -25,6 +25,12 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, { "indexed": false, "internalType": "address", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json index 19b3a54c3..834afd00a 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonAccountHandler.sol/IBosonAccountHandler.json @@ -231,6 +231,43 @@ "name": "BuyerUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -616,6 +653,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -697,6 +739,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -735,6 +782,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -828,6 +880,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -940,6 +997,35 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_collectionSalt", + "type": "bytes32" + } + ], + "name": "calculateCollectionAddress", + "outputs": [ + { + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "isAvailable", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1087,6 +1173,41 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "string", + "name": "_externalId", + "type": "string" + }, + { + "components": [ + { + "internalType": "string", + "name": "contractURI", + "type": "string" + }, + { + "internalType": "uint256", + "name": "royaltyPercentage", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" + } + ], + "internalType": "struct BosonTypes.VoucherInitValues", + "name": "_voucherInitValues", + "type": "tuple" + } + ], + "name": "createNewCollection", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -1120,6 +1241,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -1154,6 +1280,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -1498,6 +1629,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -1571,6 +1707,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -1656,6 +1797,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -1683,6 +1829,66 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + } + ], + "name": "getSellersCollections", + "outputs": [ + { + "internalType": "address", + "name": "defaultVoucherAddress", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "externalId", + "type": "string" + } + ], + "internalType": "struct BosonTypes.Collection[]", + "name": "additionalCollections", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_adminAddres", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_salt", + "type": "bytes32" + } + ], + "name": "isSellerSaltAvailable", + "outputs": [ + { + "internalType": "bool", + "name": "isAvailable", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1908,6 +2114,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -1936,6 +2147,24 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_sellerId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_newSalt", + "type": "bytes32" + } + ], + "name": "updateSellerSalt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], "bytecode": "0x", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json index 334d3a9cb..69a195ba6 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonConfigHandler.sol/IBosonConfigHandler.json @@ -85,44 +85,6 @@ "name": "BuyerEscalationFeePercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxAllowedSellers", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxAllowedSellersChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxDisputesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxDisputesPerBatchChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -142,101 +104,6 @@ "name": "MaxEscalationResponsePeriodChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxExchangesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxExchangesPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxFeesPerDisputeResolver", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxFeesPerDisputeResolverChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBundle", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBundleChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerGroup", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerGroupChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -294,25 +161,6 @@ "name": "MaxRoyaltyPercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxTokensPerWithdrawal", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxTokensPerWithdrawalChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -337,9 +185,9 @@ "inputs": [ { "indexed": false, - "internalType": "uint16", - "name": "maxTwinsPerBundle", - "type": "uint16" + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" }, { "indexed": true, @@ -348,7 +196,7 @@ "type": "address" } ], - "name": "MaxTwinsPerBundleChanged", + "name": "MinDisputePeriodChanged", "type": "event" }, { @@ -357,7 +205,7 @@ { "indexed": false, "internalType": "uint256", - "name": "minDisputePeriod", + "name": "minResolutionPeriod", "type": "uint256" }, { @@ -367,7 +215,7 @@ "type": "address" } ], - "name": "MinDisputePeriodChanged", + "name": "MinResolutionPeriodChanged", "type": "event" }, { @@ -523,32 +371,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getMaxAllowedSellers", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxDisputesPerBatch", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "getMaxEscalationResponsePeriod", @@ -562,84 +384,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getMaxExchangesPerBatch", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxFeesPerDisputeResolver", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxOffersPerBatch", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxOffersPerBundle", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxOffersPerGroup", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMaxPremintedVouchers", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "getMaxResolutionPeriod", @@ -666,19 +410,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getMaxTokensPerWithdrawal", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "getMaxTotalOfferFeePercentage", @@ -694,12 +425,12 @@ }, { "inputs": [], - "name": "getMaxTwinsPerBundle", + "name": "getMinDisputePeriod", "outputs": [ { - "internalType": "uint16", + "internalType": "uint256", "name": "", - "type": "uint16" + "type": "uint256" } ], "stateMutability": "view", @@ -707,7 +438,7 @@ }, { "inputs": [], - "name": "getMinDisputePeriod", + "name": "getMinResolutionPeriod", "outputs": [ { "internalType": "uint256", @@ -840,32 +571,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxAllowedSellers", - "type": "uint16" - } - ], - "name": "setMaxAllowedSellers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxDisputesPerBatch", - "type": "uint16" - } - ], - "name": "setMaxDisputesPerBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -879,84 +584,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxExchangesPerBatch", - "type": "uint16" - } - ], - "name": "setMaxExchangesPerBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxFeesPerDisputeResolver", - "type": "uint16" - } - ], - "name": "setMaxFeesPerDisputeResolver", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxOffersPerBatch", - "type": "uint16" - } - ], - "name": "setMaxOffersPerBatch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxOffersPerBundle", - "type": "uint16" - } - ], - "name": "setMaxOffersPerBundle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxOffersPerGroup", - "type": "uint16" - } - ], - "name": "setMaxOffersPerGroup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxPremintedVouchers", - "type": "uint256" - } - ], - "name": "setMaxPremintedVouchers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -983,19 +610,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_maxTokensPerWithdrawal", - "type": "uint16" - } - ], - "name": "setMaxTokensPerWithdrawal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -1012,12 +626,12 @@ { "inputs": [ { - "internalType": "uint16", - "name": "_maxTwinsPerBundle", - "type": "uint16" + "internalType": "uint256", + "name": "_minDisputePeriod", + "type": "uint256" } ], - "name": "setMaxTwinsPerBundle", + "name": "setMinDisputePeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1026,11 +640,11 @@ "inputs": [ { "internalType": "uint256", - "name": "_minDisputePeriod", + "name": "_minResolutionPeriod", "type": "uint256" } ], - "name": "setMinDisputePeriod", + "name": "setMinResolutionPeriod", "outputs": [], "stateMutability": "nonpayable", "type": "function" diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json index 7bf35a479..33fad4d93 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonExchangeHandler.sol/IBosonExchangeHandler.json @@ -95,6 +95,49 @@ "name": "BuyerCommitted", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "offerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, + { + "indexed": true, + "internalType": "address", + "name": "buyerAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "name": "ConditionalCommitAuthorized", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -616,6 +659,29 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address payable", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "commitToConditionalOffer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, { "inputs": [ { @@ -925,9 +991,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -939,6 +1010,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -1021,6 +1097,45 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_buyer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_offerId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isEligibleToCommit", + "outputs": [ + { + "internalType": "bool", + "name": "isEligible", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "commitCount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxCommits", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json index bad6efd08..1b0d349c3 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonFundsHandler.sol/IBosonFundsHandler.json @@ -201,6 +201,47 @@ "type": "uint256" } ], + "name": "getAllAvailableFunds", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "availableAmount", + "type": "uint256" + } + ], + "internalType": "struct BosonTypes.Funds[]", + "name": "availableFunds", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "_tokenList", + "type": "address[]" + } + ], "name": "getAvailableFunds", "outputs": [ { @@ -229,6 +270,54 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + } + ], + "name": "getTokenList", + "outputs": [ + { + "internalType": "address[]", + "name": "tokenList", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_entityId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_limit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_offset", + "type": "uint256" + } + ], + "name": "getTokenListPaginated", + "outputs": [ + { + "internalType": "address[]", + "name": "tokenList", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json index f23c1c94f..d19a00458 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonGroupHandler.sol/IBosonGroupHandler.json @@ -58,9 +58,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -72,6 +77,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, @@ -144,9 +154,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -158,6 +173,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, @@ -234,9 +254,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -248,6 +273,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -314,9 +344,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -328,6 +363,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -393,9 +433,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -407,6 +452,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json index c121e7f09..b4dadecbf 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonOfferHandler.sol/IBosonOfferHandler.json @@ -69,6 +69,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "indexed": false, @@ -341,6 +346,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -465,6 +475,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer[]", @@ -675,6 +690,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json index 69fb28008..cbeec8e07 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonOrchestrationHandler.sol/IBosonOrchestrationHandler.json @@ -284,6 +284,43 @@ "name": "BuyerUpdated", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "sellerId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "collectionAddress", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "externalId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "executedBy", + "type": "address" + } + ], + "name": "CollectionCreated", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -684,9 +721,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -698,6 +740,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, @@ -770,9 +817,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -784,6 +836,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "indexed": false, @@ -867,6 +924,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "indexed": false, @@ -1126,6 +1188,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -1207,6 +1274,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -1245,6 +1317,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -1338,6 +1415,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "indexed": false, @@ -1605,6 +1687,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -1734,6 +1821,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -1900,6 +1992,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -1977,9 +2074,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -1991,6 +2093,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -2061,6 +2168,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -2138,9 +2250,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -2152,6 +2269,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -2264,6 +2386,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -2403,6 +2530,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -2579,6 +2711,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -2666,9 +2803,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -2680,6 +2822,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -2750,6 +2897,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -2837,9 +2989,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -2851,6 +3008,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -2943,6 +3105,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -3000,6 +3167,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -3088,6 +3260,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -3138,6 +3315,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -3195,6 +3377,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -3325,6 +3512,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -3375,6 +3567,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -3432,6 +3629,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -3509,9 +3711,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -3523,6 +3730,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -3557,6 +3769,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -3607,6 +3824,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -3664,6 +3886,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -3741,9 +3968,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -3755,6 +3987,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -3831,6 +4068,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -3881,6 +4123,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -3938,6 +4185,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -4036,6 +4288,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -4086,6 +4343,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -4143,6 +4405,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -4283,6 +4550,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -4333,6 +4605,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -4390,6 +4667,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -4477,9 +4759,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -4491,6 +4778,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -4525,6 +4817,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", @@ -4575,6 +4872,11 @@ "internalType": "bool", "name": "active", "type": "bool" + }, + { + "internalType": "string", + "name": "metadataUri", + "type": "string" } ], "internalType": "struct BosonTypes.Seller", @@ -4632,6 +4934,11 @@ "internalType": "bool", "name": "voided", "type": "bool" + }, + { + "internalType": "uint256", + "name": "collectionIndex", + "type": "uint256" } ], "internalType": "struct BosonTypes.Offer", @@ -4719,9 +5026,14 @@ "name": "tokenAddress", "type": "address" }, + { + "internalType": "enum BosonTypes.GatingType", + "name": "gating", + "type": "uint8" + }, { "internalType": "uint256", - "name": "tokenId", + "name": "minTokenId", "type": "uint256" }, { @@ -4733,6 +5045,11 @@ "internalType": "uint256", "name": "maxCommits", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxTokenId", + "type": "uint256" } ], "internalType": "struct BosonTypes.Condition", @@ -4809,6 +5126,11 @@ "internalType": "uint256", "name": "royaltyPercentage", "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "collectionSalt", + "type": "bytes32" } ], "internalType": "struct BosonTypes.VoucherInitValues", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json index fb89474be..a03918abd 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonPauseHandler.sol/IBosonPauseHandler.json @@ -25,6 +25,12 @@ { "anonymous": false, "inputs": [ + { + "indexed": false, + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + }, { "indexed": false, "internalType": "address", @@ -35,6 +41,19 @@ "name": "ProtocolUnpaused", "type": "event" }, + { + "inputs": [], + "name": "getPausedRegions", + "outputs": [ + { + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "regions", + "type": "uint8[]" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -49,7 +68,13 @@ "type": "function" }, { - "inputs": [], + "inputs": [ + { + "internalType": "enum BosonTypes.PausableRegion[]", + "name": "_regions", + "type": "uint8[]" + } + ], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", diff --git a/addresses/abis/mumbai/test/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json b/addresses/abis/mumbai/test/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json index 2ecef3b9a..8f232da20 100644 --- a/addresses/abis/mumbai/test/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json +++ b/addresses/abis/mumbai/test/interfaces/handlers/IBosonProtocolInitializationHandler.sol/IBosonProtocolInitializationHandler.json @@ -85,44 +85,6 @@ "name": "BuyerEscalationFeePercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxAllowedSellers", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxAllowedSellersChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxDisputesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxDisputesPerBatchChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -142,101 +104,6 @@ "name": "MaxEscalationResponsePeriodChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxExchangesPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxExchangesPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxFeesPerDisputeResolver", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxFeesPerDisputeResolverChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBatch", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBatchChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerBundle", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerBundleChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxOffersPerGroup", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxOffersPerGroupChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -294,25 +161,6 @@ "name": "MaxRoyaltyPercentageChanged", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "maxTokensPerWithdrawal", - "type": "uint16" - }, - { - "indexed": true, - "internalType": "address", - "name": "executedBy", - "type": "address" - } - ], - "name": "MaxTokensPerWithdrawalChanged", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -337,9 +185,9 @@ "inputs": [ { "indexed": false, - "internalType": "uint16", - "name": "maxTwinsPerBundle", - "type": "uint16" + "internalType": "uint256", + "name": "minDisputePeriod", + "type": "uint256" }, { "indexed": true, @@ -348,7 +196,7 @@ "type": "address" } ], - "name": "MaxTwinsPerBundleChanged", + "name": "MinDisputePeriodChanged", "type": "event" }, { @@ -357,7 +205,7 @@ { "indexed": false, "internalType": "uint256", - "name": "minDisputePeriod", + "name": "minResolutionPeriod", "type": "uint256" }, { @@ -367,7 +215,7 @@ "type": "address" } ], - "name": "MinDisputePeriodChanged", + "name": "MinResolutionPeriodChanged", "type": "event" }, { diff --git a/environments.js b/environments.js index beeb301fd..e0b739bfa 100644 --- a/environments.js +++ b/environments.js @@ -67,6 +67,13 @@ module.exports = { adminAddress: process.env.ADMIN_ADDRESS_MAINNET, }, + // Ethereum testnet Goerli + goerli: { + txNode: process.env.DEPLOYER_GOERLI_TXNODE, + keys: [process.env.DEPLOYER_GOERLI_KEY], + adminAddress: process.env.ADMIN_ADDRESS_MAINNET, + }, + // Polygon Mumbai testnet mumbai: { txNode: process.env.DEPLOYER_MUMBAI_TXNODE, diff --git a/hardhat.config.js b/hardhat.config.js index 0e62aeb54..5f01ae33d 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -143,6 +143,10 @@ module.exports = { url: environments.mainnet.txNode, accounts: environments.mainnet.keys, }, + goerli: { + url: environments.goerli.txNode, + accounts: environments.goerli.keys, + }, mumbai: { url: environments.mumbai.txNode, accounts: environments.mumbai.keys, @@ -155,6 +159,7 @@ module.exports = { etherscan: { apiKey: { mainnet: environments.etherscan.apiKey, + goerli: environments.etherscan.apiKey, polygonMumbai: environments.polygonscan.apiKey, polygon: environments.polygonscan.apiKey, }, @@ -183,6 +188,7 @@ module.exports = { yul: true, }, }, + evmVersion: "london", // for ethereum mainnet, use shanghai }, }, { diff --git a/logs/goerli.deploy.contracts.txt b/logs/goerli.deploy.contracts.txt new file mode 100644 index 000000000..2b23f28de --- /dev/null +++ b/logs/goerli.deploy.contracts.txt @@ -0,0 +1,134 @@ +Nothing to compile +-------------------------------------------------------------------------------- +Boson Protocol V2 Contract Suite Deployer +-------------------------------------------------------------------------------- +β›“ Network: hardhat +πŸ“… Fri Sep 01 2023 12:53:14 GMT+0200 (Srednjeevropski poletni čas) +πŸ”± Deployer account: 0x2a91A0148EE62fA638bE38C7eE05c29a3e568dD8 +-------------------------------------------------------------------------------- +πŸ’Ž Deploying AccessController, ProtocolDiamond, and Diamond utility facets... +βœ… AccessController deployed to: 0xD580502c41E88b530Ec5e281765F21d1F1024aE0 +βœ… DiamondLoupeFacet deployed to: 0xcEAC5d357cD41c9F922A9c96a1573c365cB65c8C +βœ… DiamondCutFacet deployed to: 0xDa9e055b33E68B828A9f6237e8E70393db70dD56 +βœ… ERC165Facet deployed to: 0xD211FEB768Aa4fb3a522Ba9BFcF5880D7C1Eb18f +βœ… ProtocolDiamond deployed to: 0xb25107E1aA88fAce01421000500A5a3adf141d2F + +πŸ’Ž Granting UPGRADER role... + +πŸ’Ž Deploying and initializing protocol handler facets... +βœ… AccountHandlerFacet deployed to: 0x32ed11a3545037bbE91A28addc13c02DdB454C2a +βœ… SellerHandlerFacet deployed to: 0xD8971422F647B5124E8Ae110840475B30fb86b79 +βœ… BuyerHandlerFacet deployed to: 0xcdb3c63AAD72196a71896F83bBffA62D6cc1E5Ed +βœ… DisputeResolverHandlerFacet deployed to: 0x783c7e1Be12A072E062aE61aD904368034d4be35 +βœ… AgentHandlerFacet deployed to: 0xC1fD27785c958909F3Fee6403f6e0C8D425E3a91 +βœ… BundleHandlerFacet deployed to: 0x9a4d1e10eF41952d59A94e16e0e2378c69Cfdb39 +βœ… DisputeHandlerFacet deployed to: 0x1b392C57e5c497B749f6Cacea277190b89B270C5 +βœ… FundsHandlerFacet deployed to: 0x6Ceb36aDBDDC325Cb27F27d8B32B85b5256F537E +βœ… GroupHandlerFacet deployed to: 0xb5b31A717C7420E51E89A8188F9F63865573E4DF +βœ… OfferHandlerFacet deployed to: 0x101Cbc4C2232Ed84375B5e7f261d657c9ad10cB1 +βœ… OrchestrationHandlerFacet1 deployed to: 0xB336d1b8AEd1388c260d5cAfD86c9cfe7e3307ea +βœ… OrchestrationHandlerFacet2 deployed to: 0x82A4Eb7E081122795e0c557fCAC4C936ad485612 +βœ… TwinHandlerFacet deployed to: 0xcC1AF260111da360f99283bA0d048c3bf23b02bA +βœ… PauseHandlerFacet deployed to: 0x95022c24A6844130c4095D063DcAb4796a9210B1 +βœ… ProtocolInitializationHandlerFacet deployed to: 0x9dE7cA2ea5e80263578EAfD2D350d7DEf341EF6C +βœ… ConfigHandlerFacet deployed to: 0xEeB9664e0E20658F0599715397c37ceE60d8fEf3 +βœ… ExchangeHandlerFacet deployed to: 0x46899Be09882cf23fe493378d8a022Af219C9d7C +βœ… MetaTransactionsHandlerFacet deployed to: 0x752a1CB845e082A73Aa340B66bBA61565368B9B6 + +⧉ Deploying Protocol Client implementation/proxy pairs... +βœ… BosonVoucher Logic deployed to: 0x6359FA7AD022682799aBB1b772fAc0f48F652C7B +βœ… BosonVoucher Beacon deployed to: 0x70dbFcCd334E15Ed8d892636Ba97C6FDB13a394a + +🌐️Configuring and granting roles... +βœ… ConfigHandlerFacet updated with remaining post-initialization config. +βœ… Granted roles to appropriate contract and addresses. +βœ… Contracts written to /home/klemen/boson/boson-protocol-contracts/scripts/util/../../addresses/5-hardhat-test-dry-run.json +Ether spent: 0.079860058943463229 +Nothing to compile +-------------------------------------------------------------------------------- +Boson Protocol V2 Contract Suite Deployer +-------------------------------------------------------------------------------- +β›“ Network: goerli +πŸ“… Fri Sep 01 2023 12:55:49 GMT+0200 (Srednjeevropski poletni čas) +πŸ”± Deployer account: 0x2a91A0148EE62fA638bE38C7eE05c29a3e568dD8 +-------------------------------------------------------------------------------- +πŸ’Ž Deploying AccessController, ProtocolDiamond, and Diamond utility facets... +βœ… AccessController deployed to: 0xD580502c41E88b530Ec5e281765F21d1F1024aE0 +βœ… DiamondLoupeFacet deployed to: 0xcEAC5d357cD41c9F922A9c96a1573c365cB65c8C +βœ… DiamondCutFacet deployed to: 0xDa9e055b33E68B828A9f6237e8E70393db70dD56 +βœ… ERC165Facet deployed to: 0xD211FEB768Aa4fb3a522Ba9BFcF5880D7C1Eb18f +βœ… ProtocolDiamond deployed to: 0xb25107E1aA88fAce01421000500A5a3adf141d2F + +πŸ’Ž Granting UPGRADER role... + +πŸ’Ž Deploying and initializing protocol handler facets... +βœ… AccountHandlerFacet deployed to: 0x32ed11a3545037bbE91A28addc13c02DdB454C2a +βœ… SellerHandlerFacet deployed to: 0xD8971422F647B5124E8Ae110840475B30fb86b79 +βœ… BuyerHandlerFacet deployed to: 0xcdb3c63AAD72196a71896F83bBffA62D6cc1E5Ed +βœ… DisputeResolverHandlerFacet deployed to: 0x783c7e1Be12A072E062aE61aD904368034d4be35 +βœ… AgentHandlerFacet deployed to: 0xC1fD27785c958909F3Fee6403f6e0C8D425E3a91 +βœ… BundleHandlerFacet deployed to: 0x9a4d1e10eF41952d59A94e16e0e2378c69Cfdb39 +βœ… DisputeHandlerFacet deployed to: 0x1b392C57e5c497B749f6Cacea277190b89B270C5 +βœ… FundsHandlerFacet deployed to: 0x6Ceb36aDBDDC325Cb27F27d8B32B85b5256F537E +βœ… GroupHandlerFacet deployed to: 0xb5b31A717C7420E51E89A8188F9F63865573E4DF +βœ… OfferHandlerFacet deployed to: 0x101Cbc4C2232Ed84375B5e7f261d657c9ad10cB1 +βœ… OrchestrationHandlerFacet1 deployed to: 0xB336d1b8AEd1388c260d5cAfD86c9cfe7e3307ea +βœ… OrchestrationHandlerFacet2 deployed to: 0x82A4Eb7E081122795e0c557fCAC4C936ad485612 +βœ… TwinHandlerFacet deployed to: 0xcC1AF260111da360f99283bA0d048c3bf23b02bA +βœ… PauseHandlerFacet deployed to: 0x95022c24A6844130c4095D063DcAb4796a9210B1 +βœ… ProtocolInitializationHandlerFacet deployed to: 0x9dE7cA2ea5e80263578EAfD2D350d7DEf341EF6C +βœ… ConfigHandlerFacet deployed to: 0xEeB9664e0E20658F0599715397c37ceE60d8fEf3 +βœ… ExchangeHandlerFacet deployed to: 0x46899Be09882cf23fe493378d8a022Af219C9d7C +βœ… MetaTransactionsHandlerFacet deployed to: 0x752a1CB845e082A73Aa340B66bBA61565368B9B6 + +⧉ Deploying Protocol Client implementation/proxy pairs... +βœ… BosonVoucher Logic deployed to: 0x6359FA7AD022682799aBB1b772fAc0f48F652C7B +βœ… BosonVoucher Beacon deployed to: 0x70dbFcCd334E15Ed8d892636Ba97C6FDB13a394a + +🌐️Configuring and granting roles... + +Nothing to compile +-------------------------------------------------------------------------------- +Boson Protocol V2 Contract Suite Deployer +-------------------------------------------------------------------------------- +β›“ Network: goerli +πŸ“… Fri Sep 01 2023 13:23:31 GMT+0200 (Srednjeevropski poletni čas) +πŸ”± Deployer account: 0x2a91A0148EE62fA638bE38C7eE05c29a3e568dD8 +-------------------------------------------------------------------------------- +πŸ’Ž Deploying AccessController, ProtocolDiamond, and Diamond utility facets... +βœ… AccessController deployed to: 0x5CB319455264139ab1DdEc1019acCB63efBE85F6 +βœ… DiamondLoupeFacet deployed to: 0x522AFC30aD0D0865e13F08a8a8f64Ae050bC6494 +βœ… DiamondCutFacet deployed to: 0xd12EeE1D9C16fC989550cce58a572093581515d9 +βœ… ERC165Facet deployed to: 0x1B151f3c384dcB29Ecd30E47c9e5351D0D6B4d16 +βœ… ProtocolDiamond deployed to: 0xDA01E28EA66B4294EeE21013bC45a0114E976Da4 + +πŸ’Ž Granting UPGRADER role... + +πŸ’Ž Deploying and initializing protocol handler facets... +βœ… AccountHandlerFacet deployed to: 0x0b5C2082Ba720C70bCC01F16A0993B3C045ade74 +βœ… SellerHandlerFacet deployed to: 0x47fC326d98aB6b3033A8F321911356E9afB057dE +βœ… BuyerHandlerFacet deployed to: 0xf16521a00137F3ca220a80038f2a4A65606ef23c +βœ… DisputeResolverHandlerFacet deployed to: 0x6f2ED6747cEa24f969216aBDAA89d8F0473Cf5Cc +βœ… AgentHandlerFacet deployed to: 0x706F1F44d4D8b7Ca737e0AA6AC0EC3833E78f89b +βœ… BundleHandlerFacet deployed to: 0x6ca830E8A7a0d90d0edfB49463a86c115229a4cf +βœ… DisputeHandlerFacet deployed to: 0x7bDF3f49319207dE7395d4F5317f5755C31b262C +βœ… FundsHandlerFacet deployed to: 0x5Bdf7254b3CFDEbe2EEc127e7f24A3eCCf2C4A42 +βœ… GroupHandlerFacet deployed to: 0xEB683c4295109Fa0b1ce8f59e1652DbE248dC757 +βœ… OfferHandlerFacet deployed to: 0x8557fEa09B61042678Fc5C48c64c0b70f353ED89 +βœ… OrchestrationHandlerFacet1 deployed to: 0x594913903551b5737Cb9dEA5eEfbbD47b7F95Be3 +βœ… OrchestrationHandlerFacet2 deployed to: 0x4d987D0013b64A03370210b3fA709Fba33bC0267 +βœ… TwinHandlerFacet deployed to: 0x48BA1cd83d784811321e395fA8c63D215434B0C9 +βœ… PauseHandlerFacet deployed to: 0x4f6CF8B15AfB80DEd9EE292c0445DC6F22c5cE18 +βœ… ProtocolInitializationHandlerFacet deployed to: 0xcFb45D8E8631773c9d7aC130296F900110f9D61B +βœ… ConfigHandlerFacet deployed to: 0x0a5DCE0736F188879227e37D40c37327Beb6F0b6 +βœ… ExchangeHandlerFacet deployed to: 0x40Aa9d2eEB1462A3BAb7f359121560ED1d0c4a0A +βœ… MetaTransactionsHandlerFacet deployed to: 0x13b5988c3a021AC147DE30E6e446c3bA21c96151 + +⧉ Deploying Protocol Client implementation/proxy pairs... +βœ… BosonVoucher Logic deployed to: 0xFc1875D5f59B2D21633Fe31B0a1B37Df4479a231 +βœ… BosonVoucher Beacon deployed to: 0xD182FfDC04765a60F0753b00741AB0CB7aeC1b53 + +🌐️Configuring and granting roles... +βœ… ConfigHandlerFacet updated with remaining post-initialization config. +βœ… Granted roles to appropriate contract and addresses. +βœ… Contracts written to /home/klemen/boson/boson-protocol-contracts/scripts/util/../../addresses/5-goerli-test.json diff --git a/package-lock.json b/package-lock.json index a32add91b..26b30c865 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@bosonprotocol/boson-protocol-contracts", - "version": "2.2.1", + "version": "2.3.0-rc.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@bosonprotocol/boson-protocol-contracts", - "version": "2.2.1", + "version": "2.3.0-rc.3", "license": "GPL-3.0-or-later", "dependencies": { "@openzeppelin/contracts": "^4.9.0", diff --git a/package.json b/package.json index b80d56a4e..65a2bbc28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bosonprotocol/boson-protocol-contracts", - "version": "2.2.1", + "version": "2.3.0-rc.3", "description": "Boson Protocol core exchange mechanism", "author": "Boson Protocol Maintainers", "license": "GPL-3.0-or-later", @@ -36,10 +36,12 @@ "deploy-suite:local": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network localhost", "deploy-suite:test": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network test --env test >> logs/test.deploy.contracts.txt", "deploy-suite:ethereum:mainnet": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network mainnet >> logs/mainnet.deploy.contracts.txt", + "deploy-suite:ethereum:goerli": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network goerli --env test >> logs/goerli.deploy.contracts.txt", "deploy-suite:polygon:mumbai-test": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network mumbai --env test >> logs/mumbai-test.deploy.contracts.txt", "deploy-suite:polygon:mumbai-staging": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network mumbai --env staging >> logs/mumbai-staging.deploy.contracts.txt", "deploy-suite:polygon:mainnet": "npx hardhat clean && npx hardhat compile && npx hardhat deploy-suite --network polygon --env prod >> logs/polygon.deploy.contracts.txt", "verify-suite:ethereum:mainnet": "npx hardhat verify-suite --network mainnet --chain-id 1 --env prod >> logs/mainnet.verify.contracts.txt", + "verify-suite:ethereum:goerli": "npx hardhat verify-suite --network goerli --chain-id 5 --env test >> logs/goerli.verify.contracts.txt", "verify-suite:polygon:mumbai-test": "npx hardhat verify-suite --network mumbai --chain-id 80001 --env test >> logs/mumbai-test.verify.contracts.txt", "verify-suite:polygon:mumbai-staging": "npx hardhat verify-suite --network mumbai --chain-id 80001 --env staging >> logs/mumbai-staging.verify.contracts.txt", "verify-suite:polygon:mainnet": "npx hardhat verify-suite --network polygon --chain-id 137 --env prod >> logs/polygon.verify.contracts.txt", @@ -60,6 +62,7 @@ "upgrade-clients:polygon:mumbai-staging": "npx hardhat clean && npx hardhat compile && npx hardhat upgrade-clients --network mumbai --env staging >> logs/mumbai-staging.upgrade.contracts.txt", "upgrade-clients:polygon:mainnet": "npx hardhat clean && npx hardhat compile && npx hardhat upgrade-clients --network polygon --env prod >> logs/polygon.upgrade.contracts.txt", "manage-roles:ethereum:mainnet": "npx hardhat manage-roles --network mainnet --env prod >> logs/mainnet.manage.roles.txt", + "manage-roles:ethereum:goerli": "npx hardhat manage-roles --network goerli --env test >> logs/goerli.manage.roles.txt", "manage-roles:polygon:mumbai-test": "npx hardhat manage-roles --network mumbai --env test >> logs/mumbai-test.manage.roles.txt", "manage-roles:polygon:mumbai-staging": "npx hardhat manage-roles --network mumbai --env staging >> logs/mumbai-staging.manage.roles.txt", "manage-roles:polygon:mainnet": "npx hardhat manage-roles --network polygon --env prod >> logs/polygon.manage.roles.txt", diff --git a/scripts/config/auth-token-addresses.js b/scripts/config/auth-token-addresses.js index 04aa45084..e31f29d5b 100644 --- a/scripts/config/auth-token-addresses.js +++ b/scripts/config/auth-token-addresses.js @@ -5,7 +5,7 @@ module.exports = { // Lens protocol NFT contract address LENS: { - mainnet: "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d", + mainnet: "", hardhat: "0x60Ae865ee4C725cd04353b5AAb364553f56ceF82", localhost: "0x8A4eBAEB1319623Aebda7c0F77b22263893f286B", // dummy value, replace after running deploy-mocks:local test: "0x478c6B18c1694AF49D5814238183EfBc62211834", //actual deployed value @@ -15,9 +15,10 @@ module.exports = { // ENS contract address ENS: { - mainnet: "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85", + mainnet: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", hardhat: "0x57f1887a8BF19b14fC0dF6Fd9B2acc9Af147eA85", localhost: "0x941275FD90443BAdE771fE8D1ebA996d98387A15", // dummy value, replace after running deploy-mocks:local test: "0x13E03B861B96d2fC9553D4c52ba1a914f73f50a4", //actual deployed value + goerli: "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e", }, }; diff --git a/scripts/config/client-upgrade.js b/scripts/config/client-upgrade.js index 3762c34e1..65a719236 100644 --- a/scripts/config/client-upgrade.js +++ b/scripts/config/client-upgrade.js @@ -1,11 +1,12 @@ module.exports = { META_TRANSACTION_FORWARDER: { - mainnet: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy + mainnet: "0x84a0856b038eaAd1cC7E297cF34A7e72685A8693", hardhat: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy localhost: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy test: "0x69015912AA33720b842dCD6aC059Ed623F28d9f7", staging: "0x69015912AA33720b842dCD6aC059Ed623F28d9f7", mumbai: "0x69015912AA33720b842dCD6aC059Ed623F28d9f7", polygon: "0x86C80a8aa58e0A4fa09A69624c31Ab2a6CAD56b8", + goerli: "0xE041608922d06a4F26C0d4c27d8bCD01daf1f792", }, }; diff --git a/scripts/config/protocol-parameters.js b/scripts/config/protocol-parameters.js index 3ee913f39..1632a238a 100644 --- a/scripts/config/protocol-parameters.js +++ b/scripts/config/protocol-parameters.js @@ -39,6 +39,7 @@ module.exports = { test: "0x520ce45DF6d14334257BFdD360a5C22B06E309c7", //dummy mumbai: "0x1f5431E8679630790E8EbA3a9b41d1BB4d41aeD0", polygon: "0x9b3b0703d392321ad24338ff1f846650437a43c9", + goerli: "0xE3c811AbbD19FBb9Fe324EB0F30f32d1F6D20C95", }, // Treasury contract address @@ -49,6 +50,7 @@ module.exports = { test: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy mumbai: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy polygon: "0x11D0d293751E18FCC56c70E1FB264CeB9f7C3fE7", + goerli: "0x2a91A0148EE62fA638bE38C7eE05c29a3e568dD8", }, // Boson voucher beacon contract address @@ -58,7 +60,8 @@ module.exports = { localhost: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy test: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy mumbai: "0x494f5238b40119e707582Ce87E0ca3627dB23Bcb", //dummy - polygon: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy + polygon: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy, + goerli: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy }, // Beacon proxy contract address @@ -69,12 +72,15 @@ module.exports = { test: "0x4102621Ac55e068e148Da09151ce92102c952aab", //dummy mumbai: "0x4102621Ac55e068e148Da09151ce92102c952aab", //dummy polygon: "0x17CDD65bebDe68cd8A4045422Fcff825A0740Ef9", //dummy + goerli: "0x4102621Ac55e068e148Da09151ce92102c952aab", //dummy }, EXCHANGE_ID_2_2_0: { hardhat: 1, - mumbai: 1, // TODO: adjust for actual deployment - polygon: 2, // TODO: adjust for actual deployment + mumbai: 1, // test: 1, staging: 1 + polygon: 413, localhost: 1, + goerli: 1, + mainnet: 1, }, }; diff --git a/scripts/config/role-assignments.js b/scripts/config/role-assignments.js index 27799ee81..b3ef36073 100644 --- a/scripts/config/role-assignments.js +++ b/scripts/config/role-assignments.js @@ -17,7 +17,7 @@ exports.RoleAssignments = { mumbai: { AdminAddress: { // do not change name - roles: [Role.ADMIN, Role.UPGRADER], + roles: [Role.ADMIN, Role.UPGRADER, Role.PAUSER], }, // For minting vouchers @@ -53,6 +53,19 @@ exports.RoleAssignments = { }, }, + goerli: { + AdminAddress: { + // do not change name + roles: [Role.ADMIN, Role.UPGRADER], + }, + + // For minting vouchers + ProtocolDiamond: { + // contract name must match name in /addresses/-.json + roles: [Role.PROTOCOL], + }, + }, + test: { AdminAddress: { // do not change name diff --git a/scripts/deploy-suite.js b/scripts/deploy-suite.js index 7403a9445..655000ad6 100644 --- a/scripts/deploy-suite.js +++ b/scripts/deploy-suite.js @@ -178,12 +178,15 @@ async function main(env, facetConfig) { // Add NFT auth token addresses to protocol config // LENS - transactionResponse = await bosonConfigHandler.setAuthTokenContract( - AuthTokenType.Lens, - authTokenContracts.lensAddress, - await getFees(maxPriorityFeePerGas) - ); - await transactionResponse.wait(confirmations); + // Skip the step for ethereum networks, since LENS is not present there + if (!(network === "mainnet" || network === "goerli")) { + transactionResponse = await bosonConfigHandler.setAuthTokenContract( + AuthTokenType.Lens, + authTokenContracts.lensAddress, + await getFees(maxPriorityFeePerGas) + ); + await transactionResponse.wait(confirmations); + } // ENS // Skip the step for polygon networks, since ENS is not present there diff --git a/scripts/manage-roles.js b/scripts/manage-roles.js index 38e2d7a84..520f4655e 100644 --- a/scripts/manage-roles.js +++ b/scripts/manage-roles.js @@ -49,7 +49,7 @@ async function main(env) { const accessControllerInfo = contractsFile.contracts.find((i) => i.name === "AccessController"); // Get AccessController abstraction - const accessController = await getContractAt("AccessController", await accessControllerInfo.getAddress()); + const accessController = await getContractAt("AccessController", accessControllerInfo.address); // Loop through assignments for this network const assignments = Object.entries(RoleAssignments[network]); @@ -63,19 +63,19 @@ async function main(env) { let contractInfo; contractInfo = contractsFile.contracts.find((i) => i.name === name); - config.address = name === "AdminAddress" ? environments[network].adminAddress : await contractInfo.getAddress(); + config.address = name === "AdminAddress" ? environments[network].adminAddress : contractInfo.address; - console.log(` πŸ‘‰ ${await config.getAddress()}`); + console.log(` πŸ‘‰ ${config.address}`); // Loop through assigned roles for address for (let j = 0; j < config.roles.length; j++) { // Check if role already assigned const role = config.roles[j]; - const hasRole = await accessController.hasRole(role, await config.getAddress()); + const hasRole = await accessController.hasRole(role, config.address); // Grant role if not already granted if (!hasRole) { - await accessController.grantRole(role, await config.getAddress()); + await accessController.grantRole(role, config.address); } // Report status @@ -88,11 +88,11 @@ async function main(env) { for (let j = 0; j < unassigned.length; j++) { // Check if role currently assigned const role = Role[unassigned[j]]; - const hasRole = await accessController.hasRole(role, await config.getAddress()); + const hasRole = await accessController.hasRole(role, config.address); // Revoke role if previously granted if (hasRole) { - await accessController.revokeRole(role, await config.getAddress()); + await accessController.revokeRole(role, config.address()); } // Report status diff --git a/scripts/migrations/dry-run.js b/scripts/migrations/dry-run.js index 14495ea6b..819dfcf4c 100644 --- a/scripts/migrations/dry-run.js +++ b/scripts/migrations/dry-run.js @@ -14,13 +14,13 @@ async function setupDryRun(env) { forkedEnv = env; const upgraderBalance = await getBalance(); - const blockNumber = await provider.getBlockNumber(); + // const blockNumber = await provider.getBlockNumber(); // change network to hardhat with forking enabled hre.config.networks["hardhat"].forking = { url: hre.config.networks[network].url, enabled: true, - blockNumber: blockNumber.toString(), // if performance is too slow, try commenting this line out + // blockNumber: blockNumber.toString(), // if performance is too slow, try commenting this line out }; hre.config.networks["hardhat"].accounts = [ diff --git a/scripts/migrations/migrate_2.3.0.js b/scripts/migrations/migrate_2.3.0.js index fb818db7e..ce18d3d4b 100644 --- a/scripts/migrations/migrate_2.3.0.js +++ b/scripts/migrations/migrate_2.3.0.js @@ -21,29 +21,30 @@ const { META_TRANSACTION_FORWARDER } = require("../config/client-upgrade"); const confirmations = hre.network.name == "hardhat" ? 1 : environments.confirmations; const config = { - // status at 451dc3d. ToDo: update this to the latest commit + // status at v2.3.0-rc.3 addOrUpgrade: [ + "AccountHandlerFacet", + "BundleHandlerFacet", "ConfigHandlerFacet", + "DisputeHandlerFacet", "DisputeResolverHandlerFacet", "ExchangeHandlerFacet", "FundsHandlerFacet", + "GroupHandlerFacet", "MetaTransactionsHandlerFacet", "OfferHandlerFacet", "OrchestrationHandlerFacet1", "PauseHandlerFacet", - "DisputeHandlerFacet", "ProtocolInitializationHandlerFacet", "SellerHandlerFacet", - "BundleHandlerFacet", "TwinHandlerFacet", - "GroupHandlerFacet", ], remove: [], skipSelectors: {}, facetsToInit: { ExchangeHandlerFacet: { init: [], constructorArgs: [EXCHANGE_ID_2_2_0[network]] }, }, // must match nextExchangeId at the time of the upgrade - initializationData: abiCoder.encode(["uint256", "uint256[]", "address[]"], [oneWeek, [], []]), + initializationData: abiCoder.encode(["uint256"], [oneWeek]), }; async function migrate(env) { @@ -102,13 +103,6 @@ async function migrate(env) { await hre.run("compile"); } - // Get the list of creators and their ids - config.initializationData = abiCoder.encode( - ["uint256"], - [oneWeek] // ToDo <- from config? - ); - console.log("Initialization data: ", config.initializationData); - let functionNamesToSelector = {}; for (const facet of config.addOrUpgrade) { @@ -234,10 +228,12 @@ async function migrate(env) { await pauseHandler.unpause([], await getFees(maxPriorityFeePerGas)); shell.exec(`git checkout HEAD`); + shell.exec(`git reset HEAD`); console.log(`Migration ${tag} completed`); } catch (e) { console.error(e); shell.exec(`git checkout HEAD`); + shell.exec(`git reset HEAD`); throw `Migration failed with: ${e}`; } } diff --git a/scripts/util/report-verify-deployments.js b/scripts/util/report-verify-deployments.js index 73cae2a51..1c9b9448c 100644 --- a/scripts/util/report-verify-deployments.js +++ b/scripts/util/report-verify-deployments.js @@ -15,12 +15,12 @@ async function verifyOnBlockExplorer(contract) { if (contract.name == "BosonVoucher Beacon") { await hre.run("verify:verify", { contract: "contracts/protocol/clients/proxy/BosonClientBeacon.sol:BosonClientBeacon", - address: await contract.getAddress(), + address: contract.address, constructorArguments: contract.args, }); } else { await hre.run("verify:verify", { - address: await contract.getAddress(), + address: contract.address, constructorArguments: contract.args, }); } From 2b195f8df24bc1eb49aeb7eeeac27127314b6c5f Mon Sep 17 00:00:00 2001 From: Klemen <64400885+zajck@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:39:31 +0200 Subject: [PATCH 4/5] fix #735 (#799) Co-authored-by: Mischa --- contracts/protocol/facets/ExchangeHandlerFacet.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/protocol/facets/ExchangeHandlerFacet.sol b/contracts/protocol/facets/ExchangeHandlerFacet.sol index 3348db98d..d3d8d208e 100644 --- a/contracts/protocol/facets/ExchangeHandlerFacet.sol +++ b/contracts/protocol/facets/ExchangeHandlerFacet.sol @@ -1157,7 +1157,7 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { Condition storage _condition, uint256 _tokenId ) internal view returns (bool) { - return (IERC721(_condition.tokenAddress).ownerOf(_tokenId) == _buyer); + return IERC721(_condition.tokenAddress).ownerOf(_tokenId) == _buyer; } /** From aab19d981314efeab5e78f5afb682cbeed5a5b1c Mon Sep 17 00:00:00 2001 From: Klemen <64400885+zajck@users.noreply.github.com> Date: Wed, 13 Sep 2023 11:29:22 +0200 Subject: [PATCH 5/5] Limit the number of twin transfers (#800) * poc * Limit max reserved gas * handle tests under coverage --------- Co-authored-by: Mischa --- .../interfaces/events/IBosonTwinEvents.sol | 1 + .../handlers/IBosonExchangeHandler.sol | 3 + .../protocol/facets/ExchangeHandlerFacet.sol | 279 ++++++++++-------- test/protocol/ExchangeHandlerTest.js | 235 +++++++++++++++ 4 files changed, 389 insertions(+), 129 deletions(-) diff --git a/contracts/interfaces/events/IBosonTwinEvents.sol b/contracts/interfaces/events/IBosonTwinEvents.sol index 505c2d992..3d58e8487 100644 --- a/contracts/interfaces/events/IBosonTwinEvents.sol +++ b/contracts/interfaces/events/IBosonTwinEvents.sol @@ -34,4 +34,5 @@ interface IBosonTwinEvents { uint256 amount, address executedBy ); + event TwinTransferSkipped(uint256 indexed exchangeId, uint256 twinCount, address indexed executedBy); } diff --git a/contracts/interfaces/handlers/IBosonExchangeHandler.sol b/contracts/interfaces/handlers/IBosonExchangeHandler.sol index f5447d3e5..da1464e0e 100644 --- a/contracts/interfaces/handlers/IBosonExchangeHandler.sol +++ b/contracts/interfaces/handlers/IBosonExchangeHandler.sol @@ -195,6 +195,9 @@ interface IBosonExchangeHandler is IBosonExchangeEvents, IBosonFundsLibEvents, I * @notice Redeems a voucher. * * Emits a VoucherRedeemed event if successful. + * Emits TwinTransferred if twin transfer was successfull + * Emits TwinTransferFailed if twin transfer failed + * Emits TwinTransferSkipped if twin transfer was skipped when the number of twins is too high * * Reverts if * - The exchanges region of protocol is paused diff --git a/contracts/protocol/facets/ExchangeHandlerFacet.sol b/contracts/protocol/facets/ExchangeHandlerFacet.sol index d3d8d208e..85e64f812 100644 --- a/contracts/protocol/facets/ExchangeHandlerFacet.sol +++ b/contracts/protocol/facets/ExchangeHandlerFacet.sol @@ -542,6 +542,9 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { * @notice Redeems a voucher. * * Emits a VoucherRedeemed event if successful. + * Emits TwinTransferred if twin transfer was successfull + * Emits TwinTransferFailed if twin transfer failed + * Emits TwinTransferSkipped if twin transfer was skipped when the number of twins is too high * * Reverts if * - The exchanges region of protocol is paused @@ -833,6 +836,7 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { * Emits ERC20 Transfer, ERC721 Transfer, or ERC1155 TransferSingle events in call stack if successful. * Emits TwinTransferred if twin transfer was successfull * Emits TwinTransferFailed if twin transfer failed + * Emits TwinTransferSkipped if twin transfer was skipped when the number of twins is too high * * If one of the twin transfers fails, the function will continue to transfer the remaining twins and * automatically raises a dispute for the exchange. @@ -869,150 +873,167 @@ contract ExchangeHandlerFacet is IBosonExchangeHandler, BuyerBase, DisputeBase { address sender = msgSender(); uint256 twinCount = twinIds.length; - // Fetch twin: up to 20,000 gas - // Handle individual outcome: up to 120,000 gas - // Handle overall outcome: up to 200,000 gas + // SINGLE_TWIN_RESERVED_GAS = 160000 + // MINIMAL_RESIDUAL_GAS = 230000 // Next line would overflow if twinCount > (type(uint256).max - MINIMAL_RESIDUAL_GAS)/SINGLE_TWIN_RESERVED_GAS - // Oveflow happens for twinCount ~ 9.6x10^71, which is impossible to achieve + // Oveflow happens for twinCount ~ 7.2x10^71, which is impossible to achieve uint256 reservedGas = (twinCount - 1) * SINGLE_TWIN_RESERVED_GAS + MINIMAL_RESIDUAL_GAS; - // Visit the twins - for (uint256 i = 0; i < twinCount; ) { - // Get the twin - (, Twin storage twinS) = fetchTwin(twinIds[i]); - - // Use twin struct instead of individual variables to avoid stack too deep error - // Don't copy the whole twin to memory immediately, only the fields that are needed - Twin memory twinM; - twinM.tokenId = twinS.tokenId; - twinM.amount = twinS.amount; - - bool success; - { - twinM.tokenType = twinS.tokenType; - - // Shouldn't decrement supply if twin supply is unlimited - twinM.supplyAvailable = twinS.supplyAvailable; - if (twinM.supplyAvailable != type(uint256).max) { - // Decrement by 1 if token type is NonFungible otherwise decrement amount (i.e, tokenType is MultiToken or FungibleToken) - twinM.supplyAvailable = twinM.tokenType == TokenType.NonFungibleToken - ? twinM.supplyAvailable - 1 - : twinM.supplyAvailable - twinM.amount; - - twinS.supplyAvailable = twinM.supplyAvailable; - } + // If number of twins is too high, skip the transfer and mark the transfer as failed. + // Reserved gas is higher than the actual gas needed for succesful twin redeem. + // There is enough buffer that even if the reserved gas is above gas limit, the redeem will still succeed. + // This check was added to prevent the DoS attack where the attacker would create a bundle with a huge number of twins. + // For a normal operations this still allows for a bundle with more than 180 twins to be redeemed, which should be enough for practical purposes. + if (reservedGas > block.gaslimit) { + transferFailed = true; + + emit TwinTransferSkipped(_exchange.id, twinCount, sender); + } else { + // Visit the twins + for (uint256 i = 0; i < twinCount; ) { + // Get the twin + (, Twin storage twinS) = fetchTwin(twinIds[i]); + + // Use twin struct instead of individual variables to avoid stack too deep error + // Don't copy the whole twin to memory immediately, only the fields that are needed + Twin memory twinM; + twinM.tokenId = twinS.tokenId; + twinM.amount = twinS.amount; + + bool success; + { + twinM.tokenType = twinS.tokenType; - // Transfer the token from the seller's assistant to the buyer - bytes memory data; // Calldata to transfer the twin - - if (twinM.tokenType == TokenType.FungibleToken) { - // ERC-20 style transfer - data = abi.encodeCall(IERC20.transferFrom, (assistant, sender, twinM.amount)); - } else if (twinM.tokenType == TokenType.NonFungibleToken) { - // Token transfer order is ascending to avoid overflow when twin supply is unlimited - if (twinM.supplyAvailable == type(uint256).max) { - twinS.tokenId++; - } else { - // Token transfer order is descending - twinM.tokenId += twinM.supplyAvailable; + // Shouldn't decrement supply if twin supply is unlimited + twinM.supplyAvailable = twinS.supplyAvailable; + if (twinM.supplyAvailable != type(uint256).max) { + // Decrement by 1 if token type is NonFungible otherwise decrement amount (i.e, tokenType is MultiToken or FungibleToken) + twinM.supplyAvailable = twinM.tokenType == TokenType.NonFungibleToken + ? twinM.supplyAvailable - 1 + : twinM.supplyAvailable - twinM.amount; + + twinS.supplyAvailable = twinM.supplyAvailable; } - // ERC-721 style transfer - data = abi.encodeWithSignature( - "safeTransferFrom(address,address,uint256,bytes)", - assistant, - sender, - twinM.tokenId, - "" - ); - } else if (twinM.tokenType == TokenType.MultiToken) { - // ERC-1155 style transfer - data = abi.encodeWithSignature( - "safeTransferFrom(address,address,uint256,uint256,bytes)", - assistant, - sender, - twinM.tokenId, - twinM.amount, - "" - ); - } - // Make call only if there is enough gas and code at address exists. - // If not, skip the call and mark the transfer as failed - twinM.tokenAddress = twinS.tokenAddress; - uint256 gasLeft = gasleft(); - if (gasLeft > reservedGas && twinM.tokenAddress.isContract()) { - address to = twinM.tokenAddress; - - // Handle the return value with assembly to avoid return bomb attack - bytes memory result; - assembly { - success := call( - sub(gasLeft, reservedGas), // gasleft()-reservedGas - to, // twin contract - 0, // ether value - add(data, 0x20), // invocation calldata - mload(data), // calldata length - add(result, 0x20), // store return data at result - 0x20 // store at most 32 bytes - ) - - let returndataSize := returndatasize() - - switch gt(returndataSize, 0x20) - case 0 { - // Adjust result length in case it's shorter than 32 bytes - mstore(result, returndataSize) - } - case 1 { - // If return data is longer than 32 bytes, consider transfer unsuccesful - success := false + + // Transfer the token from the seller's assistant to the buyer + bytes memory data; // Calldata to transfer the twin + + if (twinM.tokenType == TokenType.FungibleToken) { + // ERC-20 style transfer + data = abi.encodeCall(IERC20.transferFrom, (assistant, sender, twinM.amount)); + } else if (twinM.tokenType == TokenType.NonFungibleToken) { + // Token transfer order is ascending to avoid overflow when twin supply is unlimited + if (twinM.supplyAvailable == type(uint256).max) { + twinS.tokenId++; + } else { + // Token transfer order is descending + twinM.tokenId += twinM.supplyAvailable; } + // ERC-721 style transfer + data = abi.encodeWithSignature( + "safeTransferFrom(address,address,uint256,bytes)", + assistant, + sender, + twinM.tokenId, + "" + ); + } else if (twinM.tokenType == TokenType.MultiToken) { + // ERC-1155 style transfer + data = abi.encodeWithSignature( + "safeTransferFrom(address,address,uint256,uint256,bytes)", + assistant, + sender, + twinM.tokenId, + twinM.amount, + "" + ); } + // Make call only if there is enough gas and code at address exists. + // If not, skip the call and mark the transfer as failed + twinM.tokenAddress = twinS.tokenAddress; + uint256 gasLeft = gasleft(); + if (gasLeft > reservedGas && twinM.tokenAddress.isContract()) { + address to = twinM.tokenAddress; + + // Handle the return value with assembly to avoid return bomb attack + bytes memory result; + assembly { + success := call( + sub(gasLeft, reservedGas), // gasleft()-reservedGas + to, // twin contract + 0, // ether value + add(data, 0x20), // invocation calldata + mload(data), // calldata length + add(result, 0x20), // store return data at result + 0x20 // store at most 32 bytes + ) + + let returndataSize := returndatasize() + + switch gt(returndataSize, 0x20) + case 0 { + // Adjust result length in case it's shorter than 32 bytes + mstore(result, returndataSize) + } + case 1 { + // If return data is longer than 32 bytes, consider transfer unsuccesful + success := false + } + } - // Check if result is empty or if result is a boolean and is true - success = - success && - (result.length == 0 || (result.length == 32 && abi.decode(result, (uint256)) == 1)); + // Check if result is empty or if result is a boolean and is true + success = + success && + (result.length == 0 || (result.length == 32 && abi.decode(result, (uint256)) == 1)); + } } - } - - twinM.id = twinS.id; - // If token transfer failed - if (!success) { - transferFailed = true; + twinM.id = twinS.id; - emit TwinTransferFailed( - twinM.id, - twinM.tokenAddress, - _exchange.id, - twinM.tokenId, - twinM.amount, - sender - ); - } else { - ProtocolLib.ProtocolLookups storage lookups = protocolLookups(); - uint256 exchangeId = _exchange.id; + // If token transfer failed + if (!success) { + transferFailed = true; - { - // Store twin receipt on twinReceiptsByExchange - TwinReceipt storage twinReceipt = lookups.twinReceiptsByExchange[exchangeId].push(); - twinReceipt.twinId = twinM.id; - twinReceipt.tokenAddress = twinM.tokenAddress; - twinReceipt.tokenId = twinM.tokenId; - twinReceipt.amount = twinM.amount; - twinReceipt.tokenType = twinM.tokenType; - } - if (twinM.tokenType == TokenType.NonFungibleToken) { - updateNFTRanges(lookups, twinM, sellerId); + emit TwinTransferFailed( + twinM.id, + twinM.tokenAddress, + _exchange.id, + twinM.tokenId, + twinM.amount, + sender + ); + } else { + ProtocolLib.ProtocolLookups storage lookups = protocolLookups(); + uint256 exchangeId = _exchange.id; + + { + // Store twin receipt on twinReceiptsByExchange + TwinReceipt storage twinReceipt = lookups.twinReceiptsByExchange[exchangeId].push(); + twinReceipt.twinId = twinM.id; + twinReceipt.tokenAddress = twinM.tokenAddress; + twinReceipt.tokenId = twinM.tokenId; + twinReceipt.amount = twinM.amount; + twinReceipt.tokenType = twinM.tokenType; + } + if (twinM.tokenType == TokenType.NonFungibleToken) { + updateNFTRanges(lookups, twinM, sellerId); + } + emit TwinTransferred( + twinM.id, + twinM.tokenAddress, + exchangeId, + twinM.tokenId, + twinM.amount, + sender + ); } - emit TwinTransferred(twinM.id, twinM.tokenAddress, exchangeId, twinM.tokenId, twinM.amount, sender); - } - // Reduce minimum gas required for succesful execution - reservedGas -= SINGLE_TWIN_RESERVED_GAS; + // Reduce minimum gas required for succesful execution + reservedGas -= SINGLE_TWIN_RESERVED_GAS; - unchecked { - i++; + unchecked { + i++; + } } } } diff --git a/test/protocol/ExchangeHandlerTest.js b/test/protocol/ExchangeHandlerTest.js index 429536b26..aff81cd60 100644 --- a/test/protocol/ExchangeHandlerTest.js +++ b/test/protocol/ExchangeHandlerTest.js @@ -3674,6 +3674,59 @@ describe("IBosonExchangeHandler", function () { assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); }); + it("Too many twins", async function () { + await provider.send("evm_setBlockGasLimit", ["0x1c9c380"]); // 30,000,000. Need to set this limit, otherwise the coverage test will fail + + const twinCount = 188; + + // Approve the protocol diamond to transfer seller's tokens + await foreign20.connect(assistant).approve(protocolDiamondAddress, twinCount * 10, { gasLimit: 30000000 }); + + twin20 = mockTwin(await foreign20.getAddress()); + twin20.amount = "1"; + twin20.supplyAvailable = "1"; + + for (let i = 0; i < twinCount; i++) { + await twinHandler.connect(assistant).createTwin(twin20.toStruct(), { gasLimit: 30000000 }); + } + + // Create a new offer and bundle + const twinIds = [...Array(twinCount + 4).keys()].slice(4); + + offer.quantityAvailable = 1; + await offerHandler + .connect(assistant) + .createOffer(offer, offerDates, offerDurations, disputeResolverId, agentId, { gasLimit: 30000000 }); + bundle = new Bundle("2", seller.id, [`${++offerId}`], twinIds); + await bundleHandler.connect(assistant).createBundle(bundle.toStruct(), { gasLimit: 30000000 }); + + // Commit to offer + const buyerAddress = await buyer.getAddress(); + await exchangeHandler + .connect(buyer) + .commitToOffer(buyerAddress, offerId, { value: price, gasLimit: 30000000 }); + + exchange.id = Number(exchange.id) + 1; + + // Redeem the voucher + tx = await exchangeHandler.connect(buyer).redeemVoucher(exchange.id, { gasLimit: 30000000 }); + + // Dispute should be raised and twin transfer should be skipped + await expect(tx) + .to.emit(disputeHandler, "DisputeRaised") + .withArgs(exchange.id, exchange.buyerId, seller.id, buyerAddress); + + await expect(tx) + .to.emit(exchangeHandler, "TwinTransferSkipped") + .withArgs(exchange.id, twinCount, buyerAddress); + + // Get the exchange state + [, response] = await exchangeHandler.connect(rando).getExchangeState(exchange.id); + + // It should match ExchangeState.Disputed + assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); + }); + it("if twin returns a long return, redeem still succeeds, but exchange is disputed", async function () { const [foreign20rb] = await deployMockTokens(["Foreign20ReturnBomb"]); @@ -4405,6 +4458,60 @@ describe("IBosonExchangeHandler", function () { assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); }); + it("Too many twins", async function () { + await provider.send("evm_setBlockGasLimit", ["0x1c9c380"]); // 30,000,000. Need to set this limit, otherwise the coverage test will fail + + const twinCount = 188; + const startTokenId = 100; + + // Approve the protocol diamond to transfer seller's tokens + await foreign721.connect(assistant).setApprovalForAll(protocolDiamondAddress, true, { gasLimit: 30000000 }); + twin721 = mockTwin(await foreign721.getAddress(), TokenType.NonFungibleToken); + twin721.amount = "0"; + twin721.supplyAvailable = "1"; + + for (let i = startTokenId; i < startTokenId + twinCount; i++) { + twin721.tokenId = i; + await twinHandler.connect(assistant).createTwin(twin721.toStruct(), { gasLimit: 30000000 }); + } + + // Create a new offer and bundle + const twinIds = [...Array(twinCount + 4).keys()].slice(4); + + offer.quantityAvailable = 1; + await offerHandler + .connect(assistant) + .createOffer(offer, offerDates, offerDurations, disputeResolverId, agentId, { gasLimit: 30000000 }); + bundle = new Bundle("2", seller.id, [`${++offerId}`], twinIds); + await bundleHandler.connect(assistant).createBundle(bundle.toStruct(), { gasLimit: 30000000 }); + + // Commit to offer + const buyerAddress = await buyer.getAddress(); + await exchangeHandler + .connect(buyer) + .commitToOffer(buyerAddress, offerId, { value: price, gasLimit: 30000000 }); + + exchange.id = Number(exchange.id) + 1; + + // Redeem the voucher + tx = await exchangeHandler.connect(buyer).redeemVoucher(exchange.id, { gasLimit: 30000000 }); + + // Dispute should be raised and twin transfer should be skipped + await expect(tx) + .to.emit(disputeHandler, "DisputeRaised") + .withArgs(exchange.id, exchange.buyerId, seller.id, buyerAddress); + + await expect(tx) + .to.emit(exchangeHandler, "TwinTransferSkipped") + .withArgs(exchange.id, twinCount, buyerAddress); + + // Get the exchange state + [, response] = await exchangeHandler.connect(rando).getExchangeState(exchange.id); + + // It should match ExchangeState.Disputed + assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); + }); + it("if twin returns a long return, redeem still succeeds, but exchange is disputed", async function () { const [foreign721rb] = await deployMockTokens(["Foreign721ReturnBomb"]); @@ -4801,6 +4908,61 @@ describe("IBosonExchangeHandler", function () { assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); }); + it("Too many twins", async function () { + await provider.send("evm_setBlockGasLimit", ["0x1c9c380"]); // 30,000,000. Need to set this limit, otherwise the coverage test will fail + + const twinCount = 188; + + // Approve the protocol diamond to transfer seller's tokens + await foreign1155 + .connect(assistant) + .setApprovalForAll(protocolDiamondAddress, true, { gasLimit: 30000000 }); + + twin1155 = mockTwin(await foreign1155.getAddress(), TokenType.MultiToken); + twin1155.amount = "1"; + twin1155.supplyAvailable = "1"; + + for (let i = 0; i < twinCount; i++) { + await twinHandler.connect(assistant).createTwin(twin1155.toStruct(), { gasLimit: 30000000 }); + } + + // Create a new offer and bundle + const twinIds = [...Array(twinCount + 4).keys()].slice(4); + + offer.quantityAvailable = 1; + await offerHandler + .connect(assistant) + .createOffer(offer, offerDates, offerDurations, disputeResolverId, agentId, { gasLimit: 30000000 }); + bundle = new Bundle("2", seller.id, [`${++offerId}`], twinIds); + await bundleHandler.connect(assistant).createBundle(bundle.toStruct(), { gasLimit: 30000000 }); + + // Commit to offer + const buyerAddress = await buyer.getAddress(); + await exchangeHandler + .connect(buyer) + .commitToOffer(buyerAddress, offerId, { value: price, gasLimit: 30000000 }); + + exchange.id = Number(exchange.id) + 1; + + // Redeem the voucher + tx = await exchangeHandler.connect(buyer).redeemVoucher(exchange.id, { gasLimit: 30000000 }); + + // Dispute should be raised and twin transfer should be skipped + await expect(tx) + .to.emit(disputeHandler, "DisputeRaised") + .withArgs(exchange.id, exchange.buyerId, seller.id, buyerAddress); + + await expect(tx) + .to.emit(exchangeHandler, "TwinTransferSkipped") + .withArgs(exchange.id, twinCount, buyerAddress); + + // Get the exchange state + [, response] = await exchangeHandler.connect(rando).getExchangeState(exchange.id); + + // It should match ExchangeState.Disputed + assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); + }); + it("if twin returns a long return, redeem still succeeds, but exchange is disputed", async function () { const [foreign1155rb] = await deployMockTokens(["Foreign1155ReturnBomb"]); @@ -5424,6 +5586,79 @@ describe("IBosonExchangeHandler", function () { // It should match ExchangeState.Disputed assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); }); + + it("Too many twins", async function () { + await provider.send("evm_setBlockGasLimit", ["0x1c9c380"]); // 30,000,000. Need to set this limit, otherwise the coverage test will fail + + const twinCount = 189; + + // ERC20 twins + await foreign20.connect(assistant).approve(protocolDiamondAddress, twinCount * 10, { gasLimit: 30000000 }); + twin20 = mockTwin(await foreign20.getAddress()); + twin20.amount = "1"; + twin20.supplyAvailable = "1"; + for (let i = 0; i < twinCount / 3; i++) { + await twinHandler.connect(assistant).createTwin(twin20.toStruct(), { gasLimit: 30000000 }); + } + + // ERC721 twins + const startTokenId = 100; + await foreign721.connect(assistant).setApprovalForAll(protocolDiamondAddress, true, { gasLimit: 30000000 }); + twin721 = mockTwin(await foreign721.getAddress(), TokenType.NonFungibleToken); + twin721.amount = "0"; + twin721.supplyAvailable = "1"; + for (let i = startTokenId; i < startTokenId + twinCount / 3; i++) { + twin721.tokenId = i; + await twinHandler.connect(assistant).createTwin(twin721.toStruct(), { gasLimit: 30000000 }); + } + + // Approve the protocol diamond to transfer seller's tokens + await foreign1155 + .connect(assistant) + .setApprovalForAll(protocolDiamondAddress, true, { gasLimit: 30000000 }); + twin1155 = mockTwin(await foreign1155.getAddress(), TokenType.MultiToken); + twin1155.amount = "1"; + twin1155.supplyAvailable = "1"; + for (let i = 0; i < twinCount / 3; i++) { + await twinHandler.connect(assistant).createTwin(twin1155.toStruct(), { gasLimit: 30000000 }); + } + + // Create a new offer and bundle + const twinIds = [...Array(twinCount + 4).keys()].slice(4); + + offer.quantityAvailable = 1; + await offerHandler + .connect(assistant) + .createOffer(offer, offerDates, offerDurations, disputeResolverId, agentId, { gasLimit: 30000000 }); + bundle = new Bundle("2", seller.id, [`${++offerId}`], twinIds); + await bundleHandler.connect(assistant).createBundle(bundle.toStruct(), { gasLimit: 30000000 }); + + // Commit to offer + const buyerAddress = await buyer.getAddress(); + await exchangeHandler + .connect(buyer) + .commitToOffer(buyerAddress, offerId, { value: price, gasLimit: 30000000 }); + + exchange.id = Number(exchange.id) + 1; + + // Redeem the voucher + tx = await exchangeHandler.connect(buyer).redeemVoucher(exchange.id, { gasLimit: 30000000 }); + + // Dispute should be raised and twin transfer should be skipped + await expect(tx) + .to.emit(disputeHandler, "DisputeRaised") + .withArgs(exchange.id, exchange.buyerId, seller.id, buyerAddress); + + await expect(tx) + .to.emit(exchangeHandler, "TwinTransferSkipped") + .withArgs(exchange.id, twinCount, buyerAddress); + + // Get the exchange state + [, response] = await exchangeHandler.connect(rando).getExchangeState(exchange.id); + + // It should match ExchangeState.Disputed + assert.equal(response, ExchangeState.Disputed, "Exchange state is incorrect"); + }); }); }); });